Linked by snydeq on Mon 17th Oct 2011 17:40 UTC
General Development Just-in-time compilers, browser wars, and developer enthusiasm are just a few of the trends separating today's hot scripting languages from the pack. InfoWorld's Peter Wayner surveys programmers, commit logs, search engine traffic, and book sales data to provide a barometer of scripting languages -- JavaScript, ActionScript, Perl, Python, Ruby, Scala, R, and PHP -- providing a best-guess forecast of which languages are rising and falling in scripting hipness.
Order by: Score:
Dunno, still using bash for scripting....
by makkus on Mon 17th Oct 2011 17:54 UTC
makkus
Member since:
2006-01-11

And rely on all the well tested tools like find, grep, awk, sed, etc to push data around. I almost write daily little scripts to get things done, mostly in minutes.

I admit I'm dinosaur, cause I still use c for my application writing, mostly commandline applications. I use php and javascript for my webbuilding, but I only use the web for creating GUI's to use my scripts and applications.

Left GUI toolkits behind me years ago. To much hassle and people who rely on me wanted to stick to their OS of choise (OSX and windows mostly). This way I can use Linux to do the grunt work. Nothing more satisfying then a webpage as frontend and a cluster of 48 cores and 30 TB of glusterfs data-storage to make things fly.

But my work, facilitating MRI research, fMRI and DTI. lends itself for my style of working. The toolkits, like FSL, freesurfer, mrtrix, air, dcmtk, I rely on are also composed of commandline-tools.

Bash is it for me...

Edited 2011-10-17 18:12 UTC

Reply Score: 6

bogomipz Member since:
2005-07-11

Ever considered rc from Plan 9 instead of bash?

http://en.wikipedia.org/wiki/rc

Reply Score: 3

whartung Member since:
2005-07-06

And rely on all the well tested tools like find, grep, awk, sed, etc to push data around. I almost write daily little scripts to get things done, mostly in minutes.

...

Left GUI toolkits behind me years ago. To much hassle...


As an addendum, another thing to consider is Common Lisp. Not so much because of the "Lisp" part, but because of the REPL, Read, Eval, Print Loop. The command line of a Lisp system. Either straight from a terminal, or in an Emacs buffer. The Emacs integration helps, but a straight CL listener is pretty nice in it's raw form.

It's just nice because it lets you play with your work like clay. Other languages have listeners, but they're not as nice as Lisps.

It's not quite to the level of Bash, it doesn't support the piping mechanism that make Bash/Unix so capable. And I never really got use to SCSH (Scheme Shell) which tried to bring those facilities in to a Scheme environment.

But for just playing with code, it's really nice.

Reply Score: 2

LOL @ Javascript
by WorknMan on Mon 17th Oct 2011 18:20 UTC
WorknMan
Member since:
2005-11-13

I'm no web programmer, but given the fact that people are writing languages/frameworks such as Coffeescript and Pyjamas (and recently Google's DART language) which compile down to Javascript so that they don't have to program in it seems to indicate that Javascript must really suck ;)

Hopefully, we can come up with some sort of language-agnostic VM that browsers can use in the future (independent of the OS), so that you can program in whatever you want.

Edited 2011-10-17 18:21 UTC

Reply Score: 2

RE: LOL @ Javascript
by Lennie on Mon 17th Oct 2011 18:50 UTC in reply to "LOL @ Javascript"
Lennie Member since:
2007-09-22

Actually it mostly shows how that many, many more people use Javascript now than just the webdevelopers.

Many people don't really know Javascript well so they want to used what they are used to.

Reply Score: 3

RE[2]: LOL @ Javascript
by Bill Shooter of Bul on Mon 17th Oct 2011 19:04 UTC in reply to "RE: LOL @ Javascript"
Bill Shooter of Bul Member since:
2006-07-14

Up until recently(2-3 years), there really were not any good javascript books. All of them just presented it as a glue language for manipulating dom & calling ajax, with a " pay no attention to the functions behind the curtain" approach. Plus so many just use javascript frameworks, that there aren't many developers that know the full breadth of javascript. Although, the persuasiveness of the frameworks suggests that the core language is lacking in some respects.

Reply Score: 2

