Showcase your skills

Why every programmer should learn Python or Ruby

If you are a student, you probably know C, C++ and Java. A few know VB, or C# / .NET. At some point you've probably built some web pages, so you know HTML, CSS and maybe JavaScript. By and large, it is difficult to find students who have any exposure to languages beyond this. And this is a shame because there are a number of programming languages out there which will make you a better programmer.

In this article, we give some reasons why you must learn Python or Ruby2.

  • Compared to C/C++/Java - Python/Ruby allow you to write the same program with much, much fewer lines of code. It is estimated that a typical Python or Ruby program will require 5 times fewer lines of code than a corresponding Java code. Why spend that much more time on writing programs unless it is absolutely necessary? Also, someone said that a good programmer can reasonably maintain 20000 lines of code. It does not matter whether those are in assembly, C, or Python/Ruby/PHP/Lisp. So, if you write in Python/Ruby, whatever you do alone would probably need a 5-person team in Java/C/C++.
  • Compared to VB/PHP - Python/Ruby are much, much better designed languages than PHP/VB. PHP and VB are very popular for writing websites, and desktop applications respectively. The reason they're popular is that they are very easy to learn and even non-programmers can pick them up quickly. But write any large program in these languages and you'll start seeing the huge problems with these languages because they're so badly designed. Friends don't let friends program in PHP/VB.
  • Compared to Lisp/Scala/Haskell/Closure/Erlang - Python/Ruby are still quite "mainstream". Sure these languages have some really cool features, and for advanced programmers, exposure to these languages can really improve the way they think about programming. But there will be time later in your career to decide whether you want to pick up one or more of these. But for now, Python/Ruby do a much better job of balancing the power of the language against commercial applicability.
  • Compared to Perl1 - Both Python & Ruby owe a lot to Perl, and Perl was the biggest and best dynamic language before they started gaining prominence. But now, Perl's popularity is reducing and more and more people are adopting Ruby/Python. I find Perl's object-orientedness a bit contrived and ugly. In general, I think Perl is a harder language to learn since it has so many different ways of doing things, and the syntax tends to be cryptic and non-intuitive until you get the hang of it. Overall, I feel that Perl is not the best language for a student to pick up, unless there is a very good reason to do so (i.e. if you have lots of regular expression processing, then Perl shines)
  • Compared to sh/sed/awk/bash - If you have exposure to Linux/Unix, you have probably done some shell programming, and might even have written non-trivial programs. But anything more than a few lines in these languages starts to become a bit painful and it's much better to do this in Python. Of course, Perl is the best language for this, but Python is a close second. (Ruby is not so great for system shell scripting).

Just do a Google search on 'Why is X better than Y' - where you put Python or Ruby for X and put one of the other languages for Y - and you will find a whole bunch of material on why these languages are so good.

