27 ms·
Holy Crap! What a lot of irrational, hyperbolic hate for Python. I think everybody should spend their first couple of years working in Fortran IV on IBM TSO/
by Ensorceled 7y ago
Holy Crap! What a lot of irrational, hyperbolic hate for Python.
I think everybody should spend their first couple of years working in Fortran IV on IBM TSO/ISPF. No dependency management because you had to write everything yourself. Or maybe [edit: early 90's] C or C++ development where dependency management meant getting packages off a Usenet archive, uudecoding and compiling them yourself after tweaking the configure script.
I'm not saying Python is perfect, but if it's causing your burnout/destroying your love of programming/ruining software development you seriously need some perspective.
- einpoklum 7y agohttps://conan.io/ https://conan.io/ https://vcpkg.readthedocs.io/en/latest/ https://vcpkg.readthedocs.io/en/latest/ You were saying about C/C++ package management?
- rpedela 7y agoHistorically, that is a relative newcomer to the C/C++ world. You completely missed the parent's point.
- vkazanov 7y agoYes, pls, go on and tell us how it's a default package management tool for C/C++... It is a step forward, sure, but it's a far cry from Python's pip or Rust's Cargo or even Dlang's dub.
- einpoklum 7y agoPython's PIP? Or do you mean Anaconda? Or VirtualEnv? Or Poetry, which someone here has pointed to? Also - you're moving the rhetorical goalpost. First you claimed there was no package management system, no you're complaining about the lack of default.
- foldr 7y agoGiven that OP was talking about getting C/C++ packages "off a usenet archive", I think it's clear that they were talking about what coding C and C++ was like two or more decades ago.
- Ensorceled 7y agoExactly -- one of the blog posts on the page they link to has a "3 Month Anniversary Survey"
- netheril96 7y agoTechnically he's wrong, and you are right, in that there are package management systems for C++. Practically, your being technically correct does not matter. No package management for C++ is popular enough for C++ programmers to avoid all the hardworks of manually managing packages, because there are always some (or most) packages you rely on not in these package management systems. pip, for all its shortcomings, does include almost all of the Python packages you ever need to use. That is a significant different in practice.
- Ensorceled 7y agoI'm pretty sure this didn't exist in the 80's and 90's ...
- orangeshark 7y agoSo did pip, according to Wikipedia[0], it came out in 2011. Did python have a different package manager before this? [0]: https://en.wikipedia.org/wiki/Pip_(package_manager) https://en.wikipedia.org/wiki/Pip_(package_manager)
- tannhaeuser 7y agoWhat about pkgconf + autoconf? Might not be the grand unified package manager you're conditioned to look for, but works well and is pretty much universally used. Besides, C and C++ aren't about language ecosystem lock-in, but about creating standardized artifacts (shared libs, static libs, and executables) designed to work and link well in a polyglot environment (well C++ maybe less so with its symbol mangling/typesafe linkage).
- rohan1024 7y agoI don't think its hyperbolic. If so many people are complaining then we have a issue. I have tried to learn Python but every time I did, some things kept turning me off. - First indentation was a issue for me but I looked past it and went ahead to give another go at Python. - Even the best in class IDE suffer to give any kind of insight into python code. - Two versions: At my workplace we use Python 2. I prefer to learn newer version but don't have choice. When Python 3 came out they should have initiated deprecation of Python 2 but that does not seem to be the case. Tonnes of libraries are still in Python 2. They should have maintain language backward compatible instead of fragmenting the entire community. - So many ways to do a thing. This is subjective but I need a language which gives predictable performance for given piece of code. Go does this. There's usually one way of doing things and only one way. No need to know nooks and crannies of the language nor there is such a thing in Go
- moksly 7y ago> At my workplace we use Python 2. You’re probably aware of this, but at the odd chance you aren’t, Python 2 end of life is 2020. You really should be moving to Python 3. > Go does this. There is a lot of love for Go and Rust on HN, but unless your region of the world is significantly different than mine, then chances are that there won’t be a Go or Rust job in your lifetime. I’ve only ever seen one of them mentioned in a job opening for my entire country, and that was as “nice to know” for a c++ job at Google. I’m sure Rust and Go are truly excellent languages, but that doesn’t really matter for most people, if they never manage to see any adoption outside of Silicon Valley.
- rohan1024 7y ago> "nice to know" So true. There are tonne of Python, Java and other legacy software jobs compared to Go. I am probably gonna have to learn Python (which I think is better than existing legacy technologies) because of this though I am not really interested.
- mises 7y agoPlace your bets now; I predict the day they turn off pip2 will be the real y2k.
- odiroot 7y agoAgreed. I really don't understand all these buckets filth being poured on Python in this thread. It's a first language I worked with in my life that just clicked with my brain and doesn't just drain me. I would take a Python job over a Java/C/C++/Go/Rust any day. There's some languages that could pull me away from Python (Nim, Crystal) but they're nowhere popular enough to move wholesale to them.
- skywhopper 7y agoAnd some people feel the opposite. I’m glad Python works for you. I had the same click-with-my-brain feeling with Ruby, whereas I find working with Python to be draining and demoralizing.
- Ensorceled 7y agoI've worked in so many languages and environments in my career and Django/python/virtualenv has to be one of the least painful. I tried Rails which is very similar but feels "inside out", a good friend of mine loves Rails and hates Django and has the exact same feeling about Django. That's kind of my point, you may like other environments better, such as React/Node/NPM but that doesn't mean Python is a horror show. I'm quite enjoying Go though.
- nighthawk648 7y agoHow stable is python to run a full trading / quantitative algorithm on? I feel there are benefits for every language. I am just curious if super stable and scalable conditions can be met on python.
- Barrin92 7y ago>How stable is python to run a full trading / quantitative algorithm on? JP Morgan operates a ~30 million LOC Python platform for trading and analytics. (related talk: https://www.youtube.com/watch?v=ZYD9yyMh9Hk https://www.youtube.com/watch?v=ZYD9yyMh9Hk) Yes, there are very, very large working python codebases in fields out there that demand correctness. I'm honestly getting tired of the static typing circlejerk that has entered the industry.
- botto 7y agoIsn't it also just as much about Python is having it's day, granted a day long in the waiting but many langs go through this (Ruby, PHP) and then it tapers off and the next language has it's day. Probably Go will be the next hotness in 5 years.
- Ensorceled 7y agoMaybe, I love Go but I'm not sure it's the next "hot" thing, all the recent "hot" languages have been scripting languages PHP, Ruby, Python, JS ... I'd say JS and Python are currently jockeying for that position.
- danielscrubs 7y agoIsn’t JS one of the most popular languages? It has a monopoly in the browser so that and C++ already has the most impact on users. Hard to see how it can become more popular.
- arcticfox 7y agoThe server-side of things can start eating away at other languages. Node.JS is obviously already very popular but it can still grow massively. I for one have started running TypeScript on my servers whenever I can, I love it. There's still room for improvement though.
- lioeters 7y ago> running TypeScript on my servers I'm curious, do you mean compiling to JS and running it on the servers? Because I would love for the runtime itself to run TypeScript, something like Deno [0] but (maybe in the future) as mature as Node.js. [0] https://deno.land/ https://deno.land/
- saagarjha 7y ago> It has a monopoly in the browser Well, there’s WebAssembly…
- 7y ago
- martpie 7y agoFamous one: > There are two kind of languages: the ones everybody hates, and the ones nobody uses.
- w8rbt 7y agoSlightly wrong. Here's the original: "There are only two kinds of languages: the ones people complain about and the ones nobody uses." Bjarne Stroustrup's FAQ: Did you really say that?. Retrieved on 2007-11-15.
- ianai 7y agoaka People complain about things they use.
- m45t3r 7y agoThis is spot on. In my current workplace we use Clojure, and Clojure has many of the same problems in package management as Python does (no lockfile, no easy way to create reproducible builds, no way to declare range of dependencies unless you use version pin, etc. etc.). However, I never saw any complaints about Clojure package management in any topic about Clojure here.
- tyingq 7y agoMaybe because Clojure has a much smaller total number of possible dependencies? That is, "just as bad theoretically, but easier to wrangle by hand".
- Erlich_Bachman 7y agoThat's just a demonstration of the same underlying phenomenon: "nobody uses it".
- m45t3r 7y agoWe use Clojure massively enough to have multiple issues with dependencies, including the fact that sometimes we need to build a new version of a library simple to build it with more recent versions of dependency X, for example. It is not that bad, much like I also don't think Python packaging bad. Other ecosystems have better solutions, though.
- JustSomeNobody 7y agoI hate hammers with soft grip handles, but my current job is forcing me to use one. They're so mean. I prefer hammers with wood handles. Oooh look, there's a hammer over there with a modern handle. I want that. I don't like wood anymore.
- perakojotgenije 7y agoDon't forget COBOL
- criddell 7y agoMany of us are trying very hard to forget COBOL.
- checktheorder 7y agoA hundred thousand years from now, when the Terran Empire's Dyson Swarms are ubiquitous throughout the Orion Arm, the relativistic generation-ships of the Andromeda Colonization Fleet have set out on their multi-million-year journey across the intergalactic deeps, and the World Computers housing the Great Intelligences serve the daily needs of quadrillions of citizens, there will still be job ads for COBOL programmers.
- dentemple 7y agoAnd they'd still bitch about how everything else still runs on Javascript.
- squaresmile 7y agoI think it's pretty disappointing that most of the top comments don't talk about the interview with Guido himself over the history of Python. Tangentially related discussion is one of the appeals of HN but I think it's a bit out of control here.
- tus88 7y agoWell in just glad this is the top comment, as Python really is taking over the world for a reason. And of all the bugs I have written in recent memory, not one came down to a lack of static typing. They were due simply to logic errors, flawed assumptions, misunderstood requirements, and good old race conditions. The static typing zealots like to think if it compiles is must be perfect, however this is a mirage. Unit tests in Python can compensate quite well for lack of static typing.
- icxa 7y agoHave you ever worked in a large engineering organization full of engineers with varying degrees of experience all trying to accomplish the same goal? I can't imagine anyone has ever tried to do engineering at scale (people wise) and did not find the value in static typing. It's why startups eventually moved off RoR once they started scaling. It's why there is such a large push to type JavaScript (have you seen the rollbar article about the top 10 errors in JavaScript? All but one have to do with types: https://rollbar.com/blog/top-10-javascript-errors/ https://rollbar.com/blog/top-10-javascript-errors/), it's why Facebook created Hack, and outside of parentheses repulsion, it's probably why so few large projects have been written in a LISP or LISP descendant. Python is great for small: small teams, small organizations, small projects with a few dedicated tasks, small scripting tasks. Most people aren't trying to take anything away from python here in the comments save a few irrational responses. *again want to stress in my comment when I speak of scale I mean scaling people wise: more organizational structures in your company, more engineers, more collaboration between teams.
- jnwatson 7y agoAnd in the same way that folks are adding typing to JavaScript, it has been added to Python. Python typing is quite similar to Flow, a JavaScript type checker.
- mruts 7y agoI find programming in Python dull and a little mind numbing. Sure, maybe Python was an okay choice 20 years ago, but the world has left it behind at this point. It’s lack of functional programming constructs, very few data structures in the stdlib, terrible performance, worthless statement vs expression semantics, no multi threading, no macros, etc. Instead of evolving into something okay, Python is pretty much the same broken language as it’s always been, run by a guy who is openly hostile to PL theory, FP, and any major changes to Python whatsoever. If you ever need/want to use Python, do yourself a favor and use Racket instead. Racket is better than Python in every single way (unless you are doing data science with Python, in which case fine keep using it).
- deleted 7y ago[deleted]
- upofadown 7y agoWell I actually feel betrayed... Python 1.4 was an awesomely simple programming environment and I pretty much immediately fell in love with it. Then features were added. Now it is a whole home improvement store full of kitchen sinks. I think that programming is a sort of theological process. Popular languages attract ideas. Unfortunately, in the case of Python, those ideas were not effectively filtered and now we have an expression of as many ideas as can possibly fit. The ultimate design by committee... I suspect that the recent excitement about assignment expressions is really a kind of straw that broke the camels back. The problem isn't just this one feature, it's the sum of them.
- Ensorceled 7y agoI write a lot of toy/hobby one-off scripts in Python and have since 1.5; what has significantly changed that prevents that type of usage for you?
- SantalBlush 7y ago>I think that programming is a sort of theological process. Popular languages attract ideas. Unfortunately, in the case of Python, those ideas were not effectively filtered and now we have an expression of as many ideas as can possibly fit. The ultimate design by committee... It's funny, a lot of people hate on Elm for the exact opposite reasons: one person dictating the language's direction and removing features. I suppose a nice balance could be struck between the two ends of the spectrum.
- coldtea 7y ago>Python 1.4 was an awesomely simple programming environment and I pretty much immediately fell in love with it. Then features were added. Now it is a whole home improvement store full of kitchen sinks. I've used Python at the time (and up to now). It was a revelation compared to Perl, but it sucked compared to modern Python. What exact features you have a problem with?
- cm2187 7y agoAre you saying that python is good for the 90s? VB6 was good for the 90s. But that's not really relevant to what language to use now.
- Ensorceled 7y agoNo, not at all, I'm saying if you had been a C programmer in the 90's you would have some perspective on some of the complaints and comments about python in 2019.
- Sean1708 7y agoWhy are you complaining about C in the 90s? If you'd been using punchcards in the 50s you'd have some perspective on some of the complaints and comments about C in 1990.
- dboreham 7y agoAbacus in the 0000's...
- Ensorceled 7y agoI'm actually not complaining about C in the '90s, it was amazing compared to Fortran in the '80s. Funny story, my first co-op job (Fortran IV), my boss made me fix a bug using punch cards so I'd appreciate why the codebase wasn't as nice as it might be. THAT was prespective.
- empath75 7y agoI love python as a scratch pad for playing around with code, but I don’t think I would put anything into production written in it. It’s just too hard to debug and maintain and deploy once it gets to even a medium amount of complexity. Interactive python and Jupiter notebooks are an absolute joy to work with though.
- Eli_P 7y agoCould you please elaborate what exactly gave you such a negative experience? Which stack and tools, why is it hard to debug?
- ken 7y agoI had to learn Fortran IV for my first job. Am I allowed to hate Python? Are you assuming everyone complaining here is young, and this is their first language? Consider that maybe they're complaining because they've used older languages they liked more. Often, not having a feature is preferable to having a feature designed or implemented poorly.
- Ensorceled 7y agoSure! I dislike all sorts of languages and environments. That wasn't my point. My point is if you had to write Fortran IV using an IBM 32xx terminal you wouldn't be quite so hyperbolic about modern Python. Unless you are claiming you would rather return to writing Fortran IV than use Python because you like Fortran IV better, in which case I'm very confused.
- xajK1 7y agoWhat does all this have to do with Fortran, terminals, or weaving your own core memory? Python's competitors are Lisp, OCaml, Swift, C# etc. I prefer at least Lisp and OCaml.
- ghc 7y agoPython's actual competitors are Ruby, Perl, R, Shell, Visual Basic, Javascript, PHP, and Matlab. Nobody's going to bother out OCaml or Lisp for web development, data science, or OS scripting where Python is most often used.
- C1sc0cat 7y agoYeh I recall working on MAP/Reduce using Fortran/ PL1G (1980's) we had to build an entire suite of JCL programs to mange every thing including build / deploy.
- yodsanklai 7y agoI'm a somewhat older programmer, and I've worked with a variety of languages (C, OCaml, C++, Scheme, Go, Java...). I think all of them are great in their own way and there's a lot to be learned with all of them. I started to use Python quite recently and I really like it. It is a well-designed language with high-level abstractions that are really fun to use. I like the pervasive use of iterators, the 'everything is an object' philosophy, the minimalist syntax, the build-in datatypes... That being said, I feel that the dynamic types show their limits when projects getter big. I use linters and static type annotations but I find refactoring very error-prone and there's a point where I don't really trust my programs.
- Erlich_Bachman 7y agoWhy would you rationally compare something that exists and lives today, in the form it has today - with something from early 90s? In what world is that an objective comparison?
- rowanG077 7y agoI don't agree at all. Your comment basically says: "It used to suck badly. So don't complain it sucks now.". I think dynamic typing is the bane of good software and we as an industry should try to actively discourage new code to be written in dynamically typed languages. That's not to say that Python doesn't have it's place. But I see it more as a programming language for small utilities no more then 2k loc in length.
- Ensorceled 7y agoNo, what I'm saying is that it used to suck really badly and we survived just fine, so I find all the over-wrought hand wringing about the havoc and burnout caused by Python's flaws hyperbolic.
- rowanG077 7y agoAll the languages you mentioned are statically typed though so they already have a large advantage compared to Python. To be honest if I can choose to inherit a 1M LoC code base I would even choose COBOL over Python.
- xoa 7y ago>and we survived just fine No we damn well DID NOT. This is one of the most infuriating lines used all over for dismissing concerns about modern things and developments. "Oh why do we need vaccines/antibiotics, we survived just fine without them" except, you know, for all the hundreds of millions of deaths. Minor detail that. Mere "survival" through gross inefficiency is not a real yardstick. By the same token, "it used to suck really badly" in programming and the result was awful practices, crashing, and security problems out the wazoo. We sort of "survived" that by a mixture of just plain eating the heavy losses and having them be somewhat mitigated by virtue of simply having less surface area for damage since less stuff was tech based or connected. Infrastructure was less built up. But times have changed and standards for, and value of, security/stability/supportability have increased dramatically. Yes in a sufficiently large group I'm sure you'll be able to find individuals engaging in hyperbole about any such thing on the internet. But that doesn't in turn mean that there aren't very real, very serious concerns raised around the context of modern practice. Dismissiveness based on bad historic practice is not merely uncalled for, it's just plain weird. Edit to add: another issue a lot of this dismissive comments tend to ignore is cost & skill. Yes, great things have been done with options we'd now consider subpar in the past, that's what they had to work with. But those things were done by the best of the best, with huge budgets, lots of experience and so on. A very important part of advancement is allowing the "same thing" to be done more cheaply by more people, and in turn be used for wider array of applications.
- willtim 7y agoTo understand the hate, you have to realise that no one likes being forced into using a particular technology. Especially one that is more of a lowest common denominator and ignores much of the progress in programming language research over the last 40-50 years (e.g. expressive static type systems, and Python still markets itself as "strongly typed").
- euler_angles 7y agoI go with what helps me get work done. I have a feeling many people are the same. Python lets me be productive in a crazy variety of tasks and mostly gets out of my way when I do so.
- willtim 7y agoIn my industry, the companies that have standardised on Python and consequently now have large Python codebases are not very productive environments anymore. Perhaps they were once, for the first few people, in the first few months. It's no surprise that the Python community has now started to try and retrofit types.
- sweeneyrod 7y ago> and Python still markets itself as "strongly typed" What's wrong with that? It is strongly typed (doesn't coerce everything like Javascript) just not statically typed (objects have types but variables don't).
- willtim 7y agoType means statically typed unless you qualify it with your own nomenclature "dynamic". Please don't hijack the mathematical definition of type.
- void445be54d48a 7y agoSounds like the author of the article has never been involved in the Javascript community.
- scottlocklin 7y agoPeople don't realize what a revelation Python 1.x was back in the day. Around 97 or so I was tasked with porting a giant mathematica program for calculation diffraction grating efficiencies into something which ran open source (there was no free mathematica engine for running scripts pack then). Back then, that meant either C or Fortran. Sure, stuff like Perl existed; nobody thought of it as a real interpreter that could be used to construct complicated things any more than Awk was. When I realized Hugunin over at Livermore had done lapack extensions for Python (whatever numpy was called back then) ... well this massive job was done in a week and worked the first time. The winning thing python had that nothing else had at the time was it was social, it was readable, and there was generally only one way to do things: the right way. It no longer has the latter quality, and the preferred coding style in it seems to be java-ish OO-spaghetti, but it's still pretty good. That said, these days, I resent every damn time I have to use it. It's eating data science, more or less because pandas and scikit is ... mostly good enough, and because unlike R it's .... mostly good enough to deploy in an enterprise application. But if you're working on the exploratory side of data science, Python is shit compared to R. Doesn't have the tooling, doesn't have native facilities, and is vastly more long winded. All the attempts to make Python more ... X ... are probably a mistake also. You're taking a beautifully simple tool and making it more exotic and complex. It's like trying to use Matlab to build webservers.
- Diederich 7y ago> ... Perl existed; nobody thought of it as a real interpreter that could be used to construct complicated things any more than Awk was ... I can't help but to gently interject here. By 1997, I'd been programming for some time, and there certainly were people who consider Perl suitable for programming in the large, and there were certainly big projects so written. While I disagree with the specific word 'nobody', I agree with the sentiment: Perl was widely considered to be only useful for 'small' things at the time. Widely, but not exclusively.
- bregma 7y agoI cut my teeth in FORTRAN IV (on RSX-11M). I lived through the archie days of uuencoded fragments to build my C environment, supplemented by DECUS tapes. Those were good old days. I use Python 3 these days for a lot of stuff. It's pretty good. These are better days. We all have complaints, but on the whole, things are not too bad. I think for the most part that when nothing meets your expectations, it may be that your expectations need to be adjusted.
- linsomniac 7y agouuencode still holds a special place in my heart.
- hydandata 7y ago"It is a poor workman who blames his tools — the good man gets on with the job, given what he's got, and gets the best answer he can." —Richard W. Hamming[0] I have rarely "chosen" to use Python at work, but it has never failed to get the job done. [0] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2041981/ https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2041981/
- dfsegoat 7y agoOT: Your cited NCBI ref to the paper "Ten Simple Rules for Doing Your Best Research, According to Hamming" is pretty neat in itself [0]. e.g. "Rule 1: Drop Modesty", "Rule 7: Believe and Doubt Your Hypothesis at the Same Time". [0] - https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2041981/ https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2041981/
- staticassertion 7y agoa programming language designer should be responsible for the mistakes that are made by the programmers using the language. [...] It's very easy to persuade the customers of your language that everything that goes wrong is their fault and not yours. - Tony Hoare
- jcranberry 7y agoI don't think Python is a bad language but that quote is a pretty ridiculous response to criticism when the discussion on this article is a far cry from people blaming failures on Python/Python tooling.
- mighty_bander 7y agoI always thought that sentiment to be too broadly applied. A good craftsman should be able to make use of the tools he is given, but nonetheless not shirk his duty to improve upon them. Not to say I have any real complaints about Python.
- deleted 7y ago[deleted]
- CydeWeys 7y agoHere's some rational "hate" for Python then. I just returned to Python for the first time in a little while to collaborate on a side project and ran into a few tricky-to-debug errors that caused a fair bit of lost time. Know what the errors were? In one case, I was iterating over the contents of what was supposed to be a list, but in some rare circumstances could instead be a string. Instead of throwing a type error, Python happily went along with it, and iterated over each character in the string individually. This threw a wrench into the works because the list being iterated over was patterns, and when you apply a single character as a pattern you of course match much more than you're expecting. And another one, I typoed a variable name as groups_keys instead of group_keys (or vice-versa, I don't remember). Instead of just throwing an error, Python happily went along with it, used an uninitialized value, and then all the logic broke. There's entire classes of errors you can cause yourself in Python that aren't possible in stronger, statically-typed languages. For a large project, I'd pick the old and boring Java over Python every time.
- winstonewert 7y ago> And another one, I typoed a variable name as groups_keys instead of group_keys (or vice-versa, I don't remember). Instead of just throwing an error, Python happily went along with it, used an uninitialized value, and then all the logic broke. Python doesn't have uninitialized values, it throws NameError when you try to access a variable that hasn't been set. So I don't see how this could have happened.
- CydeWeys 7y agoOther way around, the typo was in the name of the variable being set, so it defined a new one instead of modifying the existing one.
- deleted 7y ago[deleted]
- klodolph 7y ago> In one case, I was iterating over the contents of what was supposed to be a list, but in some rare circumstances could instead be a string. The creator of a well-known alternative to Python has a single-letter email address, and regularly receives email generated by Python scripts with this exact bug (which means instead of sending an email to "user", sends an email to "u", "s", "e", and "r"). So I’ve heard.
- deleted 7y ago[deleted]
- vaer-k 7y agoBack in my day we had to walk 20 miles to get to school -- uphill both ways! As if the only way to gauge quality is to forever compare to the technologies of the past. Python was a great improvement on its peers in its heyday, but people, technologies and philosophies have changed since its inception and there is nothing wrong with wanting something more. That's how progress is made.
- JJMcJ 7y agoBetter yet, punch cards.
- StreamBright 7y agoWhy do you think that Python should be compared to Fortran? Why not Rust or Julia? If we compared everything to worse humanity would not progress at all. I have spent 10 years on Python and I sympathize with some of the criticism below here pretty much. I wish Rust or Julia will replace it for data crunching soon.
- TheRealKing 7y agoFortran is not worse. Far better than what you think is, really. Just try Fortran 2018 standard and you will see.