July 24th, 2013, 04:13 PM
Choosing a language... again !
My name is Dennis, and I'm not entirely new to programming. Back in college, I've programmed a bit in PHP, making a small CMS together with a classmate. That has been a while now, and I've lost most my knowledge of PHP, though I'm sure I could re-learn it pretty fast. Anyway, that's not what I'm here for.
I had a question: What languages do you think would be good to learn for someone who is pretty much a beginner, who wants to start developing applications for a living, whilst also developing 2D games as a hobby (Endless Online, anyone?) ?
I know Java for example is a extremely popular language; but is it a good idea to start in a language? Because, what I've heard is that it is also quite complicated compared to languages like Python and Ruby.
I do plan on sticking around on this forum for a long time as I think I could learn a lot here, but I just need a little help deciding what my first language will be. I like what I read about Python and Ruby, but I have no idea which one of these 2 would be better for me. I like the idea behind Ruby on Rails, but I like PyGame as well! Which one has a syntax more similar to that of PHP?
I should add that I'm not really good at studying for hours upon hours; I like to learn a bit, then play around with it before learning some more. Also, big books to me have always been demotivating. I learnt PHP by example. I've found a website and youtube channel called thenewboston, and the tutorials he has seem really helpful and nice, but he covers a lot of programming languages, so picking one is difficult.
So I'm kind of deciding between Ruby and Python, but if you have another suggestion, then please share it.
tl;dr: ruby or python as a beginning (professional) language?
July 24th, 2013, 06:46 PM
Its used for everything from system utility development to package management to web development to scientific simulation and graphics. Its not that you can't write any of the above in Ruby, but the community already built around Python is heavily engaged in all this stuff, so the experience necessary is already there as are modules to handle anything you can imagine.
Ruby is a really neat language, but its mostly identified with Web development as a result of getting its big publicity break with the whole Rails phenomenon. If you want to, say, write a system utility you will run into annoying problems, one of which is the fact that the Ruby runtime won't be installed by default on nearly any system, so to run your program any user will have to bring along the entire language runtime and whatever other dependencies that entails on the target platform. Python, on the other hand, is usually already present on any Linux distro.
The good news is that learning the basics of either is easy and your choice doesn't have to be permanent. For starting out, though, I'd say learn one or the other deeply by working on a largish/non-trivial project in it, and don't distract yourself with thinking about the other during this time. After that, do whatever you want. They are both phenomenally clean languages.
July 25th, 2013, 04:18 AM
That was a really good reply. Thanks a lot! I guess I will dive into Python then! Can't wait!
July 25th, 2013, 07:36 PM
My advice on python is to not go buy a bunch of books up front, but rather to read the official tutorial. The language is so easy to understand that you don't need a bunch of esoteric, Java-style hoey about object principles because Python doesn't make you deal with any of that until you actually need objects -- and then the ideas make sense on their own.
So go read The Python Tutorial at the python docs site, and then read over the library reference (the next section on the same site) when you have time. Don't expect to really understand everything the first time through, just get an idea what is available and what's possible.
Then go write a real program you want to work correctly with the library reference handy. You'll be amazed how fast you pick up stuff.
Then, someday when you have time, buy an esoteric book on FP or OOP or whatever in Python to really fill out your knowledge.
July 26th, 2013, 08:57 AM
okay, I kind of changed my mind. my apologies for that, but recently I've started thinking: why not get back into PHP? then I could finally restart and finish that CMS I had been working on in college. now, my question is, I've lost all my knowledge of PHP because the last 2 years have been... chaotic. what would be a good book that guides you through creating a nice, useful application in PHP that aims for beginners, or maybe people wiht a little bit of knowledge.
thanks for all the help so far and I apologize for changing my mind, but... I think I've seen the PHP light again, haha.