If you have the flexibility to choose the programming language for you final year project, then pick Python or Ruby and get done in half the time that it would have required you to do the project (except if it is a mobile app development project, in which case you'll be forced to use Java or Objective-C).

Here is a cartoon from xkcd which gives an idea of how powerful you feel after having mastered Python:

Python

How to get started? There are many, many website that give tutorials and classes on Python and Ruby. Here are just a couple of them that we've chosen:

Questions? Ask in the comments below, and we'll try to answer them.

Footnote:
1: My post seems to have pissed of a lot of Perl fans, and in retrospect I realized that I was harsher on the language than I should have been. Hence I've changed the Perl section. Earlier it read:

Both Python & Ruby owe a lot to Perl, and Perl was the biggest and best dynamic language before they showed up. But Perl is now old. It's object-orientedness is broken. It hasn't really been updated in a while, and it is losing market share. For new, hot things (like web programming frameworks, web APIs) it is not as up-to-date as Python & Ruby. Basically, Python/Ruby are rising, Perl is setting.

Please keep this in mind when reading the comments of Lars, Torsten and Olaf.

2 All the language comparisons made in this article are for the context of students in Indian CS degree programs picking up a new programming language. A statement like "X is better than Y" will never make sense as an absolute statement because all languages that have survived the test of time are obviously better than other languages in some areas, and that is the reason they exist. In other words, there are always scenarios where PHP/Java/C/C++/Perl and others are better languages than Ruby/Python.

Comments

Mayur Somani :

Facebook is coded in PHP. Its a 'large' program I think.

navin :

@Mayur, there is absolutely no doubt that some of the largest websites are written in PHP. However, the reason for that has more to do with the fact that PHP is very widespread, than with the qualities of the language. Most people working on large PHP programs (and who have had exposure to languages like Python/Ruby) would tell you that they would have preferred to work in Python/Ruby but are now locked into PHP.

If you are starting a new web-based startup, then you could argue that the language of development should be PHP, since it will be easier to hire PHP programmers. But for a student, I think "learning good programming practices" is more important, and hence I would strongly recommend against PHP.

srijan :

This might tell you how FB used PHP

http://developers.facebook.com/blog/post/358/

vigyata :

I am starting on Ruby Koans. Lets see how it goes.

navin :

@Vigyata, excellent! Please post here (or let me know privately (navin@reliscore.com)) how it goes... Definitely interested in your progress on this.

vigyata :

Sure. Will keep posted.

Lars Balker Rasmussen :

"But Perl is now old. It’s object-orientedness is broken. It hasn’t really been updated in a while"

FUD.

First off, Perl IS old. 1.0 was released in 1987. But Python is from 1989, Ruby from 1993, so they're pretty old too. Let's all use Go, that's new!

Perls OO is the basis for the brilliant Moose OO-framework, which is a much stronger OO-implementation than in any of the other comparable languages you mention.

BOTH Perl 5 and Perl 6 (think of them as different languages, because they are) are on regular update schedules, with perl 5.14.1 released last month, and next version of perl 6 (rakudo.org) to be released later this month.

The missing mind share is regrettable, but the typical FUD thrown around gets grating after a while.

"For new, hot things (like web programming frameworks, web APIs) it is not as up-to-date as Python & Ruby"

Flat out misinformation and/or lies. Catalyst, Mojolicious, Dancer, Plack...

Torsten Raudssus :

I can just underline what Lars said. You seem to have no real overview what is the current state of Perl and still think you can give an opinion. I actually worked with all languages you mentioned and now I do nothing else than Perl... Take that information or leave it ;).

juancarlospaco :

Wait a minute, this Blog says "Proudly powered by WordPress" ---> PHP ---> FAIL.

Olaf Alders :

Being a cheerleader for Python/Ruby/[insert language here] is fine, but a little more research would have been helpful. Perl has a lot of different frameworks to choose from and they're not old and crusty either. There's *a lot* going on in Perl right now -- very cool stuff. It's not the neglected, outdated language you're implying it is.

Have a look at CPAN and see how many new distributions are released on a given day/week/month. This includes wrappers around web APIs etc. I appreciate you taking the time to blog about your favourite languages. Hopefully you also appreciate folks taking the time to let you know when the content can be tweaked. ;)

Vikrant :

@mayur http://developers.facebook.com/blog/post/358/ see this and you will get the story :) Facebook has changed the PHP to perform better. You can read lot of articles about it. Facebook even tweaked the Apache a bit.

navin :

@Lars, Torsten, and Olaf, after reading your comments and re-reading what I wrote, I realized that I was mistaken and I take back what I said earlier - so, I've changed the Perl section accordingly. I still don't think Perl is the right language for a student to learn, but the real reasons are different, as written above.

navin :

@juancarlospaco,
Imagine that for buying a car, I recommend that the Honda Civic is the best value for money. And later, when I need to take a cab to go downtown, I end up in a cab which is a Ford Taurus. You would say "Wait a minute, he took a Taurus cab ---> Ford ---> FAIL."

That's what your argument is like.

Just because wordpress is the best blogging platform does not mean that PHP is a better language than Python/Ruby.

