3rd State of the Perl Onion
Geoff Eldridge writes "
Larry Wall has made available a
copy
of his 3rd State of the Perl Onion which he recently delivered.
You will need a basic grounding in molecular chemistry to understand
this year's onion." Larry is (as always) pretty dang wierd. But it is nice to know that the end of cobol is iminent.
Brain the size of a planet, and the best language Larry could come up with was Perl. What's wrong with this picture.
I used to think "at least perl is ok as a text processing engine". After doing web pages using it, now I'm not so sure. The wierd syntax with a zillion exceptions keeps trampling me down. And the documentation! Don't get me started on that.
Just go to: http://www.perl.com/pub/1999/08/onion/talk1.html
ack, the perils of early morning posting :/
nitroglycerine
-Yarn - Rio Karma: Excellent
I started (and continue) as a programmer in order to a:stretch my mind, and b:have a laugh. Larry does both very well.
Larry's language is the one I have found that gives me the best ability to write tight, efficient, outright sexy code, and maybe embed an in-joke in it as well, that I have found in any language.
I'm sorry, the man is a legend.
... and today's pet project has
I'd like to check Ted's paper, supposedly at http://odin.bio.sunysb.edu/~tshieh/soft ware but it looks like he may have graduated... At least no sign of his work is on odin, and he's not mentioned on the SUNY sites.
Any ideas on where to find his work?
RonSpace
Most of that "new" code is y2k bug fixes ;)
:)
Anonymous Coward, get it?
Anonymous Coward, get it?
Not bad spelling, bad typing
I run a website for a chemistry learning center and use Perl for just about everything. It's not all chemistry related- much of it is fairly generic, but I've written lots of snippets of Perl to do things like generate Chime images of atomic orbitals.
Eric
"Seven Deadly Sins? I thought it was a to-do list!"
anything to avoid perl man. i hate the f*ing language. after about a 1,000 lines it becomes a mess. have you seen the way OO is implemented?? give me a break! bless this! i use tcl, and incr tcl and i think they're great. clean syntax, and semantics, and a gui right there at your fingetips. will take a look at python also.
Hey, I love canada... J
Most of the code behind the unravelling of DNA is written in Perl. And they even make it freelly available
Sure, that's the bioperl effort, as well as some related projects. You can even see some of my contributions at bioperl.org. However, that's bioinformatics and not chemistry.
I've yet to see Perl used intensively for building chemical compounds, or doing molecular dynamics simulations, or doing substructure searches, or visualizing 3D structures. I have seen Python and Tcl code for those tasks.
To repeat myself, Perl is used a lot in bioinformatics, but rarely in chemistry.
mirror ahoy.
(remove nospam for email)
Hey check out gotperl.com for a review and log of the conference, including stuff about Larry, Tom, and Randal...
The great thing about Perl is that it seems carefully crafted to allow you to do a specific set of tasks-- text proccessing & CGI scripts mostly-- and to do those tasks with a minimum of effort by the coders. After attempting to do this sort of thing in c, Perl was a giant relief. Operations that can take a dozen lines of c can be done with a single Perl command. And the scalar datatypes, string interpolation, built in regular expressions, and lots of syntactic sugar saves the hassles normally asociate with a simple task like reading a line of text, parsing it, and writing it out to a file. For what it does, Perl is awesome!
But very cool !
CGI [i have yet to find a better suited language for this]
PHP.
Why is he getting so defensive about Python? Why trot out statistics about how few jobs there are for Python programmers? After all, if Perl is superior technically, and obviously far more in demand, why does Python even warrant a mention in the company of such a language as Perl?
Perhaps it's the clean, logical syntax that lets you learn the language in a day. Maybe it's the strong OO features. It could be the easy C integration. Possibly it's JPython, the Java Python interpreter which lets you execute Python in a browser without plugins, with full access to the Java API. Could it be the easy readability which has led to the nickname "Executable Pseudocode", letting even a non-Python programmer understand a Python program with ease? It is all of these things, and much more. Python is a fantastic language and just because Larry says that you can't get a job programming in Python doesn't mean that you shouldn't check it out. http://www.python.org.
COBOL will be around for a long, long, time. It has one redeeming feature that few other languages have and that is that it handles money well. Businesses don't like to entrust their finances to languages that round off, truncate, and set arbitrary precision limits based on the word size of a particular computer. Decimal arithmetic is the only way to handle money.
Well exactly! I'm not proud to say this, but I've spent the better part of my career (13+ years) writing COBOL. Its not the best language in the world for every application, but I shudder at the idea of converting and supporting the 2 million+ lines of code we have in our back-end mainframe legacy system to C or any other language for that matter.
Inertia. Plain and simple. Our company has a client-server, C++, OO Open System platform billing system which is intended to replace our legacy systems. Guess what? Can't handle the millions of accounts that out mainframe systems can, and it can't keep up with the new features that are being deployed in the existing systems. Sure, in time they'll catch up in scalability and feature set, but it won't be in the next 12 months, I bet.
True, all the new systems are being developed without COBOL. This is for obvious reasons. This doesn't mean that COBOL is going away at the end of next year when the Y2K repair work is finished. It just means that there won't be many *new* projects using COBOL. There will still be like 80% of the existing business DP systems running legacy code that won't be replaced for years to come.
In a perfect world, I would love to be rid of COBOL. I just ain't necessarily so!
The great thing about perl is that it is extensible. (well, one of many things) You don't like the way filehandles look? Change them! In fact MJ Dominus gave a lecture on how to do just that among other things at the perl conference (which is where larry deliverd this speech). Look at http://plover.com for examples on how to use globs to do this and other various wonderful things.
I didn't mind the speech as much as I minded the shitty smelling candle he lit....uggghh.
--------- Matt
You might be surprised.
I run a website for a chemistry learning center and use Perl for just about everything.
I don't mean this as a put-down, but that's not really chemistry. How would you load one of your structures and measure, say, a dihedral angle? It is doable in Perl (I've done it) but you'll have to write your own code because no one has distributed a package for doing it.
Compare that to Tcl, where I can name several programs which let you do that, and the same for Python.
Or how about doing some molecular dynamics (MD) on it. I've seen two different Python programs which do MD, but none written in Perl.
I could list a dozen other chemical research related tasks (compute a molecular surface, identify salts in a compound, find the maximum common substructure between two chemicals, parse a SMILES string, read a mol2 file, determine connectivity, and more). I've never seen a Perl program available which can do these, even with extensions written in C/C++. I have seen various of these in both Tcl and Python.
It isn't that Perl cannot be used for these tasks, but I believe strongly that Perl is not very suitable to chemistry work. Although negative proofs are tricky, I use as evidence the relative paucity of Perl package for doing chemistry, compared to other languages.
There are more chemistry programs which implement their own language from scratch than use Perl!
Now, Perl is often used to drive these programs in a rather loose fashion, and glue them with other systems, as you have done with your site, but this is not the same as doing chemistry with Perl.
P.S. I didn't know that Chime could do atomic orbitals; RasMol, from which it is based, cannot, and I don't see anything at mdli.com or the umass site describing the feature or even suggesting it. Do you mean VdW spheres, or if not, could you point me to a description of it? Thanks!
Main text is in place... images still coming... http://www.carumba.com/talk/perl/onion3/
a) Yes, the ORA Python book is pretty bad. Particularly its organization. If you want to learn Python, I think that the tutorial that is part of the Python documentation is pretty good.
b) Python has performance similar to Perl. If you are having trouble with performance in Python, it is very easy to profile the program and rewrite a couple of functions in C for speed. If Perl is running faster than your C, you must be using bad string libraries or something.
c) Also, I've not seen much Monty Python stuff except for the name of course, but it doesn't really bother me either.
Main text is in place... images still coming... http://www.carumba.com/talk/perl/onion3/
Why use CGI when you have mod_php?
/mill
I think Larry Wall made a slight chemical mistake there. I quote:
That's TNT, trinitrotoluene, frequently confused with dynamite. But it takes a detonator to get TNT to explode. You can take pure TNT and hit it with a hammer, and nothing will happen. Don't try this with dynamite. It will ruin your day, if not your hammer.Dynamite is TNT soaked into a special kind of clay (I cant spell the name, it sounds german like "keiselghur" or something), TNT itself is very unstable.
-Yarn - Rio Karma: Excellent
cobol sucks! -kerb (programmer who is forced to program in cobol)
I've posted several comments to this effect over the past year... -dilinger
It would be really nice if you thought about mirroring the document before posting the story. It's unfair to link a low-bandwidth site without a previous warning ...
--sledge
It's nice to imagine a world rid of Cobol (can we also remove Fortran?), but at what cost? Perl is almost as bad!
I was there for the 1st and 2cd State of the Onion adresses, and cried that I would not be able to make the third. Larry is brilliant, literate, and the physical embodiment of the stereotypical Computer Geek. He's also deeply religeous, and somewhat evangelical about it - although his subtle and low-key delivery keep it from becoming obnoxious. Hey, Christians! You could learn a lot from Larry's technique! It's funny though how each member of the Perl Trinity has their own set of vices. Larry is religeous, Tom is obnoxious, and Randall picked a legal fight with the wrong group of people. Isn't Open Source/Free Software great? We get to touch not only the products people deliver, but the people themselves. Who knows who designed my car, or cooked my lunch? Oh, BTW, Python sucks. :P Syntactically signifigant whitespace. Bleah.
I'd be interested in seeing how well that statistic holds after the current Y2K panic has passed.
Dewey, what part of this looks like authorities should be involved?
Oh my god! You slashdotted Larry! ...
You bastards!
Wasn't my decision, but a vendor had libraries to interface with the database, and came in various linguistic flavors. One of them was COBOL. When we asked our people why they went with COBOL code, their answer was simple. "The third party libraries were much cheaper." Heh. Looks like when something loses enough value, it can become valuable again!
This place is already slashdotted. Does someone have a mirror?
PROGRAM-ID. I CAN'T SEE BEYOND MY OWN SCREEN. BONE-HEAD DIVISION. PEOPLE HAVE BEEN THINKING COBOL IS GOING TO DIE FOR AT LEAST 25 YEARS. And what programming language has the most lines ever coded? Is it C nope, it's COBOL. What computer system do 90% of all fortune 500 companys depend on for their databases. Windows? some form of UNIX? Nope, good ol' fashion IBM big iron. Find me a linux box that can sort a 56 Gig file from tape in 1/2 hour. Then maybe we'll talk about the end of COBOL. Till then, I stand my position that I'd rather be programming COBOL. Heck, there's even a square root function now! If it's good enough for NASA's APOLLO missions, it's good enough to use today.
I swear, have any of you cobol haters used this language. I will agree that Cobol 74 is pretty bad, but Cobol 85 (II) is great. For batch business processing it is the best. Easy to read and easy to maintain if structured. I have been using it for 14 years and have seen no language come close to ease of use. I know it doesn't have OOP, but you know what? Real programmers don't need OOP to write good software. And I feel sorry for the IT shops that jumped on the C/C++ wagon. C++ is like taking a trip back a few decades in the o'l wayback machine. If you want to use a low level language use assembler, otherwise at least try Cobol II for your business needs. --MrCynical (sorry misplaced password).
As Aaaaaaanold said in the movie Conan: The Destroyer... "Lot on your knife!"
COBOL isn't going anywhere, especially with the advent of e-commerce. Did you know that there was more NEW lines of COBOL written than any other language except C++ and the difference between those two was something like 2%? Did you know that the COBOL language has been continually updated and modernized such that it is as modern a language as nearly any other? Did you know COBOL can do OOP?
Ok, it's been years since I've done any COBOL coding and I do most of my current stuff with perl but I still have to defend a very good language from the uninformed assaults against it. COBOL really gets a bad rap.
---
"Who pill da cubby custar?"
--
If I actually could spell I'd have spelled it right in the first place.
That has to be the most oddball essay on a programming language I have seen recently.
Fun, but certainly weird. Almost like he said to himself -- "Let's see. They want an hour talk on perl. How far off topic will they let me get away with? Hmm -- I have this cool program to display molecules -- how can I relate organic chemistry to perl?" It would almost make one believe that Larry Wall and Weird Al are one and the same -- or perhaps a pair of (evil?) twins.
Which is certainly ok, because I'm weird enough to seek out Al's (music?) and Larry's writings.
Jim
It's bad luck to be superstitious
Interestingly, there are very few people using Perl for chemistry. I know of DayPerl, used at a couple of sites, but there is also PyDaylight (which I helped write). I can't think of *any* other examples. There are some proposals in bioperl.org, but no code for chemistry.
Most of the programs either have their own language or embed Tcl. There is a RasMol variant - which Larry Wall used to make the images -- which uses Tcl. Cerius2 (a commercial package) uses Tcl. CACTVS uses Tcl for small molecule chemistry, as does VMD for molecular visualization (which I also helped write). MMTK uses Python for biomolecular modeling. I've even seen Prolog used for one system!
But never Perl. Perl is used a lot in bioinformatics, but rarely in chemistry.
If you have pointers, please contact me at dalke@acm.org. One of my interests is in how people use very-high level languages for computational chemistry and biology.
Perl is a godly language.
It's one of those languages that when you start, it looks REALLY syntactically clumsy, but after a while, you realize Perl is governed by a few simple conventions. They only break habit a few times. (WTF don't filehandles have little jibs in front of them, like $scalar, @array, etc?)
I've been writing in Perl for a while, and after a while you realize how much work Larry has gone though so the rest of us bums can be lazy. Perl didn't happen by accident, folks, it was DESIGNED that way.
Usually, most people that hate Perl call it, 'ugly' or 'gross'. They just haven't learned to realize the simplicity within the language.
-VaxGeek
this sig limit is too small to put anything good h
Did anyone actually look at the article? He is basing the "immenent death of Cobol" on a study purely based on job postings at www.dice.com
I personally don't think that is the single, definitive source for determining the future of Programming Languages. Not to mention - it shows a very slight decline on the number of job posting in Cobol. It's not valid to say - because the deman is declining it is going to zero...
I used COBOL for a long time - I know it very well. While I have little desire to do any more Cobol programming or maintenance in my life (althought I probably will)there is definitely a place for it and it's not going away.
Good programmers know about "the right tool for the job". Most bad programmers I know are ones who only know one language and think that is the best solution for every problem...
Dan
Most of the code behind the unravelling of DNA is written in Perl. And they even make it freelly available ...
Chris Wareham
I've grabbed the text of the article and placed it here: http://www.toehold.com/mirror/onion3 /talk.html I'm still working on getting the images and .au files from this poor slashdotted site. -- Kyle Hasselbacher <kyle-slash@toehold.com>
The O'Reilly Python book is dire, and why it's so bloody thick is beyond me. Python also performs far too badly for heavyweight usage, while Perl for all it's (many) sins is quite nippy.
...
...)
In fact, I still haven't worked out why some of my Perl code is still faster than my carefully crafted C programs that do the same thing. Maybe it's the masses of resources that the Perl interpreter chews up that give it an edge
(The Monty Python fixation put me off Python as well
Chris Wareham
Dynamite is nytroglycerine (spelling?) soaked into clay, not TNT.
I thing Perl is great, and I think Larry Wall is one very heavy-duty hacker, but man, his speeches are we--ird. I swear, he must be high or something to come up with this stuff. It's like a CS class on acid! :-)
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.