4 ms·
if other languages don't have equivalents for the devex/productivity enhancements of: * Django * FastAPI/Flask * Numpy/Pandas * PySpark * Jupyter Notebooks
by skrtskrt 4y ago
if other languages don't have equivalents for the devex/productivity enhancements of:
* Django
* FastAPI/Flask
* Numpy/Pandas
* PySpark
* Jupyter Notebooks (gross I know but this is what "data analysts" and "ML/data engineers" use at many places)
Then Python will stick around for forever.
I would love if it the Go community would quit the "you don't need a framework, DUH it's GO" attitude. Make a Django/Rails for Go and there would be 10x the Go jobs.
- robswc 4y agoI've gotten into the "debate." People always suggest using anything but python but then provide no alternatives to the frameworks mentioned above. You _could_ certainly write it in Go. I write a lot of stuff in Go and I love it. I just don't want to recreate Django for the 100th time though, so I don't and I just use Python. By all means, if someone wants to write these frameworks, people will use them.
- skrtskrt 4y agoagreed. I write Go, Rust, and Python (now only when I have to), but If I had to stand up a small business with a CRUD app in a couple weeks I'd go with Django no doubt - mainly for the no-worries auth and user management within the same monolith as everything else. I don't care about the ORM, I can quickly map out a relational schema. It's the user stuff that's killer. With more time, yeah I might choose Go or Rust and setup a couple different nodes - an API gateway, a user auth node like KeyCloak, Ory, or SuperTokens, then a Go backend. But it would be so nice to have that all ready in one.
- robswc 4y agoYep. I do enjoy building things but I learn more and more how important it is not to focus on things that are already "solved" if they aren't part of your core business. Distractions can scale exponentially.
- nerdponx 4y agoWhat's with the scare quotes on "data analysts"? Just because you read on HN about how some such tool is bad, doesn't actually make it bad. Hating on notebooks is like hating on Excel: it's trendy in some circles, but generally only espoused by the ignorant.
- skrtskrt 4y agoI've held jobs where we just productionalized data analyst code from notebooks into data pipelines. There's absolutely nothing wrong with notebooks, but they are a serious PITA to take from being handed basically the musings of a data intern into a a production pipeline. I used scare quotes because unfortunately in many places there are essentially zero qualifications to start running around doing those jobs.
- oxfordmale 4y agoIronically, you mention PySpark. It is a Python wrapper around a Java/Scala code base. Jupyter Notebook supports many different scripting languages, such as Julia and R. I agree that Numpy/Pandas will introduce more migration friction, and that is why I mentioned a slow death, similar to the trajectory Java is currently on. Java is still in the top three. However, its popularity has dropped in recent years. It is worth noting that both Cobol and Fortran are still in the top 30 programming languages.
- skrtskrt 4y agoit is funny that PySpark is just a Java/Scala wrapper, but the combo on PySpark + NumPy + Panda + Jupyter notebooks means that Python is option 1, 2, and 3 for any company that's just like "hmm let's start doing some data analysis/ML/whatever"! Also R is what's most often taught in school in my experience and boy does Python feel like a breath of fresh air when you've been trained in R. When you're coming out of college trained in data analysis but not software engineering per se, you've got no idea about the larger world of what other languages could offer.
- crabbone 4y agoAll of this exists in, basically, any mainstream language in some capacity. A lot of them offer superior alternatives. There's nothing about Python's quality that's worth keeping. The reason for Python's popularity is its popularity. The reason why it won't die is inertia. But, say, someone creates a "killer app", that runs on hardware different enough from anything we have today, and that someone hates Python (smartphones are the most recent example of such a change), then there'd be a chance to dislodge it. But I struggle to see how Python would "organically" die.