General Discussion

Binu Raj
Binu Raj
1,051 Points

Choosing languages to begin backend web development.

I want to start learning how to develop web applications. To start, I'd like a little help choosing languages to learn. For the front end, I'm planning on learning JavaScript, HTML and CSS to use them in sync. For the backend, I can't decide between Ruby, Python and PHP, mostly because I have no knowledge of any of the three languages. Any recommendations? I'm open to suggestions other than the languages mentioned. A reason supporting your recommendation would be appreciated as well.

3 Answers

Daniel Santos
Daniel Santos
34,390 Points

Hi Nate Jay,

I will definitely suggest to learn Ruby or Python, either one is smart to show now days. The reasons, PHP developer might not agree, are simple: 1) PHP is dying, slowly. 2)Python and Ruby offer tremendous open-source libraries and there are a lot! 3)Those language are easy to understand, and learn. Python is a language used to introduce kids to programming. I bet you got scared the first time you saw PHP syntax :p.

In overall my friend I will left some links that you might be interested to read, there good and bad comments about PHP

https://www.quora.com/Do-Facebook-engineers-enjoy-programming-in-PHP https://www.quora.com/Why-hasn-t-Facebook-migrated-away-from-PHP

I don't hate PHP, but if I had the opportunity to learn Python or Ruby in the first place, I would have done it.

This quote is from a former engineer at Facebook: "Did I like working with PHP? Hell. No."

If for some reason you want to go for PHP check this out http://hhvm.com/

Now Python (my primary language):

For me Python is more than a high-level programming language. It is like a culture, Python help you write better and understanding. You will heard the phrase 'that's really pythonic' and that just a style of coding. Python, as well as PHP, has free frameworks that will help you a lot to develop your apps. I will name a few of then: 1) Flask, a micro-framework. Flask is a perfect starting point for beginners, so you can have a feeling of the real-world. But don't underestimate, the first app that I released was Flask-based. 2) Django, my favorite. Is a really large-scale framework and to be quick, you can do whatever you like with this framework. 3)Pyramid, I've only heard about it, can't say anything.

Here are a more opinion why to pick Python over another programming language: https://www.quora.com/Why-is-Python-better-than-PHP http://stackoverflow.com/questions/3319261/php-devs-that-moved-to-python-is-the-experience-better

Ruby (never done anything):

I can't compared anything with because I have never touch it. But here is something that surprised me

http://www.indeed.com/jobtrends/Django%2C+ruby+on+rails.html

In case that you don't know what is Ruby on Rails. It is a framework as Django and Flask.

I hope this help you a little bit to make your decision, if so, let me know. Also ask me anything, if I can I will respond.

Sincerely,

  • Dan
Binu Raj
Binu Raj
1,051 Points

Hey, Dan, thanks so much for the information. Python with the Flask or Django frameworks looks good, especially since I'll be doing Python in my second semester at college. Ruby on Rails looks quite attractive, too. You're right, that graph is quite surprising, particularly because nearly every source I've called tells me that Ruby on Rails and Django are roughly equal. I wonder why Ruby on Rails has so many more job placements... Anyway, thanks again!

jason chan
jason chan
31,004 Points

If your own pc. PHP and python.

If your on mac or linux ruby

But they all have package handlers. So it doesn't really matter.

Binu Raj
Binu Raj
1,051 Points

I'm new to this, so this may not be a very bright question, but why are PHP and Python more suited for PC, while Ruby for Mac or LINUX? How does the OS matter here?

Kevin Korte
Kevin Korte
28,098 Points

Yes OS matter. Ruby and Rails are a pain on Windows....it's doable, but it isn't fun. I tried it on Windows, I eventually gave up. If you want to code Ruby on Rails on a Window device, I highly recommend just using a service like cloud9 or nitrous.

Nothing like spending hours just trying to figure out why your ruby server won't spin up on your windows machine when the exact same versions and repository spins up fine on a Mac.

Kevin Korte
Kevin Korte
28,098 Points

I started with PHP, mostly because my first server side experience was with wordpress. I continued to learn PHP, and about 6 months jump across to the cool kids language, Ruby and, thus Rails too. A pretty eloquent language, I'm enjoying it so far. I think I like Ruby better than PHP just because the syntax is less. Python looks just a promising, and I'll likely get my feet wet there too.

PHP has recently had new life breathed into it, and actually things are changing quickly and for the better. Wordpress still continues to run on PHP, which is a behemoth in the world wide web for an engine that powers websites. PHP also got a cool kid framework just like Rails, but this framework is called Laravel, and it's been actively developed while it's community grows.

PHP isn't a bad place to start if you want. It's very easy to get started coding in PHP. But Ruby and Python sure are carrying a lot of momentum right now. Don't be afraid to spend some time learning all 3 here and see which one interests you more. Follow your interest, not which language is the "hottest" by a bar graph. A passionate developer is better than one just doing it because it's the "hottest".

Binu Raj
Binu Raj
1,051 Points

Sounds good. I was planning on touching on all three anyways. I just wanted a good place to start. :)