Hacker News new | past | comments | ask | show | jobs | submit login

C# and TypeScript seem to be far and away the most popular programming languages today.

At least from the perspective of recruiting in Australia.

Python is on the way up and third most popular but well behind C# and TypeScript.

Golang is on the way up but very small in terms of number of developers.

Java is on the way down but will never vanish, it's just not super popular any more.

Ruby is small enough to just be a footnote.

There's lots of other languages that make up the long tail.

The message is that if recruiting matters then you should be using C# and TypeScript.




C# vs Java seems to be very country-dependendt. Certain countries are huge C# shops, while in others it is barely existing.


In others, consulting shops do both, including on the same project.


Perhaps in Australia, but certainly not worldwide. C# is way smaller than even Go in total, and Java is a lumbering giant. Slow perhaps, but there's no David around at the moment.


My instincts tell me that there’s no way Go is larger than C# worldwide. Large enterprises are still predominantly on C# and Java… Tiobe index, whatever you may think of it, does not support that… What’s your source?


>C# is way smaller than even Go in total

TIOBE has C# much larger than Go and growing, and it also has Go slightly shrinking over the past year.

https://www.tiobe.com/tiobe-index/

Same results on Stackoverflow https://insights.stackoverflow.com/survey/2021

Same results on IEEE Spectrum https://spectrum.ieee.org/top-programming-languages/

Same for PYPL https://pypl.github.io/PYPL.html

I cannot find a single place that looks at a large dataset and a decent number of languages that gives the result you claim.

Care to list where you got your data to support this claim?


Source for "C# is way smaller than even Go"? It's possible that there are more shops that use some Go (esp. for DevOps) than there are ones that use some C#, but that's not quite the same as C# being "way smaller".


Right now if I type the following keywords in Seek this is what I get (in order):

  SQL - 11,425 jobs
  Java - 7,390 jobs
  Python - 6,777 jobs
  C# - 4,995 jobs
  JavaScript - 4,208 jobs
  TypeScript - 758 jobs
  Ruby - 252 jobs
  Golang - 206 jobs


Did you enclose the search terms in quotes?


IMO Python and C# are not comparable. Python is at best a simple scripting language, you really can't build anything globally scalable on it. No offense to people who use Python daily, just my own observations (probably wrong).


the biggest python codebase I'm personally aware of is JP Morgan's Athena and is about ~30 million LOC. Google, Youtube and Dropbox use Python extensively etc. Python being a scripting language stopped being a correct statement probably over a decade ago.


Keep telling yourself that and it will become true.


You said about yourself:

> just my own observations (probably wrong).

I am currently in the process of learning C#. I did a deep but brief dive into every language feature in C# 10. Being proficient in Python, absolutely nothing surprised me. All the same concepts, save for a handful, exist in either language, sometimes down to the exact keyword usage. LINQ is a big differentiator in favor of C#, but modern (that is, typed) Python looks very similar to C# (C# left, Python right):

ABCs -- ABCs

Interfaces -- Protocols/ABCs

LINQ -- ??

Enumerable/Enumerator -- Iterable/Iterator

class -- class

static -- staticmethod

foreach -- for

for -- for(range(...))

try/catch -- try/except

break/continue -- break/continue

enum -- Enum

struct -- dataclass, perhaps

namespace -- automatic on the file level

out -- pass by reference

switch/case -- match/case (both do structural pattern matching)

throw -- except

typeof -- type

overloaded methods -- singledispatch (only works for a single argument sadly, no stdlib multidispatch)

inheritance (single) -- inheritance (multiple)

object -- object (root of the type hierarchy)

generics -- generics as well (via typing, runtime never cared anyway of course)

lambda -- lambda

nullability -- None (C# can have nullable reference types, Python types are not nullable, None exists as a first-class type, not a subtype of all other types; similar ergonomics but different structurally)

extension methods -- just go wild in Python (although binding methods after class definition is cumbersome)

tuples -- tuples (both can do unpacking, multiple returns etc.)

operator overloading -- operator overloading

reflection -- reflection (arguably a Python strong-point)

async/await -- async/await

decorators (exist as a pattern) -- decorators (supported on the syntax level)

?? -- top-level/first-class-citizens functions

I probably got a couple wrong, but you get the idea: apart from LINQ, nullability handling and some others, the languages are incredibly similar in their feature set on paper. This is not talking about DX etc. though.


Instagram


> Python is on the way up and third most popular but well behind C# and TypeScript.

lolwut. TypeScript is niche compared to Python.


> from the perspective of recruiting in Australia.

Even accounting for that line from the comment?


Even more so. Python is huge in Australia. Can't count front-end as Python is not applicable there.


There's no reason to discount front-end work from "programming languages". You choose python over typescript for machine learning because the ecosystem is there.

You choose typescript over python because Brython and JavaScripthon and Transcrypt have no ecosystem that makes more sense than using NPM, and the people who like to program in python prefer the challenges of other domains than what's in the web browser.

That just makes "most popular programming language" a silly metric. It doesn't mean that nobody uses the language because you ignore all the people who use it for things you aren't interested in.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: