Live data from Hacker News

Programming-language popularity by GitHub pull requests

lemire.me

51–60 of 73 posts

Re: Programming-language popularity by GitHub pull requests

#51

You're all wrong. FORTH is the best language ever. You kids get off my lawn! (just kidding) JavaScript has warts, but if you drink enough, you can pretend it's Scheme. Python isn't a language but a family of languages. Guido thought it was a good idea to change the semantics AND syntax between minor revs, so... no... having to re-code my apps every two years is a deal-killer for me. Sadly, the same applies to rust. I…

Happy to see someone down-voting a comment that suggests you examine your requirements for a language because it dares to challenge the supremacy of python and suggests that adults are perfectly capable of choosing a language appropriate for the task, even if that language is COBOL. Stay classy, HN.

Re: Programming-language popularity by GitHub pull requests

#52
post #37

I wonder why JavaScript fell from 19% to 9% in 2022? According to the graph here: https://madnight.github.io/githut/

Perhaps a large project or two switched to (only accept new work in) TypeScript? Still seems a lot.

TypeScript did show an increase from 5% to 8% in that timeframe

Re: Programming-language popularity by GitHub pull requests

#53
JS is in a different league because it solved the distribution problem. The one that everyone tried to solve, and spent big on it. Turned out you just needed a working interpreter on every device that can speak to the screen and to the internet (the browser), and the labor will appear to shape it into whatever it needs to be.

This, to me, is a lesson worth hearing: sometimes the feature you think is most important, the ones your customers are saying are most important, is not, and is not even close. The biggest software problem after PARC solved GUIs was distribution. The browser won 80% of apps out of the gate, but when the rest of the way with XHR.

It's really a startling turn of events when you think about it.

Re: Programming-language popularity by GitHub pull requests

#55
post #13

Earlier quoted context omitted.

I recently got into c# and it seems really nice, but the "customs and traditions" of the dotNet world horrify me (eg: never write a function when you can write three classes instead)

C# is a follower of DDD, mostly. Which is a 'standard' practice for OOP design. I highly recommend reading the book about it, but that is how you end up with many classes instead of a simple function. Also, in C#, you can't generally mock a function (or static method?, not 100% sure on that, it's been nearly 10 years since I've written a unit test in C#).

The scenario I was referring to is one of many gems found in app we outsourced.

The piece of code in question had a very straightforward task: look at some bytes in the input and produce a string label to be stored alongside the whole input value. There are 5 different labels tied to equal number of fixed byte sequences.

I would like to think that most people would solve this problem using an if/else or a switch statement inside a function. Instead, what we got is a group of matcher classes, a mapping of matchers to enum values representing the labels, another mapping of enum values to actual strings, and a class that actually calls those matchers and does the mapping.

I really hope this is not the DDD way and instead we just managed to find a team that's prone to massively overcomplicate solutions to simple problems.

Re: Programming-language popularity by GitHub pull requests

#57

Earlier quoted context omitted.

C# is a follower of DDD, mostly. Which is a 'standard' practice for OOP design. I highly recommend reading the book about it, but that is how you end up with many classes instead of a simple function. Also, in C#, you can't generally mock a function (or static method?, not 100% sure on that, it's been nearly 10 years since I've written a unit test in C#).

> you can't generally mock a function With `dynamic` and `DynamicObject`/`ExpandoObject` proxies (or even lower level System.Dynamic/System.Linq.Expression fun) you can mock anything you want to in C#. Those tools go all the way back to the early days of Linq (and useful but somewhat broken DLR visions like IronPython). If you need to time travel even further back in the .NET stack, or if you are just allergic to/dea…

I'm on of those people that had no idea about all this extra functionality- thanks for opening that door. Do you have any resources on the hand writting "Fakes" patterns?

Re: Programming-language popularity by GitHub pull requests

#58
post #27
post #13

Earlier quoted context omitted.

I recently got into c# and it seems really nice, but the "customs and traditions" of the dotNet world horrify me (eg: never write a function when you can write three classes instead)

You can actually write an entire, complex C# application without using a single class via top-level statements. Named tuples make it easy to wire together functions without invoking the full OO type system.

Very true, but there remains a large gap between what’s technically possible and customarily applied.

Re: Programming-language popularity by GitHub pull requests

#59
post #55

Earlier quoted context omitted.

C# is a follower of DDD, mostly. Which is a 'standard' practice for OOP design. I highly recommend reading the book about it, but that is how you end up with many classes instead of a simple function. Also, in C#, you can't generally mock a function (or static method?, not 100% sure on that, it's been nearly 10 years since I've written a unit test in C#).

The scenario I was referring to is one of many gems found in app we outsourced. The piece of code in question had a very straightforward task: look at some bytes in the input and produce a string label to be stored alongside the whole input value. There are 5 different labels tied to equal number of fixed byte sequences. I would like to think that most people would solve this problem using an if/else or a switch stat…

My unsolicited, socially unacceptable pet theory on this: that’s what happens when you’re building your 15th e-commerce web store. C# is a great language, but it’s a worker’s language. Its domains tend to not be the most exciting ones (e-commerce, calcified Excel replacements, Windows desktop applications, …). [1] Hence, so my theory goes, the smart but bored engineering minds wander out and conjure up complications to fill their days and minds. A common pattern in IT I’d say.

1: https://www.reddit.com/r/csharp/comments/qomcps/comment/hjo1...

Re: Programming-language popularity by GitHub pull requests

#60

You're all wrong. FORTH is the best language ever. You kids get off my lawn! (just kidding) JavaScript has warts, but if you drink enough, you can pretend it's Scheme. Python isn't a language but a family of languages. Guido thought it was a good idea to change the semantics AND syntax between minor revs, so... no... having to re-code my apps every two years is a deal-killer for me. Sadly, the same applies to rust. I…

Happy to see someone down-voting a comment that suggests you examine your requirements for a language because it dares to challenge the supremacy of python and suggests that adults are perfectly capable of choosing a language appropriate for the task, even if that language is COBOL. Stay classy, HN.

I didn’t vote, but your take on Python doesn’t match my experience. Do you have more context? It seems like after the transition to version 3, the lesson was learned. That was about a decade ago now.
Post reply on HN