Live data from Hacker News

Python overtakes Java to become the second-most popular programming language

techrepublic.com

171–180 of 357 posts

Re: Python overtakes Java to become the second-most popular programming language

#171
post #2

We need to start ranking languages based on what people use them for. Python is certainly #1 in ML, for example, but far from #1 in web. I had a "which stack" argument with a client recently for a web server processing tons of data. He wanted to use Node (which I hate, but also use when performance doesn't matter because TypeScript is so good). I showed him that the Node library ecosystem is actually pretty weak (man…

This is just TIOBE, nothing more. If one wants other markers, it's possible to use different benchmarks/indexes. For example, I like this one:

https://www.techempower.com/benchmarks/

Re: Python overtakes Java to become the second-most popular programming language

#172
post #2

We need to start ranking languages based on what people use them for. Python is certainly #1 in ML, for example, but far from #1 in web. I had a "which stack" argument with a client recently for a web server processing tons of data. He wanted to use Node (which I hate, but also use when performance doesn't matter because TypeScript is so good). I showed him that the Node library ecosystem is actually pretty weak (man…

Just curious, what other server side languages do you feel have a better library ecosystem than Node/JS?

async python

Re: Python overtakes Java to become the second-most popular programming language

#173

I was a total raving Python evangelist for the first 12 years of my coding career, and then got a job as the CTO for a Python based startup that had been running absent a technical leader for 5 years, with relatively junior coders making all the decisions. I still love Python, but I now have a completely different attitude to hyper-dynamic languages (like Python, Ruby, Clojure, Elixir, etc). In my new opinion, they a…

Absolutely agree with you. But with advent of microservices architecture patterns, it is possible to keep service code within bounds of maintainable size.

I'm by no means an expert architect yet, but has the argument for microservices in smaller orgs basically become:

"Since y'all can't seem to use classes and interfaces correctly, let's physically separate the software so changing the service contracts becomes a bigger pain in the ass"?

I'm not even trying to be sarcastic. I'm genuinely curious. I feel like 90% of the benefits of microservices would be accomplished with discipline and good code review, but those things of course are more easily said than done.

(I understand your Facebooks and Netflixes benefit from having completely separate teams responsible for services with more autonomy, but I'm talking about small to midsize orgs that seem to have adopted microservices.)

Re: Python overtakes Java to become the second-most popular programming language

#174

I was a total raving Python evangelist for the first 12 years of my coding career, and then got a job as the CTO for a Python based startup that had been running absent a technical leader for 5 years, with relatively junior coders making all the decisions. I still love Python, but I now have a completely different attitude to hyper-dynamic languages (like Python, Ruby, Clojure, Elixir, etc). In my new opinion, they a…

Not surprising. Lisp Curse has its own way of creeping in, but then again I'd take this any day over cubicle-farm software that is so sterile and stuck up that you need a 2 week long tutorial in order to run anything (I'm looking at you Google with your fancy-schmancy Borg and other inscrutable infra).

http://www.winestockwebdesign.com/Essays/Lisp_Curse.html

Re: Python overtakes Java to become the second-most popular programming language

#175

Earlier quoted context omitted.

