Dart is climbing in popularity. And Dart VM is going to be built into Chrome. Would it be advantageous to run Smalltalk on the Dart VM ? Since Dart is very Smalltalk like, wouldn't it be relatively easy? Thanks, Aik-Siong Koh -- View this message in context: http://forum.world.st/Smalltalk-running-on-Dart-VM-tp4785841.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
2014-10-22 4:34 GMT+02:00 askoh <askoh@askoh.com>:
Dart is climbing in popularity. And Dart VM is going to be built into Chrome. Would it be advantageous to run Smalltalk on the Dart VM ? Since Dart is very Smalltalk like, wouldn't it be relatively easy?
Hello, I think Ryan Macnak is working on having NewSpeak, which is a smalltalk-like language, running on the Dart VM. The typical problems to run smalltalk on other VMs are how to implement this list of features with good performance: - non local return - become: - thisContext Not having become means you cannot add an instance variable to a class that has instances (Of course you could get it right from the first time you created the class :) ) and means no database proxies. Non local returns can be implemented using exceptions but in this case it is usually slow (VMs such as hotspot optimizes exceptions, if the Dart VM does it, then it may be ok). Not having thisContext means that you need to implement Continuations, Exceptions and the Debugger differently. If the language features Continuations and Exceptions, these two features can probably directly be mapped. The debugger can probably be mapped to the other VM debugging features too, admitting they have as much. But what happen when you edit the top method in the debugger, can the new VM use this method in the top context instead even if you do things such as adding literals or temporaries ? Then there are little details such as what do happen when you compile and install a method at runtime (I'm talking about the Smalltalk IDE) ? Is everything compliant and fast ? I think there are guys working on the Dart VM that worked on a smalltalk VM before (I'm thinking of Gilad Bracha and Lars Bak). To go in that direction one should ask them what they think about it and how they would implement these 3 features. You can also ask Ryan Macnak about what he is doing. Regards, Clement
Thanks, Aik-Siong Koh
-- View this message in context: http://forum.world.st/Smalltalk-running-on-Dart-VM-tp4785841.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Aik-Siong Koh wrote:
Dart is climbing in popularity.
Yes, people love new toys. Especially when they come from a company with colors ;) "is climbing in popularity." is true for others as well - next question on this list will be if we should port and run on Swift from Apple, ...
And Dart VM is going to be built into Chrome
Allows to run faster on Chrome. For the others browsers you have to use the slower "Dart on JavaScript" fallback. Maybe the ECMA standardization may change that in the future. Who knows. Clément Bera wrote:
I think there are guys working on the Dart VM that worked on a smalltalk VM before (I'm thinking of Gilad Bracha and Lars Bak).
Yes Lars worked on Strongtalk/Animorphic (a very fast Smalltalk insprired by Self, see http://en.wikipedia.org/wiki/Strongtalk). Then working for Sun Microsystems he speeded up Java with HotSpot VM by applying optimizations/JIT that were already standard in Smalltalk VM's. He now works for Google on V8 and DartVM. http://en.wikipedia.org/wiki/Lars_Bak_(computer_programmer) There is an interesting talk from him on the relation Smalltalk and Dart, see my blog post here: http://astares.blogspot.ca/2012/10/lars-bak-on-language-virtual-machines.htm... also check out https://www.youtube.com/watch?v=huawCRlo9H4 BTW: He is not the only Smalltalker working these days at Google with Dart. Eric Clayberg (former Instantiations/VisualAge Smalltalk - then Eclipse Window UI Builder) now manages the Dart Editor project at Google (also based on Eclipse). Read his Dart for Smalltalkers: https://www.dartlang.org/slides/2012/03/smalltalk-industry-conference/DARTta... Alan Knight known from Cincom and Smalltalks Glorp ORM is working in the dart team as well. Lukas Renggli (contributor of Seaside, PetitParser) is also working for Google and ported some tools to Dart. Still what Dart ended up is/was a little bit disappointing for Smalltalkers, see http://blog.epigent.com/2011/10/googles-dart-language-and-smalltalk.html Nonetheless Dart has its place and maybe someone will port a Smalltalk(VM) to it (if there is a need or a market). Maybe you should contact Lars directly to ask how hard it would be to run ST. Interesting enough Google talks more and more about the "Dart platform" instead of the "Dart language". Maybe they switch to a polyglot environment in the future (similar to JVM which is able to host several languages) and as Google engineers know about Smalltalk it might have good support to run also Smalltalk. Bye T.
Yes, people love new toys. Especially when they come from a company with colors ;)
"is climbing in popularity." is true for others as well - next question on this list will be if we should port and run on Swift from Apple, ...
I have that itch to disagree with you and point you to the flaws of your argument but unfortunately you are very much correct. My experience with programming languages is that people don't give up their comfort zone so easily. I have seen this happening with Jython , its basically python run on JVM , can directly use Java libraries out of the box and it can even use cpython libraries. Yet it seems its used more by people that work anyway on the JVM than cpython people. Actually I dont think it would be an exaggeration to say that jython is even more unpopular than pharo right now. Dart is even in worst position because its a new language and I dont think Google will replace Java on Android or Javascript on the browser with Dart any time soon. On the other hand I disagree that Swift is in a similar case because Apple has way more control over its market because it makes both the software and the hardware and , and this is a big factor, Swift IS a replacement to Objective C. Also Swift had a very positive reception from developers which another factor into this equation. I dont see Dart generating as much noise. Also Apple is 100% behind Swift, the moment Yosemite came out the first update to Swift (XCODE) was for iOS and now a new update came out for MacOSX as well. I dont think its a bad thing to port smalltalk to Dart , I do think it will be advantageous for both smalltalk and dart but dont expect that you will be getting thousands of users any time soon. I am in a similar boat of giving access to python libraries to pharo user with my latest project, again my expectations are very low on how many people will use this and I don't blame them. Sounds great in theory in practice you run into all sort of technical problems.
participants (4)
-
askoh -
Clément Bera -
kilon alios -
Torsten Bergmann