Abhishek Oza :

Dude. You really cant compare 2 different languages. No language is perfect. Every one has its own purpose. You are blaming the PHP language as poorly designed & ugly. Let me tell you that it was build 16 years ago & most of its syntactical stricture was taken from C. So I don't see that it has poor design. The only reason I see you underestimate PHP is that it is not maintainable. Believe me , its not the language, its the the programmers. The language has evolved from being functional to OOPS. But still programmers are using it in old ugly way. So you cannot blame PHP or this.

Regarding no. of lines in your code. I think Ruby code is too difficult to read. No braces. Its not easy for a beginner, although its just 6 years old. One thing I dont like about Ruby programmers is that they continuously bash another scripting languages & claim they are the "coolest"(pun intended) programmers.

SO, I think using a language depends on the programmer, not on the language. Although you cannot build a banking web application using Ruby, PHP or any other scripting languages. Every language has its purpose.

Matt S Trout :

"But now, Perl’s popularity is reducing and more and more people are adopting Ruby/Python."

Please just delete this part - you'll find on things like the Tiobe index perl falls just below python and well above ruby in terms of popularity (although all three are currently falling a little as Objective C rises).

I'd say that perl is not necessarily a good *first language* - python was designed as a teaching language, whereas perl was designed as a "getting things done" language - and while they're both similarly powerful I'm quite comfortable with the idea that python's a better first language for a student to learn, and you should focus your comments there rather than on unjustified assertions about popularity.

Especially since python was an *excellent* first language for people to learn, and ruby almost as good, long before either was remotely popular!

Olaf Alders :

@navin: I think part of the problem is that it's very difficult (and probably futile) to argue that language X is better than language Y. The crux of your article appears to be that "I would recommend Python or Ruby as a good language for a student to learn", rather than the argument that "Ruby is better than PHP". I think that's a valid premise. We all get asked "what would be a good next language for me to learn" and your post goes to answering this question from your perspective.

However, if you take the "X is better than Y" argument to natural languages it's like arguing that "English is better than French", which is a fool's errand. English may get your further when traveling in country X, but French may well get you more mileage in many other countries. It all depends on what you want to get out of it. Machine language comparisons will also suffer for the same reasons. It's about what you need the language to do for you, so opinions about good, better and best are largely irrelevant.

navin :

@Olaf, my article's main message is that "if you are a student, then Ruby/Python is a better language to learn than X." All languages that have survived the test of time are obviously better than other languages in some areas, and that is the reason they exist. Hence an "X is better than Y" statement will never make sense as an absolute statement - it must always be taken in context. So, as far as I am concerned, all language comparisons only make sense when you keep in mind the reasons for choosing.

I've added a footnote to make this point clearer to those who're missing it.

navin :

@Abhishek,


  • Of course you can compare different languages. Java code will be faster than Ruby code in most cases. Perl is better than Python for doing regular expression crunching. For a given context, it is quite reasonable to talk about the strengths and weaknesses of a language.

  • "Language depends on the programmer" is a pointless statement. I can write beautifully structured, object-oriented assembly code, but that does not mean that assembly language is well suited for writing well structured or object-oriented code. These are the things you have to keep in mind - 1. Does a language encourage good practices or discourage it? 2. Will an average programmer write better code in one language than another, and 3. You are always forced to use/re-use other people's code and libraries. Is that code well designed and consistent? In all three of these questions, PHP will come out badly when compared to Python/Ruby. However, this is not to say that Python/Ruby are better than PHP in all respects. If you want to get something done very fast (_i.e._ time-to-market is the most important consideration, for example, in a new startup in a 'hot' area), or you want to ensure a constant supply of cheap programmers (for example, in a services company), then PHP is clearly a better choice than Python. But that's not what we're talking about here.

  • Yes, Ruby has a bit of a learning curve initially. But if you are reading your own code after 1 year, I would bet that Ruby code would be easier to read than PHP code. Also, once you get used to Ruby, the ability to create DSLs gives Ruby a big advantage. And Python stands head-and-shoulders above all other languages in the readability department.

  • Dude, you can make banking web applications using Ruby, PHP or any other scripting languages. Ask Dhananjay Nene who has been doing exactly this with great success at Vayana.

