Python

Im curious as to what's Sup Forums's opinion on the Python Programming language?

meaningful whitespace is dumb

inb4 Python is not a programming language

Good scripting language, but compiled > scripting

Agree

disagree

its pre good but the indenting shit is so fucking shit

Some fucking retard tried to tell me python3 is turing complete today

meme

I used it for a computational physics class. It worked pretty well for me, cause it's relatively intuitive. I don't do any serious programming, so I doubt I'll ever have occasion to learn another language.

maybe

how do i learn to python

ive never done programming before

It needs C-syntax.

Khan academy does their programming lessons in python. There are also textbooks out there. And there's a fair bit of documentation around if you just google what you're trying to do.

Interpreted languages feel pointless as statically compiled languages compile faster than god nowadays (atleast D does that).
Python is carried by it's libraries entirely.

Its performance is awful really, only things going for it are the huge amount of libraries it has and that its syntax is pretty easy.

A lazy programmer's best friend in short.

It just werks for simple scripts, but it both the language and the implementation could be more thought through.

see pic related

...

Pretentious and retarded

My opinion is why would you use it over JS, D, or Rust?

It's compareable in how easy it is to get to to JS, but JS on Google V8 runs at least 4 times faster than the fastest Python VM.
There are some ways that it does better than JS (like __add__ versus how things like toString() works and happens in JS under addition), but also things that are worse.
And in the end, again, it's slower. It's too slow. In JS you can rewrite a C++ application and it ends up being faster because of all the optimizations the VM does and all how many complex things are happening for you with simple code. That will never happen with Python, it'll always be slower.
And then you have the stupid syntax. So I'd say it was an okay transitional language for the time, and is fine to use for those that are already comfortable with it or have old Python code to maintain, but no one past 2014 should have been learning it as a new language.

Interpreted still have advantages with real-time debugging without needing to write a purpose-built tool for it with every new program you make. With JS you just hook a console to it and inspect and modify the code in real time.

Granted, you can also put V8 on top of a c++ profile and hook lots of your program into it for that.

Excellent for learning algorithms, as it really encourages you to write things well so it isn't incredibly slow

The entire machine learning community depends on python. So if you want to have a job in the future, I'd say go ahead and learn it. Python 3 though, Python 2 needed to die 2 years ago.

As a physicist i quite like it. It might not be as efficient as some other language, but it doesn't get in the way and has plenty of useful packages.

See:

/bread

I don't like it. Also the whitespace.

and nowadays interpreted languages work faster than compiled

That's literally only true with JS.

And even then, though it often beats C++, it still doesn't beat C in small samples. And it loses hard in memory usage.

It's not true with Python and never will be true unless some big company invests billions in a better interpreter, which won't happen.

I didn't care for the whitespace thing the first time I saw it, but in practice it's an excellent language feature. First, because GvR was correct when he said that code is read a lot more than it's written,and yeah, I realize brackets could achieve that same readability. But, anybody who's worked in Java for any length of time has seen horrifying code that has methods hundreds of lines long, with indentation five levels deep or more, and under Python, that kind of rambling code just isn't possible, and I love Python for that.

That bring said, I would never use Python for anything CPU-bound, only for cases where I expect the code to go through lots of iterations. Horses for courses.