Basics of programming with C/C++

this is an additional paragraph which shouldn't be visible



I wrote like this already in 2004: 
As software developers we can create any illusion, but we "only" write software, unfortunately many think that. The high rate of failed projects is an expression that software development is not a simple process, and the fact that this rate has continued to grow despite constantly improved development tools and methods confirms this. Software development is becoming more and more complex, the level is rising. Here one can really trouble Stephen Jay Gould, who examined in a paper, why in the 30's the ratio of the hitters in the baseball became worse. He realized that it was not because the hitters were getting worse, but because the pitchers were improving their performance, so the overall system was getting to a higher qualitative level. But this shows a feedback loop, and with it an increase in quality/complexity. So Gould confirms in his own way what we all know in software development, the demands placed on us are increasing dramatically, software development is becoming even more complex.

Now there are certainly several different notions of complexity, but fortunately in recent years the boundaries between the sciences have been falling more and more. So if you use Gould in the context of complexity of nature as a permissible opinion, especially in the extreme context you used ("Stephen Jay Gould, who mathematically (statistically), disproved this at least for evolution: The trend is simple life forms, the more complex the life form, the more you find it at the edge of the bell curve."), see (i.e., the bacterium, based on species diversity and number as the most complex creature), but do not extend this to software development because it does not fit, it is actually a shame. 
But let's try to see it with Gould. Do we increase the complexity of an overall system by reducing the quality/complexity of individual components? That would mean, referring to Gould's baseball example, that we would have had to make the bats smaller, thus reducing the hit rate. But that's not what happened, the quality of the pitchers improved. I think the only conclusion one can draw from this to software development is to increase the quality of the developers. 
But what do you try to do in software development? One reduces the complexity of the development systems and celebrates this even still as success, because thereby still more "hitters" in the baseball appear, still more miss, but in the sum of all "hitters" more balls hit. Sometimes it really helps us to look at software development with normal eyes to see if this way can be the right way.

My point is just to show that the biggest requirement we face is skill. Any discussion about new technologies and languages is a distraction from that. Because of the gold rush of the nineties, the number of programmers has grown faster than is good. And since we actually only work with models that seem to obey no physical laws, most believe they can design houses. Now, when development tools are offered for free, open source = free- understanding (I know it's not like that) is rampant, and companies that make money with it are attacked so that the software is actually worth nothing, but most companies cut their budgets for qualification. 

And the universities, which were previously overloaded, are now also more oriented to hypes, and not to healthy substance, but the best are the "fast breeders", where the Chamber of Commerce trains programmers in a few months. For C++, I put forward the thesis that 80% of developers do not exploit the possibilities of the language, and this must make us think.

Basics of Programming in C/C++

Basics of Programming in C/C++

At least here in Germany the JIT languages Java and C# dominate the education, and the education should become shorter and shorter. So C and C++ have almost disappeared from teaching, and it is getting harder to find young talent. But this is also true for other native programming languages. And that's tragic, because these are the backbone of the modern world, and there should actually be a "C/C++ inside" sticker on every electronic device. And even magazines convey that languages like JavaScript and Python are cooler. Studies show that C and C++ are not only much more performant, but also more resource-efficient. Against the background of mobile devices with batteries, but also the energy hunger of data centers, an important aspect. For example, Herb Sutter, a leading Microsoft architect, said at BUILD a few years ago that Microsoft loves C# and .net, but is built on C++. To murmurs in the audience, he added that all of IT is built on C and C++. Only our technical schools and universities have not yet understood this. Thus, Germany loses competitiveness, we run out of talented young people. In Germany, thousands of unnecessary servers are standing in data centers because those responsible have opted for Java, C# and other languages. Or because there is a lack of young talent. 

Kommentar verfassen

* These fields are required


Keine Kommentare