Perl & Python worth it?


je suis donc je pense
Are these two languages worth learning? I've been hearing a lot about Perl ressently. Is it just a scripting language or is it complete, object oriented, etc.
What about Python?


I think that PERL is worth learning. I've been working with it for almost 3 years now, mostly writing CGI scripts, and it's quite good for stuff like that. It's also been handy for other misc. system maintenance tasks -- for example, I administer several DNS servers, and I've been able to update all of my files at one using a single PERL script instead of editing each one manually. On the other hand, more complex scripts can be hairy to maintain, sometimes.

It's vaguely object oriented, but it can be confusing. Not anywhere as nice as C++ or Java, from what little I've played with them (or maybe I just don't understand PERL's object oriented stuff very well . . . I've only started to play with that in the last six months or so).

I've heard a lot of good stuff about Python, but I've never played with it.

Outta curiosity, what languages are you familiar with now?


Official something...
I've just started learning perl as the site I'm at use it for (amont other things) a replacement for sed & awk.

I'm really only familiar to shell scripting and awk and I'm picking it up quite quickly :)

Go Perl!


Notorious Olive Counter
Perl's like duct tape for computer programs. It sticks together things that don't really quite fit. Very very useful.

I don't really know much about Python, except it supposedly uses indentation as an actual part of the syntax.


I picked up one of the O'Reilly Python books a few months ago, intending to learn it, but I haven't had much time to spend on it yet.

Python is an object-oriented language that can be "interpreted" for simple scripting, as well as "compiled" for complex applications.

I've not gotten very far into the book yet, but it looks easy to learn, and my first impression is that it was well thought out.

Also, it's free (open source).



Oh, I forgot to mention that Zope, the popular open source web application server is written in Python.



je suis donc je pense
Jay.Gatsby: I don't know many programing languages. I'm still a student :D However, I do know C++ fairly well, basic, assembly 68k, Java (the Oreilly book rocks!).

I'm learning a bit of Objective C in the Learning Cocoa book from Oreilly. I think that is enough for now, I'm not really interested in scripting if it doesn't help me develop any better. You can test and debug software faster with scripts though.

Sigh, so many things to learn! :D


Ah yes, Objective C. How is that Cocoa book? I've been really interested in picking it up, but haven't had the time to play with it yet.

I've had some experience with C++, but not enough to feel really comfortable with it yet, but I've been itching to find an excuse to develop a Cocoa app . . . :)


je suis donc je pense
Me too! I just want to make a nice little Cocoa app. Any ideas for what I should make? I will flip out with a nice little aqua window with transparancies and all. And Quartz, drool... :p

The Learning Cocoa book is pretty good. I wish they would talk a bit more about Java though. I hear you can make Cocoa apps with Java but they keep brainwashing me with Objective C. Objective C is a pretty neet language, it's pretty old too as it was use on the NEXT platform. Most of Cocoa comes from NEXT.

I got a pretty good deal on Oreilly book, 3 for the price of 2. I had been wanting to buy myself a copy of their excellent Java Nuthshell book and a Unix reference book. The free one was a hard choice: SQL, XML, or Cocoa. I'll learn SQL in my databases course sooner or later and it doesn't seem too interesting. XML is cool but staring at my beautiful aqua menus compeled me into buying the Cocoa book. :D


I have no idea what to suggest that you write . . . heck, I don't even have any good ides. Usually, I manage to teach myself a language/enviroment by picking up the basics plus some intermediate skills, and then trying to write a really complex app.

Problem is, the only really complex apps that would be useful to me would be something like GoLive or Photoshop, and I think either of those would be a bit TOO complex for a first project.

Oh well . . . I'll figure something out. I think I'll go order the Cocoa book, and when I come up with an idea . . .


Python rocks! If you know any other language you can probably pick it up in about an hour... and do some pretty awesome stuff.

For example, i am currently taking a course in Number Theory and it requires calculations with HUGE numbers... originally I was writing algoritms in C, but then i learned that python can handle numbers of infinite length, so I am in the process of porting my stuff over.

And it is damn fast :)

Definitely worth learning, in my opinion

Duct tape for computer applications? Ha, I think you mean the quote from Mr. Wall himself . . .

“Perl is the duct tape of the internet”


One should use the languages for what they're good at. It's not fair to compare Perl, Python and Objective-C, they are not into the same game.

- Perl is for working with texts. That's why it's so good for writing CGI-scripts.

- Python is object-oriented duct tape. Use it to connect libraries written in C (for exaple) to do just about anything. When you need to work with objects and libraries written in another language, use Python instead of Perl.

- C. Not good at texts, not object-oriented. But FASTER. If you write processing-intensive CGI-scripts, use C or write a C-library and use it from within Python.

- Objective-C, C++ and Java is for writing actual applications with a user interface and complex structures. You can write CGI with these (WebObjects, JavaServlets, C++ CGI-programs) but there are usually simpler ways (Perl and Python) depending on the task.

I wouldn't choose Obj-C if I wanted to write a CGI-script for the same reason that I wouldn't write a text editor in Perl.

If you had a little more complex structures and wanted to make a CGI-script/program I would use Python, it's the golden middle-path; object-oriented, simple and interpreted (as opposed to compiled). Obj-C would be faster, but not made for the task, thus increasing the developement time.