3 ms·
For those of you smalltalk fans, what are you working in today / what would you prefer to be working in today given your history with smalltalk?
by poulsbohemian 6y ago
For those of you smalltalk fans, what are you working in today / what would you prefer to be working in today given your history with smalltalk?
- Rochus 6y agoI'm not actually a "Smalltalk fan", but I recently re-implemented the Smalltalk-80 virtual machine and some additional tools to analyze the original Smalltalk-80 sources and virtual image files. My goal is to run it on LuaJIT and compare the performance with other Smalltalk implementations. See https://github.com/rochus-keller/Smalltalk https://github.com/rochus-keller/Smalltalk. I'm also working on a Simula 67 compiler, and a Golang to LuaJIT bytecode compiler is also on my list. As you can see I write everything in C++, which also says something.
- codefrau 6y agoCool. If I had a few free weekends I'd want to make that Smalltalk image run on my SqueakJS VM. One of theses days ...
- Rochus 6y agoHave a look at http://www.squeaksource.com/Hobbes/ http://www.squeaksource.com/Hobbes/, but don't expect impressive performance. It's not the code in the Bluebook part 4 though. If you want to implement it yourself be prepared that it might take many weekends until it runs as expected; debugging Bluebook errors took many hours.
- pjmlp 6y agoJava/.NET, which I think are the only mainstream ones close enough to the Smalltalk experience.
- jecel 6y agoI design processors optimized for Smalltalk.
- poulsbohemian 6y agoThis sounds interesting, like the kind of thing that keeps me coming to HN every day...tell us more please.
- jecel 6y agoHere is a long talk (more than 1 hour) I gave at the Smalltalks 2019 conference in Argentina about the history of Smalltalk computers: https://www.youtube.com/watch?v=tATpzsyC6OA https://www.youtube.com/watch?v=tATpzsyC6OA and slides in PDF and LibreOffice formats: http://www.merlintec.com/download/2019_slides_jecel_fast1v2.pdf http://www.merlintec.com/download/2019_slides_jecel_fast1v2.... http://www.merlintec.com/download/2019_slides_jecel_fast1v2.odp http://www.merlintec.com/download/2019_slides_jecel_fast1v2.... This includes projects from various different groups as well as my own projects (which I should have clearly labeled as such). The key events: from 1977 to 1992 Brazil had a "reserved market" policy that only allowed local companies to make and sell micro and minicomputers. After reading the 1981 Byte magazine about Smalltalk I wanted one, but by 1984 it was clear I would have to build my own. I toyed with the idea of designing my own processor (with TTLs) but went instead with the Motorola 68000 I had already used in other projects. In 1986 I joined forces with Softec, which had launched the first PC clone in Brazil. Note that the reserved market thing kept the Macintosh out of the country (Apple was able to kill a local clone) so this would have been the only option for a graphical computer. This ended in 1988 after we had built several prototypes and operating systems. I had previously dropped out of the university so I went back to finish with a focus on chip design. In 1990 I got a scholarship to do an object oriented processor, but with the wonderful results the Self group at Stanford had with software JIT compilation I changed the project to be a modified Sparc. Even that got cancelled the next year in favor of a 64 node machine with 68020 processors (bought back in 1987) and I did research on parallel Smalltalk/Self on that. People tried to convince me there was no longer any point in special hardware and that I should just do software for PCs instead. But in 1998 I was working on a digital cable TV project and came up with a VLIW MOVE processor that would be great for that but could also implement Smalltalk/Self very well. NEC was not interested in it but I thought it was too good to just drop it, so I left the university and set up a company to develop it. The first products would have to use FPGAs since I didn't have funds for custom chips. Things went slowly since I had to do consulting. With the new Virtex II FPGAs there was enough internal RAM that it made more sense to have a bunch of small processors, each with a little cache, than a single large VLIW processor with external RAM as cache. Compiling for VLIW is not easy at all, as many people have found. In 2007 I got into a master's program at a local university and in late 2008 I started to collaborate with a group that wanted to do a SqueakPhone and a Croquet cloud. To make it easier for us to work together I adapted a 2004 SqueakProcessor I had sketched into SiliconSqueak, optimized both for running bytecodes and as a target for JIT compilers. This evolved over the years but with weak single core performance in favor of more cores per silicon area and better energy efficiency. Since late 2018 I have been developing version 5 of SiliconSqueak to have both a very high peak performance for a single thread and many slower threads depending on demand. And the adaptive compilation technology can not only handle bytecodes but efficiently simulate any processor (x86 binaries, for example).