Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Perl Programming IT Technology

10 Forces Guiding the Future of Scripting 190

snydeq writes "InfoWorld examines the platforms and passions underlying today's popular dynamic languages, and though JavaScript, Perl, PHP, Python, Ruby, Groovy, and other scripting tools are fast achieving the critical mass necessary to flourish into the future, 10 forces in particular appear to be driving the evolution of this development domain. From the cooption of successful ideas across languages, to the infusion of application development into applications that are fast evolving beyond their traditional purpose, to the rise of frameworks, the cloud, and amateur code enablers, each will have a profound effect on the future of today's dynamic development tools."
This discussion has been archived. No new comments can be posted.

10 Forces Guiding the Future of Scripting

Comments Filter:
  • Re:Fast javascript (Score:2, Insightful)

    by brezel ( 890656 ) on Monday October 13, 2008 @06:50PM (#25362533) Homepage

    seriously, i am trying not to troll here but why would i want to use a language with no strict typing on the server to generate html+js text when i can use lots of great languages with typing that can do that very well and are not scripting languages? o.O

    maybe i am missing the point here.

  • by Anonymous Coward on Monday October 13, 2008 @06:57PM (#25362585)

    I'm surprised there was no mention of Lua [lua.org]. Besides Javascript, Lua is probably the most widely used scripting language out there. Usually its use is hidden from the end-user but it's in everything from embedded devices to World of Warcraft.

    It has a very simple design and is very fast (especially with LuaJIT). The semantics are similar to Javascript but Lua is a lot more pure and simple. There probably will never be a Javascript engine as fast as the fastest Lua engines.

  • Re:Fast javascript (Score:2, Insightful)

    by gbjbaanb ( 229885 ) on Monday October 13, 2008 @07:02PM (#25362631)

    from TFA:

    And then there are others who see languages such as JavaScript rising from the browser and colonizing the server. A unified platform makes everything simpler. Yes, Netscape wanted this to happen years ago, but thanks to the lightning performance of the new JavaScript semi-compilers, the language is bound to look even more attractive.

    See, MS crushed your dreams too :-)

  • Re:Fast javascript (Score:4, Insightful)

    by brezel ( 890656 ) on Monday October 13, 2008 @07:07PM (#25362699) Homepage

    Also, it can be useful if you write a fairly sophisticated filtering function to make sure that someone doesn't input the wrong answer. You can run it on the client, but it might make sense to run it at the server at other times.

    i totally disagree here. i would NEVER run any validation code on the client.

    still eager to follow the upcoming comments ^^
    rgds from vienna (no, the one in yrp XD)

  • Re:Fast javascript (Score:5, Insightful)

    by cornicefire ( 610241 ) on Monday October 13, 2008 @07:11PM (#25362731)
    Well, yes, you can't trust the client. But there's a big advantage if you can run the validation code there before the person runs submit. That saves the load on your server and it makes everything more responsive for the user. (Javascript, no matter how slow, is usually faster than a roundtrip on the Internet.)

    But still you can verify on the server too-- another argument for running the same code on the server and the client.
  • 1) So, Perl which came along long before the existence of Python, stole from Python?

    Nope, this guy didn't do any research:

    Python reached version 1.0 in January 1994

    ...

    Perl 5 was released on October 17, 1994. It was a nearly complete rewrite of the interpreter, and added many new features to the language, including objects,

  • Re:Fast javascript (Score:5, Insightful)

    by aproposofwhat ( 1019098 ) on Monday October 13, 2008 @07:12PM (#25362747)

    i totally disagree here. i would NEVER run any validation code on the client.

    I sort of agree - but I'd phrase it as "I'd never rely solely on client-side validation".

    I get your point, though, and would mod you up if I had points tonight.

    Gruss Gott von England :)

  • by siride ( 974284 ) on Monday October 13, 2008 @07:42PM (#25362985)
    As someone with a BA in Linguistics, I call BS on the natural language part of your post. The biggest mistake you have made is that you failed to distinguish between written grammar guides, and an actual grammar for a language, which is in each person's head and is quite complete and well-formed. So much so that we have yet to fully elucidate the complexities therein.
  • I don't think "John and I" is even arguably correct, since "I" is subjective.

  • Still Clueless (Score:5, Insightful)

    by SanityInAnarchy ( 655584 ) <ninja@slaphack.com> on Monday October 13, 2008 @07:49PM (#25363069) Journal

    So, I read the rest of the article, to see if he got anything else right. Well...

    But will PHP be able to shake the casual structure that encourages beginners to whip up spaghetti code? Will it be able to continue to mix the presentation layer and the application layer without driving everyone insane?

    It's true that PHP encourages this, and I find it a little disturbing that people are building web frameworks in what is essentially a Turing-complete template language. It would be as if the next big thing was written in PostScript.

    But in a larger sense, this isn't nearly as relevant as how you use it. Drupal is proof that you can do good things with PHP.

    However, I do prefer to work in a language that helps, rather than hinders, such a design.

    Some want to place their bets on Ruby on Rails, a striking and elegant solution that produces sophisticated results in no time.... This simplicity often turns into shackles when the programmers reach the edge of the framework's capabilities. Changing little details or producing slightly unorthodox output can be maddening.

    That's downright flamebait.

    I suspect that many Rails developers do feel this way, for the same reason that many PHP programs are useless spaghetti code -- as a complete side effect. Since Rails is so easy to get into, it's a rude awakening when you need to do something it doesn't provide -- you're finding out just how much work Rails has done for you.

    But seriously, "slightly unorthodox output"? Are you serious? Probably one of the easiest things to do is add another view of the same data -- even in another format.

    A programmer gets the rock-solid foundation of compiled Java code mixed with the flexibility to diddle with the Java objects in real time.

    Maybe Groovy makes that easier, but Java already had reflection. Next!

    thanks to the lightning performance of the new JavaScript semi-compilers, the language is bound to look even more attractive.... The semantic barriers won't be as important as the languages rush to steal good ideas from one and other.... In five years, there's a good chance you'll be able to imagine you're writing Python while the code is interpreted by something called JavaScript.

    Interesting ideas. None of which apply to Javascript, now or ever.

    You see, Javascript client-side is a nightmare, because you have to make it work in several existing browsers, which don't always play nice with the standards.

    And Javascript, the language, is evolving at an incredibly slow pace -- mostly because it's got the worst case of cruft of any language. Add an interesting feature in a browser, and you probably break some client code. Even if you're careful, as a developer, I can't use your feature if it isn't also present in other browsers.

    So changing the core syntax of the language is right out. If we were to break backwards compatibility in such a dramatic way, it'd make a lot more sense to port Python to the browser.

    In which case, we may as well use Java or Silverlight -- plenty of dynamic languages target these. My personal favorite would probably be JRuby in an applet.

    Libraries such as Dojo and jQuery aren't just a set of helpful routines; they actively tweak the language and ask you to adopt a particular set of idioms.

    True enough -- except that in the case of jQuery, it actually doesn't force anything. If you really like wasting time, you can write using the old idioms you learned. If you don't like jQuery, you can always rename the $ variable and pretend it doesn't exist.

    The focus really should be on the next point, which is actually a good one:

    Applications are becoming their own worlds.

    Especially in a dynamic language, any body of code of sufficient size is going to have some idioms of its own.

    The main reason frameworks are important

  • Re:10 forces? (Score:5, Insightful)

    by pimpimpim ( 811140 ) on Monday October 13, 2008 @09:47PM (#25363999)

    A quick skim over the bloody summary shows that this is a "don't read the f-ing article" if there ever was one: "co-optation", "infusion of application development", "fast evolving beyond their traditional purpose", "the cloud", "code enablers".

    I use perl daily, python when I need OO, and hack together most time-savers with bash. Like people did before me since the Bourne shell came out in 1977, and the more complicated scripting languages after that. In 30 years, people will probably still be doing the same. The only thing that might change is that more and more programs that are not depending on performance, might be completely written in scripting languages. As far as my work is concerned, the factor 20 or more speedup I get by actually programming in C will always be of use. It's not like we want to do the same with tomorrow's computing capacity as we can do now, we want to do more!

  • by Anonymous Coward on Monday October 13, 2008 @10:01PM (#25364127)

    To be fair to the author, I read his manuscript while it was in progress and this was not his wording. The original reads only that "Larry Wall says he nabbed Python's object model for Perl." Unfortunately, the current wording is an error that was introduced during the edit phase.

  • Re:Fast javascript (Score:4, Insightful)

    by nedlohs ( 1335013 ) on Monday October 13, 2008 @11:01PM (#25364501)

    Why not?

    Why have a round trip back to the server to find the error. Have the client notice it and report it without having the user submit and wait.

    Obviously, you do the same check on the server with the standard round trip "you did this bit wrong, please try again" response.

    So you would NEVER do that? Seems a strange religious believe to hold.

  • by MoxFulder ( 159829 ) on Monday October 13, 2008 @11:58PM (#25364763) Homepage

    From the co-optation of successful ideas across languages, to the infusion of application development into applications that are fast evolving beyond their traditional purpose, to the rise of frameworks, the cloud, and amateur code enablers, ...

    Honestly, for anyone who actually uses them to solve problems, the benefits of dynamic languages aren't hard to understand: they allow you to code easily and clearly, to debug quickly, and to expand from simple scripts to complex systems. And they're surrounded by supportive developer communities and code libraries.

    Just like all the other great geek innovations... we don't need marketing types to notice in order to enjoy our toys :-)

  • Re:Malda (Score:4, Insightful)

    by prockcore ( 543967 ) on Tuesday October 14, 2008 @03:44AM (#25365923)

    Pestilence, Famine and War.

  • by MoxFulder ( 159829 ) on Tuesday October 14, 2008 @11:09AM (#25369319) Homepage

    "and to expand from simple scripts to complex systems"

    Now, something here isn't quite right. They allow your simple scripts to expand into a huge unmaintanable mess.

    I don't agree in general... I think this is very language-dependent and human-dependent. My Perl codebases got completely unmaintainable as they grew, but with Python I haven't had any problems scaling to thousands of lines of code. Partly I think I've gotten to be a more disciplined programmer, partly I think Python's a better language for scalability.

    So, 3 out of 4. That is why they are usefull, and why they aren't a silver bullet.

    Well I'd say 4 out of 4, but I agree they aren't a silver bullet :-)

    Memory and CPU overhead, and difficulty of distributing complex programs and modules in a standardized way... those are the issues I have with dynamic languages.

  • Re:Still Clueless (Score:3, Insightful)

    by SanityInAnarchy ( 655584 ) <ninja@slaphack.com> on Tuesday October 14, 2008 @01:33PM (#25371427) Journal

    I'm rooting for whatever to "win" that isn't brain damaged (not that any of the languages mentioned are)

    I would say that all of them are, to a certain degree.

    Most languages that aren't purely functional are also not trivially multicore. Of Ruby, Python, and Perl, only JRuby actually allows threads that can actually take advantage of multicore, and none of them have particularly elegant structures around threading. And most, I would think, would be very difficult to make work as well as Erlang does, because they have mutable data structures.

    Of the languages that do, well, Haskell makes my head hurt -- maybe that's a problem with my head, and not with Haskell, but it does -- and Erlang makes my eyes bleed, coming from Ruby. Reia looks interesting, but I haven't had the time to take a serious look -- and it's also so tiny that I doubt you'd be able to get much done without talking to existing Erlang libraries, and Erlang is already kind of small.

    Those are just the major things. There are all kinds of other little warts that annoy me -- again, in Ruby, there's the way 'autoload' works (it doesn't use your custom 'require' statements), and there's a few things that I miss from Javascript (ad-hoc, prototypal object systems).

    My own contribution to the problem, as I said, is to try to make Ruby just a bit more multicore-friendly -- by writing an actor library on top of it.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...