4 ms·
You don't like people being hard on Python fine. Don't do the same for Java. Modern Java doesn't have nearly as much boilerplate and is nearly as concise as pyt
by invalidname 4y ago
You don't like people being hard on Python fine. Don't do the same for Java. Modern Java doesn't have nearly as much boilerplate and is nearly as concise as python.
Relying on IDE < Benefiting from IDE more than other languages.
Python can be great and so can Java. Different strokes. Different use cases.
- j0hnyl 4y agoI don't mind people being hard on Python, but the idea of Java over Python "in a pinch" is lost on me, but what do I know...
- bborud 4y agoAs a consumer of a program, you don't really care about what language it was written in. But you do care about to what degree you have to involve yourself in the process of getting the software to run. Java was mentioned because it offers a way to package all dependencies in a single file. From a user perspective this is preferable to "here is a program, now you have to gather all the pieces to make it run without breaking stuff". Whether one loves/hates Java doesn't really enter into it. The language itself is somewhat irrelevant for the discussion - the way in which software is distributed and installed is the real point. Python isn't particularly nice for tooling since it offloads a lot of work on the consumer. You download a Python program, then you have to care about how you should run it, which language version it is, make sure the dependencies are downloaded etc. And even if you have gotten it to run today, tomorrow it may not work. For myriad reasons.
- j0hnyl 4y agoIn my domain and maybe this is not the norm, the consumers of "tooling" are usually other engineers.
- falcolas 4y agoModern java relies on Lombak (code generation) and DI frameworks (seriously, fuck DI) to avoid boilerplate. The base language has just as much of it as it always has. And, as I just found out this morning, DI frameworks blow up at runtime despite successful compilation and runs through unit testing.
- kaba0 4y ago> The base language has just as much of it as it always has Which is roughly equal to that of C, C++, and many other languages, being a tiny constant percentage larger than equivalent code in some “modern” language.
- invalidname 4y agoNope. Records, lambdas, var, multiline strings, switch pattern matching, improved instanceof, etc. I suggest reading up on Java 18 and some of the upcoming features.
- falcolas 4y agoThose are improvements, no doubt, but they don't even begin to touch the quantity of boilerplate removed by Lombak.
- invalidname 4y agoRecords do. You need Lombok for very specific things. JPA, etc. If you use JPA then the benefits and capabilities far outweigh any boilerplate or dynamic runtime overhead.