6 ms·
I have a nice way of testing a language - I download a couple of projects written by beginner / mid-level developers and not having commercial dependencies and
by radicalbyte 2y ago
I have a nice way of testing a language - I download a couple of projects written by beginner / mid-level developers and not having commercial dependencies and see how much effort it takes to get them running.
Python is one of the worst performers (and Java is shockingly bad too, although a lot of that is down to the way the JVM/language have been mismanaged). At least unless you're comparing it to very low-level languages (VDL, C).
- DarkNova6 2y agoIn which way do you believe the JVM/language has been mismanaged?
- munksbeer 2y ago> and Java is shockingly bad too, although a lot of that is down to the way the JVM/language have been mismanaged This is interesting and not what I would expect. Generally to get a java app running from github you'd install the correct JDK and that should be about it. Many projects will use maven, which will know how to obtain dependencies. Could you describe a typical issue?
- _w1tm 2y agoDoes Maven come bundled with the SDK?
- callmeal 2y agoIt's an additional install, like the jdk. Typically on a brand new os install the equivalent of these steps would be done: sudo apt-get install <jdk> sudo apt-get install maven And then you'll be good to go.
- radicalbyte 2y agoI develop on a Windows machine so you're left working out which version of which JDK you need to install. That isn't really a problem with other languages.
- imtringued 2y agoNo but you can just use ./mvnw instead of installing it. I have never had to install gradle as a package on my computer in my entire lifetime. I always used ./gradlew.
- radicalbyte 2y agoDependencies requiring you edit some random XML file somewhere on your machine to get them working. That and the whole JVM fragmentation and not being able to touch Oracle because it's Oracle and they'll use it as an excuse to sue you (at least that's the impression I had, the entire lawsuits thing is why I left Java back in the day). You can say the same about other package managers, but it's not very often that I have to add another source to apt unless I'm running in a locked-down environment.
- blandflakes 2y agoEditing your dependencies in maven is not some "random XML file somewhere", come on. It's a standard file that is situated like any build declaration.
- munksbeer 2y ago> Dependencies requiring you edit some random XML file somewhere on your machine to get them working. No it doesn't. That's only if you're dealing with private maven repos and authentication etc. You don't need to do that at all for the use case in this thread, running a project from github.
- pjmlp 2y agoLike the C and C++ compiler fragmentation, each with their own flavour of ISO support, UB and language extensions? Or the Go compiler fragmentation, where only the reference compiler supports everything, tinygo a subset, and gccgo left to die in Go pre-generics era.
- quectophoton 2y agoMy usual test for choosing a new programming language, is to see how easy or difficult it is to read documentation without having to open a web browser. For languages/tools/frameworks/whatever that I'm already using, the main way I compare between them is looking at the ratio of "problems I was able to solve from their official documentation" vs "problems where I needed to use random blog posts (or worse, Stack Overflow) to find the solution". Makes it a lot easier for me to choose tech for my hobby projects, where I sometimes don't even touch projects for several years because stuff just runs smoothly.