3 ms·
Most of these are from the late 70s/early 80s, so not quite half a century. Debugging – look at Smalltalk if you don't believe me. Security – Intel i432 didn'
by PeCaN 10y ago
Most of these are from the late 70s/early 80s, so not quite half a century.
Debugging – look at Smalltalk if you don't believe me.
Security – Intel i432 didn't sell well, but now we're sure wishing it had. The entire system was built on an object-capability model from the hardware up. The OS and userspace were fully written in Ada.
Persistence – System/38 and AS/400 — everything has a persistent address. All pointers are 128-bit (yes... this was designed in the late 70s). Everything is an object and the OS has a built-in database. You can persist anything effortlessly.
String processing – Regular expressions are useful; SNOBOL is more readable, more powerful, more efficient, and existed in 1962. Awk is a joke.
Declarative programming – I feel like Greenspun's 10th Rule applies at least as much to Prolog as it does to Lisp. The sheer number of cases where embedding a little unification engine dramatically simplifies code is pretty baffling.
GUIs – we've almost caught up to the ease of use of the Dynamic Windows system on Symbolics Lisp machines.
Concurrency – it amuses me that Go gets so much attention lately when it's just a re-skin of Occam from 1983.
Probably more. I feel like i432 and AS/400 in particular were very, very ahead of their time.
- viraptor 10y agoDo you really think a very high level processor was the way to go? It seems like we're just going lower and lower in the stack in the more advanced applications. I mean, on i432 (from what I learned about it) you couldn't even free memory - you were stuck in it's specific instructions, GC, and other elements. It could be an interesting version of a secure execution enclave (like Intel tries to create today), but I'm not sure it would be useful or performant in general processing.
- sklogic 10y agoTagged memory was definitely a way to go. Would have eliminated most of the security issues we had so far. Luckily, it's slowly making a comeback, see the RISC-V efforts for example.
- pjmlp 10y agoAnd Intel's MPX. We already had all of that in the early 60's with Lisp and Algol dialects based OSes. Apparently we need to have daily memory corruption CVE's as industry wake-up call.
- dualogy 10y ago> The sheer number of cases where embedding a little unification engine dramatically simplifies code is pretty baffling. Would love to learn more about this, having done Prolog back in uni. Know of any good articles or posts showcasing "embedding a little unification engine" in modern/otherwise-sub-par programming?
- PeCaN 10y agohttps://rwmj.wordpress.com/2015/12/06/inspection-now-with-added-prolog/ https://rwmj.wordpress.com/2015/12/06/inspection-now-with-ad... is pretty interesting. LuaJIT uses logic programming extensively in its optimization pipeline IIRC, but I don't know of any articles on it (just Mike Pall on newsgroups).
- sklogic 10y agoEven Datalog can be extremely useful: http://www.cs.cmu.edu/~aldrich/courses/654/tools/bierhoff-bddbddb-05.pdf http://www.cs.cmu.edu/~aldrich/courses/654/tools/bierhoff-bd... Also take a look at this, quite a convincing example of how useful Prolog can be in a compiler pipeline: https://pdfs.semanticscholar.org/3667/96ef0c3e9a8b4acb70f838873e4933cdd851.pdf https://pdfs.semanticscholar.org/3667/96ef0c3e9a8b4acb70f838...