Basically yes. I mean it's all relative. There's be no point in giving it such a distinction in 20 years when it's long dead and buried and some other shitty language has taken its place as the nigger.
I can take some guesses
>it has some really annoying quirks (whitespaces, etc) that are almost universally acknowledged to be a bad idea
>the designers are super opinionated to the point where they've tried to remove basic functionality that isn't "Pythonic" enough (e.g. lambda functions)
>all of its success in data science, machine learning etc. is really due to good C/C++ libraries, not by any virtue of Python itself
>its bad at OO, bad at functional programming, and basically teaches bad habits to new students
That said, it's okay as a glue language. However, it is irritating enough that I really wish something better would replace it in data/math, like Julia or something.
People like Python only because the syntax is aesthetically nice and psuedocode-like. When you get past superficial level you see that Python is a very poorly designed language, its very inconsistent with lots of hacks and cludges to make things work.if __name__ == "__main__":
I only hate it because it is pushed as this "easy to learn language everyone should start with".
It is not easier to learn than anything else and I haven't seen any good tutorials on the language, so I don't see why this meme is pushed.
1) It attracts so many noob programmers of the worst kind. If see someone asking questions about learning C, you usually can expect the person to have put some effort in. Questions are more like "OK, I'm doing some pointer arithmetics here but I always get the warong result. Can you give me a hint?" Now when Python """programmers""" ask questions it's more like "Hey guzy, how do I do this 'for-loop'..??!1 xD". They make terrible mistakes, because the language gives you a false sense of "programming is easy, let's all code!".
2) The data structures are not so great. In languages like Lisp or Ruby you have powerful data structures that you can immediately use and have great iterators/filters already included. In Python you have to import things like "functools" and "operator" which is just stupid for a scripting language.
3) Forced indention isn't cool. No language after python copied this concepts, because it's just annoying. You are forced to write only short functions, because when function bodies are longer, you always have to check twice if everything is correctly. I found myself realigning code areas more than once.
4) Python people are usually pretty condescending. Ask a Ruby guy about Python and he'll say something like "Well, python is a little bit quirky, but overall it's not a bad language." Ask a Python guy about Ruby or Perl and he'll say something like "Well there's nothing in Perl that Python can't do better. Ruby? OMG hipster-tier shit! LOL rails sucks so much!! xD No, I haven't actually programmed with Ruby, why do you ask?"
5) Python gets way more attention than it deserves. I blame the colleges that adopted Python as language for freshmen. Why not something decent like C, Lisp or even Java?
You'll see Python supporters on this board all the time. It doesn't matter what you post about someone will come along and hate it and someone will argue. That's the beauty of this board.
Python is so ubiquitous these days that really there is no excuse for not knowing it. I prefer Ruby but I still need Python at work all the time.
/pol/fags detected. Your board isn't some paragon of antisemitism. If you weren't utter newfags, you'd know that kike tricks are hated pretty much everywhere on this website.
You'll be happy to know that when I was in college in 1998, first programming class was Scheme (lisp), with subsequent classes all using C++ or Java. CS majors were required to take an Asembly class as well.
Any good college still teaches students some sort of Assembly, mine did MIPS. C is still taught, but only on a basic level. You're expected to experiment with it and gain further knowledge for subsequent classes, like Operating System Design. The last language they teach is Java, only cause it's pretty much the industry standard for a bunch of shit nowadays.
Most classes leave you to your own devices and don't hold your hand through teaching new languages, only the first 3 or so classes are about getting to grips with a new programming paradigm or language. After the class that teaches C, pretty much every class is about doing projects in whatever language you choose.
That is literally the worst example you could think of to make your point.
You don't need that statement in any properly structured package.
The __main__.py file is the entry point module, like the main function in C:==> testpkg/__main__.py <==
from testpkg.run import main
And it can just import from whatever is in the package:==> testpkg/run.py <==
Seems pretty consistent to me.
Key is you're supposed to run modules, not files in Python:> python -m testpkg
Yeah I know, 99% of beginner python programmers don't know this and will use the statement you posted. It's a hack you need only if you don't care or cannot follow the convention as intended...
Most of /g/ are 1st or 2nd year Comp Sci. (brainlet) undergrads who learns some basic stuff about programming and now believe they are qualified to judge the quality of a language. Meanwhile, actual scientists use python for all kinds of things due to how fast it is to write the code. Then, when performance matter they whip out C++ or Fortran.
If you're studying maths don't bother with C++ until later. Python/Matlab is the way to go.
Also what kind of university doesn't teach you programming during your first semester?
we did python in some general science type class, R is used in the stats courses and matlab shops are taught in the first 2/3 calc courses.
when i say learn i mean actually putting some time and effort into it.