PDA

View Full Version : Oh, Great Programmers!



The Neoclassic
2009-02-05, 09:57 PM
Computers are pretty. I can type. I can draw in Inkscape. I can use Excel. I can even code a bit of HTML. However, that's about it. Unfortunately, I rather want to write up a game or a facebook application. Probably the latter (though somewhat set up like a game- I can provide all the lame details if necessary). Nothing too complicated, not with moving graphics or anything crazy, but I'm well aware I cannot do anything of the sort with HTML.

So, what programming language would you recommend I try to learn? I don't even know what the different ones do. I just was told that Java and Javascript are entirely unrelated! I've heard of those, C, C++, Python, and... binary? :smallbiggrin:

Anyway, yeah, if anyone can help me understand what sort of programming language I should be looking into or at least what the different program languages can do (and how difficult/complex they are), that'd be awesome. Thanks!

Groundhog
2009-02-05, 10:05 PM
If you're looking for something easy, do Java. It's fairly straightforward, and it can be a stepping stone to learning other languages (C, C++, etc.) if you discover that you like programming and want to learn more than one language. It's also compatible with pretty much anything.

If you don't care if it's hard, learn C. It's a much better language than Java, especially if you're trying to do something complicated.

RS14
2009-02-05, 10:08 PM
Java and Javascript are unrelated, yes. Made by the same company, though.

I recommend Python. It's fairly easy to learn, and for a facebook app, there is no reason you should use anything like C/C++. I hope whoever suggested binary was joking.

Rawhide
2009-02-06, 12:42 AM
LOLCODE (http://en.wikipedia.org/wiki/LOLCODE) !

BugFix
2009-02-06, 01:05 AM
Java and Javascript are unrelated, yes. Made by the same company, though.

Not even that is true. Java is a Sun Microsystems product, although compatible implementations have been produced by Microsoft (now defunct) and the GNU gcc project. Javascript is a standardized language with many, many implementations (IE, Mozilla, Safari, Opera, and Chrome has a new one too, I believe). It was originally a renamed version of Netscape's LiveScript language that shipped in early versions of Netscape Navigator.

To answer the original question in a simple way: python has IMHO probably the best combination of ease of learning and power of expression. It's not the answer to everything, but it's a good place to start that doesn't teach too many bad habits nor close too many doors. And it fits very well into web development.

The complicated answer, of course, is that learning "programming" isn't the same thing as learning a programming language. Don't fixate too much on the task you're trying to accomplish. Try to capture the joy of building stuff.

Haruki-kun
2009-02-06, 01:31 AM
LOLCODE (http://en.wikipedia.org/wiki/LOLCODE) !

That's just too awesome. :smallbiggrin:

Well, I'm not an expert on the matter, but if you want to learn programming in general go for Java. However, if you're going to do only games (which I don't think you are, but I really don't know how facebook applications work) go for a game-oriented language.

Ashtar
2009-02-06, 06:23 AM
There's a badly presented "Hello World" for facebook step by step guide using PHP at http://www.developertutorials.com/tutorials/php/create-a-facebook-application-with-php-8-01-05/page1.html

Facebook developer page: http://developers.facebook.com/index.php/FBML

For facebook apps, Php, Python, etc... Web oriented interpreted languages.

For small applications: Java, C# (it's not that bad), Smallbasic (For small games like snake, tron, "plotpixel" type games). Compiled languages for applications.

Tirian
2009-02-06, 06:39 AM
If you're interested in tinkering and learning about programming methodology, your first language may as well be Scratch (http://scratch.mit.edu/). Seriously. It's all there, and it's pretty darned hard to write a syntax error.

Beyond that, I agree that Python is a great choice, and seems to tie in with your desire to write a Facebook app. Anyone who suggests you learn Java hates you for some reason; that language is a steaming pile of fail.

kamikasei
2009-02-06, 10:34 AM
I strongly recommend Python. It will let you learn how to program and think like a programmer without having to wrestle with the language you're doing it in (too much).

If you learn the right way of thinking and habits of mind from that, it will be relatively easy to pick up any other language. Note that the vast majority of time spent programming goes to thinking carefully about the problem and looking up documentation for the existing code that will help you solve it. Get used to the idea of constantly learning (about the problem domain, or the tools you're using). Thus, the difference between languages comes to seem less of an obstacle.

(In other words: it's a good idea to take up piano first as a simple introduction to musical theory, then learn other instruments with that solid basis, rather than to try to learn guitar and harmonica at once and without the theory.)

I recommend the book Think Python (http://www.greenteapress.com/thinkpython/), as doing exactly that (teaching you programming through Python, more than teaching you Python).

Python also has the advantage that any course in it will be rife with Monty Python references.

Other languages it'd be good to learn are Javascript and PHP, for anything web-based. Java or C aren't really necessary as they're more for larger applications or standalone ones with little to do with the web. I would learn those after Python, though. Both are kind of weird in various ways, so better to have the basics straight in your head first.

Hzurr
2009-02-06, 12:14 PM
Python is a pretty good starting language, and will teach you the basics of programming.

C is not used as much any more, but it's very foundational.

C++ is pretty good, and it does a good job of teaching some very core, fundamental programming concepts (you may never actually use pointers in other languages, but it's good to know how to use them, and C++ will teach you)

Java is good if you're going to learn Object Oriented Programming. C++ is good at this as well, but Java is a bit simpler to learn

C# is a beautiful meshing of Java and C++. My love for it knows no bounds.


I'd recommend starting in Python, and as you get comfortable, eventually move on to C++ or Java. Long term, I'd recommend going to Microsoft's .Net environment and using C#