Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

The JavaScript Juggernaut Rolls On

Soulskill posted about 8 months ago | from the building-tools-to-build-more-tools dept.

Programming 505

JThaddeus writes "An article in TechWorld Australia summarizes the latest opinions on JavaScript from ThoughtWorks: 'There is no end in sight to the rise of JavaScript... "I think JavaScript has been seen as a serious language for the last two or three years; I think now increasingly we're seeing JavaScript as a platform," said Sam Newman, ThoughtWorks' Global Innovation Lead.' The article touches on new additions to JavaScript tools, techniques, and languages built on JavaScript. As the fuller report (PDF) says, 'The ecosystem around JavaScript as a serious application platform continues to evolve. Many interesting new tools for testing, building, and managing dependencies in both server- and client-side JavaScript applications have emerged recently.'"

cancel ×

505 comments

Sorry! There are no comments related to the filter you selected.

SubjectsInCommentsAreStupid (5, Insightful)

lesincompetent (2836253) | about 8 months ago | (#46128579)

Great... more single-core-hogging fun ahead...

Re:SubjectsInCommentsAreStupid (-1, Flamebait)

Anonymous Coward | about 8 months ago | (#46128685)

Slashdot SUCKS ASS

Web Workers (2)

tepples (727027) | about 8 months ago | (#46128691)

single-core-hogging

I don't see how that needs to be the case. Everything except IE pre-10 supports Web Workers. Firefox is moving toward the process-per-tab model popularized by Chrome, and the refactoring project is codenamed Electrolysis.

Re:Web Workers (-1, Flamebait)

Anonymous Coward | about 8 months ago | (#46129041)

Firefox is moving toward the process-per-tab model popularized by Chrome, and the refactoring project is codenamed Electrolysis.

Oh for fuck's sake.

Please tell me this will be optional. I typically have between 20 and 200 tabs open at any one time. Time for me to get off the upgrade treadmill once and for all.

Re:Web Workers (2)

jones_supa (887896) | about 8 months ago | (#46129045)

Maybe he meant that it's ridiculous to begin with that a simple JS application can hog an entire core.

Re:Web Workers (2)

fast turtle (1118037) | about 8 months ago | (#46129051)

yet, any god damn thread that hogs a CPU still locks the entire god damn UI of Firefox because it's not multi-thread capable. Fix the fucking UI and other bugs that sill haven't been fixed insted of trying to keep up with Googles insane numbering.

The hipsters need to go. Now. (0, Troll)

Anonymous Coward | about 8 months ago | (#46128867)

I've been in the industry a long time. Decades, in fact. I've worked with many different technologies over that time. Some were good, some were bad. I've worked with many different people over that time. Some were good, some were bad.

But when I look back, the worst of the technologies and the worst of the people came bundled together. They're commonly referred to today as "hipsters", and there's been a helluva lot of them involved with software development since around 2006.

Anyone in Silicon Valley, and in the industry in particular, knows exactly who I'm talking about. It's the guy who refuses to take off his fedora hat, even when meeting important clients and customers. It's the girl who wears huge glasses with no lenses and constantly complains about "sexism" without any justification (even the women in HR, who are typically hyper-sensitive to anything that could potentially be perceived as "sexism" think she's full of shit). It's the androgynous "designer" who constantly talks about "obscure" beer or "ironic" music, and who never manages to do anything productive. It's about the failed athlete who also failed out of business school, then flipped through a book on Ruby on Rails once, and now thinks he's a web developer.

These people have systematically destroyed decades of real growth and real productivity. Generally lacking any formal education in computer science, mathematics, physics, or engineering, they don't realize how wrong they're doing software development. They seriously think that JavaScript, Ruby on Rails, and NoSQL are "good technologies". Of course, anyone with any knowledge and experience sees right through this awful charade these hipsters put on.

The software these people produce is total, complete, utter shit. I can't emphasize this enough. I've seen a lot of really bad code in the past, but none of it compares to what these hipsters crank out. It's unmaintainable, it performs horribly, and it's usually written in a shitty dynamic language so it's rife with errors that any compiler would have caught. Just look at the projects that these people have worked on or been heavily involved with. GNOME 3, for instance. Or Windows 8. Or Web 2.0 sites. All of these are totally crap.

Don't misunderstand me, it's not a problem with young software developers in general. I've had the pleasure of working with many who were very talented, and they have a bright future ahead of them. The problem is squarely with those who fall into the "hipster" camp, regardless of age. They are truly a disease upon our industry, the worst I think it has ever experienced. They need to take their ignorance, stupidity, and extremely crappy technologies with them. We would truly be better off without JavaScript, without NoSQL, without Ruby on Rails, and without the hipsters.

Re:The hipsters need to go. Now. (4, Informative)

jbolden (176878) | about 8 months ago | (#46128945)

As someone who actually has 2 decades in the industry you don't sound like someone with that kind of time at all. Us middle aged folks look at NoSQL and think "Network database" or CODASYL databases are coming back. We weren't attached to Java-EJBs and expected a lighter weight version, Ruby seems like a scripting language...

Stop trying to pretend to be older. Older people saw shit when you were young that isn't used anymore and that's hard to fake.

Re:The hipsters need to go. Now. (0)

Anonymous Coward | about 8 months ago | (#46129033)

Isn't Ruby that lousy free variant of VW Smalltalk ?

Re:The hipsters need to go. Now. (0)

Anonymous Coward | about 8 months ago | (#46128951)

+5 Insightful if I had mod points...

Re:The hipsters need to go. Now. (3, Insightful)

zieroh (307208) | about 8 months ago | (#46129067)

I have decades of industry experience in Silicon Valley as well. And really, your post comes off more as a bunch of whining than an actual critique. There are always going to be new technologies, and the people who are heavily invested in the previous generation of technologies will always groan about these dag-gone kids with all their newfangled ways of doing things. Heck, I've been guilty of this kind of thinking myself.

But you know what? When we entered the industry as young whippersnappers, the previous generation of programmers said the exact same kinds of things about us.

And somehow, despite all that, progress marches on.

Peak "platform" (4, Insightful)

PCM2 (4486) | about 8 months ago | (#46128591)

Is the word "platform" officially over? My fucking toaster is a bread-browning platform.

Re:Peak "platform" (3, Interesting)

Lumpio- (986581) | about 8 months ago | (#46128639)

Not as bad a "solution". I've seen knives marketed as "cutting solutions".

Re:Peak "platform" (2)

swb (14022) | about 8 months ago | (#46128653)

So which is the parent? Do we have solution platforms or platform solutions?

Or do we have nested combinations, like platform solution platforms?

Re:Peak "platform" (4, Funny)

Lumpio- (986581) | about 8 months ago | (#46128689)

We could also add "service". SPaaS - Solution Platform as a Service.

Re:Peak "platform" (1)

swb (14022) | about 8 months ago | (#46128733)

...platform solution..

Re:Peak "platform" (1)

ArcadeMan (2766669) | about 8 months ago | (#46128775)

I'm launching a new company that will offer an operating system, platform-based solution services hosted in the cloud. Our first server will have a capacity of 1000 Megabitcoins per Doge/Watts.

Re:Peak "platform" (1)

Bing Tsher E (943915) | about 8 months ago | (#46128809)

We have platform precipitates.

And precipitate platforms.

Re:Peak "platform" (3, Funny)

hey! (33014) | about 8 months ago | (#46128647)

And once we've done in "platform", we can start the campaign against "system". By the time we're done engineers will only be able to talk about software using mime.

Re:Peak "platform" (0)

Anonymous Coward | about 8 months ago | (#46128967)

By the time we're done engineers will only be able to talk about software using mime.

Some of the engineers I work with already use hand gestures when communicating with me about my projects. Are we calling that "mime" now? And would that be a "mime system" or a "mime platform"?

Re:Peak "platform" (1)

ArcadeMan (2766669) | about 8 months ago | (#46128727)

Count yourself lucky. My toaster is a bread-burning platform.

Re:Peak "platform" (0)

Anonymous Coward | about 8 months ago | (#46128939)

We used to have a toaster, but after he stopped standing up he was just a drunk.

Re:Peak "platform" (1)

roman_mir (125474) | about 8 months ago | (#46128779)

My fucking toaster is a bread-browning platform.

- not until it has a web service interface :)

As to Javascript, why, I always wanted to write huge applications in a language that wouldn't give compilation level errors.

On a more serious note: I can't be serious about it, though I am probably wrong, Javascript probably will become the new Cobol in the next 10 years.

Re: Peak "platform" (1, Insightful)

cyber-vandal (148830) | about 8 months ago | (#46128933)

COBOL is a far better language than JS. JS is more likely to be the next VB6.

Re:Peak "platform" (0)

Anonymous Coward | about 8 months ago | (#46128833)

My fucking toaster is a bread-browning platform.

Is it RESTful? Are you naming your upgrade project Butter? Care to share the private API? Can I fork it? Your propriety breakfast support system is harming OSS, you insensitive clod!

I wrote the front and backend (-1, Offtopic)

TempleOS (3394245) | about 8 months ago | (#46128599)

I wrote front end and back end of my compiler. I wrote every line of the 130,000 included on the distribution. It makes no sense if you don't believe in God. You'll see, fucken niggers. God says... phasors_on_stun super_computer not_good I_veto_that you_never_know humility potentially doh wife I'm_the_boss evolution service_sector talk_to_my_lawyer surprise_surprise astronomical Isn't_that_special Russia the to_infinity_and_beyond praying What_I_want woot Dad ehh_a_wise_guy the I_pitty_the_fool China in_a_galaxy_far_far_away King_Midas that's_your_opinion naughty be_happy astronomical what_a_mess et_tu you_don't_say reverse_engineer goods This_is_confusing I_forgot look_buddy depressing ahh rich heads_I_win_tails_you_lose what_luck what's_up okay take_the_day_off bad enough_said super_computer ahh

Re:I wrote the front and backend (-1)

Anonymous Coward | about 8 months ago | (#46128913)

I think you should stop using computers for a year and meanwhile try to get laid by an actual homo sapiens woman.

Re:I wrote the front and backend (2)

ebno-10db (1459097) | about 8 months ago | (#46129049)

I think you should stop using computers for a year and meanwhile try to get laid by an actual homo sapiens woman.

Why are you in favor of inter-species mating?

Bring on Blink (0)

Anonymous Coward | about 8 months ago | (#46128603)

Isn't Blink supposed to be doing some serious changes to how JavaScript is handled?

I dunno, either way, bring on Blink regardless because it sounds better than what Chrome(ium) has become right now, a massive heap of slow and awfulness.
Glad they ditched CSS Regions. What a terrible specification that was. More needs to be ditched and turned in to libraries that can be loaded dynamically instead of bloating up everything else to high hell.
Screw the initial expense of loading the libraries.

How about a generic scripting engine? (4, Interesting)

Anonymous Coward | about 8 months ago | (#46128605)

Why don't browsers come with a generic scripting engine (in addition to, or replacing, the JavaScript virtual machine) that runs some sort of intermediate language a la .NET CIL, or LLVM IR, etc.?

Then we could use pretty much any scripting language we wanted with the content.

Re:How about a generic scripting engine? (5, Insightful)

tepples (727027) | about 8 months ago | (#46128705)

The last time that was tried, it was called Java applets, and Oracle's incompetence at keeping its virtual machine secure led to browsers blocking Java applets by default.

Re:How about a generic scripting engine? (1)

ebno-10db (1459097) | about 8 months ago | (#46128869)

But did that really have anything to do with it being a byte code interpreter, as opposed to a lousy implementation of one? Or perhaps applets having access to library functions that were too difficult to make secure?

In other words, is a byte code interpreter necessarily less secure than say a JavaScript interpreter? I honestly don't know, and would be interested if anyone can explain this.

Re:How about a generic scripting engine? (2)

jbolden (176878) | about 8 months ago | (#46128975)

It isn't the byte code interpreter that's the problem. It is running in a low level state. Let's take a simple example division by zero. If you send a division by zero to an x86 processor something has to catch that exception or the entire system crashes. So either:

a) You have to have a wrapping layer which prevents virtual instructions from causing exceptions in the kernel or OS (Javascript) which is slow
b) You have to have a complex system where things move up and down abstractions layers freely (C++ / Active-X)
c) You have to have a high speed specifically tuned VM that offers services of all types and that is big and complex (Java)
d) You have to have a family of high speed specifically tuned VMs that each offer only some services (flash, movie players, reader...)

etc...

Re:How about a generic scripting engine? (5, Informative)

qpqp (1969898) | about 8 months ago | (#46128725)

Why don't browsers come with a generic scripting engine

They do, it's called JavaScript.

LLVM IR? Here you go [badassjs.com]
Your other request inverted, compile CIL to JS: jsil.org [jsil.org]

Re:How about a generic scripting engine? (2, Insightful)

Anonymous Coward | about 8 months ago | (#46128799)

It really says something about JavaScript that the "hottest" technologies are ingenious ways to avoid actually CODING in JavaScript!

Re:How about a generic scripting engine? (0)

Anonymous Coward | about 8 months ago | (#46128755)

because speed. If you want fast javascript, you need a javascript engine.

Re:How about a generic scripting engine? (0)

Anonymous Coward | about 8 months ago | (#46128761)

Silverlight does that.

Re: How about a generic scripting engine? (0)

Anonymous Coward | about 8 months ago | (#46128835)

Dart Go

Re:How about a generic scripting engine? (2)

jbolden (176878) | about 8 months ago | (#46128959)

Why don't browsers come with a generic scripting engine (in addition to, or replacing, the JavaScript virtual machine) that runs some sort of intermediate language a la .NET CIL, or LLVM IR, etc.?

You mean like: Java applets, Active-X, flash or quicktime?

Re:How about a generic scripting engine? (0)

Anonymous Coward | about 8 months ago | (#46129003)

No, I mean something like asm.js, but instead of using the JavaScript engine use something that pretty much any scripting language could compile down to.

Look on the bright side (-1)

Anonymous Coward | about 8 months ago | (#46128627)

It's always open source, as in free as in all he!!

Sort of like dbase. Member dbase! vulcan? Ashton-Kutcher?

Replusive (3, Funny)

gweihir (88907) | about 8 months ago | (#46128649)

Why do the worst technologies that are just barely able to solve the problem always make it? Is the developer community collectively really this stupid? I fear it is...

Re:Replusive (4, Insightful)

Nkwe (604125) | about 8 months ago | (#46128667)

Why do the worst technologies that are just barely able to solve the problem always make it? Is the developer community collectively really this stupid? I fear it is...

Because technologies that just barely solve a problem allow people who can just barely do the job to barely solve the problem. People that can barely do the job are less expensive than people who do the job right. Unfortunate enough people are willing to live with "just barely".

Re:Replusive (1)

ebno-10db (1459097) | about 8 months ago | (#46128825)

a/k/a the Race to the Bottom

Re:Replusive (0)

sandertje (1748324) | about 8 months ago | (#46128703)

Why are some developers obsessed with performance? The user probably isn't. They don't care whether something loads 2 seconds quicker, or whether something has beautifully concise code.

Load fast, or user will click Back (5, Insightful)

tepples (727027) | about 8 months ago | (#46128749)

Why are some developers obsessed with performance? The user probably isn't. They don't care whether something loads 2 seconds quicker

I thought loading faster was the difference between the user staying on a document and the user hitting the Back button to return to someone else's document. Web search engines have recognized this and have started to penalize slow-loading documents.

Re:Replusive (1)

Anonymous Coward | about 8 months ago | (#46128793)

If users are happy with bloated and buggy scripts that never report and handle failures properly, then let them have it!

Compilers are great, because they reduce errors even before execution. Javascript just runs and you never know the correctness of the state.
Errorhandling and exceptions are great, because they don't ignore errors, but force you to deal with them. Javascript just runs and you never know the correctness of the state.

If someone knowledgeable complains about something, it's usually because there is a great point in it less knowledgeable people don't recognize.

use strict (1)

tepples (727027) | about 8 months ago | (#46128811)

Errorhandling and exceptions are great, because they don't ignore errors, but force you to deal with them. Javascript just runs and you never know the correctness of the state.

Have you tried to use strict [mozilla.org] ? That should turn more silent failures into the "error handling and exceptions" that you prefer.

Re:Replusive (1)

Kremmy (793693) | about 8 months ago | (#46128831)

You sound like someone who's never dealt with users.

Re:Replusive (1)

jbolden (176878) | about 8 months ago | (#46128999)

Actually users care a great deal. Especially as we start moving to touch. There is nothing in nature that causes your visual image of your finger to lag your finger. Latency over 1ms are distressing to human subconscious under those conditions. They experience negative emotions. 0% of the current systems are that fast even using low level languages.

Re:Replusive (1)

Anonymous Coward | about 8 months ago | (#46128711)

Having been a developer for nearly 20 years, I can confidently say that yes, the vast majority of developers really are this stupid. It doesn't help that because of retarded corporate policies the mean age of developers is something like 23 years of age.

Worse is better (4, Insightful)

tepples (727027) | about 8 months ago | (#46128719)

Read the essay "Worse is better" [jwz.org] and you might understand more about what causes this

Re:Replusive (5, Interesting)

hibiki_r (649814) | about 8 months ago | (#46128763)

They don't always make it: Many do not make it at all. Survivor bias and all that.

JavaScript thrived because the alternatives were arguably far worse. Java applets were terrible. ActiveX a platform specific disaster. Flash is heavy. JavaScript allowed you to do the very minor things most web developers wanted at the time without having to turn your website into a plugin that disregarded base web technologies.

Yes, the language design is pretty silly. The function declaration syntax is silly. It tries to look like a member of the Algol tree, but its internals behave more like Lisp. The automatic type conversion system is the source of many jokes. But it still beat it competition at the time, because it was built into the browser, it talked directly to the page's DOM, and the competition did not. Today we'd have little trouble designing a better language than JavaScript for what we currently do with it, but our best bet to get something like that working is to build a language that compiles to JavaScript and then hoping browsers start building VMs for that language directly, skipping the JavaScript step. Still, not bloody likely.

Lisp M-expressions (2)

tepples (727027) | about 8 months ago | (#46128777)

[ECMAScript] tries to look like a member of the Algol tree, but its internals behave more like Lisp.

In other words, it implements the original plan for "M-expressions" in Lisp.

Re: Replusive (0)

Anonymous Coward | about 8 months ago | (#46128859)

Keep throwing that Dart and eventually it will stick.

Re:Replusive (3, Insightful)

Skinny Rav (181822) | about 8 months ago | (#46128821)

Good enough is perfect.

You can endlessly polish your elegant solutions for decades (see Hurd) while the rest of the world happily uses "technologies that are just barely able to solve the problem".

Re:Replusive (2)

leptons (891340) | about 8 months ago | (#46128855)

If that is how you think about Javascript, then you have just illustrated your own stupidity. Or maybe it's fear that you are displaying?

Javascript is far from "the worst technologies", and your quip about being "barely able to solve the problem" is pretty ignorant.

I'll get off your lawn now.

Re:Replusive (5, Interesting)

hey! (33014) | about 8 months ago | (#46128857)

Because it's easy to mistake one's personal biases for sound judgment about what is "good".

I won't sit here and defend every design decision in javascript, but it's a lot more sophisticated than meets the eye. I think of it more like Lisp than Java; it encourages (among skilled programmers) a functional programming style, which turns out to be both under-used as a programming paradigm and very nicely fitted to the kind of event-driven tasks people use javascript for.

If you aren't writing higher order functions in javascript (functions that take functions as values or return them as values) you aren't fluent in javascript and aren't qualified to pass judgment on it.

Re:Replusive (2)

BurfCurse (937117) | about 8 months ago | (#46128927)

Why is it that everytime I see a truly insightful post, its always the day after my mod points expire?

Re:Replusive (0)

Anonymous Coward | about 8 months ago | (#46128861)

Why do the worst technologies that are just barely able to solve the problem always make it? Is the developer community collectively really this stupid? I fear it is...

Please don't blame this on us developers :-(

We'd be more than happy to code in something else if the browser consortium gave us another way to screw up everyone's web experience. Honest we would.

Dollar (0)

Anonymous Coward | about 8 months ago | (#46128879)

Money explains a lot.

Re:Replusive (3, Insightful)

jbolden (176878) | about 8 months ago | (#46128987)

Because "worst language" is generally a compromise between competing ideas and interests of various stakeholders. Compromise is rarely pretty.

Re:Replusive (1)

Crudely_Indecent (739699) | about 8 months ago | (#46128995)

Write once - deploy everywhere.

Name one other language that is as well supported and as broadly implemented as JavaScript?

With technologies like Node.js - it can run on both the client and the server.

Sure, there are inconsistencies in implementation - but the bulk of functionality is supported in every implementation.

jscript (5, Interesting)

Horshu (2754893) | about 8 months ago | (#46128669)

I just started on a web project that is heavily javascript (even though it's an ASP.Net app). It feels like I stepped back in time 10 years. I'd have code not execute. Why? Some error somewhere in the code that was ignored. I had a typo on a property set somewhere else. No error. Why? Because javascript created a new property with the typo and set *that*. And every change requires me to run the app to see if it works, because I don't have a compiler to check the basics out ahead of time. And then, because I'm debugging an app in one window, when I'd open a new one to read the news, I'd hit other, non-ignored errors on those pages (advertisements) because 90% of commercial pages these days have error-laden javascript because people rarely check for error conditions. Horrible language.

Re:jscript (-1)

Anonymous Coward | about 8 months ago | (#46128681)

Are you trolling, or do you really not know what you're doing??

Re:jscript (5, Informative)

Anonymous Coward | about 8 months ago | (#46128739)

JavaScript is a horrible language because you haven't heard of things like jslint and your team doesn't develop with TDD using one of the numerous testing frameworks that exist for JavaScript?

Re:jscript (1, Informative)

Anonymous Coward | about 8 months ago | (#46128841)

Yes, javascript is a horrible language. The fact that there exists tools and practices that make it almost, but not quite, tolerable does not change this fact.

Re:jscript (1)

Anonymous Coward | about 8 months ago | (#46128883)

Yes, but why is it a horrible language? Do you really think it is horrible just because (1) it isn't compiled, (2) you don't understand all the concepts, and (3) people can write code that has errors in it? This describes a lot of languages. Personally I think it's a case of PEBCAK.

Why isn't it PEBKA**M** (2)

zippthorne (748122) | about 8 months ago | (#46128965)

PEBCAK itself is an example of PEBCAK

It implies that the user is a filter that takes input from the chair to input it into the computer, and does not use the monitor feedback system at all. Go ahead and draw the control flow diagram some time.

Re:Why isn't it PEBKA**M** (1)

Fwipp (1473271) | about 8 months ago | (#46128985)

It's talking about physical location. Between the keyboard and the chair, the user is sitting.

Besides, between Keyboard & Monitor, from a control flow diagram, is the computer. :)

Re:jscript (-1)

Anonymous Coward | about 8 months ago | (#46128797)

Learn to program dude - simple as that.
An ASP script kiddie in my view has nothing to do with being a programmer, so learn or go away

Re:jscript (0)

Anonymous Coward | about 8 months ago | (#46128911)

because 90% of commercial pages these days have error-laden javascript because people rarely check for error conditions. Horrible language.

Bad programmers programming in any language will result in bad code.

Hell, my monkey programming in C is going to leave at least one dangling pointer. Does that make C a horrible language? No, it doesn't. But it does make my monkey cry.

Re:jscript (2, Informative)

timmyd (108567) | about 8 months ago | (#46128963)

You might want to look at TypeScript if you're already using Visual Studio. It infers types, type checks your code, is open source, and supports writing plain JavaScript. When using Visual Studio, you can do the things you're used to doing like "go to definition" and "find all references". If you decide to annotate your definitions with types, it can do type checking and catch errors which is really useful when you need to refactor a lot of code. The video at the bottom of http://www.typescriptlang.org/ [typescriptlang.org] is a really good tutorial. It compiles to JavaScript and accepts plain JavaScript so you can use it without having to rewrite all your code.

Re:jscript (1)

Laxori666 (748529) | about 8 months ago | (#46128981)

Try getting a good IDE, like PyCharm (which does javascript as well). It gives you pretty good static checks on things like var name and property name typos. Not 100% of course since that's undecidable.

I has a sad (4, Funny)

Snotnose (212196) | about 8 months ago | (#46128673)

In my 35 years of professional programming, getting good at dozens of languages, I've only run across 2 I've actively disliked. Javascript is one of them (tcl was the other). JS is a crap language that IMHO can't be fixed. If they ever add an honest garbage collector to the base language then most programs will delete themselves upon execution.

Re:I has a sad (2)

ferrisoxide.com (1935296) | about 8 months ago | (#46128917)

In my 35 years of professional programming, getting good at dozens of languages, I've only run across 2 I've actively disliked. Javascript is one of them (tcl was the other). JS is a crap language that IMHO can't be fixed. If they ever add an honest garbage collector to the base language then most programs will delete themselves upon execution.

Lol. And the garbage collector would then send out an email to every web designer who says "I know how to code in Java" when they mean Javascript and clean up that confusion once and for all.

I've been forcing myself to get good at writing JS lately (if only because Node looks like it'll make all my other skills irrelevant in the web development market). It.. just.. feels.. wrong. Nothing in the language lends itself to building architectured solutions. Maybe the testing tools have caught up with other languages now, but you're still testing ugly code.

Javascript is the smallpox of coding languages. Maybe once it's finally eradicated Brendan Eich will only be remembered for this, the equally damaging Rust language and attempting to remove the marriage rights of same-sex couples in California. Hey, did I just politicise Javascript there? Flame on.

Re:I has a sad (1, Insightful)

narcc (412956) | about 8 months ago | (#46128935)

So... What's wrong with the language? Or were you just repeating the meme?

Re:I has a sad (4, Informative)

ferrisoxide.com (1935296) | about 8 months ago | (#46129055)

The fact that there is a need for a book like this: http://shop.oreilly.com/produc... [oreilly.com]

Maybe? :) Still haven't found a "C - Just the Good Parts" book, but still looking.

Just goes to show... (2, Insightful)

Foresto (127767) | about 8 months ago | (#46128677)

...a programming language (still) doesn't have to be good in order to see widespread use.

Hopefully this is like Wall Street (0)

Anonymous Coward | about 8 months ago | (#46128707)

When the media is awash in tips on making killing in stocks or real estate, that's when you know that the market has reached its height.

If only Guido hadn't blown it with Python. (5, Interesting)

Animats (122034) | about 8 months ago | (#46128715)

Arguably, it should have been Python, which is a better language. But Python has a problem. Python's little tin god, Guido von Rossum, is in love with his own implementation, CPython. CPython is a naive interpreter. (A "naive interpreter" is one which does the specified operations in the specified order, with little optimization across operations.) In CPython, everything is a dictionary and a lot of time is spent doing lookups. This allows everything to be dynamic. In Python, one thread can patch objects in another thread while both are running. Objects can gain or lose elements on the fly. Even running code can be "monkey-patched".

The price paid for that excessive dynamism is that a Python compiler is hard to write, and an optimizing Python compiler can't optiimize much. Google tried in-house to make Python faster, and their "Unladed Swallow" failed humililatingly. (A different group at Google then developed Go, aimed at the same problem of producing something good for server-side processing.) The PyPy crowd has tried, hard, to make an optimizing Python compiler, and with an incredible amount of complexity under the hood, has made considerable progress, but not enough that PyPy is used much in production.

Pascal went down for a similar reason. Wirth was in love with his elegant recursive-descent compiler. But it didn't optimize, couldn't handle separate compilation, and had no way to handle errors other than aborting. Python seems to be headed for similar irrelevance. It hasn't even been able to replace Perl, which ought to be as marginal as "awk" by now.

Re:If only Guido hadn't blown it with Python. (0)

Anonymous Coward | about 8 months ago | (#46128817)

I think the virtue of python is not in its dynamism but how fast and easy development happens. Some large clusters such as the one CCP uses for EVE-Online runs python without fuss.

Python should be used when developer time costs more than CPU time. As cruel as it is, that means python is a wonderful replacement for client-side code such as web based scripts. That is where python should be going. Bill for the same projects, code faster, and make the client browsers worry about an optimized interpreter.

Re:If only Guido hadn't blown it with Python. (1)

sourcerror (1718066) | about 8 months ago | (#46128823)

Javascript has the same dynamism as Python, why is Javascript still much faster?

Re:If only Guido hadn't blown it with Python. (1)

dkf (304284) | about 8 months ago | (#46128901)

Javascript has the same dynamism as Python, why is Javascript still much faster?

I suspect it is because it is easier to identify a consistent low-level type interpretation — including clearly delineated points where you need to throw the code away and recompile — with Javascript than with Python. That's what you need to do a decent compiler.

Re:If only Guido hadn't blown it with Python. (1)

StripedCow (776465) | about 8 months ago | (#46128881)

IMHO, Python is a complicated mess compared to Javascript.
And a complicated mess is only warranted if at least it adds type checking.

Re:If only Guido hadn't blown it with Python. (1)

jbolden (176878) | about 8 months ago | (#46129023)

Interesting points. I agree that Python is missing the window regarding Perl. What are your thoughts on Ruby's approach?

Not sure if story is advert for Node.js or Google (0)

Anonymous Coward | about 8 months ago | (#46128735)

regardless, is there a co-relation between many independent developers and bloat?
or are you saying this will create more dependent developers and it won't bloat?

Kinda Suprised...but I guess I shouldn't be... (2, Insightful)

neorush (1103917) | about 8 months ago | (#46128759)

I'm kind of surprised that there is not one good comment about the benefits of javascript up above this yet. I mean you can off load sooo much data to the client cpu. With the latest in webstorage and the sqlite port to JS I can actually create a friggen database server running on the client. WebRTC and WebSockets are seriously about the change everything in the next 1-2 years....I'm curious how many of the above posts are done by folks who actually do web development? It is pretty much indispensable these days, and really pretty awesome, so get used to it.

javaScript is okay. (2)

Kremmy (793693) | about 8 months ago | (#46128773)

Platform is the wrong word. Something like node.js might be considered a platform, but not JavaScript itself. JavaScript is flexible, C-like, has first class dictionaries and JSON makes them super simple to serialize. It's one of those languages whose flexibility can actually be a hindrance because you have end up having to get pretty deep to find the structure ... maybe it is a platform.

Re:javaScript is okay. (0)

Anonymous Coward | about 8 months ago | (#46128925)

(As someone forced to use Lua in a production environment...)
Javascript is better than Lua - at least JS gets array indexing right, and doesn't require filling your code with Pascal-style begin...end spam. And who the fuck looks for Lua on a resume? I would swap out Lua for JS in a heartbeat.

JS is a C..P Language - see here why (4, Interesting)

Anonymous Coward | about 8 months ago | (#46128829)

My beef with JS is that it is a regression from the time of PASCAL or Ada (or should I say ALGOL ?) where good programs are nicely structured by means of proper data structures.
This means:
1.) Reliability is unecessarily low. You never know how many feet an object in variable "monkey" might have. Usually two and sometimes just one, zero or 312.
2.) Security: A lack of type-safety regularly results in insecure programs. Plus, it is quite difficult to reason about program safety in absence of strong typing.
3.) Hard to optimize: Strongly typed languages result in programs which can be quite easily optimized for execution efficiency. Compare that to JS, where the optimizer has to "infer" "typical runtime type" and then optimize for that "dynamic" type constellation. Of course, exception code must handle the "differently typed corner cases", too.
That implies: Bloated optimizer/JIT compiler plus all the nice zero-day exploits which result from this. Donning my tinfoil hat I would say JS is a godsend for the TLAs.

In summary: JS is a regression from the state of the art of 1970s. "IT" is actually forgetting the great achievements in Software Engineering that resulted in Algol. With JavaScript, computing has gone even further down the path of sloppiness and anti-reliability. Let's face it: 99% of people are in this profession for the love of money, not for the love of constructing reliable and correct systems.

Dipl.-Ing.(BA) Informationstechnik Frank Gerlach
Gäufelden
Germany

As a counter-concept, look at this invention of mine:http://sourceforge.net/p/sappeurcompiler/code-0/HEAD/tree/trunk/doc/manual.pdf?format=raw

Re:JS is a C..P Language - see here why (2)

jbolden (176878) | about 8 months ago | (#46129061)

If you are going to argue for a serious counter proposal you may want to get an account.

Regardless the battle between typed and untyped languages on the web was lost during the CGI days when Perl replaced C. Too much of the data coming in is untyped. http://happstack.com/docs/cras... [happstack.com]

As for Saupper reading the manual you don't seem to be considering the problem domain at all just creating an alternative strongly typed language with some different features than C++ or Java.

Javascript is paradigm-free (5, Insightful)

mark-t (151149) | about 8 months ago | (#46128839)

One thing I personally like about Javascript is that it covers all three of the currently most popular programming paradigms.

You want an imperative style of development? Javascript can do that, check.

You want an object-oriented style of development? Javascript can do that, check.

You want a functional style of development? Javascript can do that too, check.

Some would argue that by covering so many different paradigms, it ends up covering none of them as well as languages that are designed for a specific paradigm from the ground up, and I wouldn't really refute this point... but it easily does all three of them well enough to still be profoundly productive when developing in any of them, and this means that a programmer is relatively free to pick the paradigm that best models the original problem when designing a solution. This, in my experience, results in shorter development cycles, and frequently much less buggy code.

Re:Javascript is paradigm-free (4, Insightful)

ferrisoxide.com (1935296) | about 8 months ago | (#46128989)

Why pick one when you can pick all three in the same application? :)

No, you're absolutely right - being able to choose a mode of programming is neat and Java does lend itself to doing neat things. But it still feels like a language that someone quickly hacked together. And the freedom to pick a paradigm means your fellow coders get to pick whatever happens to be in their clue bucket for the day. At least with a language that focuses on imperative or functional coding you can be reasonably sure that the guy sitting next to you has a similar view of reality as you do. "Multi-paradigm" is a bit like saying "post modern", with all the positive and negative connotations. I prefer my languages neo-classical :)

Just avoid the JavaScript trap (0)

Anonymous Coward | about 8 months ago | (#46128849)

Read all about it at https://www.gnu.org/philosophy... [gnu.org]

Run to the hills! (2)

KraxxxZ01 (2445360) | about 8 months ago | (#46128887)

Try this in your favorite console: [ 10 , 1, 5].sort()
You cringe you lose.

Can the Slashdot mobile site get any worse? (-1, Offtopic)

mspohr (589790) | about 8 months ago | (#46128891)

Sorry for posting this off-topic but there is no other place to post this, so...
The mobile site:
- lousy view and navigation - confusing display of mod points
- no way to view normal site... mobile site is mandatory
- doesn't remember my login
- moderation doesn't work
- can't change view by mod points (outstanding, etc. categories are broken)
Breaking news! Now, just added!!! "popover" ads that won't go away!!!
I had an obnoxious ad for a survey overlay the site. Won't close.
In desperation, I even clicked on it to take the survey (and entered bogus information to screw up their responses) but still the ad won't go away!
(I'm using Chrome browser on Nexus7... if that makes any difference).

Re:Can the Slashdot mobile site get any worse? (0)

phantomfive (622387) | about 8 months ago | (#46129019)

Yes, it can; check out the beta.

The lowest common denominator (0)

Anonymous Coward | about 8 months ago | (#46128991)

It's the Basic of the web generation. It is scorned, and rightly so.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>