This is my experience as well. Incidentally "this is a problem of people, not language" is one of my pet peeve statements (not that I'm mad at you, of course!) specifically because I've had it used against me enough to defend choosing, imo, bad tools. Everyone thinks they have developers that are good enough that they don't need the bumpers up when they bowl. But honestly, it's just almost never true (and if it is, i…

I actually do due diligence on tech firms now for a job, and you're 100% right that the tradeoffs change dramatically when the company grows. Which doesn't mean that using the best thing possible for your expert coders at the beginning is wrong. At the beginning, you need every advantage you can get, and if you have expert programmers, give them the sharpest knife you can find! But yeah, once your company is hiring h…

Androidifed Java is the worst thing you can deal to be honest.

Re: Python overtakes Java to become the second-most popular programming language

#176

I was a total raving Python evangelist for the first 12 years of my coding career, and then got a job as the CTO for a Python based startup that had been running absent a technical leader for 5 years, with relatively junior coders making all the decisions. I still love Python, but I now have a completely different attitude to hyper-dynamic languages (like Python, Ruby, Clojure, Elixir, etc). In my new opinion, they a…

I've often found that starting some quick-and-dirty thing in shell scripts is great, but once I get to around 100 lines of shell script code, I'm better off switching to python (or similar). Similarly, once I get to around 1000 lines of python code, I'm better off switching to compiled, statically typed language (e.g., Java, C, C++, etc.). So my own heuristic has become: shell script when

Nice guidelines! Though in my experience, the problem with the python code of < 1000 lines is that it tends to grow when you're not looking, and suddenly you find yourself needing to maintain (or rewrite) a Python monster.

Re: Python overtakes Java to become the second-most popular programming language

#177
post #168

I was a total raving Python evangelist for the first 12 years of my coding career, and then got a job as the CTO for a Python based startup that had been running absent a technical leader for 5 years, with relatively junior coders making all the decisions. I still love Python, but I now have a completely different attitude to hyper-dynamic languages (like Python, Ruby, Clojure, Elixir, etc). In my new opinion, they a…

But even static types (even the Hindley-Milner variety) won't be of much help in a team of juniors with no technical leadership. The codebase will end up in the same place - needing a rewrite - because even a good typing discipline cannot immediately substitute hard-won lessons in program design. In fact I never thought I'd say this - for the first two years of discovering sum types, I thought they were the silver bu…

If nothing else, a statically typed mess is easier to navigate, understand and refactor than a dynamically typed mess. Which I think is a big deal.

Re: Python overtakes Java to become the second-most popular programming language

#178
post #127

Earlier quoted context omitted.

> I'm writing some Java at the moment for an Android app, and it's just killing me after doing Scheme and Python Android isn't Java though. It's some frankenstein contraption made from a mutated version of Java from a decade ago. > I were starting my own business now, I'd use Clojure or Scala. I personally wouldn't ever choose Scala for anything. It's tooling is horrible (Sbt is a special hell, and scalac is as slow…

totally agree about sbt being gratuitously complex. i wonder if Java is judiciously choosing the non crazily digressive parts of Scala, as they both evolve.

That is what Goetz said is the plan for Java. Move slow, let other languages experiment with language features, and then take the best features and implement them better.

Re: Python overtakes Java to become the second-most popular programming language

#179

I was a total raving Python evangelist for the first 12 years of my coding career, and then got a job as the CTO for a Python based startup that had been running absent a technical leader for 5 years, with relatively junior coders making all the decisions. I still love Python, but I now have a completely different attitude to hyper-dynamic languages (like Python, Ruby, Clojure, Elixir, etc). In my new opinion, they a…

I have seen plenty of C# projects with these same problems.

I've seen plenty and worked on plenty too, but IME a lot of those issues were at the boundaries of the type system:

Abuse of untyped ViewBags to pass data to views, using ViewBags to pass things to Helpers, badly configured AOP or XML-based dependency injection, people using Dictionaries/dynamic/JSON instead of objects for passing data between application layers...

As soon as you have escape hatches you get those things that make refactoring a nightmare in large projects and cause new employees to always fail to grasp the full-picture because of how fragile projects were.

In the frontend I feel the same about Vuex. It's a great library, way more ergonomic than Redux and the defaults are great, but the fact that actions and getters are untyped by default in Typescript is a major source of bugs in projects I work on, even in codebases with 100% coverage.

Re: Python overtakes Java to become the second-most popular programming language

#180
I might disagree with how "popularity" is computed here, but as long as they have been consistent, the trend is probably real.

IME Java still has a very real stranglehold on business logic code, especially in bigger companies.

Golang and Rust are eating away at it, but more for infrastructure related projects rather than higher-level business logic.

Post reply on HN