4/23/2026 at 2:24:29 AM
> New operators — !, //, %%, =~, |>, .new(), and more Reactive operators — :=, ~=, ~> as language syntaxI my mind, this is such common mistake in language design. For people familiar with the language, adding just-one-more operator is very enticing: it's succinct and avoids naming things. But do that a few times and the language becomes a cryptic mess where everything has a random !,*,#,$,# attached somewhere. Looking at you JavaScript and C++. It can get even worse when operators can be defined in userland like in Haskell. Props to Python for keeping it mostly at bay.
by ngruhn
4/23/2026 at 7:30:18 AM
I think those are mostly well justified and substantially add to ergonomics. Await and the reactive operations are used very heavily in many codebases, and especially the reactive code is quite verbose with useState et al. .new allows constructor chaining. Python has // too, and it makes many indexing operations a lot easier to read.One missed opportunity here is using the bitwise operators for more common use cases. They are very rarely used in this high level languages, and are a bit weird C remnant in them.
by jampekka
4/23/2026 at 3:31:55 AM
This made me think of Perl.by burky
4/23/2026 at 7:33:44 AM
What about APL? Sigh, why not just use named functions?I also doubt array comprehensions are a win, it feels like niche syntax.
by childintime
4/23/2026 at 7:36:29 AM
> Sigh, why not just use named functions?I.e. a Lisp?
by jampekka
4/23/2026 at 8:09:40 AM
> Inspired by: CoffeeScript, Lisp, Ruby | Powered by: Bunby childintime
4/23/2026 at 8:13:00 AM
I meant that most Lisps are named functions/macros only (with some named special forms), and you are calling for that kind of syntax?by jampekka