It does not surprise me that China has been able to develop AI capabilities at a fraction of the price of the US coders.
The first and most obvious factor being the wages the two teams would expect for their expertise. I have no idea what a difference there may be between them but I am convinced that the Chinese programmers would not be receiving the sort of wages that US coders would expect.
There is a second element however that relates to this. American companies for years have been producing bloatware, as it is called. Over programmed coding that creates superfluous routines and actually hinders concise and accurate analysis, as well as the programming of a problem.
I have an example from a small module I took at University in the 90s. It was to write a word search program looking for a certain relationship of letters within a word. The word I was looking for was ‘milk’ and its synonyms across European languages. The key feature was the combination m-l-k in that order. I wanted to be sure to catch all occurrences of this and so needed a wildcard at the beginning. The lecturer who was teaching me, admittedly a palaeontologist, was struggling to find a way when I suggested using the * at the beginning as well as further on in the coding. He reflected for a moment and then said ‘yes that would work’. While he had been wrestling with the problem of adding one or two letters or more at the beginning before the required m-l-k combination he had lost sight of the fact that it really didn’t matter how many letters occurred before the required key and so was not looking at the problem from the right angle.
Adobe and Microsoft are both examples of bloatware programming. While the open source office suites are more efficient at dealing with the same problem. Perhaps it has to do with the internal organisation of the companies, creating teams to deal with particular routines. I cannot say. What I can say is that if bloatware becomes an acceptable way of proceeding, then it will become an ingrained habit and no longer so demanding as creating elegant and efficient programming. Look at the programs that were produced for the Amiga which was limited to under a megabyte of memory. Programs had to be efficient in the way they operated to allow for the restrictions of the system.
This lead to a training in efficient programming and the expectation that it was not necessary to have a high performance CPU and a stack of RAM to produce efficient fool-proof programs.
Unfortunately Microsoft took the position that it was necessary to ‘drive the market’ in chip development and the building of ever more powerful systems. Sadly this lead to sloppy discipline in programming, and coding lost its efficiency.
But hey! What do I know? Overpaid, inefficient? Well we’ve got the whole of industry by the balls, so let them pay up. A sorry state of affairs indeed.