Slashdot Mirror


Developer Spotlight: Damian Conway

An anonymous reader writes "Builder AU interview Perl guru Damian Conway to talk about Perl 6, his reasons for choosing Perl over other languages, PHP, Model-driven development and the first Open Source Developers Conference held this week in Melbourne, Australia."

38 comments

  1. The Open Source Developers Conference by dshaw858 · · Score: 1

    One of the links in the article points to the Open Source Developers Conference- that seems more interesting than the article, in my opinion. Yeah, it's an interesting interview, and yeah, Damian's a cool guy, but it's nothing out of the ordinary. But OSDC... that looks pretty cool.

    - dshaw

    1. Re:The Open Source Developers Conference by stoborrobots · · Score: 1

      And what's sad is that I'm sitting in the same university that's hosting the conference, and this is the first I'm hearing of it...

      Just rechecked my staff email, to see if I even got one of those global emails that everyone ignores which mentioned it, but there's no reference to it...

    2. Re:The Open Source Developers Conference by Anonymous Coward · · Score: 0

      That is a shame, since Monash Uni is a sponsor.

    3. Re:The Open Source Developers Conference by Anonymous Coward · · Score: 0

      The challenge is to find how to contact people who aren't part of the user-group community. It's easy to contact LUGs, Perl Monger groups, Python-AU, Melbourne PHPUG, OzZope, etc. and associations like OSV and OSIA -- but if people aren't in that space, where else should communications be going to make sure that everyone hears about it? (With very little budget but lots of enthusiasm :-)

  2. Perl Vs. Java by justanyone · · Score: 2, Interesting


    From the Article:

    why not say, Java?
    Leaving aside the uniqueness of the Perl community, from a purely technical perspective Java is far too restrictive for the kind of work I do. And it's far too demanding on the programmer. Sure, it has a lot of great libraries that make it easy to get particular things done, but I didn't want to do those particular things. And certainly not in the ways Java would require me to do them.


    This makes a wonderful point about Perl "There's More Than One Way To Do It" == TMTOWTDI. This is good and bad (like most powerful tools) in that writing hard-to-read code is certainly easy. However, the loose-type is great for projects that don't really need to differentiate between long and integer and float. Hey, it's a number, that's good enough. We read it in, we do stuff with it, we write it out. If it doesn't break when we get a different type coming through than we expected, great.

    Yes, Java is demanding. I don't mind demanding. I do mind it being private. And, Java isn't open source. Perl is by nature open source - you CAN'T hide the source if you distribute code to someone. That's the beauty of it.

    1. Re:Perl Vs. Java by Nykon · · Score: 1

      Not even if you compile the code before you distribute it?

      --
      "It's better to be a pirate then join the Navy"
    2. Re:Perl Vs. Java by Anonymous Coward · · Score: 0

      Java is open source, you mean to say it's not free software.

    3. Re:Perl Vs. Java by IpalindromeI · · Score: 2, Informative
      --

      --
      Promoting critical thinking since 1994.
  3. Language agnosticism needs to be preached more... by Roman_(ajvvs) · · Score: 4, Insightful
    Balanced words from a sensible man. But I do sense some conflict in his views on languages.
    For example, his explanation of the many layered concepts required of a java program. Many of those concepts, while visible in java, also exist in other languages, so I don't necessarily agree that java is as "conceptually overloaded" as he suggests. The structure of any program even in its most basic form requires understanding of programming concepts. Many programming concepts are language agnostic (procedures ~ functions ~ methods) and only differ in their implementation.

    Never having used PERL, I can't really comment on relative merits, but having used various languages such as Scheme, Java, .NET, C/C++, I do find that to write a solid program in any language there is a required minimum of understanding of basic programming concepts and the how they fit in the design of the language you're using. I agree with him with regards to the danger of language specialization for this very reason. Recursiveness in Scheme is highly appropriate and key to efficient execution. As it happens the same concept is highly useful when traversing trees (which I wrote a few weeks ago using a recursive function in .NET). If I had never used scheme and understood what works and what doesn't in that language I don't think my tree traversal would have been as efficient in its implementation. I didn't replicate any code or structure from Scheme, I simply applied the concept in what best suited the language and the situation.

    A good interview, overall.

    --
    click-clack, front and back. I'm not moving this car otherwise.
  4. Finally by gtshafted · · Score: 1
    All of these approaches are based on a false premise, the same desperate illusion that every programmer clings to: that the universe of problems to be solved is homogeneous, and that our task as programmers is predictable enough for one approach, one methodology, one language, one standard library to fit all problems...

    It's refreshing to read that a respected programmer in specific language not being too closed minded about other programing languages or solutions.

  5. Re:Language agnosticism needs to be preached more. by PghFox · · Score: 2, Informative

    Perl is not an acronym; There is no such thing as "PERL." It's either "Perl," or "perl," depending on whether you're referring to the language or the implementation/interpreter. :-)

    See: http://www.perldoc.com/perl5.8.4/pod/perlfaq1.html #What's-the-difference-between--perl--and--Perl--

    --
    --- Fox
  6. he by Anonymous Coward · · Score: 0

    "mind boggling" as always... great interview

  7. Re:Language agnosticism needs to be preached more. by eyeye · · Score: 1

    Perl is not an acronym; There is no such thing as "PERL."


    I dont write Perl all in caps either but TMTOWTDI and I have seen people who are more experienced and wiser than I am in Perl matters and if they write it like an acronym and say it stands for "Pathalogically Eclectic Rubbish Lister" or whatever then I will at least not chide people for it.
    --
    Bush and Blair ate my sig!
  8. Good stuff by lux55 · · Score: 3, Insightful

    I especially like the quote at the end of the article, I'll have to remember that one.

    Damian's insights on programming languages (the same with computers in general) as tools not in competition is spot on, as well as his comments regarding the (impossibility of) perfection of programming languages. He has a refreshingly simple way of putting it too -- he's a natural teacher.

    His comments also provide a strong validation of why there's always room for one more (ie. Perl 6) that pretty much nullifies the nay-sayers.

    The interesting thing (for me) is how his comments pertain to other non-mainstream languages (ie. Lisp, Haskell, etc.) and their place within the whole of computer programming. Even if Perl 6 is never widely accepted, it will still sufficiently *influence* the mainstream of programming to help shape better tools down the road (ie. Perl 6's regular expressions are downright sci-fi, but will be very useful once they're ready).

    So the Lisp-ers who are worried their language has fallen by the wayside should take comfort instead of getting upset about the influences of Lisp on mainstream languages. That's what it was meant to do, ultimately.

  9. Re:Language agnosticism needs to be preached more. by A+beautiful+mind · · Score: 2, Interesting

    Perl stands for "Practical Extraction and Report Language"
    How is this NOT an acronym? Not to nitpick, but to correct. Your statement about the differences between Perl vs. perl is correct.

    --
    It takes a man to suffer ignorance and smile
    Be yourself no matter what they say
  10. Mostly good by mshiltonj · · Score: 1

    I agreed with almost all of what he said, except for the "applauding" of the concept of licensing software developers. Boo! Hiss!

    1. Re:Mostly good by miu · · Score: 1

      I don't understand why people are so diametrically opposed to the idea of making software development into a profession. The sensible case, rather than the strawman case, does not require all software to be built by licensed professionals - but software for some jobs would be required to be developed by people recognized as qualified to do. Government contracts often dictate development processes and standards already - it makes sense that the software tools themselves used for essential work be developed according to as high a standard.

      --

      [Set Cain on fire and steal his lute.]
    2. Re:Mostly good by mshiltonj · · Score: 1

      The sensible case, rather than the strawman case, does not require all software to be built by licensed professionals

      In theory, yes. In practice, almost never the case.

      When is the last time you went to an unlicensed professional in a "licensed" profession whom you did not personally know?

    3. Re:Mostly good by miu · · Score: 1
      When is the last time you went to an unlicensed professional in a "licensed" profession whom you did not personally know?

      If you are building a deck or working on a motorcycle or taking care of a headache you will use off the shelf tools or amateur help, more difficult tasks require a professional. I dislike arguing by analogy, but in the case of making software development a profession it is apt to compare it with existing professions.

      Much software is so complicated and essential that it should be treated like an engineering project, designed by professionals and built according to exacting standards. The vast majority of software for non-business or government use would not require those kind of standards.

      I think that requiring government IT decision makers and programmers to be licensed (and subject to losing that license for malpractice) would go a long way toward avoiding the sort of day-to-day incompetence and junkware that currently runs so much of our essential infrastructure.

      Look at it this way - would a professional subject to losing his license have chosen Diebold for much of the US voting system? Would the incompetence of the low bidder have stalled the UK pension system had careers been on the line? Those sorts of systems need to be designed, selected, and deployed by professionals.

      --

      [Set Cain on fire and steal his lute.]
    4. Re:Mostly good by innerweb · · Score: 1
      Hmmm..
      • Installing a new water heater.
      • Installing three new outlets and associated wiring and circuit breaker (had to have the last checked by a licensed individual, by law).
      • Installing a new stove and fridge.
      • Changing car's oil and filters (and belts).
      And, that is just in the past two months. Unless the job is something really complicated (and I do not understand it/have experience with it), or I do not have time, I will either hire a handyman or do it myself.

      InnerWeb

      --
      Freud might say that Intelligent Design is religion's ID.
  11. His arguments against Java are a bit spurious IMO by Viol8 · · Score: 1

    He states that Java (and by implication other C style languages) are over complex syntactically and cognitively. Sorry , thats wrong. Sure , for the mickey mouse "hello world" example he has a point but Java isn't designed for 1 line hello world programs , its syntax (we'll ignore the horrid JVMs) is designed for large scale complex systems and for large scale complex systems you need complex data structure abilities and flow of control. Its horses for courses , you want to write some mickey mouse program then use Perl or shell script, you want to write some sort of database system/OS etc then you use one of the C family. When you get the that level of complexity the rigid structure of the C family actually HELPS comprehension of the program and the implicit approach of Perl , shell script etc hinders.

  12. Re:His arguments against Java are a bit spurious I by smishra · · Score: 1

    Having written large programs in several languages, I think Perl's features, if used properly, make writing large programs much easier.

    I agree with you that C will rule OS and database system kind of programs.

  13. Re:His arguments against Java are a bit spurious I by brpr · · Score: 3, Insightful

    He states that Java (and by implication other C style languages) are over complex syntactically and cognitively. Sorry , thats wrong. Sure , for the mickey mouse "hello world" example he has a point but Java isn't designed for 1 line hello world programs , its syntax (we'll ignore the horrid JVMs) is designed for large scale complex systems and for large scale complex systems you need complex data structure abilities and flow of control.

    Java doesn't provide for complex data structures or complex control flow. It has only one kind of complex data type (sum types, i.e. classes) and, limited polymorhpism aside, only the standard block-structured control flow constructs (loops, branches, etc.) which have been around in pretty much the same form since the 1960s. OK, it has exceptions, but they're pretty limited compared to what some other languages offer.

    For complex control flow, you need higher order functions (anonymous classes are a poor subsitute), an exception system which supports restarts, and various other abstraction features. For example, macros in Lisp or laziness in Haskell (which allows you to build pretty much any control structure using higher order functions).

    Rigid structure does not help to manage complexity. Complexity is often the result of trying to force a program into the structure dictated by rigid languages like Java and C. Abstraction is the key to reducing complexity, and Java/C do not support it very well.

    Perl can't compete with Haskell/Lisp/ML as far as abstraction is concerned, but it comes pretty close and it has a big community and lots of library support. It's probably a better candidate for writing a complex system than C or Java, overall.

    --
    Freedom is not increased by mere diminuation of government. Anarchy is freedom for the strong and slavery for the weak.
  14. memories, misty watercolour memories by dankelley · · Score: 3, Insightful
    I've used a whack of languages (I once loved APL, to put a date-stamp on this), but only one passes the memory test, and that's C.

    What I mean is that I don't have to look in a manual to write C code. C is simple enough that I can just open a window and start typing. (I've been known to use cat to write simple C programs.)

    I do, however, have to look in a manual to write Perl. What the heck is the order of the arguments to split? How the heck does perl do else-if? Am I supposed to use a $ or a @ here? I am pretty sure that Perl is hard to remember because of the "many ways" aspect; all of those ways get blended together in memory. If there were fewer ways, then the mind might better remember the path to take.

    Being hard to remember is a flaw, for a language that is so well suited to quick, one-off, applications. Too bad Perl 6 is introducing yet more ways to do "hello world". Seriously, do we need this new say when we already have print? Now users have to remember which one takes the newlines. Very little extra functionality, at the cost of more details to keep in mind.

    Having said all of this, of course I'll use Perl for my next 3-liner. But it won't be perl 6.

    1. Re:memories, misty watercolour memories by Lunchy · · Score: 1

      Yea, I see where you're coming from, and I've given it a little thought over time. However, I feel exactly the opposite. I need a manual for C/C++ but not for perl. I find perl fits my natural way of thinking. It just FEELS right to me. No doubt you feel the same about C. I think it just depends on how someones mind works.

    2. Re:memories, misty watercolour memories by Tanktalus · · Score: 2, Informative

      The "memory test" is somewhat flaky, IMO. I can write C++, C, Perl, and shell scripts without looking at a manual, and have a pretty good chance of getting stuff to compile ("no syntactic errors") on the first try, and still a reasonable chance of getting it to work on that first try, too. I'm not saying that I'm a guru in these languages, only that I've used them all quite a bit, so I now remember them. I was getting to the same point with Java, then I stopped using it, and now I need to look up a fair bit of stuff (especially APIs).

      This memory test is simply what you're used to. Use a tool for long enough, and you'll feel comfortable with it, even if it's an otherwisely awkward tool (e.g., what could be more awkward than awk?).

    3. Re:memories, misty watercolour memories by IpalindromeI · · Score: 1

      I am pretty sure that Perl is hard to remember because of the "many ways" aspect

      I suspect that the main reason C passes your memory test while Perl does not is that you use C much more frequently than Perl. Use leads to familiarity. The fact that there are many programmers (myself included) who can remember Perl syntax, and more readily than C, supports this claim.

      Another point is that Perl has a large number of built-in functions, including your pained split. That you may have to look up the exact order of arguments is no more telling than the fact that you may have to look up the order of arguments to C stdlib functions that you don't use often. Again, use leads to familiarity.

      --

      --
      Promoting critical thinking since 1994.
  15. Any relation to Lynn? by Anonymous Coward · · Score: 0

    Well, is he?

  16. Re:Language agnosticism needs to be preached more. by PghFox · · Score: 1

    Hehe. Not to beat a dead horse, but visit the aforementioned link in my 1st reply. It's not an acronym. :-)

    --
    --- Fox
  17. I'm AT the conference by laptop006 · · Score: 1

    So far pretty great for a first time confrence. The dinner wasn't bad either...

    Damian was a great speaker on Perl 6 and has got me (a PHP guy) seriously looking at it for some stuff that's on the to-do list.

    --
    /* FUCK - The F-word is here so that you can grep for it */
  18. partially slashdotted? by Wolfger · · Score: 1

    I can't get the site to finish loading. I only get the first Q/A and the first line of the second Q, and the site hangs. Anybody got a mirror?

  19. Maybe you're just old by Anonymous Coward · · Score: 0

    I hear old people have trouble remembering.

  20. Re:Language agnosticism needs to be preached more. by Anonymous Coward · · Score: 0

    Yeah, sure and im madonna.

  21. Re:Language agnosticism needs to be preached more. by Jussi+K.+Kojootti · · Score: 1

    Close, but no cigar. As a matter of fact it's Pathologically Eclectic Rubbish Lister. Trust me, I heard it from a reliable source.

  22. Interview is okay, the conference is fantastic by Anonymous Coward · · Score: 1, Informative

    Sitting at OSDC and it's been a damn cool conference so far. Really impressed to see Perl, Python and PHP *actually* talking to each other!

    Highlights for me so far: Nat Torkington's talk about O'Reilly Research, Anthony Baxter's talk on shtoom (cool VoIP client/server written in pure Python).
    Scariest talk: Damian's talk on Perl 6 -- how many new operators can you have in a language? And what's with that zipper operator using the yen character???

  23. Perl6 by Anonymous Coward · · Score: 0

    Can someone please tell us why Perl6 was not first prototyped in Perl5? This would give people a chance to play with the language and find errors in the specification. Apocolypses and Exergeses (spelling?) are nice, but useless for the common person. Programmers cannot program an obtuse specification.

    1. Re:Perl6 by Anonymous Coward · · Score: 1, Informative

      u got it :")
      http://search.cpan.org/search?query=perl6&mod e=all

      parrot package has a perl6 compiler/interpreter which support some of the stuff... as u know it is moving target..

  24. Two days down, one to go by ynotds · · Score: 2, Informative

    It's been pretty impressive for a first attempt, even to somebody like me who has had the privilege of sitting in on the preparations for OSDC and who has been there and done that in another life time.

    Damian's participation is certainly an asset, and he is far from the only open source notable for whom it's a home town show, not that we have been short of visitors from afar either.

    In two days, we have had no no shows on the speaker front, no doubt reflecting the efforts of the papers committee which also produced a 325 page book of proceedings with all papers reviewed or refereed. All sessions across the three parallel streams have also run very close to schedule.

    Highlights are way too many to mention but if you want to know more, or want to check back later to see our plans for 2005, visit OSDC's website.

    --
    -- Our systemic servants do not good masters make.