2004. Almost 20 years ago. Was Python even a teen? Python does not attract smart young iconoclasts anymore. It's the scripting language everyone writes because everyone writes Python. What languages do attract smart young iconoclasts? Nim? Elm? Whatever you're doing that is not yet old enough to drink by the time you comment?
The Python Paradox (2004)
21–30 of 275 posts
Re: The Python Paradox (2004)
#22Re: The Python Paradox (2004)
#232004. Almost 20 years ago. Was Python even a teen? Python does not attract smart young iconoclasts anymore. It's the scripting language everyone writes because everyone writes Python. What languages do attract smart young iconoclasts? Nim? Elm? Whatever you're doing that is not yet old enough to drink by the time you comment?
My vote is on Nim. Python like syntax with C++ speed. Unknown enough, but still not too new or obscure.
Re: The Python Paradox (2004)
#24Ruby is still great for throwing something together fast and maintaining it until it runs into scale problems. It added gradual typing with sorbet and RBS.
Crystal is a neat typed, compiled Ruby-alike but it's buggy.
Rust hits more of these but it's ugly. Uglier than Python and approaches C++-level eyebleed. Rust generics aren't as flexible as they could be because type constraints don't have union and specialization is painful. Tag structs are laborious. Go hits more of these except it's not as flexible and not quite as safe as Rust. Rust makes enormous binaries and compiles slow and the cargo index download is glacial, I'm surprised they don't have an "sccache" for it. Go is easy to learn but then the capability of it plateaus. Go compiles and tests insanely fast.
Rust should rebase its type system to have union types, i.e., foo: i32 | f32. Also, more granular and specialized type constraints (negation, union) on generic trait parameters.
Elixir (on erlang) can be productive. It's gorgeous, it's fast, it's powerful, and fairly expressive.
Haskell and Idris are beautiful and powerful, but inaccessible to most software engineers.
Pony is beautiful, productive, extremely safe, and fast.
Zig, Nim, Kotlin and friends are all moving in the right general directions. Swift is alright too.
Re: The Python Paradox (2004)
#25[2004] -- Python is no longer a "comparatively esoteric language" these days. I suppose now this might be an argument for hiring folks using Haskell or the like.
I'm not convinced this advantage is available to harness anymore. A small company can still outrun a larger company via less process, fewer internal entrenched interests, the ability to not have to worry as much about internationalization and other things you need to instantly address large markets and comply with various internal and external regulations, and you could continue this list for quite a while. But $LARG…
Now, if you deviate from PHP, Python, Node, Rails, etc., to one of the new “esoteric” languages, you have to learn a new language, plus reinvent the wheel in a lot of areas that you’d otherwise be getting for free.
So you have brilliant developers working in esoteric languages trying to complete 25-50% more code.
Even if you can swim upstream fast enough to compete with highly competent devs working in a more popular language, then you get into hiring / onboarding challenges, documenting and debugging custom features (features that would otherwise be a “solved problem” in other languages), acquisition due diligence, etc., that persistently weighs against you.
Re: The Python Paradox (2004)
#262004. Almost 20 years ago. Was Python even a teen? Python does not attract smart young iconoclasts anymore. It's the scripting language everyone writes because everyone writes Python. What languages do attract smart young iconoclasts? Nim? Elm? Whatever you're doing that is not yet old enough to drink by the time you comment?
Almost 10 years ago, I translated this article to Telugu.
Re: The Python Paradox (2004)
#27EDIT: I just realized this was 2004. And now I agree with him.
Re: The Python Paradox (2004)
#28It was right then, but it's kind of dated and misses an evolutionary lesson: beautiful code isn't enough, it has to be safe, beautiful, maintainable, productive, understandable, and resource efficient. Ruby is still great for throwing something together fast and maintaining it until it runs into scale problems. It added gradual typing with sorbet and RBS. Crystal is a neat typed, compiled Ruby-alike but it's buggy. R…
Have you ever hit F12 on any C++ std function or data structure? Every time I do it genuinely feels like I'm back at day 1 freshman year of an undergrad CS degree.
Re: The Python Paradox (2004)
#29[2004] -- Python is no longer a "comparatively esoteric language" these days. I suppose now this might be an argument for hiring folks using Haskell or the like.
Or Rust, which is very popular on HN.
They hardly seem like iconoclasts in that respect, it feels like there is a lot of group mentality there which is strange to me. People in a place with strange groups dynamics might not be aligned with the public outside the group (who are oblivious to the group think since they are just "normies"), and so the group is sure, against the grain in some respect, but that aspect of being separate from the general population is due to adherence to groupthink, not really due to individual eccentricity or originality.
Another aspect, rust is being hyped by some big names in Tech, so at this point, rust feels alot more like Java in its early days, so not really niche but just new and before mainstream penetration.
[0] Yes, some anti-systemd people literally say Lennart Poeterring is hitler or some nonsense, they are idiots. I just think the software he pushes is not the best.
Re: The Python Paradox (2004)
#30It was right then, but it's kind of dated and misses an evolutionary lesson: beautiful code isn't enough, it has to be safe, beautiful, maintainable, productive, understandable, and resource efficient. Ruby is still great for throwing something together fast and maintaining it until it runs into scale problems. It added gradual typing with sorbet and RBS. Crystal is a neat typed, compiled Ruby-alike but it's buggy. R…
approaches C++-level eyebleed Have you ever hit F12 on any C++ std function or data structure? Every time I do it genuinely feels like I'm back at day 1 freshman year of an undergrad CS degree.