Google To Introduce New Programming Language — Dart 250
An anonymous reader sends this excerpt from El Reg:
"Google has built a brand-new programming language for 'structured web programming,' one that appears to be suited to browser-based apps. Two of the search giant's engineers will discuss Dart, Google's new language, at the Goto international software development conference next month. News of the new language was posted to the Goto website. There aren't yet any technical details on Dart but the bios of the two Googlers presenting at Goto strongly suggest a bent towards programming for the web and browser."
Great, another fucking language to learn (Score:2)
What's that make now, over two dozen different languages for web development, with ludicrous levels of overlap? Great, now things can get even MORE complicated. And, of course, MS and Apple won't adopt it--making it real useful, just as long as all your visitors happen to be using Chrome or some future version of Firefox.
Re: (Score:3)
Hey, this could finally be the web language that isn't a kludge or poorly designed. Those other 22 could all go away.
Trouble is, we don't know - this article is a worthless waste of time until it's actually released or detailed.
Re:Great, another fucking language to learn (Score:5, Funny)
Those other 22 could all go away.
https://www.xkcd.com/927/ [xkcd.com]
You think?
Re: (Score:2, Insightful)
Is it sad that I don't even have to click that link to know what is behind it?
Re: (Score:3)
Re: (Score:3)
Re:Great, another fucking language to learn (Score:4, Funny)
We already have a language like that, its called 'C'.
Yeah, but C is too C-like for most people's taste.
Re: (Score:2)
I love C, but as a web application language... It ain't great. If only because web development is where programers when they can't comprehend C.
> trollface, in b4 flamebait, etc
In all seriousness, though, C is a very general language to use for sure a relatively specific task. (As the difficultly of string handling vs the prevalence of string handling in web development make it particularly unsuitable.) A language specifically designed for the task, as designed well (I'm looking at you PHP!) would be
Re: (Score:2)
We already have a language like that, its called 'C'.
Why not assembly? C is a very minor step up from a good macro assembler. It's great for embedded work, DSP work (audio, video, etc), device drivers, and kernels but it seriously sucks ass for nearly everything else.
The big problem with C is not "too much thinking." That's the favorite strawman used against people who cirticize C. The real problems with C are that it's hopelessly verbose and the standard library sucks.
If you can't bring yourself to live under a virtual machine then check out one of the mo
Re: (Score:2)
Re: (Score:3)
Re: (Score:3)
Re:Great, another fucking language to learn (Score:4, Interesting)
This is what happens when a tech company gets too big and doesn't know what to focus on. Just like Microsoft used to do, they're releasing pet project after pet project after project, hoping one of them sticks.
Re:Great, another fucking language to learn (Score:5, Insightful)
I thought Google have been doing this the whole time, ie 20% projects. Nothing wrong with releasing the ones that come to fruition. It's not detracting from other parts of their business, and it's bringing cool stuff into the community - some of which might be really useful. Google are one of the companies that actually has a chance of making a replacement to JS "stick", though convincing MS would be a very tall order indeed.
Re:Great, another fucking language to learn (Score:4, Interesting)
I took a course that discussed personality profiles a little while back, and -- according to this class, at least -- the "creative" types tend to get really excited about a project, work on it for a little while, lose interest and abandon it in favor of the next project that comes to mind. This is a pretty good description of me, as my wife is fond of reminding me. I have a million things that I've started, gotten bored with and abandoned. A friend of mine once commented that techies seem to be borderline ADD; this theory could explain why. Whether you like Google or not, you have to admit they are pretty creative. If they have a culture that is lead by the creative, ADD types, you would kind of expect them to display this type of behaviour. The solution to this problem is to hire analytical/admin types who will drive the projects to completion rather than abandoning them when they get the next creative spark.
Re: (Score:2)
Yeah but at least they don't release them as finished products and charge $$$ for them..
Re: (Score:2)
This is what happens when a tech company gets too big and doesn't know what to focus on.
It seems to me that 3M [wikipedia.org] and Xerox [wikipedia.org], among other companies, made a decent living releasing pet project after pet project.
Re: (Score:2, Troll)
And, of course, MS and Apple won't adopt it
If the Dart language is intended to replace something like the buggy, slow and badly designed PHP language, I'm likely to give it a try.
In other terms, if Dart is to PHP what Chrome is to Firefox, that new language sounds promising.
Re: (Score:2)
If the Dart language is intended to replace something like the buggy, slow and badly designed PHP language,
I was rather hoping it was intended to replace the buggy, slow (although progress has been made), and badly designed ECMAScript language, which you may also know as JavaScript.
Re:Great, another fucking language to learn (Score:5, Interesting)
If the Dart language is intended to replace something like the buggy, slow and badly designed PHP language,
I was rather hoping it was intended to replace the buggy, slow (although progress has been made), and badly designed ECMAScript language, which you may also know as JavaScript.
JavaScript is not actually that bad compared to PHP. I know it can be used to create a complete mess, but in the hands of a competent developer it can be used to produce a decent end result.
PHP on the other hand seems to have hit a wall recently. I have to admit though I am a little jaded at the moment after a recent project exposing an existing PHP web application via web services. PHP has truly awful WSDL support, even if you try using the Zend Framework addons. Since more and more projects seem to involve some level of interworking with other systems that fact that PHP fail so badly in this regard is pretty inexcusable.
Just to explain why I am so jaded and not at all as a cathartic experience I am probably now going to rant about some of the issues :)
Firstly, the SOAP functions built into the latest verion of PHP only support rpc/literal WSDL. Since every other platform (.NET, JAVA, Axis2) wants document/literal this makes PHP only useful for talking to PHP.
Then you think Zend Framework might be better. Unfortunately although this lets you generate and expose WSDL2 files using document/literal, you cannot use them as a basis for your service. This means that you can't actually let anyone talk to the service without some awful compatibility layer that translates what a rpc/literal service would expect into document/literal by doing some crazy unravelling of arrays of parameters.
And then when you finally think you are done you discover there is a bug that means booleans are just broken and always get returned as false. You file a bug report but it looks like the maintainer of this part of the Zend Framework has died as he hasn't been on their bug tracker for months.
So I might have worked round all these issues and delivered a working service but it took far longer than expected and that costs money. For a server side language that is supposed to be an established heavy weight this is not acceptable. It's enough to make you learn .NET :)
Re: (Score:2)
So you want a new language because you're unhappy with the php libraries?
Re: (Score:2)
Re: (Score:2)
A single library has you hating the entire language?
PHP is fast, easy to develop on, widely supported and very well documented...
Yeah, you can make shit PHP code (and there's a lot of shit programmers out there), but that doesn't make PHP bad.
Can you name me an alternative to PHP that is as easy to work with, that is equally powerful and does not require a dedicated machine to run, or root access (as a web service)?
Re: (Score:2)
Well, it is not as if there weren't any alternatives before.
Re: (Score:2)
I can fuck in all languages !
Re: (Score:2)
PARROT!!!! (Score:2)
Re: (Score:2)
Re: (Score:2)
Is there even one mature language that runs on Parrot? (not brainfuck, etc.)
No. :D
Re: (Score:2)
So make it compile to Javascript for browsers that don't support it natively.
Personally I think it would be pretty sweet if Google made V8 support Coffescript natively, both in Chrome and Node.js. But if they were also to build in some of what they've got with Closure, they've got something.
Re: (Score:2)
Which reminds me of this: http://tech.slashdot.org/comments.pl?sid=2420678&cid=37352064 [slashdot.org]
Ok that was a bit harsh: he only beat you by one minute...
Standards (Score:2, Interesting)
Re: (Score:2)
Go (Score:3)
Re: (Score:2)
Yes. For example, Heroku is using it (http://www.theregister.co.uk/2011/05/05/google_go/), and you can also use Google App Engine with Go - http://code.google.com/appengine/docs/go/overview.html [google.com]
Re: (Score:2)
Re: (Score:2)
I wanted to use it but I can't find any ssl library or examples for it. The language syntax is easy, I write python and C++, and it is distributed by nature. I got the impression it was Erlang for those that don't want to poke out their eyes reading their own code. Anyway, a language designed specifically for distributed applications without an ssl library, IMHO, is useless.
Re: (Score:2)
Re: (Score:2)
-B
Another programming language? (Score:4, Interesting)
A new programming language create a huge problem, before start solving anything. And its that you lose all the work done with libraries. Everything. A new language is like a natural disaster that wipe civilization to the caves again.
People is doing a lot of cool stuff with Javascript. JS is starting to becoming a decent enough language to write code for the web!.
http://jquerysbestfriends.com/#slide1 [jquerysbestfriends.com]
Re: (Score:2)
I'll take a language that has strong support for subclassing, thanks.
People are doing some cool stuff with javascript - but I think it's in spite of the language, not because of it.
(claimer: I have to deal with JS every day)
Re: (Score:3)
Given that javascript is a classless object-oriented language, your comment really makes it sound like you haven't yet reached that A-HA moment about javascript.
Prototype-based inheritance is much much more powerful than any kind of subclassing I've seen on any class-based OO language.
Re: (Score:2)
Prototype-based inheritance is much much more powerful than any kind of subclassing I've seen on any class-based OO language.
Have you tried ruby? Or even Objective-C?
The only ah-ha moment I've had with JS is more like "uh-huh. So it's going to take a lot more work to do the things I like to do with a language with strong support for subclassing."
Maybe it's just that I like using the word super!
Re: (Score:2)
I've tried the grandaddies of all of them - from Simula to Smalltalk to C++ to rolling my own object systems with procedural pointers... hell, I've even used CLOS. Objective C and Ruby aren't that much different (object-model-wise) from Smalltalk.
Prototype-base inheritance is a different animal from class-based. It is more flexible, can handle certain situations that cannot be handled elegantly in class-based inheritance (even with multiple inheritance and/or aspects). If you truly don't understand the adv
Re: (Score:2)
I wouldn't call it terrible--just low-level. Building on top of it (or finding a package that already has) is the right idea. Re: the grandposter, JS lets you subclass; not sure how much stronger support you might be looking for there.
Re: (Score:3)
Re: (Score:2)
Corporate languages like .NET, Java, ObjC and now Go are here to create barriers of exit and lockins, ...
So someone understands. ;-)
Actually, that wasn't really true with Java. The gang at Sun did it first as an internal, embedded-controller language, with the ability to download components the first time they were needed, on-the-fly, from a server. The news got out, others got interested, and Sun's response was a serious effort to make it easily available to everyone. This was especially useful after we realized that Java was a good networking tool. Sun kept legal control, because they were well aware
Re: (Score:2)
Node.js is awesome. :-OOOOOOOOO
Theres even something that work like apt-get to install new libraries and apps. Stuff like FilePad make me go
Re: (Score:2)
Javascript need not promoting. Is the standard language to write on the web, you can't use anything else even if you want.
What you could do, is write Javascript with Lips, C++ or VB styles. It will still be Javascript, but it can look like C++ or C or VB if you want to.
Life for webmasters used to be miserable, back then, with IE6 and Netscape 4.61.
Re: (Score:2)
That's what ya call a straw argument. No one claims it solves all. In fact, anyone claiming one language is a 'solves all' isn't thinking deeply enough.
But his point is good. There is an absolute shit-load of good quality JS code in libraries and it is not quite as simple as simply renaming stuff. A display can be reached using two incompatible approaches making the integration into your application code inte
Re:Another programming language? (Score:5, Interesting)
So you wannabe coders keep saying, all of javascript is documented on google searches, its so easy to copy paste those functions and input your own field names and just seem them work.
Well, I've lately been experimenting with HTML5 canvases, which involves a lot of JS, and I've found that it isn't always quite that easy. Yes, there are zillions of examples that do cute things in a canvas. But they all seem to be made up of lots of hard-coded numbers that aren't explained anywhere in any coherent fashion. So to use them to draw your figures, you spend long hours tweaking the numbers, trying to grok what the relation might be between the numbers and what appears on the screen.
Similarly, there's lots of online HTML5 docs on zillions of sites, but it all seems to involve "handwaving", i.e., it describes what's going on in a "10-km view" fashion, using lots of undefined terms. When you try googling those terms, you find that you're searching through millions of ghits that are mostly about totally unrelated topics that happen to use the same words (with different meanings).
So you try asking in a forum. And you find that there are zillions of HTML5 forums, each of which has maybe 2 or 5 messages per month, and the people (or person ;-) there are oh-so-friendly, but don't quite know how to answer your question. You try asking in multiple forums, and it takes forever, due to the fact that people don't like usenet any more; they prefer zillions of forums, each of which has its own GUI that takes days to learn to use effectively.
The "cargo cult" (google it) approach to web programming is widespread. But it can be a recipe for a very long, slow, drawn-out process of coming to some partial understanding of WTF is going on in the code that doesn't quite do what you need, and responds bizarrely to tiny tweaks. Getting downloaded code to do what you need done can take up a rather large chunk of your lifespan. And you are forever plagued by bugs due to your lack of understanding what it does in cases that you haven't tested.
The only way to produce code that actually works correctly is to understand (in every detail, to the bit level) all the things you're working with. Cut-and-paste sounds like a useful idea, but it's much of the reason for the widespread coding disasters that we're plagued with.
Learning to use "New! Improved!" Web tools has a history of being a lot like swimming in molasses. The intro examples look cool, but doing anything even slightly different from the examples tends to lead you down a maze of twisted passages, all alike. So there are reasons to be skeptical of this one, until we've seen some evidence of what it's like, and how much of a time sinkhole learning it will be.
Re: (Score:2)
See... that's the difference, so you have a bunch of hard coded numbers you don't know off the web, you just copy pasted your code... what now, it's useless. So... play with the numbers, alt + f5 is your best friend, and figure out what they do by changing them, I don't mean to give off the impression to copy paste code w/o understanding, but in the end all blocks of code are are inputs/outputs. I've used business tailored string parser functions off the web that probably took days to write and are illegi
Re: (Score:2)
Writing glue code is not much fun, though.
Re: (Score:2)
Is it true that old, worn-out programmers get sent to the glue code factory?
It may be older than dart, but... (Score:3)
It may be older than dart, but I think I'll stick with C. ;-)
Admittedly, most of my programming these days is number crunching rather than web apps.
Re: (Score:2)
Then you should consider using Fortran (version >=95). I find it much better than C for this kind of work.
So what does this do different? (Score:5, Insightful)
I'm kind of confused as to where google is going these days.
Is this just a side effect of hiring too many bored CS graduates -- put enough in a room together and they come up with their own languages?
I just can't see this being used outside of google -- Web Programming is largely a solved problem, and there are already a plethora of options. Since MS and Apple won't touch anything that comes out of Google, it'll only ever be relevant on the server side -- which is where there are already too many options.
Unless this does something radical -- and judging by what Go was, I doubt it -- this will probably be a niche thing they use internally.
Re: (Score:2)
I recall reading that developers at Google are allowed to allocate something like 20% of their time to side projects, regardless of whether or not it's "useful" (because really you can't always predict when some widget, technique or acquired knowledge will come in handy.)
Dart may not be for anyone outside of Google (or inside for that matter), but it's there if and when you need it to do something. *shrug*
Re: (Score:3, Insightful)
Web Programming is largely a solved problem, and there are already a plethora of options.
Business programming was largely a solved problem, you could choose between COBOL and Ada.
Even if the new language isn't used widely, its features might creep into existing ones and improve them (see MS Research, Haskell and C# 3.0+).
Re: (Score:2, Insightful)
As someone who has had the misfortune of doing web programming for the past 5 years, after a decade of systems programming I can say that Web Programming is very much NOT a solved problem. At least not in the commercial world. The leading Java and .NET web frameworks are horrible to use.
A new language may not be needed, but programming for the web is already enough of its own beast that using a new framework in an existing language is already basically like using a new language.
I, for one, truly hope Dart i
Simplicity is key (Score:2)
Any DART jobs listed yet? (Score:4, Funny)
10+ years experience needed, of course.
Re:Any DART jobs listed yet? (Score:4, Insightful)
Re: (Score:2)
Short Circuit Evaluation (Score:2)
All HR sees, or keyword filters is: 10 Years experience with Java
Re: (Score:2)
Wow - that looks like every job I saw during my last job search. Since I couldn't figure out what was actually part of the job, I just gave up applying.
lets jump on a Google Wave and discuss it! (Score:3)
oh wait ...
And then (Score:2)
I was hoping Javafx would fill this role (Score:2)
I'll give it a chance (Score:3)
Re: (Score:2)
Re:please please please (Score:4, Insightful)
Because not liking JS makes you look cool?
I take the Stephen Stills' approach to programming language: If you can't be with your dream programming language, just use the one you're with. :)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Another one I see is not using method="get" on a form, and instead having a
Re: (Score:2)
Cause I like javascript and I wanna hear why others don't?
I speak as somebody who came from a Java background when I first look at JavaScript. It just felt like a toy language, and I think the main things were no static typing and lack of support for things like namespaces.
Granted, there's a big divide between the dynamic typing and static typing folks, so some of it is a matter of preference.
Re: (Score:3)
Cause I like javascript and I wanna hear why others don't?
Global-by-default-unless-declared for variables is a recipe of disaster.
Scoping rules are fubar. If I declare a "var" inside a pair of curly braces, it should only be visible in those curly braces - not outside of them, and most certainly not before the line it is declared at! Every other curly brace family language which has explicit variable declaration does it that way, but not JS.
Syntax for lambdas is overly verbose - not only there's no expression form, so you have to write "return"; but "function" its
Re: (Score:2)
I can tell you've replaced a few vacuum tubes in your time.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Enclosures grabbing any variable in scope and keeping them around is a major pain.
I've been doing perl now for a while (~10 years or so). And closures grabbing any variable in scope (that is actually mentioned inside the closure) is a godsend. I can't imagine another way. That sounds like a feature, not a pain. (As to your other points, I don't do JS/ECMAscript, so I can't speak to them.)
Re: (Score:2)
Referenced by your closure is a good thing, but Javascript grabs every variable in scope and makes it available inside your closure leading to unpleasant memory leaks galore.
Re: (Score:3)
A few things, off the top of my head:
Re: (Score:2)
You need 3rd party libraries to clone an object.
Re: (Score:2)
ASI is garbage... and you're right so I personally don't use it.
I haven't been bit by scoping rules too many times, I think that's mostly because I don't write JS like it's C or Java.
I honestly never ever use octal. Either decimal or hex. That is a valid gripe but a small one.
The === vs == operator thing is dumb, but hardly as dumb as PHP's situation, and honestly in all the lines of JS I've written, I've never had to u
Re: (Score:2)
http://markmail.org/message/uro3jtoitlmq6x7t [markmail.org]
So there's hope.
As for why one wouldn't be estatic over javascript, there are many good reasons in that email, many others in The Good Parts book.
There's always room for something better, while not denegrating the existing.
Re: (Score:2)
Re: (Score:3)
Pretty much. What's there to say? Until there are details, all we know is that Google has a language called Dart.
Re: (Score:2)
Cynical geeks are so Millenial.
Re:"There aren't yet any technical details on Dart (Score:4, Funny)
So it's a PHP derivative then.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Every time I hear a manager say "That's not hard to do is it?", you should be able to do that in a couple of minutes, I cringe.
I believe we have the same boss.
Re: (Score:2)
Who cares how their lawyers "feel" about a dictionary word that's marketing a structured programming language, not a software package, that no one in the market will be confused by? Nobody, except maybe some other lawyers looking for more gravy.
Re: (Score:2)
Probably the same way that Frank McCabe feels about 'Go':
http://www.informationweek.com/news/software/soa_webservices/221601351 [informationweek.com]
Re: (Score:2)
I'm not sure it's such a great name. In the immortal words of Edsger Dijkstra, "Goto considered harmful".
Re: (Score:2)
Go Two
It's Go version 2.0, dur.
Re: (Score:2)
Is Google really lumping C and C++ as "C/C++"? That was an easy way to troll comp.lang.c last time I checked.
Re: (Score:2)
If you allow the use of a C++ compiler, you can write code in pure C or C++. Hence, C/C++. But then, it's never been particularly hard to troll a Usenet group.