Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
Perl Programming IT Technology

State of the Onion 11 278

Posted by Zonk
from the my-personal-favorite-is-french-onion-soup dept.
chromatic writes "Larry Wall's State of the Onion 11 address is now online. Every year, he describes the state of Perl and its community through metaphor and analogy. This year, Larry explored the history of scripting languages, from their dimly-lit beginnings to their glorious future. Along the way, he also describes several of the design principles invoked in the design of Perl 6. 'When I was a RSTS programmer on a PDP-11, I certainly treated BASIC as a scripting language, at least in terms of rapid prototyping and process control. I'm sure it warped my brain forever. Perl's statement modifiers are straight out of BASIC/PLUS. It even had some cute sigils on the ends of its variables to distinguish string and integer from floating point. But you could do extreme programming. In fact, I had a college buddy I did pair programming with. We took a compiler writing class together and studied all that fancy stuff from the dragon book.'"
This discussion has been archived. No new comments can be posted.

State of the Onion 11

Comments Filter:
  • Re:scripting (Score:2, Interesting)

    by Anonymous Coward on Friday December 07, 2007 @11:25AM (#21613487)
    Agreed. I code almost exclusively in Python at work (I say "almost", because I dabble in bash), and I'm so damn glad I don't have to deal with memory allocation nonsense like in C and C++. Even Java gets on my nerves with its static typing.

    Languages like Python make it easier to design and implement algorithms without having to worry about other concerns.
  • by krog (25663) on Friday December 07, 2007 @11:31AM (#21613575) Homepage
    The Perl 6 community is more focused on getting it right than getting it into the marketplace ASAP. While this is frustrating for many -- it seems like every other day, there's a Perl 6 feature I want to use in my Perl 5 program -- it has contributed positively to the development of Perl 5 and Perl 6 alike. Perl 6 is painstakingly designed and planned as truly a next-generation dynamic language, and as features are completed, they often spill down into Perl 5. (See the perldelta [cpan.org] for v5.10, out very soon, for some good examples.)

    Unless someone is willing to finance full-time development on Perl 6, this is the best we get. I think it's pretty good.
  • by timster (32400) on Friday December 07, 2007 @11:47AM (#21613817)
    That sounds great, until you're trying to work with someone else's Perl code and it turns out that they have a special fondness for those Perl features which were inspired by awk. A language with a clean design means that you can collaborate with others.
  • by doom (14564) <doom@kzsu.stanford.edu> on Friday December 07, 2007 @01:15PM (#21615077) Homepage Journal

    perl 5.8 does everything I need it to. There are other languages I use when Perl doesn't do what I need it to.
    perl 5.10 is about to be released, and it has a number of significant improvements over perl 5.8. Off the top of my head: it has a real "switch" statement included (as originally designed for perl 6), it has recursive regular expressions that can be used to do Text::Balanced sorts of things (if for some reason that now-standard module doesn't do it for you), and a number of new modules have been added to the standard library.

    I view Perl 6 as an continued employment mechanism for those who write books about Perl and teach Perl to others.
    At the present, I look at Perl 6 as an attempt at turning perl into a saner, more rational language, by keeping Larry and Damien busy with something else.

    Even so, I'm still interested in seeing where it goes. Unlike commercial projects, open source projects can continue to stagger forward to success long after many people have given up hope (e.g. Mozilla/firefox).

  • Re:Editing (Score:1, Interesting)

    by Anonymous Coward on Friday December 07, 2007 @01:57PM (#21615705)
    He seems to be complaining about starting a sentence with a conjunction ("and", "or", "but", "so", "because", etc.). This is supposed to be discouraged in formal writing; I believe the theory is that if it was allowed, people would overuse it, leading to monotonous writing. You see it all the time in novels and journalism, though, probably because it most closely reflects what the author is trying to say.

    See: http://www.gpuss.co.uk/english_usage/start_sentence_conjunction.htm [gpuss.co.uk]
  • by doom (14564) <doom@kzsu.stanford.edu> on Friday December 07, 2007 @02:10PM (#21615899) Homepage Journal

    we all know that language snobs dislike perl -- why they appear to dislike it more than the far-worse PHP is hard to discern, but clearly they do

    Actually, it occurs to me that I probably do know why perl provokes such rabid responses, I think it's because of "The State of the Onion" talks.

    "Larry has turned what was a gentleman's war into guerrilla tactics. He consistently and cleverly (I never said he wasn't brilliant) slanders other languages and language communities, and encourages this behavior in his lieutenants." -- Steve Yegge

    I don't know where Yegge got this "gentleman's war" stuff -- when I got started in this game, Nikalaus Wirth was making pronouncements about how a generation of programmers have had their brains irreparably damaged by programming in Basic (and Larry Wall alludes to this in his talk).

    I think what's really going on here is that like most "gentleman's" rules, it's only intended to protect you if you're a member of the club. The club got very upset at Wall for daring to suggest that there might be some limitations to their worldview (most "computer scientists" are really mathematicians trying hard to pretend that they're still doing math). That's the really unforgivable thing.

    In contrast, the PHP culture is just happy they're doing better than ASP, and makes no explicit philosophical statements about language design.

    GENTLE_ART_OF_PROGRAMMING [obsidianrook.com]

  • by coryking (104614) * on Friday December 07, 2007 @04:25PM (#21617773) Homepage Journal
    vim and emacs suck. I build for unix servers but I sure as hell don't use one for my workstation.

    I want a perl editor that works like Visual Studio because quite frankly, Visual Studio is the best development tool on the market. I want a perl editor with intellense, good support for perldoc, refactoring tools, and a good enough understanding of the language that I can click on a object's method, I can go "find all references to this function". Good refactoring would be a bonus too.

    Eclipse + EPIC seem to do most of this and both seem to be getting more and more stable. The problem is activeperl + mod_perl + windows = trouble, at least in my playing around.

    By the way, I'm aware that because perl is a dynamically typed language, most of what I want is very hard if not impossible. I can always dream though...
  • Re:scripting (Score:3, Interesting)

    by anomalous cohort (704239) on Friday December 07, 2007 @04:37PM (#21617983) Homepage Journal

    To me, the term scripting has nothing to do with the level of abstraction. Rather, it is more about whether or not the source is directly interpreted or compiled into an intermediate form. Having said that, I must admit that it would be awfully silly to create a low level language that is interpreted.

    From most of the languages that he lists, it looks to me that what he is really talking about are Dynamic Scripting Languages. Scripting languages that are also dynamic provide a lot of flexibility and can genuinely be categorized as different from static languages in an interesting way. I have blogged on this recently as part of a larger article on OSS [transitionchoices.com].

  • Re:Fine by me (Score:3, Interesting)

    by bzipitidoo (647217) <bzipitidoo@yahoo.com> on Friday December 07, 2007 @04:53PM (#21618179) Journal

    I'm not a Perl wizard, but I have used it. I find a lot more limitations than just slowness.

    Calling on external C functions from Perl is a pain. You can't ignore all those C functions, there's way too many useful ones out there. There's UNIX system calls, XWindows and higher level GUI libraries, socket and networking stuff, file manipulation, and everything in libc. Perl has a good bit of that covered natively, but suppose you want to use OpenGL? Then you're stuck trying to figure out Frozen Bubble for example. Or you could do it yourself and grind out the XS manually, or fix some automatically generated XS. If you're lucky, someone else has already put together a module, and that module works. Or you say the heck with it and just use C.

    Maybe I'm not being flexible, but I found Perl's OOP confusing. The return from a function could be anything from a simple integer to an object that's an instance of a class in a very big ugly hierarchy, and you can't tell what class it is. Lazy undisciplined programmers can very quickly make a horrendous mess. What, some class doesn't have a function called "draw" because it didn't inherit from the correct branch? Just add one, and who cares about keeping the hierarchy sane! I've heard Perl called a "write only language".

  • by skrolle2 (844387) on Friday December 07, 2007 @05:35PM (#21618757)
    You are, sadly, wasting your breath. :-(

    There is a large amount of programmers who found their comfort zone in certain loosely-typed languages, typically they did a lot of C, moved on to Perl and realized that they were much more productive in Perl, but not really realizing why, only thinking that Perl must be some holy grail. They are programmers who have never used Visual Studio or Eclipse or similar IDEs for strongly typed languages, they have *no* *idea* what refactoring is, and what it can do for your productivity, or how easy it makes your job of reading other's code with functions like "find usage".

    They're used to getting no help from their editors, they're used to manual search and replace, and they're used to small-team projects where that kind of tools actually work. And since they're stuck in that comfort-zone with those languages where you *cannot* make tools like VS or Eclipse, they will never learn their power.

    The lesson here is that we who use modern IDEs, we will get bypassed by something in the future, and we will be stuck in our comfort zones. Will we move on?

Klein bottle for rent -- inquire within.

Working...