So during my free time, I enjoy writing programs and I've been trying to play with a number of different programming languages. I started with C, which was the first programming language I ever learnt. Worked with Autoit, a macro scripting language to gain a feel for how to work with programming, and now, I'm currently sitting on VB .Net.
I have to say that every step of the way was useful. I learnt the general idea of what it's like to program and how to overcome problems and how to actually 'write' a program not only so that it works, but it works as efficiently as possible.
I now want to move on to a programming language that I'll hopefully be using for a long time to come. I did a little research myself, and I've arrived at these two finalists:
C# and C++
Now, I'd like to ask a few questions to the more experiences programmers here:
- Which one can be used to write more powerful programs, in general?
- Which one is harder to learn in terms of a learning curve?
- Which features does C# have that C++ doesn't have and vice versa? For this, I looked up a wiki article and it said that C# has a reflective and and functional paradigm whereas C++ doesn't. However, C++ allows you to allocate memory (I think?) in certain locations and allows for a lot more control. (How true is this by the way?) And consequently, is there something that one of these languages can do that the other can't?
- Which one looks better on a resume?
- From a general understanding of VB .Net and a pretty good understand of general programming concepts (loops, if statements, variable/array declarations/mainpulations), how difficult would it be to move onto these languages?
- Do these languages support API functions? (Mouse movements, mouse clicks, keystrokes)?
- How good are the compilers for these programs when it comes to debugging? What about availability?
- How easy would it be to write programs for other OS's in these languages(Linux and Mac as well as Windows)?
- How easy would it be to design GUI's in these languages?
Thanks again guys