static methods, inability to add behaviour to base objects, no metaclasses It's early days, and they haven't presented yet, but son I am disappoint. I guess I'm not super-excited about it because I was expecting something revolutionary, but when you think about where they're coming from, it was to be expected. Lars and co are simply building on V8, so it makes more sense that Dart is some sort of improvement on javas…
Dart language
431–440 of 504 posts
Re: Dart language
#432Earlier quoted context omitted.
re: brand new: fine, wait until it isn't brand new re: lock in: I'd think Mozilla isn't really locked in as long as there is a cross-compiler. If you decide the the code bloat isn't worth the speed improvement (for the sites that run dart code), yank the VM and no harm done re: opportunity cost: well the code from Google can be dropped in, unless you really feel the need to rewrite your own version. re: "free lunch t…
You seem new to software. Every addition costs. The 2nd scripting engine in particular. Mozilla went through this to no avail with CPython several years ago. I paid Mark Hammond to do the integration work. It was a constant source of bugs and overhead, and without CPython distribution on Windows, and sane versioning on Mac and Linux, no one used the non-JS code paths save ActiveState in Komodo. WebKit is supporting P…
For now, I see DART as a proof of concept kind of thing and it definitely should /not/ gain widespread support any time soon. No matter how much money Google will throw at it.
Re: Dart language
#433Earlier quoted context omitted.
re: brand new: fine, wait until it isn't brand new re: lock in: I'd think Mozilla isn't really locked in as long as there is a cross-compiler. If you decide the the code bloat isn't worth the speed improvement (for the sites that run dart code), yank the VM and no harm done re: opportunity cost: well the code from Google can be dropped in, unless you really feel the need to rewrite your own version. re: "free lunch t…
You seem new to software. Every addition costs. The 2nd scripting engine in particular. Mozilla went through this to no avail with CPython several years ago. I paid Mark Hammond to do the integration work. It was a constant source of bugs and overhead, and without CPython distribution on Windows, and sane versioning on Mac and Linux, no one used the non-JS code paths save ActiveState in Komodo. WebKit is supporting P…
Regardless, I'll leave your words to speak for themselves without further debating. I'll admit I'm a tad disappointed at the level of defensiveness and name calling (of both your competition and of those you debate with), though.
Re: Dart language
#434From whatever little I see, I am already hating it :-) This looks like Java for Javascript, if that makes any kind of sense. We are in the year 2011, PL design has progressed so much since 1990 that such an anachronism is unpardonable. I sincerely wish that companies like Google focus on hiring the right kind of person for designing programming languages. What is frustrating is that there are so many people who can d…
It sounds like there's a lot of PL innovators † here on HN, who value new technology for its intrinsic value, rather than for its benefits. I would expect PL theory to deliver great benefits at about the same rate as for other fields, e.g. that pure mathematics does for physics - some of it does; though it's common for it to be reinvented independently by people trying to solve specific problems. BTW: Notwithstanding…
The issue is whether the interfacing technique adds in non-essential coupling. A technique that has at least the constraints of another technique will also have trivially have at least the non-essential coupling of the other technique.
Types add constraints, thus increasing coupling (and decreasing modularity).
Although types have benefits. And direct modularity is seldom the only concern. I.e. Correctness and reliability also enhances modularity in an indirect way - an erroneous module definitely decreases modularity.
Re: Dart language
#435Earlier quoted context omitted.
someString.append(System.getProperty("line.separator")); vs some_string += "\n" Edit: Someone's in disagreement with me, so I'll try and clarify. I'd classify boring code as code where the intent gets lost in the syntax/language or other constructs the maintainer of the code doesn't care about but are required anyway. Trying to open and read a file in Java is probably a better example as the intent (open this file an…
Well, for one you can probably make your own "+=" for strings, if not available, since Dart has operator overloading. Also, System.getProperty("line.separator") does not translate to n"\n". The first makes your program more portable. Of course it could be made accesible easier, eg as a constant System.NEWLINE or something. [UPDATE] Downvote? Really? Because someone thinks "\n" is the same as "line.separator"?
Re: Dart language
#436Earlier quoted context omitted.
I might not get the joke. Do you mean this ironically? There sure is reason to have different programming languages, and it's called specialization (see: necessary engineering compromises). My first comment says: two objects having the same generic functionality, does not mean that one and the same object can implement their specific (non generic) functionalities. My second comment says: the same thing, basically.
I mean that (programming) language is a special kind of object that has enough versatility to express any idea in a reasonable form. Historically, our programming languages weren't that good in versatility and made various utterances an universally agreed on pain. But we are getting better and there is no law in the universe saying that we'll be forever stuck in Babel. To some extent, your point is that Shakespeare i…
Well, we're not yet to the point that barrier between systems and web programming languages to be eliminated. You seem to imply that the problem is the inflexibility of the languages, but to me it's not a problem, it's a feature: I want different abstractions to work in different problem domains (e.g. systems vs web). So it's not that the languages are not flexible enough, but rather that we, as language designers and users, have MORE flexibility, to use a different tool for a different job.
Also: yes, Shakespeare is better in English than in its German translation. And it's not just the language, it's also the cultural universe that Shakespeare presupposes. For business use, maybe, but for culture I don't like universal languages, network effects be damned. Life is too short to reduce world languages and communication to a lowest common denominator [and that is inevitable, because any wannabe universal language will lack the historical and cultural ties and shared substructure of any particular population).
Re: Dart language
#437Earlier quoted context omitted.
You seem new to software. Every addition costs. The 2nd scripting engine in particular. Mozilla went through this to no avail with CPython several years ago. I paid Mark Hammond to do the integration work. It was a constant source of bugs and overhead, and without CPython distribution on Windows, and sane versioning on Mac and Linux, no one used the non-JS code paths save ActiveState in Komodo. WebKit is supporting P…
I have no doubt that there would be a cost associated with hooking in Google's code. And I'll take you at your word that it's not NIH, even though a casual reader might guess that you might be a bit more personally invested in Javascript than you'd be in the various things that, say, WebM seeks to replace. Regardless, I'll leave your words to speak for themselves without further debating. I'll admit I'm a tad disappo…
As for defensiveness, that looks like your department.
Re: Dart language
#438Earlier quoted context omitted.
You don't need to cast in Dart. Dart is not Java. It has concise closures as well. It has dynamic types. Javascript has problems. If it didn't, no one would be trying to evolve it and address it's weaknesses. The language had serious weaknesses, some of which were addressed recently (TypedArrays, strict mode, etc) and some of which there is no current fix (consistent, standardized, namespacing and modules), and some…
Sure, jQuery is bad at scale. And by "scale" I'm not talking pageviews, I'm talking features, development team, etc... For that, modular libraries like YUI and Dojo are the answer. You can create some of the most advanced web applications perfectly fine in JS as long as you approach it correctly. P.S. Don't ever use the term "klocks" unless you want to sound like a enterprise middle manager who hasn't touched code in…
P.S. Snide remarks such as that make you sound like a junior programmer who thinks he knows everything. Just a friendly tip ;)
Re: Dart language
#439Earlier quoted context omitted.
That's not true. Go, Python, Ruby and Scala all have optional semicolons without insanity. It's just that JavaScript's specific semantics for semicolon insertion (instead of newline elision!) are batshit crazy.
And pretty much all functional languages get by just fine without semicolons (Lisp, ML, Haskell, etc).
Re: Dart language
#440Earlier quoted context omitted.
You don't need to cast in Dart. Dart is not Java. It has concise closures as well. It has dynamic types. Javascript has problems. If it didn't, no one would be trying to evolve it and address it's weaknesses. The language had serious weaknesses, some of which were addressed recently (TypedArrays, strict mode, etc) and some of which there is no current fix (consistent, standardized, namespacing and modules), and some…
I read a bit more into Dart, its optional typing is very interesting. I might even like that if it were a change to Javascript itself. Of course Javascript has problems, every language has problems associated with it. They all have strengths and they all have weaknesses. From what I've seen, projects like GWT, Dart, and Coffeescript come out of communities of developers other then the web development community. GWT a…
You didn't address any of his points though. Where are the great Javascript tools and IDEs? There are tons of them for languages with static typing and classical inheritance.
Here's just one tiny example: Compare how you go about refactoring code (renaming classes, functions, etc) in Javascript with the many ways that it may be done in Java or C#.