10 ms·
Programming is hard, let's go scripting..
- losethos 15y agoGod is just is all you have to know. God says... unbelievers lacketh Time quicken butler becometh kindly deeps humble triumph sick severally top refer deservedly shalt constituteth shore stores Ask falsehood cold flash corruptions eternal tale
- aoprisan 15y agotl;dr; So basically Perl 6 will force strict and warnings by default.
- perlgeek 15y agoIt does already; no need to use future tense.
- bryanlarsen 15y agoAn actual tl;dr for this article would be almost as long as the article itself. There's lots of good stuff in there. However, if the length of the article intimidates you, I suggest starting at the sentence before the heading "early binding; late binding". Everything before that is historical perspective -- interesting but not as useful as the rest of the article.
- densh 15y agoI'm a python programmer and this article really makes me interested in Perl. The only problem is that Perl 6 haven't shipped yet in more then 4 years since this article was written, have it?
- sirn 15y agoI asked the same question few years ago and the answer back then was "there will never be official Perl 6, anything that implements Perl 6 specification is Perl 6." I don't know about other implementations, but latest Rakudo Star[1] was released just a month ago. [1]: https://github.com/rakudo/star/downloads https://github.com/rakudo/star/downloads
- joelbd 15y agoI'm not sure there will be an official Perl 6 shipment. I did recently download the February Rakudo Star (which compiles Perl 6 into Parrot VM bytecode), and I've enjoyed playing around with it. Fair disclosure: I've been writing and loving Perl 5 since 1999. The difficulty right now for anyone from a Perl 5 background who would otherwise jump into Perl 6, is that running your Perl 6 program is really, really slow. I don't know if it's the compile step or execution or something else.
- chromatic 15y agoIgnore the semantic games other responses play. If you're asking "Has anyone released an implementation of Perl 6 that's suitable for everyday use by someone who isn't interested in developing Perl 6 itself?", the answer is no.
- smacktoward 15y agoOn the positive side, when that implementation of Perl 6 does arrive, it will be delivered to you by flying car free of charge.
- cygx 15y agoOut of curiosity, did you finally give Niecza a try or are you still ignoring it out of opposition to anything .NET? I do not (only) ask to be a smart mouth -- I'm genuinely interested in how it rates on your personal scale of production-readiness...
- chromatic 15y agoI haven't used it, primarily due to the risks involved in using Mono for business purposes. (I have no interest in discussing this.) My latest understanding is that it's still a single-developer project with better performance on many benchmarks than Rakudo but much worse startup time and significant feature overlap. It has monthly releases but makes no promises of stability or usability across releases. Again, I haven't used it myself.
- irahul 15y agoI asked the same question about a year and half ago. http://news.ycombinator.com/item?id=1808568 http://news.ycombinator.com/item?id=1808568 At that time, you weren't so "perl 6 is not ready" camp. What changed?
- chromatic 15y agoIt didn't get any readier in the meantime. If anything, it regressed.
- lukeschlather 15y agoOne of my big takeaways from this article is Larry's view on the history of language. He was quite serious when he compared Ada to English, and I find it really interesting to think about Perl 100 years from now. Will it still be around in some form? Might it be a bigger language than English? Might the notion of a "small" programming language being the ideal be somewhat quaint when a CPU with 4GB of integrated memory dances on the head of a pin? Anyway, what I'm getting that is 4 years is a pretty short amount of time now that Larry Wall has made me think about it.
- bdunbar 15y agoI find it really interesting to think about Perl 100 years from now. Will it still be around in some form? There is a really excellent SF novel 'A Deepness in the Sky' by Vernor Vinge. It's a few thousand years from now, and one really important job is "Programmer-Archeologist". Their job is to grub around in libraries, find an already existing solution, adapt it to present needs. This is important because without quality automation running your spaceship, you could die. There are hints that some of these libraries are really old: an off-hand comment is made referencing what must be unix epoch.
- kamaal 15y agoPerl 6 has very ambitious goals. One aspect of Perl 6 is it pays extreme emphasis on sane, safe extensibility. Perl 6 grammars are killer features. For all those people who wanted lisp like extensibility inside C kind of a language, Perl 6 will be a perfect match. Given those goals, Perl as a language has a long bright future. Because flexible and extensible languages evolve their way out of time. Compared to all languages in its class, Perl hasn't broken backwards compatibility since past 25 years. Python had to break it for some very simple syntax changes. Perl has never done it, not even once in past 25 years. That is quite a feat considering so much syntax has been added to the language since then. Perl 5 has also found a way to add more syntax without dealing with the core by modules like Devel::Declare. So Perl evolution is set for many years. You will see it evolve grow. New neat ideas and many like Moose will find their way into Perl. Basically what makes it special is its hackable, flexible and extensible. And such languages generally stay around for a long time.
- sciurus 15y agoIf you're interested, skim through Modern Perl [0].I really like this description from this Amazon review [1]: "I had a hard time characterizing this wonderful book. It explains the fundamentals, but it's not an introductory book like Learning Perl. It covers almost every feature of the Perl 5 language, but it's not a reference book like Programming Perl. It explains common idioms, but it's not a guide to Perl 5 fluency like Effective Perl Programming. It contains many practical suggestions, but it's not a book of tips like Perl Hacks. I can only describe it as a "textbook". If I had to pick a single book to teach Perl 5, this is the one I'd choose. As I read it, I was reminded of the first time I read K&R (C Programming Language) and how much learning was packed into it. (It's the only college programming text I still have). In a slim 250 pages, Modern Perl obsoletes most of my shelf of Perl 5 books. It's not intended for a complete novice to programming (any more than K&R was), but in the hands of a competent programmer or a diligent student it will teach everything that one needs to know to write Perl 5 well." [0] http://onyxneon.com/books/modern_perl/ http://onyxneon.com/books/modern_perl/ [1] http://www.amazon.com/review/R1EAHI4GHDLQ96/ref=cm_cr_dp_perm?ie=UTF8&ASIN=0977920178&nodeID=283155&tag=&linkCode= http://www.amazon.com/review/R1EAHI4GHDLQ96/ref=cm_cr_dp_per...
- read_wharf 15y agoWhat a great book. I'm skimming the ebook now, and it makes me want to pick up Perl again. Anyone aware of a similar book for Python? For when I, you know, come back to Python after straying into Perl for a few years?
- danssig 15y agoThe OP was asking about Perl 6, not Perl 5. Perl 6 has enough interesting things that a python programmer might get interested but Perl5 is a pain to use (coming from the python perspective).
- kamaal 15y agoPerl 5 has nothing to do with Perl 6 development or even releases. Even after Perl 6 is released Perl 5 will still continue to evolve and grow. At the moment Perl 6 specification gives a good evolution map for Perl 5 development. So you need not to have to ever worry about Perl 6. Perl 5 is a solid language in itself. Perl has been amazingly useful since almost 25 years now. And anybody who denies this is simply trolling. Its useful for almost anything to everything. From scripting, to application development, to prototyping to building reliable applications in any domain. Perl adapts to nearly every programming paradigm out there. Object oriented, functional, declarative you say it Perl has it. Its amazingly flexible, easy to learn and extensible. You also get to benefit from the community experience and knowledge accumulated over years. You get the power of CPAN. There are also amazing resources to learn Perl. Its a tool that you will never stop being in love with. Those of us who have used Perl and pushed its boundaries to get amazing stuff done over years, even now can't write down words to describe its greatness. We can only tell you how great it is, but when you see it yourself you will know it. But the position of any new Perl programmer is enviable to say at the least. He stands at the gates of a city which is going to take him to places he has never seen and experiences he has never been through. Most of them are going to change his life for ever.
- creamyhorror 15y agoI have hardly ever seen such high praise for a language. I guess I'll have to learn it sometime and see what the hoopla's about. With the Modern Perl book, of course, if it's still the best-of-breed then.
- bgilroy26 15y agoIf you enjoy Modern Perl, check out Higher Order Perl. It's a guide to functional programming in Perl and it's full of hipster-programmery goodness!
- kamaal 15y agoOne way to measure the utility of a language is to see how its users perceive it. Both in the times of technology hype and otherwise. If I look at the Java world, I see most programmers come there because they need a job. I would program in Perl even if I would not be paid for it, just for the fun of it. Its like painting, or playing the piano, or drinking fine wine. I would like to do them, even there is no direct benefit from them. Some languages get a special distinction that its users just love to program in it. Languages and tools like Lisp, C, Perl, Vi, Emacs etc they just never go away. Because someone somewhere is always discovering some goodness in them and is using it. And that process is timeless. These languages have managed to last for decades sometimes their adoption drops, sometimes it peaks, sometimes there is a constant line of usage. But they don't go away. If you read the mailing lists during early days of Perl on comp.lang.perl.* and other writings by people like Tom Christiansen. You will see some unique tone of passion and excitement. The golf competitions, the discussions on one liners, the growth of CPAN, the occasional gems posted on Perl Monks. Great books like Programming Perl, Higher Order Perl and Modern Perl Book and Perl's extreme practical approach and emphasis of 'Getting things done'. I guess for people on Unix platforms who had no other respite but to use C and a mash of other Unix text processing utilities. Or for Java programmers who have to write 10 classes to open a file and do trivial operations. Perl is almost like giving Ice water to somebody in hell.
- agentgt 15y agoProgramming is not hard. Getting people to buy your product or give you money... that's hard.
- jrockway 15y agoBeing bad at programming is not hard, anyway.
- agentgt 15y agoI knew I was going to get downvoted to oblivion for that comment. But I still firmly believe it. People are much harder to deal with. Much more dynamic. I'm confident the computer would not have downvoted me :) BTW you apparently have a gazillion repo's in github but no blog ... writing is much harder than programming IMHO.
- danso 15y agoThat's a non-sensical statement. Certain types of writing may be harder than certain types of programming. And vice versa.
- agentgt 15y agoI'm just joking around and slightly jaded cause business is going slow.
- jrockway 15y agoI have a blog and have written a book. However, I'm between blogging software at the moment.
- agentgt 15y agoI was just joking. It wasn't meant to be a personal attack. Hey its just my opinion that engineering is an easier problem than other business activities. Programming is more predictable. You can fix bad programmers. Just a curious question... was writing the book harder than programming?
- molecule 15y agowherein Larry Wall foresees the future: "I think when the new JavaScript engines come out we'll probably see renewed interest in a JavaScript backend." - December 6, 2007.
- neutronicus 15y agoInteresting to see him talking about multiple dispatch. I wonder what the thinks of Clojure? And CLOS, of course.
- brlewis 15y agoQuote: By policy, LISP has never really catered to mere mortals. I would think that by 2007 Larry Wall would have seen DrScheme (now DrRacket). You can't get a better onramp than that.
- jrockway 15y agoKids learning about computers have a slightly different set of problems to solve than programmers being paid to program. The hard part of programming is integrating with the real world; DrScheme solves that problem by making its own world.
- brlewis 15y agoDo you have in mind a particular integration with the real world that is language-specific, but where DrScheme would not help a professional programmer ramp up familiarity with a Schemey way of doing it? I think I disagree with you, but have to understand what you're arguing to be sure.
- jrockway 15y agoNope, I'm being more general. Throw darts at random programming ads. Take that job. Chances are, it will be something like "move QUUX formatted records from BAZ mainframe to new Oracle Windows Java 7.0 Lightweight Enterprise Server", rather than "start completely anew to help elementary school students learn calculus". Things like ad-hoc record parsing and network connectivity and the ability to easily fork() end up being more important than a clean OO system or a nice UI library, and so on. (Not that they are mutually exclusive... but it's likely that Oracle Windows Java 7.0 Enterprise Server has drivers for Java but not DrScheme, saving you thousands of hours of programming time.)
- _sh 15y agoWhat you say is indeed true, if you take a monolithic approach to problem solving. And I tire of this approach--dammit, we're tool-builders! We have been shown the Unix Way, and yet we ignore it time and again, forcing us into suboptimal solutions to our problems. Moving "QUUX formatted records from BAZ mainframe to new Oracle Windows Java 7.0 Lightweight Enterprise Server" involves these things: a source, a sink and the pipe character. Your source and sink may necessarily be in Java--meh, whatever works. But now you have a decoupled framework for doing these kinds of jobs, and you haven't invested any more time or effort than you would have with your one-off, inflexible solution. And you can now stuff anything in that pipeline. And I regularly use racket for exactly this, using protocol buffers as the pipe character. It's not rocket science, it's the Unix Way. People, embrace it and free yourself from the monolithic millstone!
- tomrod 15y agoI've always liked Matlab's distinction between a function and a script. (Aye, many would call Matlab a scripting language). Simply put, a function can map arbitrarily, and a script has the mapping and parameters provided! At least, that's when you get into the scientific computing paradigm, as I understand it.
- zoowar 15y agoPerl has outlived its utility.
- killa_bee 15y agoAt the risk of being annoying, virtually all the research done in linguistics departments anywhere in the world is research in the cognitive science of language, so a social science, not a humanity. This certainly includes Berkeley around 1970 or so (assuming that's when Wall was there).
- fudged 15y ago"X is hard, let's go Y" Is this a reference to consultant_barbie on reddit, or is this meme more widespread?
- bgilroy26 15y agoNope that's it! I think it's a different barbie though : Teen Talk Barbie.
- itsameta4 15y agoIt's a Simpsons reference. There's a Malibu Stacy doll that says, "Math is hard, let's go shopping!" I'm sure consultant_barbie is referencing the same.
- fudged 15y agoWow, did not know! Thank you!
- netbyte 15y agoAs a new programmer, should I wait for Perl 6, or just learn Perl 5, this article makes Perl 6 look quite compelling.
- joslin01 15y ago5
- netbyte 15y agoThanks!
- masak 15y agoYou should never "wait" for a programming language. :) I say this as someone who is deeply involved in Perl 6 development. Learn Perl 5 if you want to learn how a full-featured, complete, and liberating-to-use programming language works. Check out Perl 6 if you want to see what some of us are building, and if you value ideas as such, even when they haven't all been put together into a finished, polished product.
- netbyte 15y agoI don't think Rakudo works on windows well anyway
- atdt 15y agoWe think about extensibility a lot. We think about languages we don't know how to think about yet. But leaving spaces in the grammar for new languages is kind of like reserving some of our land for national parks and national forests. Or like an archaeologist not digging up half the archaeological site because we know our descendants will have even better analytical tools than we have. This quote, and what little I've sampled of Perl 6, reminds me of a few lines from the movie Wonder Boys: Grady, you know how in class you're always telling us that writers make choices? [...] And even though your book is really beautiful, I mean, amazingly beautiful, it's... it's at times... it's... very detailed. You know, with the genealogies of everyone's horses, and the dental records, and so on. And... I could be wrong, but it sort of reads in places like you didn't make any choices. At all.
- zeroonetwothree 15y agoThe book is significantly better... (yes, I have nothing to add)
- hashfold 15y agoScripting? its another language used to program. In my opinion, none of the language will solve the problems with programming or bad programs. The only thing which could help programmers is the way they think of the solution and how they approach to it. Thinking about long term solution for a given problem may help.