4 ms·
> - it’s believed to be beginner friendly compared to other languages. I’m not really sure why - maybe the whitespace? I am leaning more towards it looking lik
by Akronymus 4y ago
> - it’s believed to be beginner friendly compared to other languages. I’m not really sure why - maybe the whitespace?
I am leaning more towards it looking like pseudocode
> - it has an enormous set of libraries available to use
I believe that to be the actual reason. I've long held that python is a kinda bad language, but with FANTASTIC libraries
- deafpolygon 4y ago> but with FANTASTIC libraries written in C _and FORTRAN_ ftfy - it's the only way a tragically slow language like Python can keep up. Edit: didn't forget FORTRAN
- dagw 4y agolibraries written in C That is simply not true. Even libraries like numpy, scipy and scikit-learn are majority python code.
- deafpolygon 4y agoMajority python code, being ~60% is mostly wrapper code, with the slowest parts (the parts that matter) written in C. https://stackoverflow.com/questions/1825857/how-much-of-numpy-and-scipy-is-in-c https://stackoverflow.com/questions/1825857/how-much-of-nump...
- ihatepython 4y agoDon't forget about FORTRAN
- grog_tremor 4y agoEh, you massively overestimate the importance of performance. For the vast majority of use cases, performance just isn't a priority. Doubly so for Python, that shines for simple automation, command line applications, and perhaps some serveless computing. Being easy to write, having a good ecosystem of libraries, and being widely known is typically good enough. I wouldn't use Python to write a robust backend server side application, mostly because the language doesn't lend itself well for it.
- deafpolygon 4y agoEh, you make incorrect assumptions about me. I'm stating a fact why Python is used - the data science ecosystem in Python thrives because of well-written libraries _written in C_ under the hood AND an easy-to-use language that writes like pseudocode. If it was too slow, we'd be doing all of this in Java, the C# or maybe doing it in C/Fortran. But because of some early design decisions (Guido being on the matrix-sig helped), the history behind Numeric/Numarray and finally NumPy and SciPy being based on those efforts allowed it to thrive.
- grog_tremor 4y ago> it's the only way a tragically slow language like Python can keep up. Those were your words, not mine. I need not make any assumptions. I just replied listing use cases where Python shine due to its strengths, performance being mostly irrelevant. I didn't even mention data science. And although it's beyond the point, if I was to use Python, why should I care in which language a library was written? If the language allows libraries written in other languages, this is actually a nice feature.
- UncleEntity 4y ago> If the language allows libraries written in other languages, this is actually a nice feature. That’s actually my primary use case for python, playing with C/C++ libraries in a repl because they don’t natively have one. Sure, it takes work to wrap a library but that’s something I enjoy doing.
- mort96 4y agoDoes it matter?
- UncleEntity 4y agoBecause it’s proof, PROOF!!!, that python is inferior to their favorite language. Just wait until they learn the python interpreter is written in C… <grabs popcorn>
- pharmakom 4y agobeginner programmers don't know pseudo code either though! the best teaching language (imo) is one with few features or surprises. I think Scheme might come out top here.
- dagw 4y agoI think Scheme might come out top here. Depends what you are trying to teach. If you're trying to teach computer science and programming fundamentals, then sure. If you're trying to teach people how to get 'real work' done quickly and efficiently then Scheme will only get in the way and slow people down. For example when I've taught programming, one of the tasks I taught fairly beginner programmers was to grab some satellite images between certain dates, try to detect if there is a forest fire, measure the spread of the fire and plot the spread on a map. With python (and its excellent libraries) this is quite quick and easy, and most people are up and running and hacking around with their programs in pretty short order. They find it really cool and inspiring and makes them quickly realise that programming could be something useful in their day to day job. Trying to start with chapter 1 of SICP and Scheme and working up from there to solving the above problem would probably lead to most of these people giving up on programming very quickly. That being said the few people that made it all the way through that would no doubt be much much better programmers because of it.
- Izkata 4y ago> beginner programmers don't know pseudo code either though! It looks like English. That's all pseudocode is, and they know that well enough.
- mr_mitm 4y agoAnd fantastic documentation!
- ericholscher 4y agoThis is an under-discussed point, at least from my biased opinion. It seems like the Python documentation ecosystem is the best, and has been building fantastic tooling for over 10 years now.