RE[3]: LOL @ Javascript
by Lennie on Mon 17th Oct 2011 19:06 UTC in reply to "RE[2]: LOL @ Javascript"
Lennie Member since:
2007-09-22

The frameworks mostly bring 2 things:

compatibility with older browsers and easier ways to work with the DOM.

Nothing of that has anything to do with the core language.

That are obviously things wrong with the language. But I doubt you can find a language without problems.

The best way to work with Javascript is to only use the "good parts". There is a book with the title "Javascript the good parts" that describes it.

"Ironically" it was Microsoft that made sure all the bad things remained in the language. Just have a look at:

http://www.livestream.com/etsy/video?clipId=pla_1463e546-47ed-4a93-...

Minute: 13:37

Also obviously with their long time between releases between IE6 and IE9 they made sure nothing much changed on the web.

So it was really hard to evolve the language.

Edited 2011-10-17 19:21 UTC

Reply Score: 2

RE[4]: LOL @ Javascript
by Bill Shooter of Bul on Mon 17th Oct 2011 19:35 UTC in reply to "RE[3]: LOL @ Javascript"
Bill Shooter of Bul Member since:
2006-07-14

The browser quirks workarounds is a good point, I over looked that one. But, working with the dom was never difficult by any stretch of the imagination. Take a look at your favourite framework and see how many features are really dom shortcuts and how many are really language modifiers/ improved browser controls.

Reply Score: 2

RE[5]: LOL @ Javascript
by Lennie on Mon 17th Oct 2011 19:57 UTC in reply to "RE[4]: LOL @ Javascript"
Lennie Member since:
2007-09-22

"easier ways to work with the DOM"

"dom shortcuts"

That is the same thing in my eyes. :-)

Actually, the frameworks port part of the CSS specification to Javascript to allow for behaviour (Javascript) to be easily attached to elements.

Edited 2011-10-17 19:58 UTC

Reply Score: 2

RE[6]: LOL @ Javascript
by Bill Shooter of Bul on Mon 17th Oct 2011 21:04 UTC in reply to "RE[5]: LOL @ Javascript"
Bill Shooter of Bul Member since:
2006-07-14

"easier ways to work with the DOM"

"dom shortcuts"

That is the same thing in my eyes. :-)


Yes, my eyes as well. I don't think you understood my post. I think the frameworks do just as much language modification and html controls as dom short-cuts.

Actually, the frameworks port part of the CSS specification to Javascript to allow for behaviour (Javascript) to be easily attached to elements.


Some frameworks do that. Take a look at something like Mootools's make up

http://en.wikipedia.org/wiki/MooTools#Components

Core, More, Class, and Natives are all signs that JS isn't the greatest. The other half is Dom Improvements, browser compatibility,ect.

Reply Score: 2

RE[7]: LOL @ Javascript
by Lennie on Mon 17th Oct 2011 21:11 UTC in reply to "RE[6]: LOL @ Javascript"
Lennie Member since:
2007-09-22

Those are usually just stupid hacks for people who don't know how what Javascript strengths are or don't understand prototypal inheritance.

But as I mention before is that the reason the language hasn't evolved is because of compatibility. That seems to finally getting solved.

Where are seeing lots and lots of browser updates these days.

Reply Score: 5

RE[7]: LOL @ Javascript
by obsidian on Mon 17th Oct 2011 21:15 UTC in reply to "RE[6]: LOL @ Javascript"
obsidian Member since:
2007-05-12

"Core, More, Class, and Natives are all signs that JS isn't the greatest."
Agreed.

I very much see Coffeescript and Javascript in the way that a high-level language relates to bytecode or assembly. I think people will increasingly be using Coffeescript, and they won't care about the Javascript that it compiles to (just as people who use Python don't care about Python's bytecode).

Reply Score: 3

RE: LOL @ Javascript
by Delgarde on Mon 17th Oct 2011 21:44 UTC in reply to "LOL @ Javascript"
Delgarde Member since:
2008-08-19

I'm no web programmer, but given the fact that people are writing languages/frameworks such as Coffeescript and Pyjamas (and recently Google's DART language) which compile down to Javascript so that they don't have to program in it seems to indicate that Javascript must really suck ;)