Amit Naik :

Nice Article Navin. I think the few points that can further bolster the argument that you are trying to make are actual practical instances where Python/Ruby are on the rise.
Just to name a few:
Google App Engine has support for Java /Python OOB
OpenStack Cloud Platform that is gaining crazy mind share, crazy fast, is written almost entirely in Python
Cloudfoundary from VMware is written in Ruby

Also, language wars are some of the most futile wars on the internet - http://xkcd.com/386/ . The people passionate about "x" language will attack you no matter how cogent of an argument you make. So I would just present the market trends and let dev. mind share sort out the purists from the real-life practitioners.

Hans :

I think Groovy disserves a mention here, it's up there with Ruby and Python.
In terms of tutorials, I agree Ruby Koans is great

abhishek oza :

When I said, "Language depends on the programmer", what I meant was "to write clean, maintainable & structured code depends on the programmer". Of course, you cannot compare compiled languages like Java to intepreted language like ruby, python & PHP. You will find dozens of articles online on Why Twitter abanadoned ROR because of scalability issues.

I do appreciate Ruby or ROR for being truly OO & always incorporating the latest technologies like SASS, HAML, CoffeScript but I also think Ruby will always win the beauty contest. When I said banking application, I meant the ones with huge transactions like ICICI, SBI, etc.

I do have one serious question for you. How does your comparison different than all these ones. http://www.google.co.in/search?sourceid=chrome&ie=UTF-8&q=PHP+better+than+Ruby

Deepak :

I think you are comparing oranges and apples here ...
The whole notion of compiler is missing here ... Also, as a script you are exposing all your code, hence more reasons to worry about the IP.

I think both are equally good at their own places and both are required. You cannot write a device driver using python ... and you should not parse the command outputs using C ...

So, I would vote for both .. but at different levels on the stack. What do you think?

Gaurav :

PHP is there for a reason and in a rush of learning better language, better framework you have missed the part where PHP is the most "employable" language.

Given the fact we churn out nearly 70 lakh engineers per year in India. We need entry level programmers who can churn out fast PHP scripts for a lot of work. There are tons of startups who want decent PHP coders and never able to find it.

PHP is a beautiful language when it comes to easy deployment and CI/Cakephp works great if you know what you are doing. If you are in a private engineering college in India, your best bet with kind of infrastructure and market reputation these college's have is PHP and not Ruby/Python.

Mind it, every engineer is not a great programmer. :)

navin :

@Gaurav, if "entry level programmers who can churn out fast scripts for a lot of work" is the main criterion, then you're better off with Java and .NET because that's where all the jobs in India are (far, far more than PHP). If you want to become a better programmer and impress interviewers, go with Python/Ruby - they might not hire you for a Python/Ruby job, but having that in your resume increases the chances of them hiring you for something else. PHP is neither here nor there.

Upendra :

I am trying to learn ruby and python, but I have no idea where to start. I am developing web applications in php since 3 years. any suggestions?

navin :

Upendra, in the article I have given one suggestion each for how to get started with Python, and with Ruby. For more, you can always google and find lots an lots of suggestions.

Gaurav :

For all jobs in Java and .NET you don't need to know any language or even you don't need to be a computer science graduate. Just make sure that you have practiced enough analytical questions from R . D . Sharma and you will be through such companies.

Also, on the other hand requirement for decent PHP coders are rising and i don't see it decreasing any further. If i have to recruit a PHP dev i will recruit a PHP dev and not a Ruby/Python coder. Period.

vigyata :

uh oh. Am I in a wrong boat?

Different languages are developed for different purposes by different people.

Why not follow basic software development life cycle?

a) What are you developing? >> Requirements.
b) Which language has built-in API which satisfy "Requirements" ? >> Language.
c) Are you comfortable with "Language"? if false goto a)

