I'm a high schooler looking to learn some programming. I run cool apps such as Keepass, Truecrypt, OpenOffice, Super Pi and Firefox. I would love to learn how they work, and I'm also looking to learn some web page design (though desktop apps are more important to me).
After doing some research, it seems that C++ is the king of powerful and efficient languages. Java is better for web design and is easier to program, but C# seems to be taking over Java. I'm pretty confused... it would seem that C++ is the way to go, for a first programming language, but it's pretty difficult to learn and maybe Java/C# is better.
I'm hesitant about going to C#... not that I dislike Microsoft, but I prefer not to be chained to .Net. "Marketability" is also a motivating factor.
Hope you programming gurus have some good advice :)
2006-12-16
17:49:21
·
9 answers
·
asked by
Anonymous
in
Computers & Internet
➔ Programming & Design
Hmmm... any reason not to go for C#, other than Microsoft? Because if there's no valid reason, then I will still consider C# if it's a good language.
2006-12-16
17:56:38 ·
update #1
Hmmm... Rose D, Peter L, you two gave great answers regarding Java and C++. I think I skipped all that info about Linux :-) but I got the gist of it; examine source code to learn about coding. Thanks Rose!
Well, Peter L, I think you made a very convincing argument about how Java and C# are better than C++. But it sounds like C# is limited to Windows, and in the event that Microsoft actually finds a capable competitor, I would like to keep my progamming window (no pun intended) open.
So, I'm going with TankAnswerer's answer, because it "sounds" very informative and relates best to the question that was in my mind (but I couldn't type into words).
Thanks to everyone that answered! I thought most of your answers were very informative and they helped me make a decision.
So.... I'm going to learn Java! As I become familiar with it, I will then move to the "mothership," C++. That will probably be in a few years, though.
Thanks again for your time and have a nice day!
2006-12-18
15:44:42 ·
update #2
The main reason not to use C# is that it's ONLY useful on Windows machines. Now, while a lot of client-side's are Windows-based, MOST servers are not. Why not learn a language you can use on both sides?
I suggest Java for a first language. C++ is fairly cryptic and, while in greater usage, that's mainly for legacy reasons. Now, this really depends on your future career. I did 12 years in game-programming, where C++ is KING. I'm now in Info Tech, and Java is where it's at.
Basically, you want to get your first language under your belt, get expert at programming "in general", then start learning new languages. Java's easier to learn than C++, is WAY more generally useful than C#, so start with it.
2006-12-16 18:07:50
·
answer #1
·
answered by TankAnswer 4
·
0⤊
0⤋
I'd recommend C++. It's object-oriented, like most modern languages, so the concepts will be pretty universal. Syntax isn't that hard, and C++ is both fast and powerful. Even better, it's universal - you can write C++ code for Windows, Mac OS, Linux, Solaris... practically any platform. I use G++ as my compiler - it's free (at least the Linux version is), and you have to pay a fortune for the MS development tools. If you have an older computer, try installing Linux (I'd recommend Ubuntu if you're a newbie - http://www.ubuntu.com/) and playing with the GNU compilers. You can also check out projects at places like freshmeat.net.
I'd also recommend looking into Perl and PHP. Perl is more of a scripting language than a programming language, but it's small and powerful. It's used a lot for web-based stuff, like CGI scripts. PHP is also used a lot and there are tons of SQL databases with PHP front ends.
I admit I'm a Linux bigot, but I honestly think that learning programming is a lot easier under Linux than Windows. You have free development tools, plenty of documentation, and you have the ability to get source code to look at for everything, including the operating system. Linux is a great way to learn the guts of operating systems and programming.
2006-12-16 18:05:23
·
answer #2
·
answered by Rose D 7
·
0⤊
0⤋
C++ is very difficult for beginners, and even experts. I would recommend Java or C#. There isn't a lot of difference between, and if you learn one, you can easily learn the other. However, their libraries are somewhat different. C# was influenced by Java; and the latest Java release shows some C# influence. My personal taste is Java, because it's deployed more widely than C#.
Java and C# have a number of advantages over C++, including:
- automatic memory management
- a richer set of standard libraries
- better string handling (including Unicode)
- builtin in threading capabilities (much easier to use than pthreads, which is not actually part of C++)
- can be used in applets on the pages
Don't think of Java as being web-only ... there are lots of servers that use Java (and Oracle embeds Java in its database engines)
2006-12-16 19:43:34
·
answer #3
·
answered by Peter L 2
·
0⤊
0⤋
Don't waste your time with C++ Or Java.
The reason why MS built that new language was to replace the old Java with all its weaknesses.
C++ projects are decreasing every months. Why?? Because C++ is extremely complex and requires 5 more time to develop than C#. That's why MS gave up on C++ even if it is still supported on the VS.2005.
Want to be a winner??
Go for C# and ASP.NET
Go for C# and SQL server 2005
For multi platforms go for RUBY & PYTHON.
they are both getting REALLY popular.
Good luck,
Joe.
2006-12-17 05:49:56
·
answer #4
·
answered by Roland 1
·
0⤊
0⤋
You need to know a little about them all. Some are very similar and others not at all. The more languages you know the more marketable you will be. You should learn some low-level programing, C++, object oriented, SQL and some web scripting.
I'm a hardware, WAN engineer but I know plenty of programing languages. It makes me more marketable and makes my job a lot easier.
2006-12-16 18:19:33
·
answer #5
·
answered by lv_consultant 7
·
0⤊
0⤋
Have you viewed purchasing off the web? I learn the responses on your prior language query. But why do you wish to gain knowledge of a language? You have to be in a position to speak with different folks within the language you wish to gain knowledge of. During the Vietnam conflict the US military had fast studying language colleges to coach their squaddies nearby Oriental languages and they're quickest and exceptional language studying aides I've ever heard of or obvious.
2016-09-03 13:45:12
·
answer #6
·
answered by Anonymous
·
0⤊
0⤋
Once you learn C++ all other languages become very easy to learn.
If I were you I would probably learn C++ and then a scripting language such as Ruby or PHP.
2006-12-16 23:13:41
·
answer #7
·
answered by Batman 2
·
0⤊
0⤋
You could always try Python it's open source and runs on many platforms.
2006-12-16 18:22:50
·
answer #8
·
answered by Brian 5
·
0⤊
0⤋
do not go for C#
2006-12-16 17:54:17
·
answer #9
·
answered by a_m_del_in 2
·
0⤊
0⤋