Lambda World 2018 - What FP can learn from Smalltalk by Aditya Siram

Lambda World · 25K views · 2018 · 43:37

Open on YouTube

Functional programmingTesting, debugging & developer toolsProgramming language designtalk

Why Hacker News recommends it

HN recommends it as an accessible demonstration of what Smalltalk environments offer and a reference for advanced IDE ideas.

What it is

Aditya Siram argues that functional programming has much to learn from Smalltalk's interactivity, using Pharo and Squeak to show live, visual, explorable programming environments.

Recommended by 2 HN commenters across 3 different months, 2020 to 2023.

What Hacker News said

Strong rec jasim · 2020-06 · on “Design Principles Behind Smalltalk (1981)”

If you're tired of hearing about the virtues of Smalltalk (like I was at one point) and ask "if it is so good, why isn't it popular?", then watch @deech's talk (Aditya Siram) - "What FP can learn from SmallTalk" - [this video] I think it is the most accessible explanation of the marvel of Smalltalk, for those who were not lucky to work with it during the late 80-90s. Also I think Ruby is the mainstream language that is closest to Smalltalk today, with the idea that everything is an object and late-binding as much as possible. One thing I can't help point out is that Smalltalk / Alan Kay's vision of interconnected objects forming a recursive computing system is not the only "true" vision of OO out

Recommends nsm · 2021-01 · on “On Repl-Driven Programming”

I'd also add this talk "Lambda World 2018 - What FP can learn from Smalltalk by Aditya Siram " [this video] as well as the whole series of things that Tudor Girba & co. are doing with Glamorous Toolkit [LINK] I'd still recommend folks use Pharo over GToolkit for most things, as GToolkit lacks a bunch of polish and documentation (not to say that even Pharo documentation approaches anything of the quality of the Rust and Python ecosystems).

Recommends nsm · 2021-02 · on “The Database Inside Your Codebase”

I am really glad they mentioned Smalltalk! I recently had a chance to experience Smalltalk and it was just mind blowing. Check out a video demo of the code introspection and visualization at minute 17 in [this video]

Cites emilprogviz · 2021-05 · on “It's probably time to stop recommending Clean Code (2020)”

Signed up just to say that I've also really, really wanted such a tool since forever. While for example the Jetbrains IntelliJ family of editors has the automatic "inline function" refactoring, they do it by permanently modifying the source code, which is not quite what we want. Like you say, it should be transient! So I recently made a quick&dirty interactive mock-up of how such an editor feature could look. The mockup is just a web page with javascript and html canvas, so it's easy to try here: [LINK] (Not mobile friendly, best seen on desktop) There are 2 different ways to show the inlining. You can choose between them if you click the cogwheel icon. Then I learned that the Smalltalk edit

Cites Supermancho · 2021-11 · on “When are enums not a code smell?”

Not so much .NET/Java but Structured Programming (1972 Edsger W. Dijkstra, Ole-Johan Dahl, and Tony Hoare) has prompted the gradual backlash against switches. ( [LINK] , re: Duff's Device). Senior developers should watch the whole thing to understand how block scope and functions and classes relate. Modern development has drifted toward lots of small functions (which causes a mess because modern IDEs dont have supporting features like this: [this video] , re: gtoolkit). A switch requires you to look inside and reason about the internals of a function to understand how it will behave before exiting, as the compiler. This doesn't matter so much if you dont care about early exits (no branch predicti

Cites Supermancho · 2021-11 · on “What's the Future of IDEs?”

To answer the question in a more practical sense than the plugging of a specific workflow and asking "Is this the future?", that the article posits: 1. Back to easy indirection resolution ( [this video] , re: gtoolkit) 2. Comments that are not inline, but can point to various blocks/parts of code and overlap (multiple comments can apply to single parts of code). 3. More support for unit testing. function call tracking ( [LINK] ). 4. Conducting behavioral studies via opt-in submission of eye tracking data. A great deal of data is flowing through IDEs and not being leveraged to improve the daily tools of developers.

Cites tcard · 2023-12 · on “IDEs we had 30 years ago”

I think it's fair to say Smalltalk(s) have had in many aspects the most advanced IDE in existence at every moment since its introduction. Demos for a couple old versions: [LINK] Demo for Pharo: [this video]