Abhishek Oza :

totally agree

Outsourcing Nepal :

You really pointed out the better points of python and Ruby. I hope its same as you said. Starting the exploration of Ruby ...

Robby :

Actially,Facebook is incewasingly moving tot Java. Overall Java is MUCH raster thanPHP and PHP is actually faster both Python and Ruby.

navin :

@Vigyata, If I was in a company, or doing a specific long-term project, then I would look at "Requirements" and available libraries for "APIs" and "comfortable with language". However, this article is advice to students - so specifically, this is about learning a language without any specific requirements in mind. This is more about investment in the future, and improving your understanding of programming langauges in general. So the whole point is to make them learn a new language - obviously they're not going to be comfortable with that language to begin with.

navin :

@Matt, if you look at the last 5 years, Perl is clearly declining significantly and Python and Ruby were both rising. In the last 1 year, due to the rise of iOS and Android, most languages other than Java/C/Objective-C took a beating - whether that is a long term trend or not remains to be seen.

Jayabalan :

I migrated a perl app to java last year. My observation was that perl though delivered in less loc, was more convoluted and seems to suggest 'you can mess up a clean design, and yet get things running' more than java, though im still a c fanatic, i rather play with well designed langs with java or py or rb if not with c, than side with perl, which is just plain noisy.

navin :

@Jayabalan, overall I agree with your observations. While lots of people do write good, clean code in Perl, it is easier, on an average, to mess up in Perl than Java/Python/Ruby. But note that Python and Ruby will be comparable to Perl in terms of lines of code and will score above Java on that front.

Aniket :

@Upendra: I started learning Python by reading Byte of Python first, freely available to download here: http://www.swaroopch.com/notes/Python

If you already know PHP it'll be as easy a reading, as a novel. I finished it up (along with performing its examples) in just 2 days. Though, it just welcomes you to Python and gives the basic know how. Once you're through with it, I'd suggest you give Dive Into Python a read. You'd be in love with Python by the time you're half way through it (IMHO).

Aniket :

I followed what the average engineering crowd does - Learnt C/C++ and worked on my aptitude to get a job in an MNC. There no matter what you're skills were or where your interests belonged, you were put in one of the three large buckets - .NET, Java and Oracle/SQLServer. I got stuck on working at backend for 2 yrs, before I had, had enough and decided to switch to front-end. Also, working like a small fish in the ocean at an MNC didn't give me any sense of fulfillment as a coder and hence, moved to a startup, seeking more challenging work environment. Though, I practically wasted those 2 yrs as knowing Oracle/SQLServer does nothing to my resume now, I don't regret it much as I know first hand about working in an MNC and a start up. So I'd never wonder about the road not taken.

I too then, started with PHP, as it was easier to learn and easier to get a job in, with 2 yrs or irrelevant experience on my hands. But I utilized my time in the next job, by learning Python on the side and life was never the same. In Python, code is like poetry. Clean, effortless, free flowing and easy on the eyes. Now, I know a large part of these depends on the programmer but there's something about the forced indents and absence of dollars and semi-colons that make python just...beautiful.

At least to me, Django is also much better maintained and easy-to-grasp framework for Python than Symphony and CodeIgnitor were for PHP. I have to admit that I haven't given Ruby or Perl a try yet, but I do wish I'd learnt Python back in college. It would have saved me at least an yr if not more, that I sort-of-wasted experimenting at the cost of my job.

For now, there's still a whole lot to explore in Python, and I look forward to the journey.

Matthias :

Honestly, I think the "In language X you'll write only 1/Yth lines of code than in language Z".
While this may be true, it's probably worth nothing in respect to programmer's productivity.

Consider, a programmer would write 60 LOC in 1h... Meaning 1 LOC (something around 20 characters in average) per minute. That's nothing one would consider a fast typing speed. Especially, as most software developers type a lot and therefore are pretty fast at it.
However, they'd spend the rest of the time thinking about the problem, staring at the code, jumping to another file, trying to find some bugs. That's what takes time - not the typing itself

