Live data from Hacker News

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

techrepublic.com

321–330 of 357 posts

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

#321

This might be a stupid question but anyway... Is there someone well-versed in a statically typed language who would still prefer python most of the time? Could you explain why? For me it's just the opposite. When I program I think about the types first. When I read code I care more about types than variable names. This is in my opinion the way to go even in C. Also most python programmers I know are engineers and for…

When I program I think of business problems to be solved. Types barely register. Yes, on a big project with lots of developers types become more of a priority. At that point I let an IDE worry about them.

This is the reason for me as well. Many problems map very easily and readably to simple lists and dictionaries.

The easiest example is web applications, especially internal ones, which are essentially shuffling JSON messages around from different SaaS and internal APIs. Adding (and testing!) a different ApiResultSerializer in between each of these points can become a huge headache when everything boils down to JSON string or number in your result anyway.

Though I do use C / C++ (recently some Rust) where business problems are not the priority, and I can focus on technical efficiency / correctness.

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

#322
post #232
post #178

Earlier quoted context omitted.

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.

Well, so far the “better” still remains to be seen... waiting for type-classes to represent monoids, functors, applicatives, monads and foldable. So far I’ve just seen a complex and wild stream API that mimics it in practice, without all the mental model behind it. Oh, and what’s this nonsense with Java Option?! Really?

We're yet to see if monoids, functors, and monads are worth it :)

For better I'd say you should look at things like virtual threads vs async/await or kotlins when vs switch expressions.

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

#323

Citing tiobe.com: "The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system." This and the fact that C is number one suggest something very wrong. While C really has a place in my heart, you should have very good reasons to use it when "starting to build a new softw…

> you should have very good reasons to use it when "starting to build a new software system".

And three of those very good reasons are:

1) you're writing a library and you'd like to make it usable from a number of other languages as well, the most popular of which are at least partially implemented in C or C++ themselves to some degree, eg. Java, Python, Perl, Ruby, Haskell etc. Writing said library in C (in particular) makes the library much more accessible from those languages.

2) the platform you're writing for is partially if not largely written in C or C++, the most popular of which are Windows, MacOS, Linux etc. So the toolchain/runtimes used to build the systems are already supported, extremely mature and well tested.

3) the platform you're writing for is especially space constrained (eg. embedded Linux), also fits the criteria for (2) above, and where performance may also be a factor due to reduced CPU/bus speed, availability of RAM and storage. For every interpreter or JIT compiler you want to add to those kind of systems for a higher level language, you can normally fit a larger number of C or C++ programs to implement your device's required functionality.

There is far more years of effort required yet to overcome the inertia of the above than the average HN webdev would realise.

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

#324
post #290
post #142

Earlier quoted context omitted.

This precise struggle is why Go is created, and also why Rob Pike said what he said. The industry needs a statically typed language with good ergonomics (not typing too much) and performant. I agree with you, asking everyone to be discipline with their code in a dynamic language is a bit too much to ask (unfortunately).

Too bad the lack of generics means it has awful ergonomics in reality. I also think rust's ? makes the "return err" pattern much nicer to deal with.

I like generics because it actually solves a lot of things that OOP and inheritance were supposed to without turning your dependencies into a ball of mud.

After 30 years of mediocre programming things I hate are unplanned/hidden side effects, train wrecks due to mutable state, and out of control dependencies. Error handling at this point seems like Weltschmerz.

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

#325
post #127

Earlier quoted context omitted.

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…

> 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…

Android is the worst implementation of Java projects - horrible architecture or lack thereof and really bad api design. If anyone wants to learn Java, focus on modern Java language and micro services based frameworks and you can get best of all.

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

#326
post #175

Earlier quoted context omitted.

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

Can you just use Kotlin to avoid Android's Java, or are there instances where you need to dip into Java get stuff done?

Kotlin is like a tape on the ugly Android architecture, little helpful but still a monstrosity compared to iOS.

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

#328

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…

My experience as well. I was a Perl then Python/R evangelist. But I doscovered and have been using Kotlin (JVM) extensively and TypeScript to a lesser extent for the last 2 or 3 years. And the more I dog and learn about the JVM the less I want to go back. I'm also interested in getting back to Haskell, Scala and Rust I toyed with just to keep my mind open.

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

#329
post #272

Earlier quoted context omitted.

Because that's how founders make money. The vast majority of exits now are purchases by private equity firms, and they will do a thorough technical due diligence and look at those decisions and what it will take to run the company the way they want to. (I do those diligences for a living) If you're doing a tiny lifestyle company with no exit plan, you wouldn't. Which ironically, is exactly what I'm doing on my own ti…

Most exits are purchases by private equity? I had no idea - are there any references for that available?

Here's one report I used for a presentation. The quote of interest:

"Over the last 12 months, 75 per cent of the most active “buyers” of $100m+ technology companies have been PE firms. This is despite the fact that the combined cash balances of the “Big Five” tech companies is an eye-watering $330 billion. Today’s most active tech buyers are private equity firms like Silver Lake, Francisco Partners, and Vista Equity. Not Google, Facebook or Amazon."

https://ftalphaville.ft.com/2019/01/07/1546862666000/Guest-p...

One of the things that is not obvious to people coming from the VC world is that once the company has gone from VC to PE, it's likely going to get flipped several more times from PE to PE. At a guess, I'd say 3/4 of what I look at are one PE to another. Depending on the firm, they will sell every 3 to 7 years or so.

iain

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

#330

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 are really double-edged swords in large projects Yeap. I ended up dragging my team to Golang due to this. Sure they didn't write unit tests and they still aren't writing unit tests. But at least now a compiler will take a look at the code before it's run. Lots of stupid errors at runtime disappeared. For personal projects? Something like Python, Lua or Scheme is great. It can still be great in large teams, but…

> It was the worst abomination ever known to man. Crashes in random places. Race conditions. Global variables. Memory corruption galore.

All of these are trivially detected with msan, tsan, lsan and ubsan.

Post reply on HN