Python

Ye' old general discussion board. Basically, for everything that isn't covered elsewhere. Come here to shoot the breeze, shoot your mouth off, or whatever suits your fancy.
This forum is not for asking programming related questions.

Moderator: General Moderators

User avatar
Luke
The Ninja Space Mod
Posts: 6424
Joined: Fri Aug 05, 2005 1:53 pm
Location: Paradise, CA

Python

Post by Luke »

What's everybody's take on Python. Is it worth learning? I looked for a thread on this, but couldn't find one.
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

I'm pretty sure there have been several threads mentioning Python. If memory serves, patrikG was getting his feet wet in it a while ago.

I personally like it, but do the server availability, can't use it too much.
User avatar
Luke
The Ninja Space Mod
Posts: 6424
Joined: Fri Aug 05, 2005 1:53 pm
Location: Paradise, CA

Post by Luke »

Just these:
viewtopic.php?t=26774&highlight=python
viewtopic.php?t=28337&highlight=python

Not a whole lot of community response. I'm going to try and do some research on it and report back since it seems not a lot of folks here know a whole lot about it. It all just depends on whether or not I have time.
User avatar
RobertGonzalez
Site Administrator
Posts: 14293
Joined: Tue Sep 09, 2003 6:04 pm
Location: Fremont, CA, USA

Post by RobertGonzalez »

It might just be me, but it seems like Ruby, Java and c++ might be better languages to learn. Or am I stupid in my assessment?
User avatar
Luke
The Ninja Space Mod
Posts: 6424
Joined: Fri Aug 05, 2005 1:53 pm
Location: Paradise, CA

Post by Luke »

I'm trying to decide whether to get into ruby or python. I've only heard good things about python so far.
User avatar
RobertGonzalez
Site Administrator
Posts: 14293
Joined: Tue Sep 09, 2003 6:04 pm
Location: Fremont, CA, USA

Post by RobertGonzalez »

I have to. I have heard a lot of good things about most of the languages out there. But the need for Python programmers has seemed lacking compared to Java, C++ or even PHP developers. I might be looking in the wrong places though.
User avatar
Christopher
Site Administrator
Posts: 13596
Joined: Wed Aug 25, 2004 7:54 pm
Location: New York, NY, US

Post by Christopher »

The Ninja Space Goat wrote:I've only heard good things about python so far.
I think Python has become a major alternative to C/C++ for application programming. Ruby excitement is mostly around RoR, but I just don't see a lot of applications.

For example, searching by language name on SourceForge gives the following number of projects:

Code: Select all