droope :

PHP is an awesome language, and it is awesomely designed in all it's awesomeness. Accept that :)

Python is good too, i code in them both. PHP is for making websites, Python is not.

navin :

@Matthias, as you correctly pointed out, a programmer does not spend much time writing the code. However, staring at code that has Y times more functionality in one screenful results in much higher productivity. That's were the 1/Yth LOC becomes an advantage.

navin :

@Aniket, That's a great story! Thanks for sharing.

navin :

+1 for a Byte of Python. I have had a bunch of student interns learn Python by reading it. Good stuff.

navin :

@Droope, Disqus, Quora, and a bunch of other really big, feature rich websites are built in Python - so I wouldn't really go so far as to say that Python is not for making websites.

Matthias :

I still don't agree. Using modern IDEs will actually allow you to jump to the point where you would want to go (ctrl+click on methods/classes/...). So scanning sourcecode is not that big of a deal.

From the debugging side, I have always found it harder to debug the more-implicit languages (compare groovy to java, if you will). The more implications and magic you have in your language, the easier it is to take wrong assumptions. Especially, when debugging. Something may just look *right*, but it simply isn't because a fancy language construct does not behave as expected.
This is especially true for those "Magic" frameworks like Rails or Grails.

Besides that, even as java is not making any huge jumps in language progress right now, many libraries come up with really neat improvements, that can help one to reduce the boilerplate code to a minimum. Think of the annotation based Configuration in Spring (Or the Inversion of Control pattern that framework is built on).

Another huge benefit for java is the huge variety of both: tools and libraries out there. These things are out there, they've proven their matureness, they have support, and best of all - they're free. Take the Apache Software foundation as example.

Ignas :

I think you made a typo, the site you are referring to mentions 20,000 lines of code per programmer, not 2,000

navin :

Aarrgh! You're right @Ignas. I've updated the article.

Amogh :

As an Indian CS student, I totally got your point. Thanks a lot for this blog. This has to happen, any blog written in favor of a programming language invites harsh and negative comments from people who think differently. :)

Shaoning Zeng :

Only unqualified programmer, no unqualified languages.

Why you should register to att :

[...] Learn Python: This is your chance to learn Python. Start learning Python right now, and by September, you’ll be ready to get maximum value out of the tutorials in the conference (including Twitter/Facebook/Linked-in/Google Data hacking, web scraping, image processing, and functional programming using Python). If you need arguments on why everybody must learn python check here, here and here. [...]

Rohit Mishra :

Thanks for this post. Will share it with my friend circle. Explaining the advantage of Python/Ruby over Java/.NET takes time and this will help.

On the other hand, wonder why you are not using Disqus ?

navin :

@Rohit, thanks.

And good point about Disqus. But actually, this is a very quick-n-dirty wordpress install - haven't spend much time on configuring it. You'll notice that the theme is the default one to. Basic idea was to get the site up and focus on creating content. Very soon, the whole site will be replaced by a fairly complex Django-based website.

Bhagwat :

You are not supposed to compare the programming languages. All are made by considering some factors. And the language is great if we consider those factors. Can you write a robust and faster Game in Python and Ruby as compared to C++ ? Using C++ you can directly access the memory and write Games which are much better if the same are written in Ruby and Python. Similarly Python and Ruby are great if we consider the amount of code to be written down. The only difference is that if Indian students will write their projects in Ruby and Python in place of C++, they are making fool of themselves by not using C++, Java etc. After learning at least one of C, C++, Java they can go for Ruby and Python to save some amount of time.

Bhagwat :

One more thing .. I would just like to know how you have got that much detailed internal knowledge about C, C++, Ruby, PHP, Python that you have started comparing these languages. Do you have some comparison engine for these languages. Please share with us too.

navin :

In my 19 years in the industry, I have programmed in all these languages for many years each (with the exception of Ruby).

roshan :