Not really, any more than the existence of any other language proves that all the others suck. Javascript isn't a bad language (ignoring it's early reputation), but languages like Coffeescript provide features that either aren't present in Javascript at all, or which can be expressed more simply in a different syntax.

Most of those features tend to be borrowed from "functional" languages, things like filtering and mapping of lists, or the very compact syntax for defining functions. To some degree it's just a matter of preference, but having a dedicated syntax for some of those things makes for much cleaner code.

Reply Score: 2

RE[2]: LOL @ Javascript
by modmans2ndcoming on Mon 17th Oct 2011 23:12 UTC in reply to "RE: LOL @ Javascript"
modmans2ndcoming Member since:
2005-11-09

right... just like it does not suck to build and maintain a complex application in assembly.

Reply Score: 3

RE[3]: LOL @ Javascript
by Delgarde on Wed 19th Oct 2011 00:51 UTC in reply to "RE[2]: LOL @ Javascript"
Delgarde Member since:
2008-08-19

right... just like it does not suck to build and maintain a complex application in assembly.


Yes, but Javascript isn't in the slightest bit like assembly - it's a high-level language intended, perfectly usable for developing web apps, and increasingly popular for server-side use too.

Reply Score: 2

RE[4]: LOL @ Javascript
by modmans2ndcoming on Sat 22nd Oct 2011 00:58 UTC in reply to "RE[3]: LOL @ Javascript"
modmans2ndcoming Member since:
2005-11-09

Except that is not very good for use with very complex web applications. There is a reason Google used GWT to compile Java to Javascript, and the coffeeScript project was started, and PyJamas exists...... Large Scale projects developed in Javascript is a bad tool to use and does not allow for use of Software Engineering principles to be applied.

Reply Score: 2

RE: LOL @ Javascript
by modmans2ndcoming on Mon 17th Oct 2011 23:15 UTC in reply to "LOL @ Javascript"
modmans2ndcoming Member since:
2005-11-09

I think that those VMs already exist in all browsers and they run a byte code called Javascript.

Reply Score: 3

RE: LOL @ Javascript
by lucas_maximus on Tue 18th Oct 2011 16:42 UTC in reply to "LOL @ Javascript"
lucas_maximus Member since:
2009-08-18

It is because most developers try to code JavaScript as if it were Java, C# or whatever their language of choice.

It does shitty things if you aren't careful. Good coding conventions and practice eliminate most of these problems.

Reply Score: 3

RE[2]: LOL @ Javascript
by modmans2ndcoming on Tue 18th Oct 2011 20:34 UTC in reply to "RE: LOL @ Javascript"
modmans2ndcoming Member since:
2005-11-09

A good language should not change performance and safty based on coding conventions.

Reply Score: 1

RE[3]: LOL @ Javascript
by zima on Wed 19th Oct 2011 00:38 UTC in reply to "RE[2]: LOL @ Javascript"
zima Member since:
2005-07-06

Sooo... are you trying to say there are virtually no good languages around? ;)

Reply Score: 3

RE[4]: LOL @ Javascript
by modmans2ndcoming on Fri 21st Oct 2011 02:39 UTC in reply to "RE[3]: LOL @ Javascript"
modmans2ndcoming Member since:
2005-11-09

conventions are rules for coders based on policies set by management... not parts of the language.

Reply Score: 2

RE[5]: LOL @ Javascript
by zima on Mon 24th Oct 2011 23:27 UTC in reply to "RE[4]: LOL @ Javascript"
zima Member since:
2005-07-06

