Page 1 of 1

What language should I learn?

Posted: Sun Aug 23, 2009 2:56 pm
by Sephern
I'm interested in learning a desktop based programming language.

I don't like learning purely theoretically, as things don't seem to 'sink in' as well as if I create programs with the concepts that I've learnt. I also like jumping in at the deep end, it's just the best way that I learn.

My chosen project is something similar to steam, albeit on a much smaller level. I'll need the ability to connect to a remote server and download files, and connect to a database, the rest of the functions I need it to carry out would be achievable in PHP via interaction with the database, so I'd need similar levels of interaction to create it successfully.

It has to be GUI based, and only really has to work on windows, so I don't have to worry about platform compatibility.

Can anybody shed some advice on the ideal language for me to learn?

Re: What language should I learn?

Posted: Sun Aug 23, 2009 3:18 pm
by John Cartwright
If compatibility isn't really an issue (although there are unix compilers nowadays), I would definitely recommend C#. I've made the leap earlier on in the year and have rarely looked back (except when visiting dear old devnet of course). I've found it extremely easy to pick up and create some commercial applications in short periods of time.

Re: What language should I learn?

Posted: Sun Aug 23, 2009 5:17 pm
by Sephern
Thanks ^^

I've already got the Visual studios package for c#, c++ and VB, since I got it free with college.

I guess its worth looking into.

Re: What language should I learn?

Posted: Sun Aug 23, 2009 8:16 pm
by Christopher
There is also Objective C if you are interested in programming for the Apple side of things. That's Macs and a little computer known as the iPhone ...

Re: What language should I learn?

Posted: Mon Aug 24, 2009 5:38 am
by Sephern
Not as interested in macs at this very moment in time, although it may be something that I could look into when I'm slightly more experienced with the concepts of desktop programming.

Would the things I want to do be achievable in Vb.NET and would it be advisable to learn this language?

Re: What language should I learn?

Posted: Mon Aug 24, 2009 4:56 pm
by Christopher
Learn C# not VB.

Re: What language should I learn?

Posted: Mon Aug 24, 2009 6:30 pm
by jackpf
Lol VB...

I've only ever had experience with C & C++ out the "C" family...is C# supposed to be "the next big thing"? I've read a couple of blogs talking about how it supports various concepts that C & C++ don't...and Microsoft seems to be pusing it pretty hard.

Has anyone had any experience with the two (or three), and prefer one over the other(s)? Is it worth learning C#?

P.S. sorry for thread jacking (ish)...although it is still relevant :)

Re: What language should I learn?

Posted: Mon Aug 24, 2009 7:07 pm
by Christopher
C# is pretty obviously Microsoft's Java rip-off. Microsoft does this with just about everything from DOS ripping-off CP/M to Windows ripping-off the Mac. Of course, as a hugely wealthy monopoly they can hire brilliant programmers who do good work after the heist. And they use their monopoly leverage to often make their rip-offs bigger than the original.

Re: What language should I learn?

Posted: Mon Aug 24, 2009 7:28 pm
by jackpf
But C# compiles into binary right? Java compiles into "Java Platform Interpretable Binary" though...so you need the Java Platform to run it. That's one of the main reasons I personally never bothered to learn Java.

Re: What language should I learn?

Posted: Mon Aug 24, 2009 7:38 pm
by Christopher
Well yes and no. C# compilers compile to Common Intermediate Language which in turned into bytecode and then run on the Common Language Runtime's JIT compiler. That fancy Microsoft talk for doing just about the same thing as Java.

Re: What language should I learn?

Posted: Mon Aug 24, 2009 7:59 pm
by Luke
I don't know much about C# or any of the C family of languages, but I do know that I LOVE python. It is an extremely versatile language. You can create web apps with it, or you can create desktop apps with it (really anything that can be programmed can be programmed with python). Also, generally speaking, it takes care of OS compatibility for you (there are a few caveats, but nothing too difficult). I personally have never found a need for lower level languages like C or even Java, but I guess that's because I am primarily a web developer, so for me, Python makes the most sense as my "desktop programming language". Because, like I said, I can use it for just about anything.

Also, I would love to second the Objective-C idea, but unfortunately you are looking for Windows development. I have created a few small apps with Objective-C and I must say that it kicks some serious ass.