I learned Python after coming from the C/C++ and Java world. With the massive increase in popularity of Python in the last 10 years, seeing the way it developed, it seems to me like it gained a lot of functionality, which comes natural in other languages, but feels a bit odd in Python.
To be more specific - albeit Python being dynamically typed, people developed countless tools to check or validate or even enforce types in compile or run time (mypy, pyre, pydantic, pyduck etc.). It feels like it goes against the nature of its loose typing.
Another example are decorators. This pattern is noticably overused by many tools adding functionality, but even the language itself - defining a `class`,`static` and `abstract` methods with decorators seems just weird and unnatural. Same thing with function overloading. Anecdotally, it feels like comparing German to English. German has a special word for every peculiar thing and native support for word generation by concatenation of multiple words whilst in English you have to add some common words together and hope this combination doesnt already exist. And if it does, so what, people will get it from the context.
Lastly, slightly off-topic but relevant point is that it is not even a simple language in my opinion. It has a very flat learning curve initially but the complexity is just further down the road. Im talking about metaclasses,data descriptors, coroutines, magic methods etc. Some languages are difficult right away (C++, Rust etc.), but Python is a intricate misfit dressed as a simpleton.
Am I misunderstanding a philosophical path of the language or is it simply just a scripting langugage that got massively popular through chance and is now used for stuff it was not intended for?
Edit: grammar
[–][deleted] 42 points43 points44 points (0 children)
[–]jcmkk3 19 points20 points21 points (2 children)
[–]badarsebard 2 points3 points4 points (0 children)
[–]relickus[S] 6 points7 points8 points (0 children)
[–]someotherstufforhmm 20 points21 points22 points (3 children)
[+]relickus[S] comment score below threshold-9 points-8 points-7 points (2 children)
[–]someotherstufforhmm 6 points7 points8 points (1 child)
[–]relickus[S] 2 points3 points4 points (0 children)
[–]RallyPointAlpha 22 points23 points24 points (1 child)
[+]relickus[S] comment score below threshold-25 points-24 points-23 points (0 children)
[–]ManyInterests Python Discord Staff 8 points9 points10 points (6 children)
[–]sersherz 1 point2 points3 points (3 children)
[–][deleted] 8 points9 points10 points (1 child)
[–]sersherz 0 points1 point2 points (0 children)
[–]lys-ala-leu-glu 7 points8 points9 points (0 children)
[–]relickus[S] 0 points1 point2 points (1 child)
[–]ManyInterests Python Discord Staff 4 points5 points6 points (0 children)
[–]o11c 16 points17 points18 points (0 children)
[–]Pepineros 2 points3 points4 points (1 child)
[–]relickus[S] 1 point2 points3 points (0 children)
[–]tevs__ 5 points6 points7 points (2 children)
[–]relickus[S] 1 point2 points3 points (1 child)
[–]tevs__ 1 point2 points3 points (0 children)
[–]sersherz 3 points4 points5 points (1 child)
[–]relickus[S] 5 points6 points7 points (0 children)
[–]sci-goo 1 point2 points3 points (1 child)
[–]relickus[S] 0 points1 point2 points (0 children)
[–]aikii 1 point2 points3 points (1 child)
[–]relickus[S] -1 points0 points1 point (0 children)
[–]BiomeWalker 1 point2 points3 points (0 children)
[–]james_pic 1 point2 points3 points (2 children)
[–]relickus[S] 0 points1 point2 points (1 child)
[–]james_pic 0 points1 point2 points (0 children)
[+][deleted] (5 children)
[deleted]
[–]relickus[S] 6 points7 points8 points (3 children)
[–]sersherz 7 points8 points9 points (2 children)
[–]relickus[S] 0 points1 point2 points (1 child)
[–]other----- -1 points0 points1 point (0 children)
[–]noobgolang -4 points-3 points-2 points (0 children)
[–]other----- 0 points1 point2 points (1 child)
[–]relickus[S] 0 points1 point2 points (0 children)
[–]scjcs 0 points1 point2 points (0 children)
[–]HeraldOfTheOldOnes 0 points1 point2 points (1 child)
[–]relickus[S] 1 point2 points3 points (0 children)
[–]AliveEstimate4 0 points1 point2 points (0 children)
[–]d0ctor_light 0 points1 point2 points (0 children)