freenode/#sicl - IRC Chatlog
Search
22:32:54
Gnuxie[m]
beach: if you think that the industry is ignorant to practices that would make them more efficent, why hasn't there been an organisation that dominates the industry that uses the better techniques?
22:42:52
jackdaniel
given a free market is driven by maximizing the profit and minimizing the cost it is all but suprising that you get inferior yet easy to produce solutions there
22:43:24
jackdaniel
that said "free market" here could be replaced with "modern capitalism", because the former doesn't necessarily imply such sad state of humanity
22:43:49
Shinmera
indeed, if you spend any time at all working at a company you'll quickly get to experience why almost everything is a horrid mess
22:46:27
Shinmera
Gnuxie[m]: not just sunk cost, but also simply lack of understanding by the people in power
22:47:44
jackdaniel
I think I'm going to resume works on Matroska build system, with proper clim visualisation / interaction this time
22:51:09
Gnuxie[m]
I'm kinda finding it hard to justify having this viewpoint, it's really depressing
22:52:40
jackdaniel
And whether or not it is clear to you, no doubt the universe is unfolding as it should. ;-) good night
22:58:38
Shinmera
Gnuxie[m]: if you think about how often people make mistakes, how many accidents happen, and how frequently people act short-sightedly or self-centered, and extrapolate from there, it's far more surprising that our world functions as well as it does
23:00:33
Shinmera
The good news is that it's not your responsibility to fix everything, so just try to do your best.
5:06:41
no-defun-allowed
Gnuxie 💜🐝 is asleep right now, but I'm sure she'll read the logs in a while.
5:25:25
beach
Gnuxie[m]: You have already received some elements of response from jackdaniel and Shinmera. What they say is true, of course. Let me just see if I can put it in some other perspective.
5:26:23
beach
Gnuxie[m]: First, we must distinguish between companies/organizations of different sizes. Let's simplify and say that there are only "small" and "large" companies.
5:28:52
beach
Small companies can indeed be more efficient and use better techniques. However, being efficient is not a necessity for small companies. Innovation is more important. So they have no particular incentive to be efficient. A small company can not dominate the industry though, because there is a lot of work to be done and a large part of that work requires big organizations.
5:31:02
beach
So my analysis is more relevant to large companies. I don't think it is possible to just decide to start a large company that uses better techniques. I don't think that is possible. Large companies grew out of small ones, with existing customers, expanded product offerings, etc.
5:33:15
beach
So now to the main difficulty. Knowledge of better and more efficient techniques is not widespread. It starts at our universities. Teachers are themselves products of universities. As such, they are also researchers, and they have specialized very early on, at the level of a masters program.
5:39:12
beach
So a typical teacher knows a lot about one domain, like deep learning, facial recognition, game development, parallel computing, fault tolerance, bio informatics, etc. Perhaps they have even followed a specialty called "software engineering", but then it was probably about things like formal program-proof techniques or type theory. In computer science, there will also be specialties like graph theory (disguised as networking
5:41:06
beach
But almost no university teacher has been taught anything about algorithms and data structures beyond what an undergraduate student knows, and almost no teacher knows anything about memory management techniques beyond "best fit" and "first fit".
5:41:24
beach
They know nothing about garbage collection techniques, so they are left guessing that garbage collection must be inefficient.
5:42:09
beach
Nothing about compilation techniques beyond parsing and generating three-address codes.
5:43:42
beach
They know a little about modular programming in the form of traditional class-based object orientation, but only the technology for it. They have no experience in the design and construction of large software systems.
5:47:51
beach
So, to undergraduates, these teachers teach whatever they were taught as undergraduates by their teachers who taught what they were taught, etc. And there is no incentive for continuing education in the general subjects. Therefore, things like taking into account the difference in processor speed and memory access time in the algorithms class is not done.
5:49:31
beach
So the number of graduates having knowledge about efficient techniques, or even the knowledge about how to compare different techniques, is very limited.
5:52:40
beach
Therefore, the possibilities of creating the kind of organization you were wondering about are very slim.
6:37:34
beach
Gnuxie[m]: Now let's take a look at the structure of the software industry. Your hypothetical dominating organization suggests a perfect market (i.e. "perfect" as taught in "macro economics 101"). In such a market, you have lots of interchangeable producers with essentially the same product. A producer capable of better and more efficient methods will have no problem penetrating the market, and other producers who can't produce as
6:39:35
beach
First, the software companies don't all produce the same thing. Most companies are centered around one or a few products that they have for historical reasons. Often the software is coupled with some device that manufacture. So a single organization can not dominate all of the software industry unless it is the size of the combined sizes of existing companies (minus what better efficiency allows in terms of size reduction).
6:40:19
beach
At best, this hypothetical organization could compete with a few existing inefficient companies and drive them out of business.
6:40:49
beach
However, software is interesting in that it has zero production cost. This fact turns the software industry into a "winner takes all" market.
6:44:42
beach
Let's say we have a product that takes on the order of a million annual currency units to produce and maintain. Furthermore, let's say there is an established company that sells 10000 units per year, either new ones or new versions. The total annual cost per unit for producing and maintaining that product is 100 currency units. So if it is sold for more than that, the rest is just profit.
6:46:12
beach
Now, let's imagine wanting to compete with this established company. We think we can do it because we use techniques that make us twice as productive. So we could produce and maintain a similar product for 500k currency units per year.
6:47:39
beach
There is very little incentive for customers to do so, so initially, we will have very few customers, let's say 1000.
6:48:44
beach
Unless we want to go bankrupt, we must charge at least that, i.e. 5 times as much as the established product. Very few customers are going to switch then.
6:49:58
beach
Essentially the only way it can be done is to sell our product cheaper than the established product until we have reached a market share that allows us to recover our cost.
8:55:32
jackdaniel
ACTION is glad that beach agress with him, that universe is unfolding as it should ;-)