Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Guido Von Rossum on Python

Hemos posted more than 13 years ago | from the discussion-of-the-snake dept.

Programming 260

deran9ed writes ""People can get quite emotional about Python, in a way they rarely get about software," says van Rossum, who is now director of Python Labs at Digital Creations. In this question and answer interview, he explains why Python deserves such loyalty, when it is better to use Python than Perl, and why increasing numbers of business applications developers will be using Python for years to come. THe full article is on SearchEnterpriseLinux"

cancel ×

260 comments

Re:ramblings (1)

igrek (127205) | more than 13 years ago | (#360034)

X is "killer app" for Y, means the following:
X attracts people to Y, because no other system can provide X.

In your example, professional color features (Pantone, CMYK, etc.) is the "killer app" features for Photoshop.

You're right, cool program can not be "killer app" for a language just becaus it's cool. Of course, we could imagine it's not possible to write some progam X in any language other than Y... That would make the program X "killer app" for Y. But that's just speculation, Zope is not such a program.

However, Zope is not just a program. It's rather a framework, allowing you to ad your own code to the system. So, theoretically it could be the "killer app" for Python.

...But that's not. There's no compelling advantages over 2-tier architectures like apache+mod_perl+HTML::Mason from one hand and 3-tier J2EE applications from the other hand. Yeah, yeah, I know, some things are better in Zope. But that's not a "killer app" by any means.

Killer Apps 'R' Us (2)

chocolateboy (21431) | more than 13 years ago | (#360036)


Personally I think Python and Perl are the same toolkit with trivial differences in syntax, and wish language designers would take a leaf out of Mark-Jason Dominus's book [perl.com] and go easy on the theology.

But, FYI, Perl has a coupla thousand killer apps, most of which are available on CPAN [cpan.org] .

Industry Standards include:

The Beatles never flamed the Stones. The Stones never dissed the Beatles. And at no time did either party rip on Bob Dylan or badmouth Marvin Gaye. Language designers should celebrate their brethren. Particularly when the similarities so overwhelmingly outnumber the differences.

Perl is worse than Python because people wanted it worse. Larry Wall, 14 Oct 1998 [www.amk.ca]

Frankly, I'd rather not try to compete with Perl in the areas where Perl is best -- it's a battle that's impossible to win, and I don't think it is a good idea to strive for the number of obscure options and shortcuts that Perl has acquired through the years. Guido van Rossum, 7 Jul 1992 [www.amk.ca]

When I originally designed Perl 5's OO, I thought about a lot of this stuff, and chose the explicit object model of Python as being the least confusing. So far I haven't seen a good reason to change my mind on that. Larry Wall, 27 Feb 1997 on perl5-porters [www.amk.ca]

If Perl weren't around, I'd probably be using Python right now. Tom Christiansen in comp.lang.perl, 2 Jun 1995 [www.amk.ca]

Python is an excellent language for learning object orientation. (It also happens to be my favorite OO scripting language.) Sriram Srinivasan, Advanced Perl Programming [www.amk.ca]

Re:nitpick (2)

kfg (145172) | more than 13 years ago | (#360038)

Which is ACTUALLY the Anglicized version of vanRossum.

That is, if we want to pick nits.

KFG

Re:No, why NOT! (2)

donglekey (124433) | more than 13 years ago | (#360039)

You didn't even need to say that you won't consider python as your language, it is obvious from your lack of open-mindedness. When I first used it I thought that it would a difficult transition. Within two days I liked python's methods of doing things much much better. Python codee is very very clean and makes working with other people a breeze. It is elegant and the more you know, the more precise it can get. Try reading the official tutorials, they don't take too long and you can learn python in anywhere from 2 days to a week. It took me about 4 days of alot of reading. You should try it before you bash it.

Perl isn't dead (2)

Ukab the Great (87152) | more than 13 years ago | (#360040)

It's pining for the fjords.

Re:Why Python (1)

holloway (46404) | more than 13 years ago | (#360043)

Pearl [uni-hannover.de] is a language.

Re:Don't use it. (1)

nosferatu-man (13652) | more than 13 years ago | (#360044)

True, true, true. Ok, so it's the pathetic excuse for lambdas IN ADDITION TO reference counting that keeps Python firmly in the world of joke languages. But it's so close! It's frustrating in the extreme to have to deal with a language that's ALMOST the right thing. Why can't more people get on the LISP bus? Are they just so ignorant (please don't answer)?

Peace,
(jfb)

Re:Python does kick ass (1)

Devil's Avocado (73913) | more than 13 years ago | (#360045)

"""
for(0..10) {
print unless($_%2);
}
"""

Is this example supposed to *dispute* Perl's reputation for unreadability, or is this a joke?

-DA

Re:Python does kick ass (1)

robra (122095) | more than 13 years ago | (#360046)

You just helpt him poove his case.

I've written a LOT of perl in the past but I switched to python because of the strange artefacts like $_.

Re:No, why NOT! (3)

costas (38724) | more than 13 years ago | (#360052)

Yeah, I used to make fun of that too. I'll tell you a little (true) anecdote: I first heard of Python here on /. and its reliance on whitespace for code structure. I laughed and thought that was *such* a stupid idea.

I found it so funny in fact, that I went back to a couple of colleagues and started using Python as the punchline to an in-house joke: you see at the time we were looking for an embeddable scripting language. Python became a threat: "you'd better not do that, or I am gonna embed Python in the server".

Then, I started running into Python on the net, first because of Zope (of course) then on other cool little projects. I started to get curious, and downloaded the language and ActiveState's win32 extensions. I picked a small in-house project to test it on and I was pleasantly surprised: I went from making fun of it to piping serialized Python objects over HTTP (from NT to Unix and back no less) in --literally-- 3 days.

I dunno what your measure of a good language is, but that ease of use and versatility sold me. And, BTW, Python is now my company's embedded language of choice.

Re:Don't use it. (2)

igrek (127205) | more than 13 years ago | (#360053)

While these languages are interesting, they do not have the same advantages as Python. Some examples would be a clean readable language, a cohesive standard library, a simple syntax, and a strong OO heritage pulling from background such as smalltalk. Ruby and Lisp do interesting things of their own, but are not languages I would consider in the same breath.

And which of these examples gives Python the advantage over Ruby? I think, your examples are exactly the description of Ruby virtues.

Well, of course, I still prefer Perl to those two; but at least Ruby has something that Perl doesn't (-123.abs or mixins, for example). Well, Python also has a unique feature - significant white spaces, but I'd rather live without it ;)

got to get that book off of the shelf (1)

paled (22916) | more than 13 years ago | (#360055)

any chance for a python:DDL interface?

COM/COM+ testing (2)

Domini (103836) | more than 13 years ago | (#360057)

I've been using Python in my current work environment to thest my COM+ objects. I use it in preference of VB, so as not to scar myself permanently.

Besides the religious beliefs in better computing practice, Python is simply just faster, and easier to get going. (Now if only I can sell it to the rest of the crowd...)

Music Apps? (2)

Sleen (73855) | more than 13 years ago | (#360058)

Anyone know if you can write music apps in python? digital audio? Just curious...

nitpick (2)

F2F (11474) | more than 13 years ago | (#360059)

for those of you who really care, his name is Guido Van Rossum CmdrTaco wouldn't like being called 'CmdrBurrito' in the media now, would he?

Why Python (2)

dadisman (235713) | more than 13 years ago | (#360061)

Python has an advantage in that it changes the way you think about programming in a language, suddenly whitespace is important. Its the little things, that make you rethink what you already know about languages. I'd like to start over and learn Python as my first language. This one was designed, not evolved from the past.

GPL? (2)

Domini (103836) | more than 13 years ago | (#360063)

The licensing is frightening off a number of people, but I think that you may see that Python will move toward a GPL license soon.

I have no hard evidence of this, but a number of things point toward this.

Do use it. (1)

Devil's Avocado (73913) | more than 13 years ago | (#360064)

Wrong.

Python got full garbage collection in 2.0.

As for lambdas, if you want to write lisp, use lisp.

-DA

/python (1)

tiwason (187819) | more than 13 years ago | (#360066)

I think its time to port slashcode to python..

who's with me ??

Seriously. I don't think python is used "pretty much across the board, much more across the board than Perl."

Perl's community and cpan archive can't be beat...

Java vs. Python (1)

wadetemp (217315) | more than 13 years ago | (#360067)

I thought it was interesting that when asked "in what situations would people use Java instead of Python?", Van Rossum didn't even mention the cross platform application of Java as being a reason to use Java.

I don't know much about Python... but is it very cross-platform? Is there a reason you'd use Python over Java if you wanted to run your application in a few different environments?

Python... (1)

MrEnigma (194020) | more than 13 years ago | (#360137)

The only python I know...is a snake...
-----

Base. (1)

rev420 (308543) | more than 13 years ago | (#360140)

All your Python belong to... aw, f*ck it.

cross-platform (3)

Scrymarch (124063) | more than 13 years ago | (#360148)

I don't know much about Python... but is it very cross-platform? Is there a reason you'd use Python over Java if you wanted to run your application in a few different environments?

The standard Python implementation is interpreted, it's as cross-platform as Perl or Java or whatever. There's also a pure Java implementation of Python, Jython [jython.org] , which I've found very useful as a scripting tool in a Java environment, as you get full access to Java classes from Python.

Python is a scripting language, so I use it in preference to Java where a script is called for, eg - rapid development environments.

Re:nitpick (1)

jobber-d (225767) | more than 13 years ago | (#360150)

how do you know? maybe Rob likes the occasional burrito every so often :P

Article says very little about merits of language (3)

dkwright (316655) | more than 13 years ago | (#360152)

What I got from the article:

Python is a cleaner language, thus better for larger projects and teamwork.

Granted, if true, that's a worthwhile thing. But's that's precious little to say in the way of discussing a language, and it's quite vague. C'mon, how about some more discussion of features of the language. How about some real comparison, with say, strengths and weaknesses of Perl. My knowledge of Python (almost zero) has increased not one bit after this article.

Basically, the article amounts to: Hey, I wrote Python and I like it. It's better than things I didn't write.

Is this an interview or a press release?

No, why NOT! (3)

slashkitty (21637) | more than 13 years ago | (#360161)

Ahhggg. This brings back horrible memories of huge FORTRAN that would be flattened by one *SPACE* out of wack. It's a pain. A real pain. It's the reason I won't even look at Python as a language for me.

Don't get get me wrong, attention to detail in programming is a good idea. Formatting your programs is very important. Spaces should not be. They are the void on the page. Various editors treat spaces, that is, it's harder to manage in some. It's just a shame that they put this 'feature' in a language.

Re:Java vs. Python (2)

vr (9777) | more than 13 years ago | (#360164)

I don't know much about Python... but is it very cross-platform?

Yes. It even has bytecode, that (IIRC) can be run on any platform that has the correct Python interpreter.

As for GUI-toolkits, there are several to choose from, and they are supported on several platforms, but probably not as many as Java AWT/JFC.

Is there a reason you'd use Python over Java if you wanted to run your application in a few different environments?

Yes, you would be using Python instead of Java. That's a plus.. ;)

Re:Java vs. Python (1)

Cliffton Watermore (199498) | more than 13 years ago | (#360167)

Actually, Python runs on MORE Platforms than Java - BeOS didn't have a Java VM the last time I checked, and hell, Python even runs on PalmOS.

A lot of people have stated that they believe that Python is merely an academic toy, and not industrial strength like Java. While both languages have their advantages, I would say that Python has a wider application scope than Java, and is better for rapid application development and prototyping - indeed, it could rival Visual Basic in ease of use and speed of prototyping, and yet retain its advantage of being a true OO, cross-platform, free and open source product. While the Java language does have some free VM implementations, they are not as complete as the commercial equivalents - Python does not have this problem.

To answer your question, Python is just as "cross-platform" as Java and has potential to be even more so (which it already is as far as I know) due to the open-source, fere-software nature of it.

Re:Java vs. Python (1)

F2F (11474) | more than 13 years ago | (#360169)

well, it's as cross platform as there are platforms the interpreter has been ported to.. pretty much like perl (both being scripting languages you know)...

python has something java does not -- if you hit a brick wall in your code and it starts taking huge amounts of time and clock cycles to do a simple task, then you could (theoretically and practically) use a different language and speed up the bottleneck by rewriting it. a good example would be changing some trivial text searching algorithm by writing it in C and compiling it into the existing code.

oh yeah, something else that makes python better than java: python has hooks to use java code in itself, java does not have such things and can not incorporate any python :)

Aggressive (1)

Scrymarch (124063) | more than 13 years ago | (#360172)

I have to say that was unusually aggressive language advocacy from Guido von Rossum. I would rather donate a kidney than use Perl but to me the Python / Perl split is a classic elegant / baroque dichotomy, of the type that recur over and over again where software is concerned. Some people like the simplicity of one way to do things. Others crave the expressive power of "More Than One" and many features. Examples: vi / emacs, original Pascal / Ada, maybe Java / C++ .

IDEs (1)

ryants (310088) | more than 13 years ago | (#360175)

Now there are tools like Wing IDE, which is a development tool that is written in Python.
Ugh. How I tend to loathe IDEs (maybe because I have to use the worst of them all, Visual Crap++ at work all day). When working in any language at home in Linux, {X}Emacs is the IDE, not "just an editor".

Ryan T. Sammartino

Re:Java vs. Python (2)

MAXOMENOS (9802) | more than 13 years ago | (#360176)

I've used both languages in a professional capacity, and I'd definitely use Python (that's C-Python, either Python/Tkinter or wxPython) for building GUIs instead of Java. Since both of these languages have excellent XML support, you could use Python for the client and Java for the server, no sweat. You *could* implement both sides in Python, but your SQL support in Python is relatively limited compared to Java. I'm also guessing that Java would be at least marginally faster for handling complicated server-side logic, even compared to "compiled" Python.

On that note, it would be rather interesting to see Java and Python go head to head in a bunch of code benchmarks, no? :)

ObJectBridge [sourceforge.net] (GPL'd Java ODMG) needs volunteers.

Re:Java vs. Python (1)

Montecristo6 (398332) | more than 13 years ago | (#360178)

Python, I believe, is as portable as Java. Check out the list [python.org] of supported platforms. Lately, a port [endeavors.com] have been made for PalmOs, so the handheld advantage of Java has just diminished. The Python scripts can run on all kinds of machines with only minor modifications.

Don't use it. (2)

Anonymous Coward | more than 13 years ago | (#360181)

I advise people not to use Python for the following reasons: 1) Python has had license issues. Guido does not want to relinquish final control over Python, and he wants to get paid for what other language implementors do for free. 2) Python is defined by it's implementation. There's no standard for developers to rely on. That means ultimately you are at the mercy of the good or bad judgement of the Python team. 3) New versions break old programs. I do NOT want my customers to have to have 2 or 3 versions of Python installed. 4) There are better alternatives. Lisp or Ruby.

This just in! (5)

Chester K (145560) | more than 13 years ago | (#360184)

...and just as newsworthy....

Larry Wall thinks Perl is pretty cool.

Getting emotional about software isn't rare (1)

mlinksva (1755) | more than 13 years ago | (#360185)

I haven't run across an OS or language that doesn't have emotionally invested supporters. Plenty will even get passionate about their favorite word processor, multimedia player, window manager, MTA. Has Guido never read USENET, or /. for that matter?

Given a choice between Perl and Python, I'd choose Ruby.

Re:/python (1)

Zico (14255) | more than 13 years ago | (#360189)

Might be worth a try. Not saying that it's Perl's fault, but something's causing Slashdot to go tits up at least once a day. Maybe rewriting the code in a different language or trying a different database would give them some insight as to what the problem is.


Cheers,

more technical (4)

jobber-d (225767) | more than 13 years ago | (#360195)

If you're looking for a more technical summary of Python, you can always read Eric Raymonds thoughts on it. you can find it here. http://noframes.linuxjournal.com/lj-issues/issue73 /3882.html

I hope no one spoils this one... (1)

emn-slashdot (322299) | more than 13 years ago | (#360198)

Suggestion for Poll:

How many times this week will we post articles dead set on starting programming language flame wars?

*) One
*) Two
*) Five
*) Cowboy Neal

Seriously... this article is good, but it's going to pissoff the perl-bigot trolls. I hope no one spoils this one with intellegent posts. It's much more fun to watch the trolls flame languages.

-EvilMonkeyNinja
a.k.a. Joseph Nicholas Yarbrough
Security Grunt by Day
Programmer by Night

I dig python (2)

sleeper0 (319432) | more than 13 years ago | (#360199)

It took me years to give it a real try. When I started my current project which is a C base but needed some easy way for the customer to extend via scripting, python looked like a good choice.

It turns out it's super easy to integrate into a C or C++ base and nearly instantly gives you a very solid scripting language. Restricted execution allows you to limit the power of the scripts, perhaps only allowing access to a few of your own custom objects and none of the system calls. This allows us to trust scripts from relatively untrusted users. All in all it's been a dream to use.

I was a little weary of having to learn a new language. Having to have C, C++, Java, VB, perl, javascript & shell under your belt seems excessive. I wish we could settle down and use a few LESS languages, but whaddya gonna do?

Once I jumped in though, i found it really easy to learn and nice to work with. Most modern languages seems to use so many of the same concepts, it's hardly like picking up a new one (I felt the same way about java). So it was really painless.

I would suggest anyone who's on the fence to give it a try because really it's only a couple of days before you've got a pretty good command of it

Sleeper

ramblings (4)

deran9ed (300694) | more than 13 years ago | (#360205)


First off sorry for the typo on submission of the article... Tom Christiansen wrote a nifty little comparison [nasa.gov] between Perl vs. Python. I've used Python quite a few times and don't know Perl well enough to even consider myself a programmer. However many times I've had to modify plenty of Perl scripts in order to use certain things I found useful, and one reason I would use Python over Perl is its ease of scripting. Perl can sometimes be confusing as heck.

According to Jon Udell here are his findings on Perl vs. Python

Perl Is Bigger, But Python Is Growing Faster.

Python Is More Deeply Object-Oriented.

Perl Is more Powerful And More Mature In Some Ways.

Perl Lacks A Killer App, Zope Is Python's Killer App.

Python Is Designed To Be A Good First Language For A Beginning Programmer, Whereas Perl Is Most Useful To Programmers Familiar With C, Sed Or Awk, And UNIX Command Idioms.

His complete write up is here [byte.com] . (warning the article is a bit long... 4 pages)

And finally Python Humor [python.org]

A comparison paper (1)

jgp (72888) | more than 13 years ago | (#360208)

The following link is to an empirical comparison of a number of scripting and compiled languages. Interesting reading as it takes into account issues such as program lenght, reliability, memory consumption amongst other metrics:

Re:Java vs. Python (1)

wadetemp (217315) | more than 13 years ago | (#360209)

Actually, you can hook to external code with Java. It supports calling native methods. Take a look at JNI [sun.com] ... it does exactly what I think you're talking about.

Re:ramblings (4)

mlinksva (1755) | more than 13 years ago | (#360212)

http://www.oreillynet.com/pub/a/python/2001/02/22/ pythonnews.html [oreillynet.com] says
John Udell once described Digital Creations' Zope as Python's killer app, the application that was going to have everyone scrambling to learn Python. It hasn't proved to be much of a killer though. Web designers looking for solutions to their documentation management problems routinely dismiss it as overkill, developers as underkill, or too hobbling.
I haven't taken much more than a cursory look at Zope (several times over the last couple years), though that's about the impression I got: too much complication for too little gain.

Re:Java vs. Python (1)

wadetemp (217315) | more than 13 years ago | (#360214)

The PalmOS version is cool... is there a BSD version?... I didn't see it on the versions page.

Re:/python can't beat Perl now (1)

Sevast (255390) | more than 13 years ago | (#360223)

I am with you. Too much hype about the snake.
Perl will definitely remain the first scripting languages for at least 2-3 years to come.

And if I were to find an alternative to Perl, and a REAL OOP scripting language, I would choose Ruby, not Python, where
OOP has not gone too far from that of Perl. ;-))

__END__

Re:No, why NOT! (1)

Z4rd0Z (211373) | more than 13 years ago | (#360225)

Python doesn't really pay attention to whitespace. It simply requires that tabs be used after conditional statements and when defining functions. In other languages like perl and tcl, you must use curly braces in the same places. How is it really so different? The tab requirement also makes the control flow easier to see, IMO.

Re:/python (1)

DrSkwid (118965) | more than 13 years ago | (#360227)

I'm not trying to get into Python vs Perl as I think the battle is stupid and pointless.

Pythin is used as an embedded scripting in more application than I've seen Perl in.

Serverance from Codemasters uses it as part of it's game system.
.oO0Oo.

Python as beginner's language? (1)

megaduck (250895) | more than 13 years ago | (#360229)

As a beginning programmer, I'm not sure that I agree with Mr. Van Rossum pushing Python as a first language. When I started to learn C a couple of months ago, I found it extremely frustrating. It was awkward, difficult, and unforgiving. One afternoon I stumbled on Python, and thought it was perfect! Easy, quick, and not as fussy about types! I showed it to one of my co-workers, and he gave me some advice.
He said, "Forget it. Go back to C. Weakly typed languages like Python and Perl allow you to get away with a lot of sloppy coding. If you learn with a ballbuster like C, you don't have to unlearn bad habits later on."

Just two months later, I agree with him. I've learned an awful lot because I've had to wrestle with C. I'm not sure that I would understand the fundamentals as well with a high level language like Python, and the only way to become a wizard is to know the fundamentals. I'm still new at this though, so take this with a grain of salt.

Cross-platform Python (1)

brockgr (39689) | more than 13 years ago | (#360230)

.. it's so portable, it will even run under perl - Inline::Python [cpan.org] ;-)

Re:Why Python (1)

DrSkwid (118965) | more than 13 years ago | (#360232)

This one was designed, not evolved from the past.

Sorry but this isn't exactly true. Python has changed over it's time like all languages do. Check out the arguments over case senitivity on the dev mailing list if you want to see.


.oO0Oo.

Re:Aggressive (1)

igrek (127205) | more than 13 years ago | (#360234)

Nah... I prefer Perl to Python, but vi to emacs and Pascal to Ada. It's not simplicity vs. complexity. Tastes just differ.

Regarding Java / C++ I wouldn't say Java is elegant and C++ is not. They are about the same in this regard. Think of Java's array vs. Vector or int vs. Integer.

Re:No, why NOT! (2)

DrSkwid (118965) | more than 13 years ago | (#360235)

Ahhggg. This brings back horrible memories of huge C/Perl that would be flattened by one *semi-colon* out of wack. It's a pain. A real pain

Seriously modern text editors take the pain out of it. The python IDE takes care of it. But fair enough it is a pain when you want to debug some of your code example

if a > 1 :
print "do something
print "do ome more stuff"

print rest of program

if you want to just skip the condition and the do somethign code is very long then you have to replace it when you would've wanted to just

#if a > 1 :
print "do something
print "do ome more stuff"

print rest of program

you have to

#if a > 1 :
if 2 > 1 :
print "do something
print "do ome more stuff"

print rest of program

which might just trip you up
.oO0Oo.

Python and Propoganda both start with the letter P (2)

BobTheWonderMonkey (144907) | more than 13 years ago | (#360236)

Python is used pretty much across the board, much more across the board than Perl.
Who is he kidding? In my years as a professional programmer of financial applications, data servers, ecommerce frameworks, embedded systems, and web sites, I have seen a plethora of projects successfully that used Perl, and exactly zero that used Python. Python ain't exactly the ubiquitous standard the Python community thinks it is.

There are a lot of application developers using Python in Web development. Even more using Perl, to be sure.

The other examples given--glue applications, database applications--have been successfully served by Perl for a long, long time. Honestly, who hasn't written a simple protocol server in Perl before? Who hasn't written basic databases in Perl?

I think Guido might be eating a little too much of his own dog food. Python may be a rising star (who remembers Objective C?), but Perl is still king.

Re:ramblings (1)

Lord Omlette (124579) | more than 13 years ago | (#360238)

Any language based news in the next day or so is invariably going to have someone refering them to the fastest language thread [slashdot.org] . So how does Python compare to the other offerings? Did anyone suggest Zope to that guy?
--
Peace,
Lord Omlette
ICQ# 77863057

Re:nitpick (1)

maw (25860) | more than 13 years ago | (#360239)

Actually, it should be Guido van Rossum.

Sorry, had to bust you on it.
--

Re:Article says very little about merits of langua (1)

bowb (209411) | more than 13 years ago | (#360240)

Why not go read Guido's tutorial [python.org] (which IMHO is very nicely written and easy to read) and find out for yourself. If you know a few other languages, you can learn Python in a couple of hours.

Re:Article says very little about merits of langua (1)

DrSkwid (118965) | more than 13 years ago | (#360242)

true, the article is pathetic. I got to the bottom and looked for the standard More or next page and found I waa at the end! sheesh no wonder banner ads make no money.

and that fixed sized text. Here I am at 8am tryig to read the tiny text, not much fun.

FIXED POINT TEXT SIZES SUCK or at least small ones do
.oO0Oo.

Python IS a good beginner's language. (1)

Cliffton Watermore (199498) | more than 13 years ago | (#360243)

Python is a very good language to learn programming with. Yes, it's high-level, but that's good in that it allows you to experiment with the logic of algorithm and program design rather than waste time with learning language quirks.

Of course, if you want to get down to the MOST fundamental level of all, you wouldn't be citing C as an example of this - you'd be looking at things like binary, circuits/gates, logic, CPU structure, etc. After you'd studied those and were fully aware of the "fundamentals" of those, you'd move on to assembly language, to find out how to apply programming concepts at almost that level. That would be fundamental. Once you'd done that, then you'd repeat that process with several architectures and THEN you would learn C. That is bit a extreme though, don't you agree? Yes - Python IS a good language to learn programming with, all hyperbole aside. Typechecking is not a difficult concept to deal with after working in weakly typed languages. You won't learn sloppy habits by programming in a language that is weakly typed, and you'll be able to concentrate more on algorithmic design with Python - unlike C, where you'll spend most of the time programming "around the language" - that is to say - the language will get in the way of what you're trying to program, instead of allowing you to program the logic efficiently.

Once you have a firm grasp of algorithms, and the mathematics behind good progam design, THEN you have the mindset for programming - this is easy to acheive using Python. Once you have these concepts and methodologies, the pure math side of things - down pat, then yes, move on to C, for it IS more powerful than Python. Your post is full of misconceptions though.

While your co-worker might have good intentions, I don't think that he's right by a long shot.

Re:No, why NOT! (1)

SmokeSerpent (106200) | more than 13 years ago | (#360244)

Similarly, C programs will break if a mere parenthesis, curly bracket, quotation mark, etc. is misplaced or omitted. Yes Python treats spaces as signifigant characters, so? At least Python's indentation is WYSIWYG, whereas bad formatting can lead to misunderstood code in C and etc.

Re:Python and Propoganda both start with the lette (1)

Cryptnotic (154382) | more than 13 years ago | (#360245)

Objective C is making a comeback. Check out the developer section for MacOS X on Apple's website.

Cryptnotic

Oh dear god... (2)

Tim (686) | more than 13 years ago | (#360246)

"Python would be used for higher level control of an application, and Java would be used for implementing the lower level that needs to run relatively efficiently."

I never thought I'd see the day when Java was mentioned in the same sentence as "lower level" and "efficient."

*shudder*

I love python (1)

eellis (112890) | more than 13 years ago | (#360247)

Python is my favorite programming language to date. It all of my favorite features that are in other languages.

For those of you that don't know much about python, I would encourage you to try it out! Coming from the following languages, here is why I would recommend python:

Java - Python has a class library the size of Java's, its VM starts up faster, and its simpler to write and maintain. Plus, it isn't controlled by Sun!

Perl - Okay, all religious issues aside here. Get real. Perl is a great language, but it has largely been extended beyond its original intent, and is straining to keep up. Python is easier to learn, develop in, and most of all *maintain*. If you have ever looked at another person's Perl code and tried to maintain it, you know what I mean. Perl is cool. Python is cooler. Give it a shot, you can even use Perl style regular expressions!

C++ - Still haven't realized that C++ is a dirty hack eh? No, all kidding aside, C++ is also a great language. Honestly though, I struggle to develop quickly in C++ because I keep running into language barriers. C++ is probably the most widely used OO language next to Java. I for one am sick of managing my own memory. Leave it to the garbage collector thanks =) If you want a really really fast OO application, write it in C++. If you want to develop a OO application really really fast -- choose Python.

C - Ahh, the great C. What a fantastic language. Fast, Fast, Fast! But, not object oriented. Now, I know in the Linux world there are a lot of C lovers, and don't get me wrong, C has many uses. But the world would benefit if people would write their apps in Python. There would be very few memory related bugs! Many times, the development cycle is slowed dramatically by C's tragically painful memory management. Programmers are dumb. We really are. We make silly off by 1 errors, that oftentimes can make a C program leak memory like a swiss cheese bucket. Write in Python. Its *so* much easier, and is perfectly fast for GUIs, and many server applications.

Python, to me, is the language of the future. It is fast, easy to lean, fun to develop in, and is just plain cool.

Re:Don't use it. (4)

k8to (9046) | more than 13 years ago | (#360248)

1) Python has had license issues.

Python is transitioning from a bsd-like license to a bsd-like license. Those who wish to get their knickers in a twist over the in-between phase are grasping at straws.

Guido does not want to relinquish final control over Python, and he wants to get paid for what other language implementors do for free.

Linus does not want to relinquish final control over Linux. What's your point? Guido is the BDFL (Benevolent Dictator for Life) but the license does not prevent one from making alternate versions, and in fact this has been done more than once.

As for Guido wanting to get paid for doing Python work, sure.. why not? As for getting paid for what other people contribute, please explain yourself in some level of detail?

2) Python is defined by it's implementation. There's no standard for developers to rely on. That means ultimately you are at the mercy of the good or bad judgement of the Python team.

While there may no standards body stamping an official document, this statement also applies to Perl, TCL, and many other popular scripting languages in its class, as well as Java. In practical reality, there are mulitple implementations of Python which are in fact compatible, and have been multiple independent implementations for some time. I wouldn't get too worried about this "one implementation problem".

3) New versions break old programs. I do NOT want my customers to have to have 2 or 3 versions of Python installed.

The python 1.x -> 2.0 transition was painless for all those I have spoken with. I have not had any of my code hiccup or cough at all except perhaps to tell me that some packages have been deprecated over the years, though they still work.

If you compare this to the K&R -> ANSI C transition, or the TCL 7 -> 8 transition, or some of the severl perl transitions, it's a walk in the park.

4) There are better alternatives. Lisp or Ruby.

While these languages are interesting, they do not have the same advantages as Python. Some examples would be a clean readable language, a cohesive standard library, a simple syntax, and a strong OO heritage pulling from background such as smalltalk. Ruby and Lisp do interesting things of their own, but are not languages I would consider in the same breath. Ruby, FWIW, suffers from the same above problems as Python.

The GNU/Emacs Operating System (1)

soygreen (133302) | more than 13 years ago | (#360249)

It's a beatiful thing seeing Slashdot incite two language wars in one day, but editor wars deserve equal time. I'm pretty sure that in the last paragraph of this article, Guido called Emacs "just an editor."

Re:Don't use it. (1)

Cryptnotic (154382) | more than 13 years ago | (#360250)

Ruby kicks ass. But I really wish they had chosen different syntax for some things.

Cryptnotic

Re:Python IS a good beginner's language. (1)

igrek (127205) | more than 13 years ago | (#360251)

I think, there's no significant correlation between first programming language and programming skills.

One is good driver because one is good driver, not because his first car was Lamborgini.

Portals - python v perl v tcl v php v java?? (1)

tapiwa (52055) | more than 13 years ago | (#360252)

I am looking at 'portal toolkits' (for want of a better word) for a site that I am planning.

The different toolkits I am looking at are

zope vs mason vs arsdigita/openacs vs phpnuke vs jetspeed


This is not a flamebait, but does this choice boil down to

python vs perl vs tcl vs php vs java??

Of these toolkits, which one would be the easiest to get up and going, and still allow you to get funky?

God Bless Python! (1)

Cheshire Cat (105171) | more than 13 years ago | (#360253)

I spent some time trying to learn to program in various languages. C...C++...Java...even Visual Basic (yeah, yeah, yeah). But at some point in all of them I got frustrated and gave up. I would love to learn how to find an object-oriented tutorial in C++ that skips, say, the concepts of private/public/protected/friend.

In Python everything is public. Yeah there can be some problems with this, but it makes learning the language *so* much easier. I can spend my time learning algorithms, not the nuances of a language. Once I've got the algorithm mastered, I can port it fairly easy to another language.

This is why I really like Python. I picked it up really quickly; much faster than any other language I tried. In fact, I picked up a book on it about three weeks ago. Today I completed my first *real* program for work. So in three weeks I learned enough of a language to write a program that'll automatically check a remote FTP site, insure that daily files backed up, and that they're the right size. I don't know many languages that can go from zero to that in three weeks.

So I guess I consider myself to be a bit emotional about Python.

Re:more technical (1)

DrSkwid (118965) | more than 13 years ago | (#360254)

slashdot's famous space insertion routine has screwed the url

take the space out between isue73 & /3882
.oO0Oo.

...so does Perl (1)

Sebby (238625) | more than 13 years ago | (#360255)

(Sebby stating the obvious)

" I'm going to kill 'em all, Sir " - Todd in ' Soldier '

Re:Python and Propoganda both start with the lette (1)

Master of Kode Fu (63421) | more than 13 years ago | (#360256)

Python may be a rising star (who remembers Objective C?), but Perl is still king.

Let me play devil's advocate, Perl-style...

s/Python/Linux/
s/Objective C/NeXTSTep/
s/Perl/Windows/

Re:Learn Ruby (1)

Cheshire Cat (105171) | more than 13 years ago | (#360257)

For RAD Ruby is a clear-cut winner...The most important and visible: each. No more for (i=sz; --i >= 0; )

I really dig Python's for-loop. for x in list: print x Much easier to use!

Re:Music Apps? (2)

cnicolai (14338) | more than 13 years ago | (#360258)

There's a class [oberlin.edu] at Oberlin College this semester on writing music apps in python.

Learn Ruby (3)

Steeltoe (98226) | more than 13 years ago | (#360259)

I'm currently learning Ruby [rubycentral.com] , and MAN is that a beautiful OO-language. My only nit-pick about it so far is that it is not constrained enough, contains a few non-intuitive wrinkles and ambiguities, and don't really treat code as data (as Lisp do). However, I'm certain that it can either be extended (in runtime) to become more constrained (types, const, real protected object methods and variables, private/protected inheritance etc), or its going to develop a standard set of- or arbitrary concepts of constraints.


For RAD Ruby is a clear-cut winner. You have many high level concepts available in the language or the accompanying library (which is almost the same, since it's true OO). The most important and visible: each. No more for (i=sz; --i >= 0; ). Its also got lamdas, closures and eval. If there are some concepts missing in the language, it's usually possible to extend the language and reuse that extension again and again. At no cost of readabilty as in Forth. Oh, and did I mention everything is an object?


Whatever you can do in Python, Perl or Smalltalk, you can do in Ruby (as a language at least). The accompanying libraries are pretty sweet too. Try it, you'll like it.


- Steeltoe

Re:No, why NOT! (1)

Cheshire Cat (105171) | more than 13 years ago | (#360260)

At first the lack of semicolons and curly-braces was really a little disconcerting. "How will Python know the function has ended?!" I wondered.

Well, after a week of using it I actually came to prefer Python's indentation method to the traditional semicolon/curly-brace way of C/C++/Java. To me, the logic of the code tends to be easier to follow.

Python should be everywhere... (4)

costas (38724) | more than 13 years ago | (#360261)

...but it's not there yet.

I have respect for Perl (hell, I have respect for any general-purpose language than can beat egrep in text searches), but Python is my weapon of choice.

What people are missing in this forum is that Python is probably the most extensible language out there: there are at least 4 different interpreter implementations for Python (and I don't mean OSes): there's C-Python, there's Jython (in Java), there is Stackless Python and there will be a Python.NET. That's versatile guys, much more so than any other 4GL language out there.

Also, Python is hacker-friendly: armed with a couple of tools and a C compiler anybody can embed the interpreter in their own app or extend Python with existing C, C++, Fortran, Java, or even Perl code. Trust me, it's much easier than you think.

Python is easier for begginers to pick up: if you have a diverse group of people with different skills, you can use Python as a lingua franca. No reason to explain the legacy behind $_ or other such awkiness :-)

Most importantly though, a choice of language is a personal one: I liken Python code to a mathematical proof: it's clean, it's elegant, and if it's written by someone else a reader can easily pick up its deficiencies. Perl tends to be more like poetry: it can be beautiful (like that great DeCSS hack) but its beauty is subjective, and much like poetry a lot of people may never 'get it'.

At any rate, if you are a Perlista and you're here flaming away because of the whitespace thing, go to python.org and try the language out. My bet is that you will be happy to have done so.

Re:Don't use it. (1)

nosferatu-man (13652) | more than 13 years ago | (#360262)

There's only ONE reason not to use Python: the weak-as-shit lambda forms. Now that the language supports proper lexical scoping, and with Tismer's brilliant stackless patches, the only thing keeping Python a joke language is the shittiness of the lambdas.

Start a petition!

(jfb)

Re:Python and Propoganda both start with the lette (1)

Cryptnotic (154382) | more than 13 years ago | (#360263)

Hm... check out GNUStep [gnustep.org] .

Objective C isn't going to die. Apple's use of it will hopefully bring some attention to it.

Cryptnotic

There are more ways to do it with Perl (1)

wisse (398347) | more than 13 years ago | (#360264)

The two *don't* compare. The most important feature of Perl is "There are more ways to do it". Imposing a "cleaner programming style" on the programmer is as un-Perl as it gets. I don't know Python, but it's clear that it has completely different goals. Using Perl you can bould your application in your own programming "style". Most Perl scripts may not make much sense to anyone but the author, but that's a feature, not a bug.

Re:ramblings (5)

Spy Hunter (317220) | more than 13 years ago | (#360265)

From Python Humor:

Python vs. Perl according to Yoda
Subject: Python versus Perl: A humorous look
From: funkster@midwinter.com
To: guido@cnri.reston.va.us
Date: 10 Jul 1999 01:45:07 -0700

This has been percolating in the back of my mind for a while. It's
a scene from _The Empire Strikes Back_ reinterpreted to serve a
valuable moral lesson for aspiring programmers.

--
EXTERIOR: DAGOBAH -- DAY
With Yoda strapped to his back, Luke climbs up one of the
many thick vines that grow in the swamp until he reaches the
Dagobah statistics lab. Panting heavily, he continues his
exercises -- grepping, installing new packages, logging in as
root, and writing replacements for two-year-old shell scripts
in Python.

YODA: Code! Yes. A programmer's strength flows from code maintainability.
But beware of Perl. Terse syntax... more than one way to do it...
default variables. The dark side of code maintainability are they.
Easily they flow, quick to join you when code you write. If once
you start down the dark path, forever will it dominate your destiny,
consume you it will.

LUKE: Is Perl better than Python?

YODA: No... no... no. Quicker, easier, more seductive.

LUKE: But how will I know why Python is better than Perl?

YODA: You will know. When your code you try to read six months from
now.
--

larry


[me@localhost]$ prolog
| ?- god.
! Existence error in god/0

Re:Python and Propoganda both start with the lette (1)

igrek (127205) | more than 13 years ago | (#360266)

Well, it's not exactly the same. While Windows is currently the king of client side, Linux is obviously much better solution for a server.

But Perl and Python are in the same niche. And Python is not significantly better than Perl. Not significantly enough to change the current state of affairs.

Re:Don't use it. (2)

Cheshire Cat (105171) | more than 13 years ago | (#360267)

I advise people not to use Python for the following reasons: 1) Python has had license issues. Guido does not want to relinquish final control over Python, and he wants to get paid for what other language implementors do for free. 2) Python is defined by it's implementation. There's no standard for developers to rely on. That means ultimately you are at the mercy of the good or bad judgement of the Python team. 3) New versions break old programs. I do NOT want my customers to have to have 2 or 3 versions of Python installed. 4) There are better alternatives. Lisp or Ruby.

Ahem...lets look at this statement this way.

I advise people not to use Linux for the following reasons: 1) Linux has had license issues. Linus does not want to relinquish final control over Linux, and he wants to get paid for what other language implementors do for free. 2) Linux is defined by it's implementation. There's no standard for developers to rely on. That means ultimately you are at the mercy of the good or bad judgement of the Linux kernel team. 3) New versions break old programs. I do NOT want my customers to have to have 2 or 3 versions of Linux kernels installed. 4) There are better alternatives. MacOS or Windows.

Yeah, its not a *perfect* fit, but pretty damn close.

Guido on Dylan (2)

oodl (398345) | more than 13 years ago | (#360268)

Dylan is more elegant than even Python, but was designed to be efficiently compiled. This is from an interview with Guido in the linux journal (http://www2.linuxjournal.com/lj-issues/issue68/37 09.html):

Phil: It seems like Python is starting to be taken really seriously in web development and so on. Is Python being taken seriously in academia? I guess I mean relative to Perl, because Perl isn't, as far as I can see.

Guido: I would say Python is being taken a lot more seriously. There are language designers who don't approve of certain short cuts, or the fact that Python doesn't have static typing, or the fact that there are other languages out there that are as good as Python is, and again borrow all the good features from those languages.

Phil: What languages?

Guido: Some people think, for instance, that Dylan--which I think has a very academic flavor--is everything Python is plus so much more.

Phil: Dylan? I've never heard of it.

Guido: Well, that's exactly Dylan's problem. I don't know, but I think it started out as a LISP variant, with sort of an alternative syntax. The syntax was deliberately unLISPish in order not to scare off everyone who is not already brainwashed with LISP, because LISP has one of the biggest image problems of any programming
language in the world.

Uh? (1)

renoX (11677) | more than 13 years ago | (#360269)

Some of your points are dubious IMHO:
- points 2: Perl and Ruby are also defined by their implementations.
As these languages are still evolving, it seems quite normal!
- points 4: choosing a language is HARD, and while Ruby seems promising, Lisp is not designed to solve the same class of problems IMHO.

I don't know much about the point 1 and the point 3 is quite valid but it is the price to pay to avoid having a language full of cruft..

Re:Python and Propoganda both start with the lette (1)

Cryptnotic (154382) | more than 13 years ago | (#360270)

You can write code for lots of platforms in Objective C. GCC [gnu.org] supports it. GNUStep [gnustep.org] provides a full object environment for applications.

Anyway, software developers (including myself) love it.

Cryptnotic

Re:nitpick (1)

Imperial Tacohead (216035) | more than 13 years ago | (#360271)

So, what's your Jimi Hendrix theory?

Oh, and are you the guy to ask about "Loom?"

Re:Why Python (1)

Zico (14255) | more than 13 years ago | (#360272)

Are you smart enough to fit Python DECSS on a tshirt? Pearl people are.

Are you planning on being celibate for life? People putting DeCSS on their tshirts better be.


Cheers,

Python does kick ass (3)

kevin805 (84623) | more than 13 years ago | (#360273)

I've written a pretty good amount of absolutely hideous Perl code (maybe 10000 lines total -- hey, I'm still a student), and maybe even once a clean, reusable program. But the latter are the exception. Perl lends itself to stream of consciousness programming, which is great when you want to write a quick script to do something, but doesn't lend itself to later revision.

I'm learning Python now. It's a much cleaner language. Consider the following Perl:

for($i = 0; $i < 10; $i += 2) {
print $i;
}

And the same in Python:

for i in range(0,10,2):
print i

It's just easier to read. The main reason I don't feel like continuing on in Perl is because I once seriously shot myself in the foot due to Perl's lack of easy to use and easy to understand complex data structures. Python has classes, which are just like JavaScript (really just hashes), but the syntax makes them usable.

And error checking as well. The following is probably wrong Perl:

$variable = 1;
print $varaible;

But it isn't an error. The following causes an error in Python:

variable = 1
print varaible

If I wanted an undefined value, I can, of course, create one:

variable = None
print variable

Please do some research and show some respect ... (1)

maxm (20632) | more than 13 years ago | (#360274)

Bwah!

You Perl programmers make me mad! You act like Linux versions of VB programmers. Overestimating the depth of your own knowledge.

You have learned to program in Perl and now that you know that you think you know everything about all programming languages.

Funny thing though. There is a LOT of people who have swiched from Perl to Python (myself included), but I have yet to meet someone who volunteerly have switched the other way around.

Please try Python and get to know it before dissing it, or get a marketing job at Microsoft spreading FUD because that's what you are doing now.

(I have nothing against Perl, it's just the know-all attitude of some of the developers that ticks me of. And the fact that their comments get such a high rating on /.)

Re:Python and Propoganda both start with the lette (3)

Voivod (27332) | more than 13 years ago | (#360275)

I have seen a plethora of projects successfully that used Perl, and exactly zero that used Python.

Yahoo, Google, and eGroups all use Python extensively.

So in your future ignorant flames, you can now say: Besides the biggest portal, the best search engine, and the most popular e-list site, I know of zero sites that use Python.

Re:Portals - python v perl v tcl v php v java?? (1)

fuzzbrain (239898) | more than 13 years ago | (#360276)

You might want to look at Meerkat [oreillynet.com] as well. I don't know much about it, but it uses PHP and Perl.

Re:Don't use it. (2)

Chalst (57653) | more than 13 years ago | (#360280)

Quite agreed about weak lambda forms; but the garbage collection scheme is rather an embarassment. Reference counting doesn't work, for cyclic data structures, and these can arise in Python programs.

Re:God Bless Python! (1)

bowb (209411) | more than 13 years ago | (#360281)

I agree entirely with what you are saying, but I'd like to point out that Python does have private members. You just append a double-underscore (__) to the front of an identifier, which results in that identifier getting mangled with the class name. It's explained properly in the Python tutorial.

Re:Don't use it. (1)

aerique (206) | more than 13 years ago | (#360282)

[LISP]While these languages are interesting, they do not have the same advantages as Python. Some examples would be a clean readable language, a cohesive standard library, a simple syntax, and a strong OO heritage pulling from background such as smalltalk.

Oh boy, you've really said it now. Better start wearing that asbestos suit you've lying around. While Lisp's readability is certainly something to get used to it has about the simplest syntax of any programming language and it's OO support ranks up there with the best (CLOS).

Anyway, since you obviously had no idea what you were talking about you might as well do the research for yourself ( http://www.lisp.org/table/contents.htm [lisp.org] ), instead of me doing it for you. Perhaps other posters will give you a much deserved roasting.

Cheers!

Re:/python (1)

HamishLawson (398356) | more than 13 years ago | (#360284)

When Guido said Python is used "much more across the board than Perl", I think he meant that it is applied to a wider range of problems, not necessarily that more people use Python than Perl (in the same way that there are a large number of COBOL programmers and applications out there, but within quite a narrow domain).

Re:Don't use it. (1)

Betcour (50623) | more than 13 years ago | (#360287)

1) Python has had license issues.

To hell with license issues and GPL integrists, it's open source, it's free for all uses, that's fine enough with me. I've not enough time to loose by using the wrong tools, just because the right one doesn't have a pure enough license.

2) Python is defined by it's implementation. There's no standard for developers to rely on.

So is PHP, Delphi, Coldfusion, ASP, Visual Basic, all RDBMS's SQL interface, and many other languages that are pushed by only one group or vendor. And you know what ? No one gives a f* because in the end what matters is that the job gets done and that compatibility isn't broken or is so lightly altered that porting to a newer version of the language is a matter of recompiling or changing three lines here and there. It's not like you need to rewrite all your code every year to stay compliant.

3) New versions break old programs. I do NOT want my customers to have to have 2 or 3 versions of Python installed.

That's what happened with PHP 4 too, and millions of coders just switched and changed a few lines of their program. Big deal.

Re:Python does kick ass (2)

Emil Brink (69213) | more than 13 years ago | (#360288)

Heh. That's pretty neat, and I would definitely agree that Python looks cleaner than Perl. I've never used Python, and not written a great deal of Perl either, so my opinion is just that. However, since someone above mentioned my current favorite pet/hobby/braintease language Ruby [ruby-lang.org] , I thought I could at least give a Ruby version of the above example. Here goes:
0.upto(10, 2) { |x| puts x }
I think this is the "native" way to do this in Ruby, although I haven't been toying with it for very long, so I could be wrong. What happens is (roughly) that the message upto is sent to the object 0, with a code block associated with the call. If you're familiar with Smalltalk, this should be natural. The object 0 receives the message (aka "executes the method"), does the requested iteration, and calls the associated code block for each visited number. Pretty neat, huh? The availability of these very Smalltalk-esque code blocks, but coupled with a more familiar (and sane!) syntax is what attracted me to Ruby. Recommended.

"More ways to do it" and damn honest about it (2)

Ukab the Great (87152) | more than 13 years ago | (#360289)

The wonderful thing about perl as opposed to other languages is that everyone in the perl community is so open about "more than one way to
do it." If a beginning programmer reads Programming Perl, 3rd ed. (great book, by the way) all the different ways to do an operation will be listed. "You can do it this way, or this way, or this way. It doesn't matter which one. They all mean the same thing". Nearly all other programming languages also have "more than one way to do it" but are rarely if ever honest and upfront about it. If the programming book they read shows only one way to do it (which many non-perl programming books are notorious for doing), and there's actually two or three different ways to do it, they're going to think the other ways to do it are completely different procedures, and they'll expend a whole lot of unnecessary energy try to figure out that the two or more instructions are the same. Perl's honesty about different ways to do things actually makes it easier to learn than many other languages.

Re:Python does kick ass (2)

boldra (121319) | more than 13 years ago | (#360290)

you've written 10000 lines of perl and you didn't think of this?

for(0..10) {
print unless($_%2);
}

You clearly picked contrived examples, and totally failed to back up your argument.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...