It is global truth that one should always start to lear with C, C++. Learning Ruby/Python as their first will just language will make one lazy, thats all. I have coded in PHP & Java for last 4 years, according to the application requirements, I have used both. I am not saying Ruby/Python are not good languages for learning. Learning new language will only improve your skills. Still you cannot compare the language internals unless you are the one who have contributed to it.

This guy is just another fanboy. Can't believe he has spent 19 years in IT. I would suggest him to look at below links the way he has suggested everyone.

http://www.google.co.in/search?aq=2&oq=why+php+is+better&sourceid=chrome&ie=UTF-8&q=why+php+is+better+than+ruby

navin :

@Roshan, No, it is not a global truth that one should always start to learn with C/C++. For a number of years now, MIT (the one in USA) teaches it's "Introduction to Computer Science" course in Python. Also, I am not advocating that you should learn Ruby/Python instead of C/C++. Ultimately, in the long term, you should learn both. C/C++ knowledge is essential for programmers. However, you'll notice that my advice is directed towards Indian students who already know Java and C/C++, so is intended to encourage them to learn Python/Ruby in addition to those languages.

And I stand by my advice that Ruby/Python is better than PHP.

roshan :

yaara, I need your comments on http://www.google.co.in/search?aq=2&oq=why+php+is+better&sourceid=chrome&ie=UTF-8&q=why+php+is+better+than+ruby

navin :

@Roshan,
I don't know what you want me to comment on. The top link in that Google search is this one and it is actually arguing that Ruby is better than PHP.

Due to that, I have a feeling you're trolling me, so I'll stop responding to your comments now.

ajay :

Navin good article. Most of people commenting havent "read" your article and just showing off what they know( apparently which they dont). Keep up the good effort.

ds :

Facebook is actually converting there code to C++ not Java.

Dipin Thomas :

@navin sir, even i feel the same students should start with C/C++ , to get good foundation in programming. As a student i stand in your support.

navin :

@Dipin, every CS person must some day learn C or C++ to get a good understanding of the fundamentals of how programs work. However, my personal opinion is that it need not be (or should not be) the first language to learn. In any case, in my article, I have pretty much assumed that most students are already being taught C.

Hitesh Kumar :

Excuse me, but you betta check yo self 'fore ya wreck ya self... PHP is NOT faster than Python at ALL (but maybe faster than Ruby.)
Also, customizing Python can make it really fast.

????????????Python?Ruby - Mage :

[...] ????? Ruby/Python ??????????? [????:http://reliscore.com/blog/why-every-programmer-should-learn-python-or-ruby] ???mage | ?????Python???? | [...]

syllubus :

I?ve learn a few excellent stuff here. Certainly value bookmarking for revisiting. I surprise how a lot attempt you put to create one of these excellent informative website.

download script :

I've been browsing on-line greater than 3 hours today, but I never found any fascinating article like yours. It?s pretty worth enough for me. In my view, if all web owners and bloggers made good content as you probably did, the internet might be much more helpful than ever before.

Free file games and programs o :

Hello there, just Free file games and programs on http://zabig.ru/

Rishi Mukherjee :

Nice article :). I am a student currently in 2nd year. Though my college started with C, I happily started with python and have learnt a lot of programming than my batchmates. Python is fast to learn. Awesome language.:). Though in these 4 years I will learn C/C++. But as for now' I want to learn programming rather than sit and find brackets..:)

Jim :

What if I know no programming languages. What if I am teaching myself from books, without class room instruction. What is a good language to begin with to learn the basics of good programming? I have heard that C++ or Java are two of the best, but that they are also 2 of the most difficult to learn. Is there a programming language that a novice should learn to get his feet wet that will teach the basic ideas behind programming and allow for a smooth transition to other popular languages? Assuming I will want to eventually learn languages like C# and PHP and possibly others, is there a better place to start than just jumping into these languages directly? Given my status as a complete beginner, does Python still qualify as the best language to begin with or is there another?

To comment, you must login