3 ms·
There are many vying for Python's space but no clear winner. I think because actually Python is good at many very different areas, and improving one usually mak
by rich_sasha 3y ago
There are many vying for Python's space but no clear winner. I think because actually Python is good at many very different areas, and improving one usually makes something else worse.
Attempting to list some "better Pythons" by area, and the catches:
- golang for web: seems good and simple but also less dynamic
- Julia for scientific programming: Julia users are convinced it's better but converts are not queuing up. Also the story outside scientific programming is less convincing. Almost all ML/AI research is written in Python
- glue language / generic file wrangling... Not sure if there is a clear contestant!
- (shamelessly stolen from sibling comments) nim as a like for like faster/better replacement: faster and seemingly quite (still less) dynamic, but smaller ecosystem and unclear governance - currently one man and his GitHub login.
Incidentally, I think this "second best at everything" meme-fact is part of its success. There is a huge pool of people using Python for one purpose, who, confronted with a new need, can also use Python, even if it's not the best tool for the job. It integrates easily with whatever else is written in Python, and it's one less language to learn. This is IMHO where complaints like "why people use Python for X when it sucks" miss the point.
- pjmlp 3y ago> Julia users are convinced it's better but converts are not queuing up. There are enough of them, even if HN isn't paying attention, https://juliahub.com/case-studies/ https://juliahub.com/case-studies/
- di4na 3y agoFor Glue, Janet is probably the biggest one right now. I am working on something, but it will take a long time.
- rich_sasha 3y agoI remember looking at Janet and quite liking it, clean neat and small. ...but then, I'm heavily invested into Python and it wasn't clear to me where Janet is materially better, for system scripting-type of issues. What am I missing? I'm not saying Python is some pinnacle of language design. I'm learning Rust, because it's very obvious how it fills gaps that Python cannot cover. What's that gap for Janet?
- di4na 3y agoIt has package management that works.
- masukomi 3y agoI'd say Raku for Glue language. In much the same way Perl was used for gluing different things together Raku does all of that, but better, in parallel, while providing you some hor d'oeuvres to nibble on while you write it.
- replwoacause 3y agoPowerShell is my glue language of choice. Works cross platform and I get all the power of objects and the .NET Framework.
- speed_spread 3y agoI like Powershell but IMO it still has too many fundamental Microsoftisms for it to be practical on Unix systems. I would opt for Nushell instead: https://www.nushell.sh/ https://www.nushell.sh/
- vips7L 3y agoNu just isn’t as exciting imo. You lose the C# standard library and all of the amazing tooling that Microsoft has built for it.
- replwoacause 3y agoNushell is a great project and I’ve taken it for a spin, but it isn’t developed enough yet to even come close to rivaling PowerShell. The PowerShell ecosystem is robust, and I can import a module for just about anything I need to do. I’ll be keeping an eye on Nushell though…
- scythe 3y agoAs a somewhat reluctant user of Python for scientific computing, the main thing that keeps me from trying Julia is that it seems to have a severe case of featuritis. I never wanted or needed my convenience language to try to be a C++ replacement, and the hodgepodge of syntax I see when I look at Julia samples is nauseating. Replacing Python is not practical right now because it is more comfortable to use a language that doesn't try to be everything to everyone, and that means that it will be built on a base language — in Python's case, C. That ground is shifting, and nobody is sure if the new base will be Rust, Zig, something else, or if it will all blow over and C will come back. So the space isn't being targeted very much.
- Hasnep 3y agoIt's interesting you say that because looking at large calculations in Python using numpy can be pretty nauseating. The only big thing to learn with Julia is the broadcasting syntax, other than that, Julia has a good macro system, so sometimes you see syntax that doesn't make sense without knowing what the macro does.
- freilanzer 3y ago> I never wanted or needed my convenience language to try to be a C++ replacement Strange as that is one of the reasons why Julia exists - fast Python. > and the hodgepodge of syntax I see when I look at Julia samples is nauseating. I honestly like the syntax. OTOH I dislike Pythons syntax somewhat.
- pjmlp 3y agoI know Python since 1.6, and use it as main scripting language when on UNIX platforms, as if Python 3.11 versus 1.6 isn't full of featuritis as well.
- throwawaymaths 3y agoElixir, elixir, and elixir?
- inawarminister 3y agoThis, I still think myself as a Clojurist mainly but Elixir's Nx/Bumblebee, Elixirscript ability to use Mix.install per script file, and calling into NIF/FFI codes (as seen in Nx itself) is really strong story IMO. Now, if only Crystal can make for a strong NIF language for BEAM...