3 ms·
My impressions of Dart are not particularly well-informed but I must raise an eyebrow at the allegation that it's Smalltalk with Javascript syntax. Care to elab
by fusiongyro 14y ago
My impressions of Dart are not particularly well-informed but I must raise an eyebrow at the allegation that it's Smalltalk with Javascript syntax. Care to elaborate?
- rayiner 14y agoThe semantics are the closest to Smalltalk of any of the relatively high-profile languages. At the implementation level, everything is an object that responds to certain selectors. Objects have a static layout (unlike say Javascript or Python or Ruby which treat objects as basically hash tables of fields), and the call frames are relatively static too, compared to Python and Ruby which let you do all sorts of weird magic with the call stack. Scoping is Lisp-y, instead of the various weird scoping rules Javascript, etc, have come up with.
- fusiongyro 14y agoThanks. That piques my interest. I'll have to take a deeper look.
- stcredzero 14y ago> Objects have a static layout (unlike say Javascript or Python or Ruby which treat objects as basically hash tables of fields) This will make life easier for implementors of high performance VMs and tend to reduce memory footprint of objects.
- darknoon 14y agoSince we're on that topic… in Objective-C, object layout is determined at runtime (these days anyway). It's pretty efficient though, and lets you do sometimes-useful stuff like add ivars at runtime. It also kills the fragile base class binary compatibility issue that plagues other compiled languages (particularly relevant as a glue / MVC language).