Live data from Hacker News

Dart Is Not the Language You Think It Is

programming.oreilly.com

141–143 of 143 posts

Re: Dart Is Not the Language You Think It Is

#141

Earlier quoted context omitted.

Thanks for explaining the process. I like Google's evolutionary approach, but it sounds chaotic to someone like me from a Microsoft background. The top down command hierarchical structures appear to be losing all over to the networked evolutionary approaches, so I have no complaints. But I wonder, does that mean someone inside Google could use TypeScript? This might be a blind spot. Also, I meant it will be interesti…

Believe it or not, there's some internal projects done in LISP and Haskell. Obviously there are limits to what you can do. If you work on some new big customer facing project, it's a lot harder to get a big team of people to agree to use Haskell, but if you are working on a 20% project, it's a lot easier to just use whatever you want. With Google production servers, there's only a few "approved" languages. I can't ju…

I worked in Dart for a few months and loved it, but recently had to look for something else for older browser support. I started writing code in TypeScript a few days ago and, face palm, why didn't anyone think of this sooner? Visual Studio with TypeScript and jQuery type definitions gives me most of what I need from Dart (80/20 rule). It's really fun to code with. JavaScript with types feels like a sunny day. I've been complaining a little about Dart js-interop (size and speed) and now feel my instincts were right; if Google doesn't fix js-interop, then I'm struggling right now trying to understand why I should use Dart, unless Google is more clear about a different use case for Dart on the client (Android.) If all the JavaScript 'Ninjas' discover TypeScript and have the same reaction I just did, then Dart is going to struggle on the client because it doesn't operate well in the current JavaScript eco-system like TypeScript does. Someone high up in the company and outside the Dart team needs to make a strong statement about where the Dart VM is going before the window closes.

Re: Dart Is Not the Language You Think It Is

#142
post #58

Earlier quoted context omitted.

@ChuckMcM The DartVM uses a method JIT which compiles the source code directly to machine code. An interpreter has a main loop which runs instructions one at a time. Wikipedia is a good place to start if you'd like to understand the difference. http://en.wikipedia.org/wiki/Just-in-time_compilation http://en.wikipedia.org/wiki/Interpreter_(computing)

I think you should probably read the links you post. They are close to claim exactly the contrary of what you say. As the Wikipedia article rightfully points, the difference is far less obvious than you make it seem. The definition of an interpreter is generally broader than a main loop running instructions one at a time. For example, everyone seem to agree that Python is an interpreted language while python interpre…

Yes - It's difficult to describe the difference in one sentence ;)

I agree that there are many shades of the rainbow between a JIT and an interpreter.

"V8 compiles JavaScript source code directly into machine code when it is first executed. There are no intermediate byte codes, no interpreter." https://developers.google.com/v8/design#mach_code

Have a read about V8 and the DartVM's architecture. V8, and the DartVM have a different architecture than IE's Chakra and Firefox's monkeys. They use a method JIT which initially generates very simple native machine code directly from the AST. The machine code includes instructions to identify hot code, which is re-compiled again from the AST. The optimizing compiler converts the source into an SSA form, and IR, but this is not byte/bitcode. This is what Bak et al are referring to when they call this architecture a "source code vm".

Lars Bak on channel 9: Bytecodes are a silly thing in my mind. They can be used for different things interpretation. But interpreters are really slow. But they can also be used as a wire format, for instance in .net or java where that's what you ship over the wire. In javascript the wire format is sourcecode, and for each function you have, inside the running javascript program, you have to cook up the source code again. So that is the primary representation. So we just decided why not generate native code right away because the CPU is pretty fast.

http://media.ch9.ms/ch9/e6aa/354bf580-9c93-4383-bab3-cb6a3dd...

Re: Dart Is Not the Language You Think It Is

#143
post #71
post #59

Earlier quoted context omitted.

How about putting it in the care of an independent foundation like the Python Software Foundation? Until Dart is wrested from corporate control Python will still be the more open language.

How would that make it better? Are software foundations some magical thing that makes all software that comes out of them better? Is this hatred toward large companies? Direction coming from a company that has a goal for the language can be a good thing. Java was an amazing language for a number of years until Sun decided to let it languish. Dart is under a very open license that anyone can take any part of the langu…

The original claim was that there was no language as open as Dart. I vehemently disagree. Plenty of languages are as open as Dart, and there are several, including Python that are more open. I believe you are underestimating the importance of a language having its own foundation that exists for the sole purpose of ensuring that a language remains vibrant and free. Do you think the PSF would ever make a contributor sign a document before contributing as Google requires for Dart? Also, do you think it's better for a corporation to own the trademark for a programming language's name, or an independent, community run organization? Google owns DART's trademark.

I think Java is a great example of why corporate programming languages are a bad thing. Do you remember the first wave of Java adoption? Do you remember how it was adopted in all sorts of places it had no business being because Sun rammed it down everyone's throats through their sales force? The core of Java and the engineering behind the VM are thanks to Gosling, not Sun.

I'm not criticizing Sun here, either. That's just how it was done back then. Sun was positively benevolent compared to the likes of Cincom.

Post reply on HN