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!

More Info On Google's Alternative To JavaScript

Unknown Lamer posted more than 2 years ago | from the chrome-plated-vendor-lockin dept.

Google 247

I'm Not There (1956) writes "Last week the news came in that Google is supposed to unveil 'Dart,' a new programming language for browser-based apps. Now an internal email from late last year describes this project as the 'high risk/high reward' path [of Google's browser development strategy]. Apps in this new language will run in a VM on browsers that support it, and can be translated to JS for other browsers. 'Performance, developer usability, and ability to be tooled' are the main characteristics of the language." The email notes that Google will be working on ECMAScript Harmony in the near term, but they describe the project as ultimately doomed by "fundamental problems" with ECMAScript. It's interesting that Google took part in abandoning ECMAScript 4, which would have been almost fully backward compatible with current implementations while solving most of the "fundamental problems" Google claims require a brand new language to fix.

cancel ×

247 comments

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

Interesting (1, Insightful)

Anonymous Coward | more than 2 years ago | (#37398074)

It's interesting that Google took part in abandoning ECMAScript 4, which would have been almost fully backward compatible with current implementations while solving most of the "fundamental problems" Google claims require a brand new language to fix.

Yes, it is interesting to hear some random person say that Google doesn't know what they are doing. Wait a minute, it isn't interesting at all.

Re:Interesting (0)

Anonymous Coward | more than 2 years ago | (#37398346)

It's interesting to see how you failed to consider that the aforementioned person was saying that Google really knew what they were doing. You must be one of the few persons on earth for whom the "don't be evil" piece of propaganda still works.

Sick of "Google is Evil" claims (5, Interesting)

Enderandrew (866215) | more than 2 years ago | (#37399292)

Google is not evil points:
* Google massively supports open-source software
* Google pushes for open standards rather than lock-in
* Google has fought for the defense of fair use
* Google has fought for net-neutrality
* Google provides free services
* Google is wiling to take a loss on products to provide these free services
* Google allows you to easily export your data from their services, and even fully delete your online data/profiles
* Google is the cloud services provider that doesn't claim to own your data
* Google is running a test in Kansas of gigabit internet for the whole town and another test of free city-wide wifi.
* Google is the only search company to fight censorship in China
* Google is the only search company that refused to hand over user data to the Bush Administration
* Google fought Brazil as well to protect user data
* Google developed an open-source phone platform and has been encouraging handset manufacturers to open up and let consumers flash custom roms

Google is evil points:
* The Google Map street view team recorded data on open wifi networks. If people didn't want anyone to know you have a wireless network, you can turn off broadcasting the SSID.
* Google eventually caved/compromised on one portion of net-neutrality. They have a joint proposal with Verizon that would ensure the internet itself is protected by net neutrality, but wireless phone providers would be allowed to provide unique content and services. Is this really all that evil of a compromise?
* Google hasn't released the source code of Honeycomb because they don't want the market diluted with phones with a bad phone stack, but has promised to release the source code of Ice Cream Sandwich when it comes out in October/November. Man, that really is evil!

Seriously, the assumption that Google must be evil just because they are a big corporation is a flawed, simplistic view. I'd rather judge them on their actions. And according to their actions, they are the only major IT company out there I would trust given that my alternatives are Microsoft, Amazon, Facebook, Apple, AOL, Yahoo, etc.

they should just create GLang (2)

alen (225700) | more than 2 years ago | (#37398090)

and make you code anything for their services in GLang so that they will be their own part of the internet separate from the open one

Re:they should just create GLang (2)

North Korea (2457866) | more than 2 years ago | (#37398416)

Yep, pretty much like they did with Google App Engine [slashdot.org] . Lock the developers down first, then raise prices significantly. Oh, and since it's unique platform and the backend is closed, you either have to accept whatever price Google is asking or abandon the project and code it again from the beginning. So much for Google's openness. Their new business motto seems to be borrowed from Microsoft - "Embrace, extend and extinguish".

Re:they should just create GLang (0)

Anonymous Coward | more than 2 years ago | (#37398526)

Err... they created a hosting platform you don't have to use, and you call it 'locking developers down', and then raising prices?

It was obvious from day one that they were ultimately going to charge, and charging is what is going to make App Engine viable. Somehow you got from this to embrace and extend?

Re:they should just create GLang (1)

North Korea (2457866) | more than 2 years ago | (#37398586)

It wasn't free from the beginning either, you know. Now they just seriously limited the resources and raised prices. Since slashdotters think Google is so much about open source and free software, why is App Engine backend proprietary. I'm not even asking something like their search engine code, just the App Engine backend so that people can move to other service providers with their projects if Google charges too much. Oh yeah, but Google doesn't want that. They won't open source it because then they couldn't lock down developers.

Re:they should just create GLang (0)

NeutronCowboy (896098) | more than 2 years ago | (#37398784)

Since slashdotters think Google is so much about open source and free software, why is App Engine backend proprietary. I'm not even asking something like their search engine code,

Now I know you're either utterly fucking retarded, or really just shilling for one of Google's major competitors. You don't need to know the backend to port your project. All you need to know is the APIs of the new system, and do some work. Just like for every other platform project. Don't like it? Write your own platform. Also, there's absolutely nothing to be gained for anyone to know the detailed heuristics Google uses to streamline its search, outside of SEOs. The rest of the algorithm is very well known.

I seriously, seriously hate the idea that corporations have that the way to advertise to people is to impersonate someone and then post paid bullshit. It's too bad you're hiding behind an anonymous handle, because otherwise your company would be on my immediate shitlist... though I suspect it probably is. Corporations who engage in this kind of crap are generally shady.

Re:they should just create GLang (2)

North Korea (2457866) | more than 2 years ago | (#37399122)

Now I know you're either utterly fucking retarded, or really just shilling for one of Google's major competitors. You don't need to know the backend to port your project. All you need to know is the APIs of the new system, and do some work. Just like for every other platform project. Don't like it? Write your own platform.

And would you say this same thing about Microsoft and their Office file formats? "Don't like MS Office file formats? Write your own and don't support them!" Google has seriously brainwashed you. They do all the same bad things Microsoft, Facebook and many other "bad" companies do but you're too clueless to see it.

Re:they should just create GLang (1)

wisty (1335733) | more than 2 years ago | (#37399186)

It's probably a misunderstanding. He thinks Google is sitting on some goldmine, with their appengine, not giving any love to the community. Given how slow appengine runs, and how long it took them to even untangle the fact that it is slow as a bubble-sort implemented in Ruby sitting on a virtual Windows machine on a shared Pentium IV, Google is probably just embarrassed to release it. /exaggeration

Re:they should just create GLang (0)

Anonymous Coward | more than 2 years ago | (#37398612)

Everything should be free, of course. Software, hosting, lunch. Everything.

Re:they should just create GLang (0)

NeutronCowboy (896098) | more than 2 years ago | (#37398734)

Oh look, another recent user who consistently bashes Google for not being "open", and praises Microsoft. I'm sure this has nothing to do with the recent obvious shills who appeared on Slashdot?

Nice disinformation campaign you got going there. I mean, it's totally new that if you code for a specific platform, you might have some trouble porting that code. Or does your .NET code run as is on Linux?

Re:they should just create GLang (0)

Anonymous Coward | more than 2 years ago | (#37398918)

"Praises Microsoft"? Where does he do that exactly?

Re:they should just create GLang (1)

egamma (572162) | more than 2 years ago | (#37399078)

Or does your .NET code run as is on Linux?

I'm not a programmer, nor a shill, but isn't that what Mono does?

Re:they should just create GLang (1)

Guspaz (556486) | more than 2 years ago | (#37399262)

Yes, although rarely unmodified (in my personal experience trying to get a few small utilities that I'd written). Getting even simple .NET software to run on Mono requires that you either developed with Mono in mind from the start, or you "port" your code to Mono. You need to work around bits of the .NET framework that Mono doesn't support, work around Mono bugs (obviously the same bugs don't exist in Mono and Microsoft's implementation), figure out solutions anywhere you used Windows API calls (.NET has some glaring gaps that still require Win32 API calls, like using aero glass, freeing a tray icon, etc), etc.

If you stuck pretty close to core .NET functionality, it's probably a ton easier than porting to a different OS/language would normally be, but if you've used any other .NET frameworks (like XNA) then you might as well be porting to a different language anyhow.

Re:they should just create GLang (-1)

Anonymous Coward | more than 2 years ago | (#37399096)

My .Net code does. Yours doesn't?

Re:they should just create GLang (1)

North Korea (2457866) | more than 2 years ago | (#37399174)

Or does your .NET code run as is on Linux?

Yes it does, and Microsoft has fully published the details so people can make their own implementations. If Mono is lacking behind on something, well, that's Mono's developers fault.

On the other hand, Google App Engine is competely closed. No published docs, no information about the API's, no open source code. Fully proprietary platform, from Google.

Re:they should just create GLang (1)

BitZtream (692029) | more than 2 years ago | (#37399284)

No published docs, no information about the API's

So how do developers know how to write code that works in AppEngine?

The APIs are infact documented.

The APIs have in fact been copied and Google actually hosts the code (though they only host, don't think they have any other involvement than it sitting on their servers)

http://code.google.com/p/appscale/ [google.com]

Pretty much the same result as with .NET isn't it.

Re:they should just create GLang (1)

aliquis (678370) | more than 2 years ago | (#37398754)

Because they are so likely to have Dart a closed down project?

Yikes (0)

Anonymous Coward | more than 2 years ago | (#37398122)

Hopefully it will be less horrible syntaxwise than Go.

Re:Yikes (2)

JonySuede (1908576) | more than 2 years ago | (#37398198)

at least Go has a better syntax than Haskell ;)

Re:Yikes (4, Funny)

ZankerH (1401751) | more than 2 years ago | (#37398378)

Haskell has syntax?

Re:Yikes (1)

TheRaven64 (641858) | more than 2 years ago | (#37398476)

What's wrong with Go's syntax? Aside from forcing a brace style on you, it's pretty clean and consistent.

Re:Yikes (0)

Anonymous Coward | more than 2 years ago | (#37398608)

And the water in a public toilet is like the water in an evian bottle, aside the turds.

Yes, their preferred format is a big, festering turd, with the only "benefit" that semicolons are optional, which wasn't a problem to begin with.

-yawn- (4, Insightful)

Aladrin (926209) | more than 2 years ago | (#37398168)

Until I actually get my hands on the language, no amount of hype is going to do anything for me.

Besides which, CoffeeScript has got to be stealing their thunder. I have to wonder if they aren't regretting developing Dart yet.

Re:-yawn- (0, Troll)

North Korea (2457866) | more than 2 years ago | (#37398500)

CoffeeScript has a better probability in succeeding too. No one in their sane minds would start using some test project from Google after all the canceled and abandoned projects. At least JavaScript has actual support and standards behind it, and it's widely supported. Google will probably just kill off this project a little after you've spent good amount of time learning and getting used to it and implementing it in your projects. With JavaScript (and CoffeeScript) you won't just some day come to slashdot and see Google's announcement how they've decided to discontinue the project to spend time on something better and newer.

Re:-yawn- (0)

NeutronCowboy (896098) | more than 2 years ago | (#37398806)

Yeah, no one is ever going to deprecate Javascript. I mean, Cobol is still the way we interact with Mainframes, right? Stupid shills.

Re:-yawn- (1)

El_Muerte_TDS (592157) | more than 2 years ago | (#37399082)

CoffeeScript is also fundamentally flawed by putting semantics into unprintable characters.

Re:-yawn- (1)

interval1066 (668936) | more than 2 years ago | (#37399316)

So really, javascript, which is a huge security concern for everyone will not go away any time soon because of apathy. At least that's what *I'm* taking away from this thread...

Google: call it Hype (1)

kikito (971480) | more than 2 years ago | (#37398188)

Until I see some sample code, that's the name I'll give it.

It isn't really interesting (1, Informative)

Anonymous Coward | more than 2 years ago | (#37398190)

that Google is taking part in this abandonment. ECMAScript 4 will never be passed. The effort has long since been abandoned because the proposed changes were thought to be too complex, according to Doug Crockford.

The changes proposed in ES4 were ultimately abandoned as a group. Even if they're reintegrated over time it'll probably take far too long for Google to be happy with the adjustments to the "fundamental problems" they cited.

Re:It isn't really interesting (3, Insightful)

bluefoxlucid (723572) | more than 2 years ago | (#37398224)

Let's skip the ass dance and hear what these fundamental problems are, and how to solve them.

Re:It isn't really interesting (2)

kill-1 (36256) | more than 2 years ago | (#37398778)

The "fundamental" problem from Google's perspective is Javascript's lack of typing. They want a language with optional typing and think that the ECMAScript 4 route isn't viable.

Re:It isn't really interesting (2)

mmcuh (1088773) | more than 2 years ago | (#37399048)

Why are they inventing a new language if all they want is typing? Just use C, compile it to bytecode and run it in a sandbox. It has the added advantage that every programmer on earth already knows it (no, someone who doesn't know C is not a programmer).

Re:It isn't really interesting (1)

Millennium (2451) | more than 2 years ago | (#37398796)

The usual: people whining about the language not conforming to their favorite paradigms.

Editorial Piece Angries Up My Blood (4, Insightful)

eldavojohn (898314) | more than 2 years ago | (#37398200)

It's interesting that Google took part in abandoning ECMAScript 4, which would have been almost fully backward compatible with current implementations while solving most of the "fundamental problems" Google claims require a brand new language to fix.

Yeah? How many free license programming languages have you released and continued to support?

As a developer, I love to learn a new language. I write a few simple programs in the new language. I explore what advantages and disadvantages that language has and then I put it in my toolbox. If a problem comes along that I must fix, I select the best tool for the job from said toolbox. I don't know how any sane developer could get by any other way -- there is no silver bullet programming language.

The more tools I have at my disposal, the more effective I am. So shut your hole. I don't want people to stop exploring new languages just because it hurts your feelings that the market might fracture and you might have to -- *gasp* -- learn something new!

Re:Editorial Piece Angries Up My Blood (-1)

Anonymous Coward | more than 2 years ago | (#37398340)

Typical software attitude. You don't have a "tool in your toolbox" after fiddling around a new language trying "hello world" for five minutes. You just have another half-assed way of raping the hardware and hoping the real engineers who designed the hardware can pull your ass out of the fire, again.

Re:Editorial Piece Angries Up My Blood (4, Funny)

Anonymous Coward | more than 2 years ago | (#37398590)

You just have another half-assed way of raping the hardware

Nah sugar, its not like that. My software takes your hardware on a smooth journey through vermont's verdant landscape, over covered bridges, skiing in the Alps, before ascending to the heights of Kilimanjaro before leaving this planet in our own space ship destined for planet love. You've got twelve cores,honey and I'll caress each one lovingly as I romance your pci flash.

Re:Editorial Piece Angries Up My Blood (0)

Anonymous Coward | more than 2 years ago | (#37398350)

On the internet compatibility is king.

Google have fingers in far too many pies nowadays yet most of there new things seem to die a horrible embarrassing death.

Accepting a new web programming language now from google would just cement google as flailing microsoft wannabe.

Re:Editorial Piece Angries Up My Blood (0)

Anonymous Coward | more than 2 years ago | (#37398436)

Google has always been about trying lots of experiments. That's cool. 90% of everything is crap, but the successful Google projects are really good.
I've never seen any of their stuff "die a horrible embarrassing death"; they just cull the big failures.

Re:Editorial Piece Angries Up My Blood (1)

North Korea (2457866) | more than 2 years ago | (#37398528)

And that is exactly why it's insanely stupid idea to start relying on something Google makes. For all you know they will just shut it down the next day.

Re:Editorial Piece Angries Up My Blood (0)

Anonymous Coward | more than 2 years ago | (#37399358)

Wave. Google Wave.

Google has done two things very well: Search and Email.

I use their docs solution, and they are great for a browser, but it sucks compared to the desktop variants. The limited formatting alone makes it almost unusable for a lot of tasks, particularly in the spreadsheets.

I'm also using Chrome, which I used to include in their "very well" category, but they have been rapidly adding features that simply do not work well at all (printing dialog), and breaking other things, such as page loads. I have been going to websites recently and I'll regularly have to reload the page just to make it display, which did not used to happen and it does not happen in other browsers.

Re:Editorial Piece Angries Up My Blood (1)

Superken7 (893292) | more than 2 years ago | (#37398642)

And Dart sounds to me like saying: people should switch to IPv6 because its much better than IPv4, only IPv4 addresses aren't running out in this case.

Wouldn't it be a huge effort to port all the javascript web to a new language? Look at whats happening with IPv6, and its a much more pressing matter...

Re:Editorial Piece Angries Up My Blood (1)

smelch (1988698) | more than 2 years ago | (#37398760)

Well if IPv4 addresses aren't running out, there's no real reason to convert them all over as we can all continue to support IPv4 and IPv6 for as long as we want.

Re:Editorial Piece Angries Up My Blood (2)

Sleepy (4551) | more than 2 years ago | (#37399000)

No one has decreed that Dart must exclude Javascript, nor has anyone suggested that IPv6 engineers have been taken away from their pressing task to work on Dart. Your arguments are all false arguments, crafted to support your initial reaction but not really relevant to the issue.

Re:Editorial Piece Angries Up My Blood (0)

Anonymous Coward | more than 2 years ago | (#37398746)

Accepting a new web programming language now from google..

..would be accepting something dumb on the face of it and maybe people are wising up. The very idea of a web programming language is stupid from the get-go.

We so often hear about "domain specific languages" (e.g. from the Ruby guys) and "little languages" (from the old "Programming Pearls" fans) that some people take it to heart and generalize: that a programming language can and should be specific to certain types of applications.

No, a language can be specific, but not a programming language. As soon as your language has things like functions, objects, or maybe even loops (I'm serious!) your language has outgrown the idea of "little" because the applications for your language sure have.

If it's possible, then somebody is going to write a C64 emulator in your awk replacement. That's not just a joke -- look what Fabrice Bellard did with Javascript.

Once you've got variables and loops, you ought to be learning from the decades and decades of experience and making your language a general-purpose programming language, rather than thinking about "web" or anything like that. Every single language intended for the web (e.g. javascript, php) turned out to be a broken atrocity that needed years and years of updating just to get to nominal and unembarrassing.

Re:Editorial Piece Angries Up My Blood (0)

Anonymous Coward | more than 2 years ago | (#37398514)

As a corporate developer, I don't need to learn new languages. I can write a few simple programs in a new language, but my job doesn't require it. If a problem comes along that I must fix, my PHB tells me the best tool for the job from our corporate toolbox. In fact, most times our tools dictate our solutions. I don't know how any sane PHB could get by any other way.

Re:Editorial Piece Angries Up My Blood (2)

gbjbaanb (229885) | more than 2 years ago | (#37398554)

Rubbish attitude - this is why software is regarded as a 'hobby' for inexperienced and generally poor developers - you're too busy 'learning something new' all the time and not focussing on getting things done.

The software industry will never become as established and professional until this attitude disappears, we need masters of things, not continual change to something else.

Now, I don't have too much problem with a new language, but the bar for adoption really needs to be set very high to avoid the "change for change's sake" problem I just described. I think js is relatively poor, performance could be a lot better, and there could be a web-client language better geared towards IO, text parsing and GUI development. If this is it, then we'll see - but at the moment, its just hype and vapourware. If you really need something new, go for Google's native client and get that better supported across browsers and platforms.

Re:Editorial Piece Angries Up My Blood (0)

Anonymous Coward | more than 2 years ago | (#37398868)

But he's "learning" something new! He's "effective"! What a fucking buffoon.

Well You're Missing Out, Man (2)

eldavojohn (898314) | more than 2 years ago | (#37398998)

Rubbish attitude - this is why software is regarded as a 'hobby' for inexperienced and generally poor developers - you're too busy 'learning something new' all the time and not focussing on getting things done.

I don't know what to say other than I feel really sorry for you if you're a developer. I grew up coding C/C++ and had I only had your attitude, I never would have used LISP, PROLOG, Java, Ruby, etc. Could I be some badass C/C++ developer if I had never been "sidetracked" and "not getting things done"? Maybe.

But -- at the risk of being modded down as a shill -- I submit to you a recently launched site [patternizer.com] I coded with a friend. He did the canvas stuff, I did the backend. I could have picked any solution out there but I ended up going with Ruby on Rails. Is it slow? Yes, compared to C/C++. Is this a super complex site with massive usage? Well, not really. That's what made Rails a great choice. I haven't earned a dime on this project (we decided against ads). But guess how much time I put into making that backend? About 15 hours. I think I spent more time trying to figure out how the host allows me to manage my gems in Rails 3 than I did actual coding. I didn't even reuse a login module from my other sites. Hell, that was all pretty much from scratch aside from Rails 3 and jQuery.

Now, I know how to do this in Java, PHP, C++ and even Clojure. It's essentially a RESTful interface for particular CRUD operations. But could I have done all that in 15 hours if I had selected another technology and framework? I don't think so.

"change for change's sake"

I don't understand where you thought I said I now do all my development in $LANGUAGE_OF_THE_WEEK. There are now more tools in my toolbox. If I pick a different tool next time, I'm going to have a reason for doing it. In the above case, the prototyping time was far less in Rails.

If you really need something new, go for Google's native client and get that better supported across browsers and platforms.

Forgive me if I see this as directly opposed to your opening sentence. Tell me, what makes a new technology "noble" enough for your attention? How do you know NaCl won't flop?

Regardless of how you see it, I with my "rubbish attitude" and "inexperience" and "poor development" and inability to get things done am doing quite well in the job market ...

Re:Well You're Missing Out, Man (-1, Troll)

BitZtream (692029) | more than 2 years ago | (#37399390)

but I ended up going with Ruby on Rails.

You do realize from this point on, anyone with half a clue already realizes you don't have even half, right?

Re:Editorial Piece Angries Up My Blood (1)

Khazunga (176423) | more than 2 years ago | (#37399378)

Rubbish attitude - this is why software is regarded as a 'hobby' for inexperienced and generally poor developers - you're too busy 'learning something new' all the time and not focussing on getting things done.

You can't possibly be a top-notch developer. Any good coder out there is just a bit hampered by the use of a new language in a new project. Languages are easy. It's a couple of hours to grasp the syntax. APIs are more difficult, but then again, the slowness in developing against a new API wears off in a week of work.

Unless some new unknown paradigms are introduced, in the language and/or in the API, it's like dancing the tango to a new tune: You make it up, just like you made it up before.

Re:Editorial Piece Angries Up My Blood (0)

Anonymous Coward | more than 2 years ago | (#37399380)

No matter what profession you are in, you must constantly be "learning something new" to continue to be valuable.

It doesn't matter if you're a data entry person learning new programs, a truck driver learning new routes, a painter discovering new tools or a programmer learning new languages and techniques. You are always going to fall behind if you stop.

Re:Editorial Piece Angries Up My Blood (3, Interesting)

Kjella (173770) | more than 2 years ago | (#37398896)

The problem with the toolbox analogy is that your screwdriver never has to interact with your hammer. Software code on the other hand is notoriously bad at working with code from other languages, sure there's language bindings and and various ways of making them somewhat talk to each other but the cost of mixing languages is huge. It's more like building bits and pieces of the system to work on optical signals and the rest on electrical signals, not like pounding one nail and screwing one screw into a board.

It's very rarely you need a programming language to do just one thing, maybe they go into specialty or research projects but anything commonly used has to be a swiss army knife. Most of the time you want to ask "Can I add another tool to this knife?" not design an entirely new dedicated knife for that purpose. There's a place to mix products for a "best of breed" solution, but languages are not it. Your narrow choice of language is likely to fail as the project expands and it really needs other sets of functionality.

If you want to see a prime example of that, look at VBA projects that have run out of hand. Quite probably it wasn't such a bad choice for the original task, just tack on this little bit to Excel and it works. Then it grows and grows and all those limitations get very limiting and you're forced to rewrite everything. That's what happens with other narrow languages too, if you go beyond that scope it's very good at things falls apart. Not to mention all the indirect effects like the available employee pool and the complex skills required to take over.

That is why there's a very significant drop-off in languages. I'm not saying you should try making a square peg fit a round hole, but very often the languages you, the team and the company knows and is familiar with beats trying to get everyone up to speed on a new language. But that goes for everything, should you work within the system to improve it or outside the system to overthrow it. I guess it all depends on how broken the old system is but people have a tendency to idealize the system on the drawing board.

Re:Editorial Piece Angries Up My Blood (1)

Sleepy (4551) | more than 2 years ago | (#37398960)

Your comment is so well-written irony that I can not decide if you sincere in what you say, or cleverly trolling for the other side of your argument. When you are arguing for (what seems to be) more languages merely for the sake of more languages, and presenting as evidence how you personally like to dabble in every new language... well, that incites a backlash to your argument.

Google is very interested in bandwidth memory and power conservation. Google apps use a specific subset of Javascript, and they know which bits are inefficient. I would agree that Google should be free to invent a new language if it has benefits. No one gets hurt if the language runs inside JavaScript on other browsers. When it comes to working with open source and standards, Google has credibility and trust... they're not Microsoft, so I do not fear what they do in their labs. I want my phone and laptop both to be more responsive on the web, and use less power.

ECMAScript committee seems much less interested in these things, and are seem to be mostly interested in adapting ECMAScript to be the proverbial kitchen sink. I know they have some device/runtime profile stuff (somewhere), but it does not seem like a real subset standard, and not often used.

Lua would be better (5, Interesting)

Anonymous Coward | more than 2 years ago | (#37398230)

Lua [lua.org] is very Javascript-like already except it's very small, simple, clean, and fast. Much faster; LuaJIT [luajit.org] is incredible.

And when JS suddenly seems viable (5, Interesting)

slim (1652) | more than 2 years ago | (#37398232)

It's interesting that this should come about when Javascript seems (to me) to be undergoing quite a surge.

The community has carved out a set of practices that makes Javascript pretty satisfying to work in -- Crockford's efforts, the require/export conventions etc.

Callback oriented programming habits learned in the browser with jQuery (etc.) have shown that Javascript lends itself quite well to that style of programming. Underscore has promoted a functional style.

Node.js seems to be more popular than forebears such as Twisted, presumably because of all those JS-in-the-browser programmers who can apply their callback habits to Node.

CoffeeScript is there for people who want a more expressive syntax. ... and just as people are coming around to the idea that JS isn't that bad after all, Google says "nah, it's irredeemable"

Re:And when JS suddenly seems viable (2)

Sancho (17056) | more than 2 years ago | (#37398468)

Whether or not Google's problems with Javascript are reasonable, it's perfectly understandable that now is the time that they would start caring so much about the future of JS. We're starting to really push the envelope, and when you do that, the shortcomings often rear their ugly heads much more dramatically.

Dart or Dash? (2)

Eraesr (1629799) | more than 2 years ago | (#37398246)

So what is it going to be called? Dart or Dash? The email refers to it as Dash while the older articles refer to it as Dart. It's going to be Dash then, I assume, if Google internally refers to it as Dash?

Re:Dart or Dash? (0)

Anonymous Coward | more than 2 years ago | (#37398268)

um ... we'll find out soon enough? who cares?

Re:Dart or Dash? (0)

Anonymous Coward | more than 2 years ago | (#37398312)

"Dash" is already taken --- the debian replacement for /bin/sh that is mostly compatible with BASH.

Re:Dart or Dash? (1)

I'm Not There (1956) (1823304) | more than 2 years ago | (#37398320)

So what is it going to be called? Dart or Dash?

It seems that it used to be called Dash, but was later renamed to Dart [2ality.com] .

Re:Dart or Dash? (0)

Anonymous Coward | more than 2 years ago | (#37398392)

They should've named it Kart.

Then eventually we'd have a new web dev framework created, with Go on the backend and Kart on the front end, and call it Go-Kart.

Re:Dart or Dash? (1)

camperdave (969942) | more than 2 years ago | (#37398458)

So Go-Kart can be run on either Gnome or KDE?

Re:Dart or Dash? (1)

bigredradio (631970) | more than 2 years ago | (#37398824)

How about SHart? See if you play around with the capitalization, it doesn't look so bad.

Moving (-1)

Anonymous Coward | more than 2 years ago | (#37398326)

Really interesting and valuable reading.I am quite informed now!Thanks!

Moving Service [londonremovals.net]

Brightly (2)

I'm Not There (1956) (1823304) | more than 2 years ago | (#37398368)

Forgot to mention Brightly in my submitted story! This part is FAQ of the email is interesting:

How does this affect our cloud IDE (Brightly)?

Brightly will enable building any web application in V1 using today’s Javascript plus the additions in Harmony. As soon as it is ready, Brightly will support Dash as well. We expect that the more prescriptive development aspects of Brightly that will come on line in the future will be more Dash focused.

We expect Brightly itself to be the first application written in Dash.

Does Backwards Compatibility Matter? (2)

OG (15008) | more than 2 years ago | (#37398396)

The whole point of the "type" attribute in the script tag is that a browser can support multiple scripting languages. The introduction of Dart wouldn't necessitate dropping JS for the browser, but if other browsers implemented it (or Google created extensions for other browsers), it would provide an alternative.

Re:Does Backwards Compatibility Matter? (1)

icebraining (1313345) | more than 2 years ago | (#37399258)

Backwards compatibility is not just browser support, it's also the hundreds of JS libraries that don't exist for Dash/rt. It would be nice if it was designed to be interoperable with existing codebases.

Makes sense (4, Interesting)

Concern (819622) | more than 2 years ago | (#37398398)

Javascript is something of an accidental success. As with many languages before it, its users valiantly cope with its flaws and do their best to dress up the squalor they live in, but it's not funny for Google anymore. They have to develop, maintain, and test one of the largest JavaScript codebases in the world, and the it's-the-90's-and-I'm-high-on-cocaine-at-4am-and-it's-due-tomorrow scripting language design philosophy is not helping them. In fact the story of the last few years has been the quiet proving out of the "extra keystrokes for correctness" paradigm, from simple assertions (including "type assertions" aka good old fashioned strong typing) to unit tests to highly complex integration tests of harrowing complexity.

If I understand correctly, Google already writes much of their JavaScript in an intermediate language that adds certain features. They have long needed a compile step anyway for compression/"obfuscation" and I suspect it was a natural outgrowth of that. This appears to be another step in the evolution of that development pipeline.

There are many interesting developments brewing in the browser these days. I wish the browser guys luck, because I think have just a little longer to get their act together before the world gradually changes out from under them, and a purpose-designed, clever, far more powerful platform, such as Android or iOS, might actually start to change the web browser's position in the computing ecosystem. A modern scripting language is only part of the price of admission to staying relevant as a platform.

Re:Makes sense (1)

dingen (958134) | more than 2 years ago | (#37398706)

Javascript is something of an accidental success.

Just like PHP, MySQL, Apache, HTML, Linux, the web or the internet itself for that matter. The technology of the web is a giant happy accident and it's really quite amazing it all seems to work as decent as it does.

I'm not saying this situation is perfect and improving upon it would be bad. I'm just saying Javascript isn't any worse than all the other popular technology that makes the web tick.

Re:Makes sense (1)

Concern (819622) | more than 2 years ago | (#37399066)

It is worse. Quite a bit worse than emerging alternatives. So much worse that the web could become gradually marginalized as a rich client platform if it isn't replaced. But don't take my word for it. Google has said so as well, and they know a thing or two about client-side scripting. PHP was originally quite simple in implementation, but it was purpose designed from the very beginning for its primary use to this day - a scripting and template language for dynamic website development. MySQL was directly intended for data storage - which is still all we use it for. Apache - a web server. OK, subversion tried to use it as part of their network layer, and look how that ended. :) Linux - an OS kernel with a Unix heritage. Android and iOS have been cleverly and purposefully designed to be rich client platforms - they already do more than what HTML5 hopes to achieve, and better. Companies are not making mobile web sites - they are making mobile apps, and these platforms are growing quickly enough that "mobile" is going to be a term that dates you after the end of the traditional desktop OS, when these new platforms become so ubiquitous as to erode the distinction.

Javascript and HTML clearly and obviously did not have the current rich client feature set in mind at their creation. That evolved over the many, many years. Worse, Javascript is just not the best scripting language to begin with. Even without being doctrinaire about whether certain kinds of dynamism have stood the test of time as good elements of language design, among similar scripting languages, there are just better alternatives than Netscape's mid-90's little sideline improvisation. The entire first era of Javascript involved implementations so poor, unstable, and limited that they were barely adequate to implement image rollovers. Even the most basic features that led to "Ajax" - anything resembling network IO - came years later and were pioneered by a different team at a different company - Microsoft. And it took even a few more years before anyone had the audacity to use it for i.e. Google Maps - in no small part because of how poor the platform was, and how different it was from the original intent of the creators.

Re:Makes sense (1)

slim (1652) | more than 2 years ago | (#37399342)

I know it's a bit pedantic to distinguish between the DOM and Javascript, but I think it's important to do so here.

One of the ways "Javascript: The Good Parts" made JS look OK, was to exclude the DOM from the book altogether. Most people seem to agree that the DOM is a bit of a mess.
One of the things that makes jQuery popular is that it wraps the DOM's methods with something altogether more usable and consistent across browsers.

Your image rollovers example, for example, to me seems all about the DOM and little to do with Javascript itself.

XMLHttpRequest ("the most basic feature that led to AJAX") shouldn't be viewed as a language feature; it's an object prototype provided by the browser. (There's no XMLHttpRequest in node.js -- except as a third-party module)

This is important because if Dart uses the old DOM API, then it's inherited one of the worst aspects of what it seeks to replace.
If Google comes up with something new to replace DOM, then it would seem churlish not to provide Javascript bindings to that -- but that would make a whole new language seem superfluous.

Re:Makes sense (1)

w_dragon (1802458) | more than 2 years ago | (#37399162)

All the things you list there have either full standards specifications or high-quality documentation. To me that is the thing missing from javascript.

Re:Makes sense (1)

daktari (1983452) | more than 2 years ago | (#37398860)

before the world gradually changes out from under them, and a purpose-designed, clever, far more powerful platform, such as Android or iOS, might actually start to change the web browser's position in the computing ecosystem

the horror...the horror!

You make a lot of good points though.

What exactly is wrong with javascript? (1)

dirtyhippie (259852) | more than 2 years ago | (#37398406)

It seems to be taken as a given in this document that Javascript is unusable.... But there is no explanation of why this is the case (except perhaps for google's business needs) - what exactly is the problem with it? Performance is quite good these days thanks in large part to google's chrome folks. Few languages are easier to use, but it is still quite powerful.

Re:What exactly is wrong with javascript? (1, Informative)

juancn (596002) | more than 2 years ago | (#37398534)

There are a few things wrong with it. Which do not matter much for small-ish code bases, but tend to be a pain for larger products. For me most revolve around the interpreted nature and the lack of types.

Off the top of my head:

  • Performance: Current javascript engines are as fast as they get for an untyped language. There isn't much more you can do to speed it up. Even optional type annotations would open a large number of potential optimizations.
  • Tooling: For large projects, not having much type information is painful. Refactoring code becomes a guessing game (some tools do it better than others).
  • Load time: You have to compile javascript each time a page loads. This adds some latency that could be minimized with a proper
  • Lack of integral/decimal numbers: This might not seem like much of a problem, but handling money with only floating point numbers is painful. Also, things such as WebGL would benefit from having better ways to deal with raw data.

Don't get me wrong, Javascript is a great little language, but it is by no means perfect.

Re:What exactly is wrong with javascript? (1)

juancn (596002) | more than 2 years ago | (#37398548)

  • Load time: You have to compile javascript each time a page loads. This adds some latency that could be minimized with a proper binary format

Pressed "post" too soon.

Re:What exactly is wrong with javascript? (0)

Anonymous Coward | more than 2 years ago | (#37398616)

I'd add lack of concurrency support. While Javascript is often used in a heavily event-based environment, there is no language support for actual concurrency and everything is implicitly single-threaded. Existing code heavily relies on the single-threadedness.

Re:What exactly is wrong with javascript? (1)

slim (1652) | more than 2 years ago | (#37398744)

... and node.js makes a virtue of single-threadedness. Maybe that's something to hold onto.

Re:What exactly is wrong with javascript? (1)

Ruliz Galaxor (568498) | more than 2 years ago | (#37398776)

If you calculate money in cents, you only need integers. This is valid for many programming languages by the way and can be applied in almost all situations.

Re:What exactly is wrong with javascript? (0)

Anonymous Coward | more than 2 years ago | (#37399194)

1. Most financial/accouting software needs to handle fractional cents.
2. If you are dealing with multiple currencies, it becomes very difficult to do it using only integers.

Re:What exactly is wrong with javascript? (1)

slim (1652) | more than 2 years ago | (#37399382)

... until you need to deal with half a cent.

Or apply 1.3% interest to an account balance of $100.34 ...

Re:What exactly is wrong with javascript? (0)

Anonymous Coward | more than 2 years ago | (#37399106)

just to add to the list, use of the prototype object does not lend itself very well to subclassing, which is very problematic when you are trying to develop re-usable code. I find javascript classes get more and more bloated the more times I attempt to re-use them within a project.

Re:What exactly is wrong with javascript? (0)

Anonymous Coward | more than 2 years ago | (#37398564)

The problem with it is that the DOM got a bad rep due to lack of standardisation during the browser wars and fools confuse these problems with javascript itself. That despite being powerful and (as you point out) fast, it doesn't keep a legion of Google staffers (python and Java programmers) employed reinventing the wheel. Microsoft will doubtlessly release their ownlanguage and Apple too. Dash, dart, damp fart... doesn't really matter what google call it.

Someone on here once called javascript the idiot savant of programming languages. It has its flaws but I've grown to like it and certainly prefer it to java, python, ruby and other crap people have variously suggested adding to browsers over the years. For a language with such a haphazard backstory, it's a hell of a lot cleaner than Googles Go.

Re:What exactly is wrong with javascript? (1)

ErroneousBee (611028) | more than 2 years ago | (#37398610)

Theres a few annoying quirks around the duck typing ( e.g. 01234 gets treated as an octal number, bloody stupid decision)

typeof is useless

The class system is a bit klunky, but I'd far prefer it to something like Java where OO mandatory and you soon end up abstractFactoryFactoryGetter'd up the wazoo.

There is no native include directive.

But most of the problems are with a certain browsers inconsistent use of the DOM, dodgy standards support and bizarre bugs that never get fixed.

Re:What exactly is wrong with javascript? (4, Insightful)

NoNonAlphaCharsHere (2201864) | more than 2 years ago | (#37398624)

Javascript is a language that combines the type-safety of Perl with the object paradigm of pre-ANSI, pre-STL C++, the power and expressiveness of Visual Basic, the ambiguity of HTML, and the readability and maintainability of C.

Microsoft Anyone? (-1, Offtopic)

Anonymous Coward | more than 2 years ago | (#37398410)

Embrace and extend. Anyone remember that?

More than one dart needed (1)

Superken7 (893292) | more than 2 years ago | (#37398596)

The language can be as great as you want. It doesn't matter if it is not supported by _all_ major browsers out there. Javascript support is probably less broken than CSS support, and you can do something and expect it to work in most browsers, most of the time. It took a long time to get there. The community is starting to build up, even using the language for server-side stuff (node.js).

When introducing a new language, don't just tell me how awesome it is, tell me your long-term plan on how and why most people should be willing to support it, why they should transition to a new language and support two languages at the same time, what is going to happen to the .js web, and why devs should port existing and working stuff to a new language. Sometimes its difficult to "evolve" a single component of a huge system, which will kinda break it, instead of just replacing the whole system, which is by itself quite scary.

Of course, maybe they could use some trickery and have the language compiled to .js (in addition to having its own VM) just so legacy browsers can still load a dart app and run it as js.

But this sounds to me like saying people should switch to IPv6 because its much better than IPv4, only IPv4 addresses aren't running out in this case.

Re:More than one dart needed (1)

slim (1652) | more than 2 years ago | (#37398762)

Of course, maybe they could use some trickery and have the language compiled to .js (in addition to having its own VM) just so legacy browsers can still load a dart app and run it as js.

This is exactly what they are doing.

Google's next canceled project (1)

anyaristow (1448609) | more than 2 years ago | (#37398606)

And why should I put in any effort learning about this when they'll probably cancel it?

Embrace, Extend and Extinguish? (1)

140Mandak262Jamuna (970587) | more than 2 years ago | (#37398656)

So Google will "extend" javascript with more capabilities for the supported browsers while other browsers would get a less than optimum solution. Because of the increasing market share of Chrome, all others would be forced to start supporting Dash and perpetually play catch up. If Microsoft did this, (and it has), we all would be shouting E, E & E, (and we have).

Re:Embrace, Extend and Extinguish? (1)

Ruliz Galaxor (568498) | more than 2 years ago | (#37398798)

Really? IE supports VBScript, but I can't remember Firefox, Webkit or Opera having support for it.

what happend to "GO" as java alternative? (1)

peter303 (12292) | more than 2 years ago | (#37398700)

Google has a history of homegrown languages. If few elsewhere in the world dont adopt it, then its not going to prosper.

need a common language interface (1)

XiaoK (1468565) | more than 2 years ago | (#37398716)

Something should be done like .NET CLI. There should be a common language interface for web client scripting languages, and Microsoft, Google etc could each make their own languages so long as they have compatible type systems and compile in to the same byte code. To my mind this would be a huge win for everyone. Why does the web have to be stuck with one crappy scripting language? Also, its sad that Microsoft seems to have abandoned any desire to be a leader. Are they just going to let Google dictate the future of the web?

Don't panic (1)

ByteSlicer (735276) | more than 2 years ago | (#37398732)

From the horse's mouth:

Why are you killing Javascript?
We are not! Google has a huge interest in keeping the evolution of Javascript on track. In fact, our investment in TC39 (the Javascript standards body) will likely increase somewhat, and we will continue to honestly and whole-heartedly improve the language within the constraints.

Besides, Microsoft will fight this all the way.

YOU'RE KILLING ME, SMALLS! (1)

idbeholda (2405958) | more than 2 years ago | (#37398802)

I can't wait to see this in action., but they should stop teasing us and at least release an example of what kind of coding scheme to expect.

It doesn't matter (2)

optymizer (1944916) | more than 2 years ago | (#37399126)

All languages are syntactic sugar for the IR code that gets generated. Fundamentally, all compilers translate from a Source language to a Target language (machine language in a lot of cases).

Whether the compiler checks that the types match, that there will be overflow, that you're doing signed vs unsigned comparison - it's up to the compiler and its developers. Clearly, one compiler can have more features than the other one. To access those new features, the compiler needs to see syntactic constructs in the source code. If you can't extend Javascript (or it's not feasible, or you just don't want) to incorporate those syntax changes, you can always develop a new language, such as Dash (or Dart?), with the risk that it will fail, but with the opportunity of fixing the bad things in Javascript and add the features that you want.

This is just a natural way of language evolution (in the broad scope of translating source code to machine code). You can't anticipate all the requirements of the future, so you design a language that solves all previous problems (or a relevant subset) and the current ones. In time, it will become obsolete, as people will build on top of your language to solve the problems they'll face at that point in time.

Obviously, everyone hates change. I say: Give it a shot! At least don't dismiss it till you've looked at it and figured out how it may or may not help you. If it doesn't, stick with what works for you. If it does, hey, you're now better off. Chances are, people aren't wasting their time to develop a new language, unless it solves someone's problem (their problem, your problem, everyone's problem - depends on the goals of that language).

I, for one, always welcome a new programming language, just to see what it brings to the table.

I suppose they threw out Python (0)

Anonymous Coward | more than 2 years ago | (#37399184)

for obvious reasons:
- it doesn't have an elegant syntax
- it has a poor standard library
- it is not cross platform
- it is not open source
- it cannot be used on both sides of the app (client+server)
- it is not a functional language
- and neither an OO language

Maybe it's not so bad after all. [X]HTML/CSS is so crappy that I'm not sure any Python code would accept to run inside a browser.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?
or Connect with...

Don't worry, we never post anything without your permission.

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>