Python
Moderator: General Moderators
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.
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.
- RobertGonzalez
- Site Administrator
- Posts: 14293
- Joined: Tue Sep 09, 2003 6:04 pm
- Location: Fremont, CA, USA
- RobertGonzalez
- Site Administrator
- Posts: 14293
- Joined: Tue Sep 09, 2003 6:04 pm
- Location: Fremont, CA, USA
- Christopher
- Site Administrator
- Posts: 13596
- Joined: Wed Aug 25, 2004 7:54 pm
- Location: New York, NY, US
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.The Ninja Space Goat wrote:I've only heard good things about python so far.
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)
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!
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!
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.
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.
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).
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).
Agreed. I didn't mean to leave the impression that you should just put every language ever on your resume, as that makes youfeyd 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.
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.