PHP, Ruby, or Python? Help Appreciated!

I’m a front end developer who now wants to get my feet wet with a bit of back end tech. The problem I’m encountering is I can’t find an up-to-date opinion of the main 3 programming languages being used right now.

Very simply, which programming language is best to learn?

If you have any recommended books for beginners I would appreciate the insight as well! Thanks!

You will never get a definitive answer on what is best to learn. What you should be asking is given your development environment, which is most likely to help you succeed?

Other things to consider:
Are you wanting to get into TDD (Test Driven Development)? If so, my personal opinion, start with Ruby (I’ve been to several conferences were Ruby was used to quickly and effectively show the usefulness of TDD).
Are you wanting to utilize a MVC type framework? If so, my personal opinion, start with Ruby or a specific PHP framework, or .NET.

What exactly do you want to be able to do? What kind of applications?

I’m more that happy to assist you in selecting the language that may best suit you for your future need, I just need you to define what those needs are and what you are expecting to get out of learning the new language.

Here is a nice article of comparing various categories of all three:

My knowledge regarding back end programming is very vanilla; so the best I can do is tell you my personal ambitions…

My goal is to create an interactive website and app that syncs together using real time data. So for example, if you were outside and updated your app, your profiles statistics on the website would update as well. Membership/social storage and real time data are the two major components of the site. It will end up being a Real time Data Social Media site and app. Think of it as if Weight Watchers and Facebook had a love child…kinda, but better looking.

I would also be interested in knowing which programming language is most secure as far as monetization goes. If I was to create some sort of monthly membership fee, would any of the programming languages best suit this need? If any.

Front end wise I’ll be using Html5, javascript, and jquery.

Hope this was helpful!? Thanks!

When it comes to security and monetization (my opinion here), all languages are equal. In the end, the security relies on you the developer and how well you wrote your application, secured your database, etc.

I’d check out the free samples/quick looks for books in each language and read them. See which one fits your learning style best and start with that book.
I know you can get a few free chapters of Kevin YanksPHP & Mysql: Novice to Ninja
You may need to search for other books on Ruby and Python on Amazon (didn’t see anything for beginners on Sitepoint).

If you can’t find a book or can’t tell by what is provided freely online, I suggest going to a book store and flipping through a few pages. Read the first chapter or two, did it sound like the author connected with your learning style? If it didn’t, move on to another language or a book by a different author.

The three languages you mentioned (and there are many others from which to choose) all have fundamental similarities. However, they have major differences in style and syntax.
Since this is your initial foray into back-end development, I suggest you commit the time to try each one.
Take them all for a ‘test drive’ and see if one style/syntax feels more comfortable to you. Javascript is a quick and painless way to get a taste of the [more traditional] C-style standard syntax. It has the additional bonus that ALL OF YOUR EFFORTS are directly applicable in any web-based project you work in the future.

  • Ruby (and Rails) has a more ‘natural’ syntactic structure - the language feels more like human language - but still is highly structured and truly Object Oriented.
  • Python is great because you can write quickly and at-a-glance understand the overall structure of the code.
  • PHP has a great legacy; which translate into numeorus resources available from which to learn.
  • Newer choices like C# [.NET] should also be included in your list. C# subscribes to that same C-style syntax, it is strongly-typed, truly OOP and can be compiled for the web or desktop.

Let us know your progress and your impressions as you take these languages for a spin around the block.

After taking a look at C#, I’m very interested in learning in more. Do you have any recommended reads for beginners on the topic? Thanks!

I’ve recommended the following to several