Why do I keep on using Python...

April 13, 2008

I sincerely believe Dynamic Languages are the future. Once people start learning these languages, they’ll hardly go back. I know a lot of guys, like me, to whom programming in C, Java or C# is painful. Most of people won’t learn any of this “new” (they’re so damn old!) languages. If you think right, they make you more productive!

So why Python? Well, I’ve spend many years coding PHP and I don’t want to do that again! (I know I will, and because it will the best choice, but I won’t have the same feeling as in coding Python). As for PERL, it is really good for those who learned it years ago. Nobody learns it nowadays. Ruby and Python are as powerful as Perl, and much more readable. As for Ruby, it is indeed a powerful language. I happen to love some of its features, but the simplicity of Python rocks my world. Ruby is almost used with Rails, which I also like, but it alone can’t make me change my language. Of course there is Shoes also, but that’s just for fun.

In Python I have all another world. I also have webdev with Django (which fits my specific needs better than rails) and I also have scripting and desktop apps. Do you know that a lot of the frontend of the applications you use daily in Linux distros like Ubuntu are mostly written in Python?

But the best is yet to come. I believe Python will be the next big languages. Not for developers (who will use something like Javascript with a bit of Ruby), but for PowerUsers. Society is getting more into computers and kids can now learn advanced stuff faster. In a few years, all software should be scriptable, and regular people will make small python scripts to change the way each program flows. And that’s what will Python be for. So if you do software development, you can see how easy it is to allow such thing in .NET.

I would also recommend reading Gobán Saor’s post on Python the new VBA which details more of this idea.

Tagged with: en, programming, python
This post has 7 comments. Feel free to read them and leave your own.
There's still no way anyone's going to convince me python is more simple than Ruby. In fact, any language that imposes syntax to the whitespace label annoys me to hell. Sure, coding standards are important, but you should always be able to pick your own, not those imposed on you by language designers.

That being said, though, Python is a great language. I just happen to have a different tool of choice, hence the previous paragraph.
That's actually why I started learning Python..
I do a lot of development in PHP and C# (ASP.NET), but my OS of choice is Linux and the thought of being able to do all my development in the same language, including scripting and even pgsql functions (if I wanted), is tempting. The only problem is that I don't actually seem myself working with Python in the short term for anything except my own personal projects. It's not that I don't want to, but PHP, C# and Java are pretty much what maybe 90% (or more) of the companies want on the server side and I don't think that will change all of a sudden..
I was going to say in my blog that this was the best post I had seen in the last past few days.

Until i got to the .NET part. Who needs .NET Alcides?
.Net is crippled. .NET is Windows only. .NET is dll.
Ultimately .NET IS JAVA!

Who needs that? What will you say next? How ASP.net is great? common be serious.

The only professional experience I had was with .NET and I must say I can't see the need for it in Ruby or Python. You have the functional side to it. You have map. Hashes are simple who needs HashMap<Integer,String> alcides!?!?! You would be so much better without that evil Microsoft influence. Leave the dark side :P

@Marco Louro. You are wrong. Alcides is Right. Check Google for instance. Others will follow.
I can't imagine everyone with a computer having programming skills... I truly hope that won't ever happen... for the sake of computer science.
I agree that python is a wonderful language, it's my opinion and I'm not an expert at python, I've been coding some reasonable years C, Java and PHP and only just recently started with python.
But please, lets not forget the need for developers to understand low level languages.
@ Fred:
The whitespace is a matter of taste. braces and end's also drive me nuts :) And I'm not saying everyone should use Python. I'm saying the reasons why i do, and why I believe non-pros will be using it some time from now. As for Ruby, for instance, you have the independent block thing (which I love!) but doesn't make it a simplier language.

@ MarcoLouro: Sure, adopting dynamic languages will take time, but it's starting right now!

@NunoJob: I mentioned .NET as I could have mentioned Java, but I'm not into it. And the enterprise world needs .NET (and it needs Java). And IronPython/Ruby or Jython/JRuby are pretty cool ways of using the framework (that's what's important, not the language!).

@Rogérgio:
Take the example of PHP. 80% of PHP coders have no idea of almost any concept of computer science (like I didn't when I began coding). However a large part of the web is made by these PHP programmers.

I believe Real programmers (those who will make frameworks and complex end-user software) will have to learn computer science, but users won't and they'll be able to code small things (logic stuff mainly) and it will be useful!
@Nuno Job, It's not that simple. You can't always pick the language you work with, unless you run your own company or you host your own applications. Large companies usually have their own environment and you have to play by their rules most of the times, even if it is not the best solution for a particular project. And lot of them run on windows and .NET, at least in our little Country.

@Alcides, a very important point is getting developers interested, and I think Python already has that today, especially with projects like Django or appengine happening.
I just have to say that your second paragraph really describes what I feel about python and the other programming languages.

It's not so common to find a python lover in PT.

I use Python in almost everything. From administration scripts to cgi's. There's a place for other languages ... but I try to put my python every where ! (that sounded weird)

Comment:

Author:
Email:
Website:
Comment:

About

I used to write in this blog, but I've found a better format to express myself. From now on, you may read my writings on ideas, programming and politics on my new wiki.

hCard

Name: Alcides Fonseca
Email:
MSN:
Gtalk:
Nov 24, 1988 40.197958, -8.408312

Tagcloud

Archives

Other links