6 ms·
There is one part in me that says to not destroy your positive mood, there is another part in me that wishes to yell at the pythonistas in general to look outsi
by exceptione 2y ago
There is one part in me that says to not destroy your positive mood, there is another part in me that wishes to yell at the pythonistas in general to look outside the Python world.
Too often I come across Python projects that are hyped and when I dive into it I find it rather underwhelming to say it politely. Invariably it turns out that those people don´t know any other language than Python.
I see that as a general problem; Python is the language for beginners this day with an endless amount of tutorials, but it seems lots of those starters don´t get to have a look outside the Python world. I fear this is getting an even bigger problem because AI models are trained on a vast range of Python, not because it is better, but simply because it is the PHP of these days.
I don´t mean to imply that I know you have that "narrow profile".
I agree that the value in Python is for quick prototypes in case you know Python well. Outside of that (at the risk of a language war), I think one does better look into modern .net core or the JVM for a general purpose, high quality and highly efficient language/platform.
On the topic of ORM I think EF Core (.net core) and Doctrine (php) is strictly better.
- juahan 2y agoHow are those better?
- greenchair 2y agojob security for one big one
- za3faran 2y agoStatically typed languages, performance, refactorability, instrospection, debuggability, observability, the list goes on.
- jampekka 2y agoFor pythonistas reading this: JVM and .NET frameworks are better for large projects in the sense that they turn even the simplest projects into large messes of pointless byzantine buggy architecture, which in some circles is a sign of "high quality". Edit: That said, learning multiple programming languages (paradigms) is a very good idea. A reasonable dose of e.g. Java, .NET or C++ for example is great for understanding how programming languages and software should not be written. Learning modern JavaScript makes it obvious how Python really suffers from weak functional programming support, very bad performance and a horrible packaging system.
- DarkNova6 2y ago> For pythonistas reading this: JVM and .NET frameworks are better for large projects in the sense that they turn even the simplest projects into large messes of pointless byzantine buggy architecture, which in some circles is a sign of "high quality". You got to back up this claim. The technologies you mentioned are entirely orthogonal to the architecture you are using.
- jampekka 2y agohttps://spring.io/guides/gs/spring-boot https://spring.io/guides/gs/spring-boot
- DarkNova6 2y agoThis is not even a counter argument. We are talking ORMs here, not dependency injection frameworks. The Java equivalent to Django ORM would be Hibernate. It doesn't strike me that you know what Spring does, nor where its own features end.
- jampekka 2y agoThe comment I replied to was to general development. And Spring is the most popular Java web framework (that it's called a "dependency injection framework" is kinda telling about the architectural ideology). I've had the misfortune to use both Spring and Hibernate professionally.
- za3faran 2y agoI used Java, python, and golang professionally, and the Java ecosystem (and yes, including the language) is far ahead of what the others offer on almost all important fronts, including readability, expressiveness, testability, introspection, etc. You just need to be a little bit disciplined - then again, that is always the case regardless of language/platform.
- eru 2y agoORMs are a bad idea in the first place: relations are a great way to organise your data, why would you want to sully that by converting to something object oriented? > Too often I come across Python projects that are hyped and when I dive into it I find it rather underwhelming to say it politely. Invariably it turns out that those people don´t know any other language than Python. To give a nice counterexample: Python's hypothesis library is really great, and compares favourably to its Haskell inspiration of QuickCheck.
- jampekka 2y ago> ORMs are a bad idea in the first place: relations are a great way to organise your data, why would you want to sully that by converting to something object oriented? One big why is SQL. It's a horrible language/API but sadly practically all relational databases are SQL.
- sgarland 2y agoSo horrible that it’s been the standard for 50+ years. The relational model is great. Embrace it, because it isn’t going anywhere.
- jampekka 2y agoRelational model is good, SQL is not. They are not the same thing.
- sgarland 2y agoShort of academic languages like D, nothing faithfully implements the relational model. Some compromises are necessary to make it useful for practical applications, hence SQL.
- eru 2y agoHave you looked at Datalog recently? SQL has other warts, apart from not being completely relational.
- itsoktocry 2y agoWow, I didn't think people still thought like this in 2024. The widespread use of Python is a problem? People should learn java? Okay. I'll note you don't talk about the usefulness of the projects themselves, only your opinion of what the code "looks like".
- greenie_beans 2y agono, i'm not about to go back to .net core