r/smalltalk • • Aug 10 '26

Squeak 6.1 has been released!

Post image
106 Upvotes

Squeak 6.1 just got released! After more than 4 years of work, our community has put together a big bouquet of new capabilities and improvements:

  • A new tree browser for navigating and organizing classes

  • Objectland, bringing back and extending the colorful world of examples from Squeak 3

  • Plenty of new features, bugfixes, and speed-ups for programming tools, the Morphic UI framework, and the rest of the system

Download & interactive release notes: https://squeak.org/release_notes/6.1/
Announcement on Fosstodon: https://fosstodon.org/@squeak/117071273007117118
Announcement on Squeak mailing list: https://lists.squeakfoundation.org/archives/list/[email protected]/thread/H7UUPFZOU7QNFWLFIEUH6FI5RTXHN4GP/


r/smalltalk • • 5d ago

PyBrowser - A Smalltalk-style Class Browser for Python

Post image
83 Upvotes

https://github.com/areichow/pybrowser

I hope this is OK to post here - I felt like fellow Smalltalk heads who also work in Python would appreciate it.

PyBrowser is a code browser inspired and based on the classic Smalltalk Class Browser, with dreams of becoming a more complete dynamic Smalltalk-like development environment, with the ability to pull up Smalltalk-style Inpsectors and Debugger.

At this stage of development, it's somewhere between a toy and a tool. I haven't used it for developing on large codebases, but I have used it for some small apps with a handful of files. I've used it to browse and understand existing Python codebases like Django.

There are Class Browser elements of many Python IDEs, but I've never found one that really captured the look, feel, and clarity of the Smalltalk Class Browser, let along enabled the kind of interactive development that Smalltalk is known for. Historically, the recommendation has been to use the Emacs Class Browser (ecb) or oo-browser. I'm not an experienced Emacs user and haven't been able to get either to run.

If you give it a whack - let me know what you think!


r/smalltalk • • Feb 21 '26

SmallJS v2.0 has been released

54 Upvotes

I'm happy report the release of SmallJS v2.0.
SmallJS is a Smalltalk-80 dialect that transpiles to JavaScript, that can run in browsers and in Node.js.
The website is here: small-js.org
The full source source code is here: github.com/Small-JS/SmallJS

The website now has a Tutorial page for learning SmallJS and Smalltalk.
The Smalltalk language and core library classes are explained.
Examples can be done interactively using the online Playground.
The full Class Reference documentation is now also available on the website.

SmallJS now has full support for async, await and promises.
Almost all async calls have been converted form callbacks to promises,
making code cleaner, more concise and easier to debug.

Smalltalk library

  • Core: Promise: New convenience methods for creation. Tests for 'async', 'await', 'then', 'catch' and 'finally'.

  • Smalltalk: Converted callbacks to promises for modules: Fetch, File, Database, Crypto

  • Core: Web Crypto API implemented with working examples in tests for AES, RSA and ECDH. These work in both browsers and Node.

Compiler

  • Fixed code generation for 'await'.

  • Using 'await' outside an 'async' method now gives an error, conforming to JS.

Website

  • Created a new Tutorial page to learn Smalltalk and SmallJS.

  • Created a new Reference page to look up class info.


r/smalltalk • • Oct 01 '25

Happy 29th Birthday to Squeak!

Thumbnail
news.squeak.org
52 Upvotes

r/smalltalk • • Oct 02 '26

Happy 30th Birthday to Squeak!

Thumbnail
news.squeak.org
51 Upvotes

r/smalltalk • • Mar 20 '22

Why is Smalltalk not popular?

48 Upvotes

I don't know if people here enjoy meta-discussions, but I have to say, I'm stunned.

I'm your classic web programmer - linux, php, js, html etc. Used to do a lot of other stuff, worked on ERPs etc. Was into programming from the early 1980s on, when it wasn't that cool to be a nerd.

I researched a lot of languages in my time, from Assembler to C++ to Forth to Lisp and Prolog. Always tried to be open to interesting ideas I missed.

And yet, Smalltalk was never on my radar. And I venture to say that this is true for almost all people I got to know in the industry. I don't think I have ever seen a job offer that even mentioned Smalltalk.

I recently looked into Pharo, inspired by some youtube video, and I have to say - I just don't understand why this is not the standard.

I don't necessarily mean the language itself - languages are always debatable, always have pros and cons - but the interactive coding experience. It's a real eye-opener.

I enjoy coding in C in my spare time. In VIM. It's tons of fun. But it doesn't seem like it should be the "standard" way of doing all kinds of programming. Which it is, more or less.

Why on earth do we insist on the "classic" edit / compile / try paradigm?


r/smalltalk • • Jul 19 '26

Smalltalk Z-80

Thumbnail pavel-krivanek.github.io
46 Upvotes

Not my project, but I thought you folks would appreciate it.

This is a very minimal implementation of ST80 for the British computer ZX Spectrum. I've not tried it, just posting it here for everyone's curiosity.


