Avatar von qbl
  • qbl

mehr als 1000 Beiträge seit 10.09.2002

Re: Spielprogrammierung: Fenster

Firebyte schrieb am 09.01.2017 13:11:

Ne, also sorry, aber dass man als guter Entwickler Assembler können (statt kennen) muss, ist Blödsinn.

Blödsinn ist hier nur die explizite Differenzierung zwischen „können“ und „kennen“.
Davon, dass jeder ein Experte in Assemblerprogrammierung sein muss schrieb ich absolut nichts. Allerdings bin ich der Ansicht, das man in der Lage sein sollte ein „Hello World“ in Assembler zu coden. Es sei denn, man möchte sich auf die Entwicklung von Enduserinterfaces beschränken.

Wofür denn auch? Das, was bei clang und Konsorten am Ende herauskommt, ist ganz weit weg, von dem, was man manuell intuitiv schreiben würde.

Intuitiv schreibt man Code nur dann, wenn man nicht weiß, was man tut. Also der typische
RAD-Entwickler, der glaubt, ein GUI sei die Spitze und das Ziel aller Enwicklung...

Es bringt auch keinen Mehrwert. Es ist vielleicht gut zu wissen, dass eine Division (meist) teurer ist, als eine Multiplikation, aber auch das mündet oft in premature optimisation.

oder aber cmovCC vs jCC in einem Hot Spot ( Das kann aber auch ein guter Compiler)...

Und sich mit C zu befassen und sich dabei zu "versauen" ist sogar noch kontraproduktiv. Ich kann nur die Vorträge dazu von Bjarne auf der cppcon empfehlen.

Netter Ausdruck: „versauen“
Dazu:
„I wanted C++ to be compatible with a complete language with sufficient performance and flexibility for even the most demanding systems programming.“

„"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off" [...] As you protect people from simple dangers, they get themselves into new and less obvious problems. Someone who avoids the simple problems may simply be heading for a not-so-simple one. One problem with very supporting and protective environments is that the hard problems may be discovered too late or be too hard to remedy once discovered. Also, a rare problem is harder to find than a frequent one because you don't suspect it.“

Die Quelle dazu darfst Du selbst suchen.

Meiner meinung nach: Alles vor C++11 ist über 6 Jahre veraltet und kann in die Tonne. Wozu als Anfänger damit einsteigen?

Ja ja, Neuer ist immer besser. Und in 30 Jahren sucht man wieder verzweifelt Cobol-Entwickler...
Die Grundrechenarten muss auch niemand mehr lernen. Es gibt ja Smartphones.

Die Welt ist so schön bunt, wenn man alles schwarzweiß malt...
(Nebenbei bemerkt: Es gibt auch C11...)

Gleich

for (auto item : list)

statt

for (std::vector<int>::iterator it = list.begin(); it != list.end(); ++it)

lernen ist angesagt!

War da nicht mal was mit versauen?

new, delete und malloc so weit wie möglich verbannen! (https://www.youtube.com/watch?v=JfmTagWcqoE)

Diese Erkenntnis ist aber älter als C++11 und auch sonst vollständig Off Topic. Aber immerhin gibt dieser Hinweis deinem Beitrag wenigstens etwas Substanz - auch wenn es alles andere als eine Eigenleistung ist. Insgesamt interpretiere ich deinen Beitrag als statement eines typischen Blackboxentwicklers.

Ich bin mir sicher: Stroustrup ist in der Lage auch ein größeres Programm vollständig in Assembler zu entwickeln. Und genau das ist es, was seiner Argumentation Gewicht verleiht. Bei Dir habe ich da so meine Zweifel...

Bewerten
- +