I'll be live-tweeting my highlights from HOPL IV, the once-in-a-generation conference about the history of programming languages. https://hopl4.sigplan.org/
-
-
Notably, many more HOPL papers this time came from domain-specific languages: Matlab, LabVIEW, R, Logo, Verilog. With Dr. Shaw's keynote, they mark a shift towards recognizing the huge range of application areas that programming languages cover today.
Show this thread -
Allen Wirfs-Brock and Brendan Eich are talking about Javascript in 2 minutes. If you have a bone to pick with everyone's favorite language, maybe I can pass along your pointed question!
Show this thread -
-
"ECMA decided to base its specification on Microsoft's JS standard, partially because it was written in Microsoft Word which was the word processor that ECMA used."
Show this thread -
-
-
Javascript has probably the most interesting, winding language path of any today. Such a product of intertwined social, economic, and technical factors.
Show this thread -
- Conceived as Scheme - Implemented in 10 days as a Scheme/Java clone baby - But couldn't be too like Java (no classes) - But still needed Java syntax - Initial specification written by MS engineers that reverse-engineered it from Netscape's initial release
Show this thread -
- Turned into a committee language, but no one could agree on it - Rejected version turned into ActionScript - Refined version of ActionScript implemented in SML turned into ES4, also rejected - Progress stopped when MS won 96% browser share w/ IE, until Firefox reignited the war
Show this thread -
- Frustrated users wrote languages to transpile to Javascript, influencing iterations down the line - Insane users transpiled C++ into Javascript, birthing the need for WebAssembly - And Javascript eventually got classes!
Show this thread -
This reminds me of my favorite arc in PL history. C++: we want to be like Simula, but without garbage collection because that's too slow. Java: we want to be like C++, but with garbage collection because that's too scary.pic.twitter.com/lOdBcFueF0
Show this thread -
Cynthia Solomon presents the history of LOGO (of turtle graphics and Mindstorms fame). I love this holistic definition of the "LOGO environment": not just the technology, but also the activities, the language, and the culture.pic.twitter.com/ZL7w2GGNeu
Show this thread -
"In a language for learners, we still believe [dynamic scoping] is the correct choice. If a variable exists, it's visible."
Show this thread -
A version of Logo was developed for Atari, which apparently was once in the PC industry. They even had Alan Kay as chief scientist! Alan Kay said about his departure from Atari: "I guess the tree of research must from time to time be refreshed with the blood of bean counters.''
Show this thread -
Bjarne Stroustrup now presenting the modern history of C++. It's his third paper at HOPL, the only language to appear three times! Testament to the enduring legacy of a time-tested language. (Caveat: I have sworn to never use C++ again.
)Show this thread -
"Imagine the difficulty of getting agreement on anything of importance in a group that large."pic.twitter.com/Ufm35NFUhr
Show this thread -
"Typical request: * Simplify C++ * Add these two new features * Don't break my code"
Show this thread -
Q: Thoughts on dialects, e.g. C++ w/o exceptions? A: I really dislike dialects, because you can't communicate or share. Dialects usually ban features, and that's wrong, the complexity just goes elsewhere. Some of the fastest code I've seen carefully uses exceptions.
Show this thread -
Q: Thoughts on Rust and Zig, any influence on C++? A: From what I've seen of Rust, it doesn't fit into my view of C++. I experimented with borrowing ten years ago and found the code got too complicated. We can get type and resource safety without it.
Show this thread -
Rich Hickey now discussing the history of Clojure. I've never used Clojure, but I expect to emerge with strong opinions involving words like "complect".
Show this thread -
Prediction was incorrect, the right opinion-word was "concretion".
Show this thread -
Hickey on the motivations for Clojure: what makes programming complex?pic.twitter.com/8IgOuevdee
Show this thread -
"Having talks, aimed at specific audiences, about topics that matter, hosted on YouTube, matters."pic.twitter.com/qUpjYMWuRd
Show this thread -
Q: Thoughts on Typed Clojure and using dynamism to manage complexity? A: I don't think C++/Java/etc types are rich enough. If your program is imperative, your problems will be dominated by state. Types cause code to be far more specific and far less reusable than it ought to be.
Show this thread -
Q: How did you decide on terms like "concretion" and "complect"? A: I love the dictionary
Eg for complect, I was trying to give more specificity to an old notion, coupling, that system designers understand intuitively.Show this thread -
Btw, I'm not covering every talk in this thread (time constraints, and POPL deadline in 2 weeks lmao). But the papers are all freely available here: https://dl.acm.org/toc/pacmpl/2020/4/HOPL … And the video talks + Q&A will be posted eventually! So be sure to check them out.
Show this thread -
Morten Kromberg presents the post-1978 history of APL. The APL ecosystem initially split around the question: when nesting items in arrays, do those items need to be explicitly "boxed" or not?pic.twitter.com/Ijrm6SZhwV
Show this thread -
Dozens of flavors of APL sprung up in this period. APL was definitively an idea up for grabs, and not a language steered by a single person or org. Probably most like SQL in that regard.pic.twitter.com/8UZwDVm0Vl
Show this thread -
"APL is a notation as much a programming language, and it's important for subject matter experts to be able to use APL on the whiteboard and argue about it. I've seen open source APLs lead to fragmentation, which reduces the value of a notation."
Show this thread -
Stefan Monnier and Michael Sperber presented the history of Emacs Lisp. One focus: modern Elisp has two distinct dialects, dynamically scoped (originally) and statically scoped (added later).
Show this thread - Show replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
cognitive psychology. PhD