Irrelevant, they can change performance and safety (and what parent poster was saying is rarely "set by management" anyway - too many people simply try, on their own will, to code in js like in other C-lineage languages they know / unfortunately, the deliberate trick of outward similarity to C-lineage doesn't help / but js is also quite Lisp-y; Scheme at least)

Edited 2011-10-24 23:27 UTC

Reply Score: 2

RE[3]: LOL @ Javascript
by lucas_maximus on Wed 19th Oct 2011 05:21 UTC in reply to "RE[2]: LOL @ Javascript"
lucas_maximus Member since:
2009-08-18

You can write bad code in any language ... I seen some very nasty things done in C#, VB.NET, Java etc. ... Which apparently are "better" languages than JavaScript.

TBH I like JS ... It is a fun language to work with.

Edited 2011-10-19 05:22 UTC

Reply Score: 2

RE[4]: LOL @ Javascript
by Soulbender on Wed 19th Oct 2011 14:34 UTC in reply to "RE[3]: LOL @ Javascript"
Soulbender Member since:
2005-08-18

You can write bad code in any language


True, but some langauges (...perl...maybe JS) seems to almost actively encourage bad practices.

Reply Score: 2

RE[4]: LOL @ Javascript
by modmans2ndcoming on Fri 21st Oct 2011 02:41 UTC in reply to "RE[3]: LOL @ Javascript"
modmans2ndcoming Member since:
2005-11-09

Bad code is not the same thing as using coding conventions to get something to work right.

perhaps something other than coding conventions was meant .

Reply Score: 2

RE: LOL @ Javascript
by RareBreed on Wed 19th Oct 2011 02:41 UTC in reply to "LOL @ Javascript"
RareBreed Member since:
2011-10-10

And now Clojure has ClojureScript which also compiles to javascript

Reply Score: 1

Coffeescript
by obsidian on Mon 17th Oct 2011 20:49 UTC
obsidian
Member since:
2007-05-12

I'd say Coffeescript is looking promising. A very nice, clean front-end to Javascript. It's like Javascript should have been from the start.

Reply Score: 3

RE: Coffeescript
by modmans2ndcoming on Mon 17th Oct 2011 23:10 UTC in reply to "Coffeescript "
modmans2ndcoming Member since:
2005-11-09

I think if CoffeeScript isn't careful, it might just replace Javascript because browser makers will start including the runtime... not that it is necessary since you can just compile to Javascript.

Reply Score: 3

...
by Hiev on Mon 17th Oct 2011 21:09 UTC
Hiev
Member since:
2005-09-27

I personally use Ruby (IRONRUBY) to add scripting capabilities to my software, it is a scripting languaje I enjoy a lot.

Reply Score: 3

Comment by RareBreed
by RareBreed on Wed 19th Oct 2011 02:54 UTC
RareBreed
Member since:
2011-10-10

I'm digging clojure a lot. It's dynamically typed, but you can give type hint metadata to enforce a type (and vastly increase performance). Clojure looks like it's interpreted though it actually generates java bytecode on the fly. If need be, you can AOT compile to interop with Java better, or for a performance gain, or even just to obfuscate your code. And there is major work being done by the core dev team to produce ClojureScript...which generates javascript code.

I know what people are thinking...uggh....lisp...for the JVM (double ugh). I remember back in college trying to understand lisp for some AI programming, and I just couldn't get past all those parens. But clojure is not nearly as overloaded with parens as most lisps, thanks to [] vectors, {} maps, #{} sets, and #"" regexes. Just as once upon a time I thought "white space matters" was stupid in python (I don't even think about it anymore), I think the same way about the syntax for clojure.

The only hard part of clojure is the functional paradigm aspect. But once you wrap your head around closures, recursion or lazy sequences instead of loops, anonymous functions, immutable data, and STM for concurrency instead of locks...you'll wonder what the big deal is about OOP. I even started writing my python code in a functional style after learning clojure.

And really, don't let the fact that it's a lisp relative deter you.

Reply Score: 1

Article appears to be garbage
by BeamishBoy on Fri 21st Oct 2011 00:44 UTC
BeamishBoy
Member since:
2010-10-27

Of the seven languages mentioned, I use Scala and R on a daily basis. The article is quite bizarre:

1) It's possible to write scripts in Scala and call them using the Scala REPL. Howver, if you find yourself using Scala instead of, say, Python as a scripting language, you're utterly missing the point. Scala is a poor scripting language but a terrific language to handle complex abstractions that you can then apply across existing Java codebases. Scripting really is an infinitessimal part of what makes Scala so great.

2) In a similar vein, R isn't a scripting language in any serious sense. In fact, its scripting capabilities really extend only so far as to be provide scripting for the language itself. If you need to do any serious scripting in your statistical analysis, you'll end up doing it with, say, Python and hooking into these scripts from R using something like R's system2() command. Moreover, R has little (if anything) to do with Lisp beyond a similar approach to scoping, and its primary data structure is the data.frame not matrices, as the article claims.

Reply Score: 1