r/smalltalk • • Sep 25 '25

Virtual Geometry Tools

46 Upvotes

Construct the circle inscribed in a triangle with virtual geometry tools.

#Morphic3 #Cuis-Smalltalk


r/smalltalk • • Dec 18 '25

Zig Smalltalk MIT licensed, 64 bit smalltalk programmed in Zig with auto FFI library generation

45 Upvotes

https://github.com/Zenchess/ZigSmalltalk

Hi. I was trying to make an opengl scene in dolphin smalltalk, and I realized I couldn't do it with 8k textures because of insufficient memory. I realized I need a 64 bit smalltalk, so I made one over a period of about a week.

It has a terminal editor, with a workspace, transcript, class browser and editor, and an FFI generation page. At compile time, it can automatically generate FFI bindings in linux and windows. I have tested with Raylib and Opengl. More complicated libraries might require small modifications. It auto populated method names for you and external structures you can pass to the FFI calls. For instance, after importing the 'Raylib' library in the f4 screen, you can do: Raylib InitWindow: 800 with: 600 and: 'Raylib Window' and a raylib window will pop up.

I am sure there many bugs, but for the most part it works ok. I've tested with a complicated opengl chess scene with 8k textures.

My next focus of development is going to be working on the JIT compilation so it goes faster, currently gets about 20,000,000 (edit: 20 million not 20 thousand!) message sends per second on some benchmark.

I am planning to make a youtube video soon so check back here if you want to check it out.


r/smalltalk • • May 17 '20

Alan Kay turns 80 today! Happy Birthday!

Thumbnail
en.wikipedia.org
45 Upvotes

r/smalltalk • • Jul 15 '21

Pharo 9 released

Thumbnail
pharo.org
44 Upvotes

r/smalltalk • • Nov 06 '25

Retirement on the cards... or have they all retired?

42 Upvotes

Let me introduce myself. I'm from South Africa and I have about 14 years of smalltalk experience. I program in many languages but have not found anything as simple, powerful and elegant. I am not going to name any names as my focus is purely on smalltalk. There are several large blue chip companies that have smalltalk systems running their core business. They will not admit it but it made them successful over the years.

My previous company was using Gemtalk(stone)/S with a visualworks frontend/Angular web frontend, we retrofitted a SUnit tests into a running gemtalk(gemstone) system and wrote over 10K tests in 10 years to give all programmers a sense of safety. We automated deploys, tests, releases, audits etc. We were able to roll out new features like faster than any modern language system. We were able to out-develop every system that was going to replace it. The system has been active for over 20 years and the company grew into a large corporate.

I currently work for another large corporate in a very small team (4 programmers), their system dates back even further: over 30 years. It started in Digitalk smalltalk that was ported to Visualworks, it is essentially a domain driven design with lots of reusable plumbing on that runs on top of a large SQL database. It has a fat client front-end to expose information summarised to make business sense(And enough SUnit tests to cover the basics). They also grew into a large player over the years. Recently they have been buying systems at eye watering prices that cost multiple times more and offer way less, and are actively talking about replacing the system with a more "modern" language that can fill the gaps they have. 75% of our team is close to retirement age.

I have yet to see another language where you can debug, inspect, deploy and fix code all from one action. Does something like this exist in another language? If you combine this with Unit/Scenario tests you can iterate very quickly. Most other languages have a server to compile&deploy to and it takes quite a long time before code can be ready to run on the server. In smalltalk you simply inspect a value, change a line/s, restart execution at the beginning of the method and step to cursor, click click and you're done. Working... run tests and publish code. Done.

Management's argument is that they can not find smalltalk programmers. They want to be able to advertise a post and get a heap of CVs that understand the language and hit the ground running.

Pretty much the same argument when buying an EV, you need charge points before people will buy an EV. You need lots of EVs on the road to make charge points a viable business. It seems like these businesses have the latest Smallktalk technology (The EV) but they are running out of Programmers (charge points). If all the charge points (retired or broken down) then who still wants an EV?

Do we still have lots of small-talkers actively working on smalltalk systems? Is this only a perception that there are no programmers in the space? Have we retired all the charge points?

If you are working in another language would you consider working smalltalk? Or would this limit career growth?

Have you moved to other languages because you could not find smalltalk posts?

If you made it this far, congrats. I would like to add one personal gripe: I think smalltalk is stuggling because we never implemented the editor in vim with keyboard only interaction. Vimtalk


r/smalltalk • • Jul 06 '22

Squeak 6.0 has been released!

42 Upvotes

We are happy to release the next version of Squeak shortly after its 25th anniversary. This is the first Squeak that supports high-resolution displays on all major platforms and offers a flexible UI scale factor through improved support for TrueType fonts. Bundled with the latest OSVM release, the image now uses the new SistaV1 bytecode set by default. We changed the image-format version so that older VMs will not crash on Sista-specific bytecodes. Furthermore, we made many improvements to our programming tools to provide a better programming experience for code writing, object inspection, and process debugging.

