Hi guys, i am curious to no if C# is beta or eqivalant to C/C++, before my choice.
iarm is right, for compiled languages. C is the mother of all, being little more than a library of compiled assembler routines. Basic is the mother of interpreted languages. I use mingw with gcc these days. If you're going to program for Windows, why fight it? Use VB -- what difference does it make if it's a trifling bit slow or makes monstrous filesizes? Memory and resources are infinite now.
Cockyzy asked for a C# compiler, so C compilers like mingw will not be of any use.
If he wants something for mono, there's mono develop (http://monodevelop.com/) and sharp develop (http://mono.wikia.com/wiki/Using_Mono_with_SharpDevelop_3.0).
If you develop on Windows, don't stray from what I provided earlier;
Microsoft Visual C# 2008 Express Edition http://www.microsoft.com/express/Windows/
There is no _better_ or _worse_ there is _objectives_ and desires, or, means to a certain end.
C is a language that was made to create the UNIX OS, and families. Some refer to it as high level assembly, where portability exists.
C++ is "aimed" at being a modern, object oriented C, with the incrementor operator suggesting that it's C + 1, but in actuality, it's probably C - 1, an extremely complex language that I'm not sure why so many people find wonderful (possibly boost?).
C# which is based on C++ (understandably so) focuses on Microsoft Windows based programming, originally made to manage .NET library frameworks, but so far has extended further. It has similar design goals as Java does (see the CLR) -- I don't have a lot to say about it.
Personally, learning C would be most beneficial, consider how much quicker you'd learn C++ and C# should you wish to veer into either one. It's a language that has small semantics and grammar, suitable for a learner to programming as a whole.
It's ultimately your choice, however it does depend again on your aspirations, maybe you could discuss them, further?
Also, there is no "ethical hacking". Your motivations for exploitation of a vulnerability are left aside, in my opinion.
Without C, your scope would be limited to web-based bugs, i.e sqli, rfi, etc. With C, web based exploitation would probably be easier to grasp, with the advantage of understanding system level programming concepts, and exploitation.
If you need any help -- message me.
@olud64. That's what i call 'cutting the cancer where it hurts'. The joke we've seem to turn the face of programming and programmers into is just annoying in here. People seem to be grabing this language and that language but when it comes to getting something creative out of it they'll be like 'mmm, where is the next language that's in the spot light, i'm sure the language will be able to solve this new problem'. Shear ignorance! Many say i knw C++,JAVA,PYTHON,PHP,ML,SMALLTALK,CLU,J#,C#,##, That's not going to help anyone if u can't do nothing more than create an app to search a DB and that's all it will do. People flinging acronyms around, who give 2 fu*ks. The other time it was, 'what design pattern is the overall best', another just asked, 'who's the worlds best programmer', another said, 'python,php are toy languages'. Heafty ignorance on the essence of programming and the aims of software development. If i were the moderator on this programming topic alot of bull would be deleted before they got to the DB.
My 2 pennies worth. You may have all available certification in all existing programming languages that exis and in fact know them very well. That knowledge will be useless to you if you are not creative, able to think out of the box, able to aptly apply the knowledge you have. That is the problem we have in nigeria, a lot of people have the knowledge butcan they apply it, can they be innovative with it?, can they be creative with it? maybe its time we started teaching ouselves how to think(application of knowledge) and not what to think(knowlwdge full stop)!
Never knew python was 100% web based - have you used python? Python is used in so many fields i.e. animation - check out blender, pixar uses it for a couple of their 3D movies. Companies simulate biomolecules with Python. Python powers some of the biggest networking systems in banks.
What do you mean when you say python is not low level - please give me an example. I never knew Python is on it's way out due to Ruby - I imagined that headline was written in a newspaper or report we don't have links to.
PHP is a language dedicated for one purpose and it's good at it - building web apps.
Pick an interest - then learn - each language has it's strength and weakness. Explore, imagine, create and most of all - write code, that is the only way you can learn.
@all. It strange to see people talking about this language or that language being a 'toy' with out specifying in what area(s) of software development the language can be considered as such. I've been in this arena for a while to give advice and truth be told, no one language is better than another with out analysis on what u the programmer want's to solve with it. In essence we have no 'generic toy language'.
@i-guru. Again my young nerd, u can't learn hacking u can only be a hacker in a certain field once u knw that little extra in that field. For instance, if u don't knw that extra about the c-shell and u knw tcl in linux then u can be a linux tcl hacker for maybe the gui of linux os's but that don't make u an internetwork hacker or a windows hacker, or an electronics hacker either.
Never knew Python & PHP were toy languages - I wonder why google and facebook will use them to power their sites and servers?
Want to hack (ethical hacking) ----> You need to learn a language or couple of languages that can run on on major OS's i.e. Perl, C, python dominate the Unix/Linux and windows world when it comes to hacking. Perl has one of the largest repositories of codes online. Python is so expressive and addictive that if you get hooked, you probably will not use C. If you want go into hardware hacking - C will do.
If you want to build native MS apps - then dive into C# or VB ---- it's worth it.
How many PC's out there aren't running Windows? Do you even realise that both C# and VB.NET run on Linux/Mono? Don't teach people how to shoot themselves in the foot with that bullsh*t. Give him the best advice for whatever platform he is developing against.
My guy, if you are developing for the desktop, forget about C, C++, Java etc and concentrate 100% on C#. You will not regret it.
If you are developing for the web, you should consider between Ruby, Python, PHP and C#.
If it is 100% backend stuff you will be dealing with, then its between C# and Java (forget C++, except for specialised cases).
Performance wise C# can be faster, slower or roughly the same speed as C++; there's isn't much in it.
Productivity wise C# beats C++ hands down, by at least a factor of 5x (depending on what you are coding).
C# is not better than C or C++, though C# is more easier to learn but only run on windows because of .NET framework.
C is the mother of all languages, most of C# libraries are written in C.
C++ is more closer to C but Fully Object Oriented Programming language, if you want to start programming, learn something like Python or PHP, then C, move to Java or C++. Avoid microsoft based programming language as that will restrict you to windows platform only. Most of the world best Hackers are from Unix platform, even Bill gate took many routines from Unix and Mac.
That is my own, everyone will reply based on their experience.