4 ms·
While Python has never been my primary coding language, I've used it extensively for building scripts and tools, but I've pretty much given up on it. The langua
by sverhagen 3y ago
While Python has never been my primary coding language, I've used it extensively for building scripts and tools, but I've pretty much given up on it. The language is so elegant, but the installation of it (with 2~3 compatibility issues being just a small part of that) just became such a turnoff. It's been super frustrating having to search the Internet every time I need to install something Python-related, to then find all sorts of conflicting instructions, bleh. Virtualenv, venv, a different Pip in Ubuntu, and so on. Since there's a lot of references to Java in these discussions: there's "sadly" two ways to do it: Maven and Gradle. That's still one too many, but at least not a new flavor du jour every year, like seemingly with Python.
And I'm sure someone will drive by, now, and tell us we have to use xyz, "obviously". But if that's not "obviously" what I find in an Internet search, then the community has apparently not agreed on it consistently in a sustained way.
- xmcqdpt2 3y agoThe new official Scala build tool / compiler front end (scala-cli) is amazing, https://scala-cli.virtuslab.org/ https://scala-cli.virtuslab.org/ The thing that really struck me after years of python is how it lets you out dependencies directly in a comment on top of a script and it will download and run with them automatically, without poisoning any system settings. It's so simple!
- mananaysiempre 3y ago> it lets you out dependencies directly in a comment on top of a script and it will download and run with them automatically, without poisoning any system settings The old-style nix-shell command in Nix can do this[1] for every language and package Nixpkgs supports, although it’s not that often used because it ties your shebangs to Nix. (An equivalent feature for the new CLI is a work in progress[2].) [1] https://nixos.org/manual/nix/stable/command-ref/nix-shell.html#use-as-a--interpreter https://nixos.org/manual/nix/stable/command-ref/nix-shell.ht... [2] https://github.com/NixOS/nix/pull/5189 https://github.com/NixOS/nix/pull/5189
- sverhagen 3y agoJust curious: what makes it "official"?
- xmcqdpt2 3y agoIt's going to be rolled out as the new standard Scala repl and compiler (instead of the current scalac which is a bit weak on features.)
- MarkMarine 3y agoHaving different build tools, that’s one thing. I can live with a somewhat wonky development environment to work on my code, as long as I can set it up once and it works after that. I would prefer elegance, just one is used and that’s it, but I don’t know of a language with a large user base that has that. My point lies more in the install experiences for say, a command line tool written in said language. For Java I need one Java install on my system, it’s the most recent one. I install it and then all the old code just works, all my Java command line tools just work, I never have to watch homebrew install some stupid version of Java@11 when I have Java@13 installed like I do python@3.9 when I know I already have python@3.10. All of this is BECAUSE people basically threw up their hands and distribute the core language at their version with their code and their chosen dependencies “installed” into it… so we’ve all got 15 bespoke versions of the same language kicking around on our hard drives. That is really stupid.