Skip to content
0:00 / 0:00

#smalltalk#c#unix

"Liberating the Smalltalk lurking in C and Unix" by Stephen Kell

Strange Loop Conference

88K subscribers • 114 videos on Hallway • Conference channel

YouTube
  • Recommended by 4 people: 2 on Hacker News, 1 on Lobsters and 1 in engineering communities.
  • A classic. People kept recommending it from 2016 to 2023.
  • Presented by Stephen Kell, researcher

Advanced. Deep dive for people who know the field.

25K views12 years ago4 recommendations

Systems programmingProgramming languagesOperating systemsCompilers and interpretersPerformance and optimization

Stephen Kell presents liballocs, an infrastructure that exposes dynamic, Smalltalk-like features within statically compiled C and Unix environments.

Most programmers make a clear distinction between dynamic, interpreted languages such as Smalltalk and Ruby, and statically compiled languages such as C and C++. Dynamic languages are seen as being slow, yet easy to use, and with advantages of introspection, integrated tooling, flexibility and rapid prototyping. Compiled languages are seen as fast, yet lacking the aforementioned benefits, and requiring understanding of impenetrable binary files and esoteric tools. Interfacing the two is even worse, involving FFI "dark magic", complicated further by the fact that the infrastructures supporting one or other kind of language work quite differently. "Static" generate binaries sitting directly on the operating system, while dynamic languages exist inside interpreter-like virtual machines. Does it have to be this way, or is there a unifying model? Can we get the best of both worlds: fast compiled binaries that nevertheless support introspection and other dynamism, and dynamic languages that integrate with compiled code without FFI magic? This talk introduces liballocs, an infrastructure which exposes the dynamism hiding in the arcane linking and debugging infrastructure of a Unix process, along with a small extension to C toolchains that enables fast dynamic access to data created by statically compiled code. Together they can be said to unleash a "hidden Smalltalk" inside the C and Unix model of programs and processes. Come prepared for a journey that takes your perceptions of the boundaries between dynamic and static languages and turns them on its head. Stephen Kell University of Cambridge @stephenrkell Stephen Kell is a postdoctoral researcher at the University of Cambridge. He is a practical computer scientist with wide interests, but one central goal: to make it easier and cheaper to develop useful, high-quality software systems. So far, his work has focused on programming languages, other programming tools, and the systems that support them---including language runtimes, operating systems, and the grey area between the two. Since completing his PhD in Cambridge in 2010, he has worked at the University of Oxford, the University of Lugano, Oracle Labs in California, before returning to Cambridge last year.

Why it's here

4 people recommend this

What people say. Recommended as an interesting exploration of bridging dynamic and compiled languages by exposing runtime dynamism in Unix processes.

u/jcubicin r/ProgrammingLanguages • Recommends

"Liberating the Smalltalk lurking in C and Unix" by Stephen Kell

sdhandon Lobsters • Recommends

"Liberating the Smalltalk lurking in C and Unix" by Stephen Kell

ElijahLynnon Hacker News • Recommends

On “Gdb: Debugging with the natives”

Lately I have been very interested in putting faces and voices to words. After reading this article, which was over my head but I got a little out of it. I ended up reading Stephen Kell's homepage, which is crazy intense as far as academics go. He had a link to a video of his and I appreciated the quality and now have a face and voice to attach to the article, therefore will probably remember it better. tldr; Here is a video of the same guy who wrote this article ==> link to this video p.s. 5 minutes in and the talk is pretty good.

johndoe0815on Hacker News • Recommends

On “Bare metal Smalltalk-80 port to the Raspberry Pi”

Thanks for the link - that looks really interesting! I will have to give it a try to make some informed statement, but I think it's definitely worth looking at. Some parts of Ruby also seem to be inspired by Smalltalk, so that might be a good fit. There's also a Smalltalk-80 VM by Rochus Keller based on the Lua JIT compiler 8 (and a very nice Qt-based Smalltalk browser), that might also go in the same direction. In general, I think there are two major interesting aspects in systems like the Ruby system browser and Smalltalk. On the one hand one can discover the system - you can dig into the implementation without using a disassembler or reverse engineering - and on the other hand it is pos…

johndoe0815on Hacker News • Recommends

On “Smalltalk-80 on Raspberry Pi: A Bare Metal Implementation”

I can recommend Stephen Kell's publications on this topic, e.g. "Unix, Plan 9 and the Lurking Smalltalk": link Video: link to this video More on Stephen's research can be found at link

mpweiheron Hacker News • Mentions

On “Design Principles Behind Smalltalk (1981)”

> Smalltalk can be described concisely as a graphical UNIX Or Unix as a closet Smalltalk... "Liberating the Smalltalk lurking in C and Unix" by Stephen Kell link to this video

carapaceon Hacker News • Mentions

On “Smalltalk: An Entrepreneur’s Secret Weapon (2020)”

"Liberating the Smalltalk lurking in C and Unix" by Stephen Kell, Strange Loop Conference, link to this video > This talk introduces liballocs, an infrastructure which exposes the dynamism hiding in the arcane linking and debugging infrastructure of a Unix process, along with a small extension to C toolchains that enables fast dynamic access to data created by statically compiled code. Together they can be said to unleash a "hidden Smalltalk" inside the C and Unix model of programs and processes. Come prepared for a journey that takes your perceptions of the boundaries between dynamic and static languages and turns them on its head.

u/dddevoin r/C_Programming • Mentions

On “C talks or conference videos?”

I found these two interesting: PolyConf 15: Cello - Hacking C for Fun and Learning / Daniel Holden "Liberating the Smalltalk lurking in C and Unix" by Stephen Kell