3 ms·
I didn't know about tauthon. If I had, I would have thrown my support behind it. That makes a lot of sense. With programming languages, I feel like there's so
by blagie 4y ago
I didn't know about tauthon. If I had, I would have thrown my support behind it. That makes a lot of sense.
With programming languages, I feel like there's so much dumb, blind luck involved in which ones win. I personally dislike Perl, but Larry Wall is so clearly and obviously a genius. Everything he does has good, logical reasons, and the Perl 6 mess was at least an understandable mistake and well-reasoned. I can see myself making similar mistakes.
The Python one was just dumb and obnoxious. So much of Python 2→3 feels like a random walk, with things changing, rather than improving.
python2
>>> map(lambda x: 2 * x, [1, 2, 3, 4])
[2, 4, 6, 8]
python3
>>> map(lambda x: 2 * x, [1, 2, 3, 4])
<map object at 0x7f3df5693310>
Is this better? Sometimes. Certainly not when you're working with students, which is a major use-case for Python.
Changes since then have felt equally half-baked. async is important, but no one thought through how it might work in a terminal, compatibility with non-async code, and especially with coroutines using yield. I would have the rate of progress be half, but see things implemented correctly and intelligently.
- lproven 4y ago> With programming languages, I feel like there's so much dumb, blind luck involved in which ones win Very true. Among my favourites: Apple's Dylan was an amazing language with an amazing development environment. Ignored. Oberon, the last scion of Pascal, is a great clean blindingly fast language, and simple too, and the OS of the same name is a thing of beauty. Both ignored. It's OSes too. I mean, UNIX was good, for its time... but Plan 9 was better, in terms of network and GUI integration, but the world ignored it. Inferno is better than Plan 9, in terms of integrating the Taos virtual-processor CPU-independence (and a saner GUI than Plan 9, too) but it went nowhere either. (Yes, licence agreements had something to do with this, but Linux was neither the first nor the last free UNIX. Before it was BSD, notably 386BSD, and before 386BSD was Coherent (not free, but cheap, and showed it was doable.) After Linux... there are dozens. If people learned from the model, then even if Plan 9 was under some restrictive licence conditions, it could have been cloned, just as UNIX was, repeatedly. Concurrent DOS was pretty amazing in its day. GEM was amazing, but only Atari ST fans noticed. EPOC, EPOC32 and Symbian were great OSes. Symbian is FOSS now. Nobody cares. Taos was amazing and should have been the new Amiga. QNX still is amazing, but Blackberry 10 flopped. Huawei's HarmonyOS is vapourware and marketing: it should just licence BB10. It's real and it works.
- blagie 4y agoA lot of that was not technical, but I think I'd call roughly half of those random. For example, I feel like what Linux did uniquely well was the development process. The Linux development process, circa 1995-2000, was unparalleled: - The community was incredibly open and welcoming. Don't let brash and harsh language be confused with being unwelcoming. Anyone could join. - There was thorough code review. Low-quality code was not let in. This was an amazing learning process. - The design decisions were all brilliantly documented on LKML. The quality of discussion there was exceptional. I attribute a lot of this to Linus' leadership, as well as that of lieutenants like Alan Cox. On top of that, you had really robust corporate support in Red Hat (and, for a while SuSE), and an amazing community, package management, etc. around Debian. There were friendly IRC channels for tech support. The social components were super-important. And yes, licenses too: The GPL was the right license to prevent parasites.