Skip to content

Comment on Bruce Eckel announces he's going to write Atomic Python

Comments

I've admired Bruce's work since Thinking in Java. I've also enjoyed a merry-go-round of languages in my own career. I too was interested in Scala and read Odersky's book - and improved a lot as a programmer because of it, despite not using Scala for any "real" project. I can't say I've ever found Python that compelling. Rust and Go don't do much for me. The 2 languages I'm excited about right now are Elm and Nim.

Nim empowers the programmer to do just about anything, use GC or switch to manual MM, target any computing platform that supports C (i.e. everything), reinvent the language with macros, while packaging it up very elegantly indeed.

Elm promises almost the exact opposite. I mean it's elegant, but it's also limited - purely functional, immutable, no nulls, no unchecked list access. And that's the kind of limitation that addresses the problem that Bruce has with other languages - dealing with all the complexity of how something's working. The promise of Elm is that if your code compiles, it works, leaving you to focus on getting the important stuff right - information flow and business logic - instead of tracking down another silly invalidity that never should have made it to runtime.

They're both young, but I wish Andreas Rumpf (Nim) and Evan Czaplicki (Elm) and their teams all the best in taking on the "big boys" with these plucky languages, and would encourage Bruce Eckel to consider skipping ahead of the curve and writing for these alternatives.

Nim empowers the programmer to do just about anything, use GC or switch to manual MM, target any computing platform that supports C (i.e. everything), reinvent the language with macros, while packaging it up very elegantly indeed.

This is a very brilliant way to describe exactly what makes Nim excellent. I hope you don't mind if I quote you on this :)

You're very welcome.

Rust and Go don't do much for me

Go is useless, but Rust and Nim have much in common (easy integration with native toolchains, stdlib-less bare-bones development for embedded systems); why did you decide that Rust is not for you?

I guess the profusion of pointer types was one thing, and the syntax, while not a showstopper, didn't really "speak" to me the way Nim did. But I cut my teeth on UCSD Pascal (after Apple BASIC), that might have something to do with it...

I'm curious when you last looked at Rust, because in the past year the built-in ~T and @T pointers were all removed. Nowadays there are just references and raw pointers (and the latter are primarily just for FFI).

It was probably about a year ago. Glad to hear they've simplified the story, I'll take another look.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.