Ask HN: Do Americans write better software than the rest of the world?

21 points by behnamoh ↗ HN
I've seen a few example of software written by two independent groups—one in the US and one in Europe—which ended up giving drastically different user experience.

For instance, Microsoft Guidance (written by two people) is a framework for working with large language models and upon my first try, it worked really well. I was able to generate controlled sequences of tokens using Guidance, no problem other than my linter yelling at me for some minor issue.

But there's an equivalent software written by folks at ETH Zurich. It's called LMQL (https://lmql.ai/). I actually like its syntax more than Guidance's, and I appreciate their good documentation and tooling support. But... LMQL just doesn't work on my machine even though I have set up the env variable for OpenAI API key. It's a nice research project with interesting ideas, but it seems to be lacking when it comes to good programming.

I wonder if it's a pattern. Do Americans (or more generally, programmers in the states) write better software because they're more closely in touch with the tech industry?

38 comments

[ 4.9 ms ] story [ 78.3 ms ] thread
Hint: Compare budgets
I have no clue if Americans write better software, but they sure are willing to pay better for getting software written.
> but it seems to be lacking when it comes to good programming.

That is an awfully heavy accusation for someone who hasn't even gotten their software running.

Not arguing about that specific project as I do not know anything about it, but not figuring out how to run software seems like a pretty big design issue. You can't always blame the user
I won't blame the user. I will say that it has very little to do with the underlying code quality though, at least without corroborating examples from the codebase.
(comment deleted)
I followed their documentation and tried two different ways that they mentioned to run the program. Nothing worked and I got obscure errors and the Jupyter kernel died several times. With Guidance, I just imported the library as mentioned in the docs and used it in the next line.
Does that necessarily reflect the quality of the underlying code, though? Does it even insinuate that the American software is inherently "better"?

I don't know the answer to that. I don't use the software. I think a lot of people are right to call your hypothesis out as hyperbole though, this entire post reads like a pointed complaint at German researchers for not outperforming Microsoft.

> this entire post reads like a pointed complaint at German researchers for not outperforming Microsoft.

I don't think it's fair to accuse me of such things. The post is a "question" not a "proof". If you have evidence that points to the contrary of what I said, I'd be happy to read it.

You want to explain a phenomenon by looking at differences. One difference you picked up is "Americans vs others". The other difference I want to point out: written by academics/students at ETH Zurich vs. professional engineers/programmers from Microsoft.
I think you have a point. For example, Julia as a language often gets criticized on HN because it's not technically solid and I think it might be because it's written by academics.
Can you elaborate on "not technically solid"? Or is this notion also based on a single experience?
benhamoth made no such claim: what they wrote was that for example, “Julia as a language often gets criticized on HN because it's not technically solid”. Whether or not benhamoth can or cannot elaborate on Julia is orthogonal to what they wrote.
America simply has more software developers. Even further, America has a few cities with an extremely dense number of software developers.

In my opinion, that tends to create far more organic growth of ideas.

I'm not sure what the relevance of your example is regarding your question.

Aside from that, how did you come the to the conclusion that the second project is 'lacking when it comes to good programming'? Just because you didn't get it running?

I work in a company that has offices all over the world. I do find a difference in the engineering culture of each region, but the individual contributors seem about on par. The strong company/regional culture can have profoundly negative effects on a engineering team. My main observation is that both Asian and Eastern European developers have a very strong process/enterprise culture and the Western (US/AUS/FR) countries have a very independent/agile/startup culture. These two cultures clash a lot of the time and only one delivers fast so the business values them more. Individually however the developers seem to be on par with each other. I can find S tier people in Asia that are totally suffocated by their own engineering culture - which they embrace!

I'm currently working on a culture shift for some of these people and it's really hit and miss. Some of the people feel very uncomfortable doing things "the western way" and other love it and say so.

Linux originated from Finland, Blender from the Netherlands, Siemens Germany, Beckhof Germany. VLC is from France, so. Notepad++ french again. Irfranview also Europese. I actually don't use American software a lot. I do use android and windows and Linux and apple but I guess the best software i use is European.
Don't forget python and c++
Stroustrup was already working at Bell Labs in the U.S. when he developed C++.
I would say that some organizations within the US have a more refined development culture, and there are a lot of developers within the US and outside of the US that aspire to emulate and be within those organizations

But you could just as easily get into an organization with a similar experience as ETH Zurich within the US, I would say that is far more common

Empirically Americans are 17% better than the Swiss at programming ML frameworks

In all seriousness this isn’t something you can compare - so many more important factors

(comment deleted)
… Your evidence for this is one tool from Microsoft which you were able to get working, vs one tool from a university which you were not? I’m really not sure how you can read anything at all into that set of facts.
Like I said, this is anecdotal evidence and I'm wondering if there's a more general pattern that others have noticed.
I mean, I’m not sure it’s even anecdotal evidence, any more than it would be anecdotal evidence that people who live wherever you live are bad at using software libraries.
[flagged]
Yet it is you who first made a sweeping generalization across continents based on what sounded like your inability to use one tool vs another.
The post is literally a "Ask HN" question. There was no claim.
I'm not taking sides on this, but I wanted to point out that you do make this claim: "Do Americans (or more generally, programmers in the states) write better software because they're more closely in touch with the tech industry?"

Are Americans more closely in touch with the tech industry? I don't know what this is based on, but I'd like to see the metric compared to other countries, such as Japan.

I can't tell, because the grammar is sufficiently vague, if your claim is that American software is better, or that Americans are more in touch with the tech industry, but it surely seems like one or the other.

I mean, quite frankly I don’t care whether you can or not. That was hardly the point; I was trying to show what a bizarre leap the initial claim was.

Based on your process, I would now like to claim this as anecdotal evidence that people whose experience of programming, in years, is a non-prime number are bad at arguing on internet forums.

The EPFL and ETH are the two main technical schools in Switzerland which has a population of 9 million. Going by population stats this puts Switzerland next to New Jersey.

The pattern I've noticed is that all software in the US failed after Bell collapsed and the collective unconscious moved software innovation to Europe.

Many counter examples exists. I've seen with my own eyea US written sw, Oracle and PTC, that was pure shit. Qt, KDE and Apache Flink origin is european, AFAIK, and they seems quite decent.
I think the difference is much more along the lines that the US is a big enough market (without language barriers) that it is possible for US developers to write much more types of software than you can feasibly write and sell in the EU. Same for Asia outside of China and Australia. EU people can write software. They don't because it's not worth it.

And of course, this happens in large numbers. The bigger the market, the bigger the software industry. But even Germany isn't even a third of the US market for software.

The actual people aren't different. You just can't achieve in the EU what is possible in the US, and I don't mean "become a millionnaire", I mean "provide for yourself and maybe a family". Especially since the US has places to live that are far cheaper than the cheapest place to live in many EU countries like the Netherlands, or the kind-of-EU Switzerland.

LMQL dev here. A bit of an unusual way of getting highlighted on here, I must say.

I am sorry to hear that you have issues installing LMQL. We are working very hard on LMQL, to make it as seamless and accessible as possible (as you have seen with our docs). However, we are of course not a well-funded company and the project is open source and community-driven.

Please feel free to reach out (hello@lmql.ai or Discord), so we can assist you in getting started. Please also consider contributing to the project, to improve it with respect to the kind of issues you were experiencing.

Betteridge's law applies to this article.