Java      13174
PHP        9748
C++        8916
Python    3215
Ruby       467
(#10850)
User avatar
Luke
The Ninja Space Mod
Posts: 6424
Joined: Fri Aug 05, 2005 1:53 pm
Location: Paradise, CA

Post by Luke »

maybe I'll put it off for a while and learn java... it seems like it would be the most useful to me
User avatar
Jenk
DevNet Master
Posts: 3587
Joined: Mon Sep 19, 2005 6:24 am
Location: London

Post by Jenk »

I'm swotting up on SmallTalk.. good god it is so different to anything and everything I have done before.

The entire practice of smalltalk is reflection, from what I've seen so far.

EDIT:

.. and christ almighty does it have some awesome tools. Squeak (http://www.squeak.org/) is one heck of an IDE.. it has a VM - with countless helper tools, a webserver, email server and browser and full debugger - and the entire thing is a massive 7mb. That's seven megabytes for a VM, email server, webserver, a conventional IDE + more, web browser (lightweight) and a full debugger.

As the late Steve Irwin would say: Crikey!
DrTom
Forum Commoner
Posts: 60
Joined: Wed Aug 02, 2006 8:40 am
Location: Las Vegas

Post by DrTom »

The reason you don't see many full blown ruby applications (short of rails stuff) is that, atleast in the few shops I've worked at, it's more used as a replacement for PERL. You won't find yourself making a really swell application out of it but using it to hack together quick scripts to accomplish things.

As far as Ruby vs Python vs Smalltalk vs Java vs C++

all are incredibly useful to know from a professional standpoint. While not many people will hire a 'ruby' programmer and generally
only the game industry is looking for 'python' people, they're great languages to have on your resume at least I know it really pops out
to me when I'm sifting through resumes. As far as which is better, that's really just a preference. I've done both utility applications, a quick cronjob/shell script, and medium size applications in them and here's what I've learned.

Ruby - Generally slower than Python performance wise, but the difference is negligible. It and the extensions it requires also tend to be less portable compared to Python. I think that stems from the fact that the python community seems to be quite a bit larger than Ruby's. As far as
the syntax goes, I absolutely LOVE it. I find myself wishing every language looked like Ruby. It takes some getting used to, but once(if) you do, it's wonderful. The bad part is there's not a ton of documentation/examples around the web. Even books tend not to cover some of the most useful features of the language, but really it's the best way to learn as online documentation is even worse. It comes with bindings to tk right out of the box, and almost every GUI toolkit has bindings available, which makes it pretty easy to get started doing that. There are TONS of 'gems' that have been abandoned and no longer function that would be incredibly useful which sucks.Ruby, comes fairly bare bones on the install, and you really have no idea if the 'gems' will be available to your application or not which can be problematic when distributing applications. Also a lot of the 'gems' lack documentation which can make them problematic to learn (especially GUI bindings. You spend a good deal of time translating from documentation for other languages)

Python - Better performance wise. Not 'true OOP' like Ruby. That can be a good or bad thing depending on how you look at it. Strictly enforces code style, which really helps when learning from other peoples examples. The syntax takes some real getting used to, but I like it does make things incredibly easier to read. The base Python install has most features a programmer coming from PHP would expect. This makes it MUCH easier to write an application for distribution. There are bindings for tons of GUI toolkits that are nice and up to date and fairly well documented.

Anyway, basically that's what I've learned from personal experiences with the 2 languages over the last couple of years. The best part about either of them is, development time is extraordinarily short as compared to languages like C++/Java.

As far as they go, it's always great to learn one/both of them. You don't see too many resumes without at least a little experience in one or the other(although it may not be professional experience) so don't look for that to separate you from the others in that respect.

As far as smalltalk goes, it's a great language to learn in that tons of languages are based on it and it's an entirely new programming paradigm as compared to 'C' style languages like PHP,Python,C/C++ or even Java.

Anyway there's my 6 cents on the deal. These opinions were formed from dealing with these languages on a day to day basis over the last 3 or so years professionally, so note that I don't know everything about about these languages, and these may be ill informed opinions so take them with a grain of salt.
User avatar
Jenk
DevNet Master
Posts: 3587
Joined: Mon Sep 19, 2005 6:24 am
Location: London

Post by Jenk »

Definitely agree with the more languages on resume = better. "True" developers are not restricted to languages/syntaxes.
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

You have to be a bit careful about having lots of languages on the resume.. you can portray yourself as a jack-of-all-trades, which can be a turn off.

I would instead advise on customizing the list of languages to the specific industry the job is for, and maybe sprinkle in some of the leftovers.
wei
Forum Contributor
Posts: 140
Joined: Wed Jul 12, 2006 12:18 am

Post by wei »

try IronPython
http://www.codeplex.com/Wiki/View.aspx? ... IronPython

python that runs on the CLR (Common Language Runtime), it means that python have access to most of .NET's library.

You can actually build a working Desktop UI application from the interactive command line (great for testing and exploring the .net ui library).
DrTom
Forum Commoner
Posts: 60
Joined: Wed Aug 02, 2006 8:40 am
Location: Las Vegas

Post by DrTom »

feyd wrote:You have to be a bit careful about having lots of languages on the resume.. you can portray yourself as a jack-of-all-trades, which can be a turn off.
Agreed. I didn't mean to leave the impression that you should just put every language ever on your resume, as that makes you
look very unspecialized and generally, most shops, are looking for specialized developers. However, putting a 'utility' language
like python/ruby/perl is usually a good thing in my eyes as almost every shop has stuff in at least one of these languages.
I would advise against listing all 3 though. Get really great at 1 and use that one on your resume.
jmut
Forum Regular
Posts: 945
Joined: Tue Jul 05, 2005 3:54 am
Location: Sofia, Bulgaria
Contact:

Post by jmut »

DrTom wrote:...Python - Better performance wise. Not 'true OOP' like Ruby...
Can you give example. How is python not true OOP like Ruby?
Post Reply