Announcement on squeak-dev: http://lists.squeakfoundation.org/pipermail/squeak-dev/2022-July/221431.html

Download, Donate, and More: https://squeak.org/

Read the full release notes here: https://squeak.org/release_notes/6.0/


r/smalltalk • • May 31 '26

Interviewing at a company that uses Smalltalk - I'm curious and think it should be interesting

41 Upvotes

I've been a software engineer for over 22 years, but I've never used Smalltalk (and have never worked on a project that involved Smalltalk). I'm currently interviewing for a software engineer job at a company that uses Smalltalk, and I think it should be interesting, as I enjoy learning new things. Smalltalk actually isn't mentioned on the job description, but I've heard from people who work there that they use Smalltalk. I'm a little surprised that I'm only now hearing about a company that uses Smalltalk after my 22+ years as a software engineer.


r/smalltalk • • May 23 '25

Pharo 13, the pure object-oriented language and environment is released!

Thumbnail pharo.org
40 Upvotes

r/smalltalk • • Dec 30 '24

Smalltalk-80 on Tektronix 4404 running inside MAME

40 Upvotes

Managed to finally get Tektronix 4404 running in MAME. Woot.

(Tektronix 4404 shipped with Smalltalk-80)


r/smalltalk • • Jul 10 '20

Bare metal Raspberry Pi Smalltalk-80

Thumbnail
linkedin.com
39 Upvotes

r/smalltalk • • 20d ago

Pharo 14 released

Thumbnail pharo.org
38 Upvotes

r/smalltalk • • May 13 '26

SmallJS v2.1 has been released

38 Upvotes

I'm pleased to report the release of SmallJS v2.1.
SmallJS is a Smalltalk-80 dialect that transpiles to JavaScript
that can run in browsers and in Node.js.
The website is here: small-js.org
The full source source code is here: github.com/Small-JS/SmallJS

Notable changes are:

Compiler

  • New keyword CLASSEXTENSION for adding methods to (system) classes in separate source files. The website Tutorial page Language/Syntax shows how to use it.

Smalltalk library

  • Database: Standardized SQL syntax for simpler database independent queries..

Examples

  • Added PWA example game: Emoji Memory :-). Also added this example app to this webite.

Website

  • New Tutorial section for making Node.js apps with SmallJS, plus

  • New Tutorial section for making desktop apps with SmallJS using NW.js, Electron or NodeGui.

  • Reference page now supports searching classes and methods.

  • Added dark mode option, also for subsites Reference and Tutorial.

  • Updated Playground evaluator to current compiler.


r/smalltalk • • Apr 05 '22

Pharo 10, the pure object-oriented language and environment is released!

Thumbnail pharo.org
38 Upvotes

r/smalltalk • • Jan 22 '19

Pharo7.0 Released

Thumbnail
pharo.org
38 Upvotes

r/smalltalk • • 26d ago

Niva: A Smalltalk-like programming language

Thumbnail
github.com
37 Upvotes

r/smalltalk • • Oct 22 '25

Vanessa Freudenberg has passed away (SqueakJS, Croquet, Multisynq)

Thumbnail news.ycombinator.com
37 Upvotes

r/smalltalk • • Jun 25 '21

Convince me I'm wrong about Smalltalk dev environments

36 Upvotes

I really want to like writing Smalltalk. I think the language itself is lovely. My problem is that I find trying to write code in Pharo or Squeak to be such a painful experience, I never get very far. I'm not opposed to image-based development as a concept, but I find the current options difficult. I know GNU Smalltalk exists, but that feels like such a different approach, and considering it hasn't seen a release in a decade, not an option I'm willing to consider.

I'm asking seriously. I am not trying to troll anyone at all. Please convince me I'm wrong, that some of my issues aren't really problems, and that I should take the time to give it a serious shot.

Here are some of the things I find most difficult to get over:

  • The class browser feels like looking at code through a keyhole. I don't feel like I can get a good view of the whole project.

  • Retina support. Maybe high-resolution screens are less common on other platforms, but I use Macs with high-resolution screens, and it looks terrible. From what I can tell, this problem has been discussed but isn't really being worked on.

  • SLOW. Clicking around and typing code in all feels like walking through molasses. I'm sure someone will tell me they don't notice this, but I find it hard not to.

Lastly, this isn't an environment issue, but I'd like to make web apps. While I know it's not dead exactly, Seaside development seems pretty slow, and I can't find an example of one current large-scale website using any Smalltalk web framework at all. Please point me to one if I'm wrong. Everything I've seen looks like a hobby project at best. Some of the biggest websites in the world are running on Django and Rails. I'd hope to find one that is currently running so that I know it can be done.

Is Smalltalk at this point just a hobby for people who like idiosyncratic things, or is there real work being done with it outside of maintaining some government or corporate system from the 90s?