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.
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.
Keine Kommentare
3 days
8 Participants
3 Days
8 Participants
In this seminar you will get a compact introduction to the latest version of C++Builder (currently 10.3.3). C++Builder is a cross-platform development tool that allows you to develop high-performance, native applications for the target platforms Windows (32bit, 64bit), Mac OS (32bit), iOS and Android.
5 Days
8 Participants
As the title of the course says, this course is about developing native applications for mobile devices (app) with C++Builder (currently 10.3.3).
2 Days
8 Participants
This course is designed for C++ developers who want to use the C++Builder and deepen their knowledge. In addition to using the components and the properties of the C++ language, it is especially important to combine both in a sensible way.
3 Days
8 Participants
This seminar is aimed at C++ programmers who want to extend access to databases in their applications. This seminar explains the main components of the C++ Builder for database access, but also shows how to integrate them into a clean application architecture.
3 Days
8 Participants
This seminar is aimed at C++ programmers who have gained experience with the database components of the C++ Builder and now want to develop scalable database applications. In this seminar the importance of ANSI C++ - interfaces between the business logic of an application and the database is shown.
3 Days
6 Participants
This course is aimed at software developers who want to learn the elements of the C programming language as a basis for a later entry into object-oriented programming with C++.
3 Days
8 Participants
This seminar is aimed at programmers who want to switch from C to C++. The most important extensions of the C++ language and the differences to C are discussed in detail.
3 Days
5 Participants
This seminar is aimed at programmers who want to switch from C to C++. The most important extensions of the C++ language and the differences to C are discussed in detail.
5 Days
8 Participants
We were often asked if we could do a training "with everything". A larger example, starting with an idea, developing an architecture from it, and then implementing it independently in C++. Just use the extensions without letting them determine our structure and architecture, and if possible, combine this with developing access for mobile applications.
5 Days
8 Participants
In this seminar you will learn which Open Source tools you can use for your daily work with the current C++ Builder 10.3.3. This includes solutions for documenting, metrics, code analysis and code management.
2 Days
6 Participants