Methoden mit bool-Parametern und "Lesbarkeit" im Kontext
-
Hallo
Xin schrieb:
Grüße vom Planeten Erde!
So langsam wird mir hier einiges klar. Das Forum muss also ein Tor in ein anderes Universum mit anderen Naturgesetzen darstellen...
Xin schrieb:
Danke für's Mitspielen, leider nicht gewonnen.
Dein Posting fiel aber durch besonderen Unterhaltungswert positiv auf.
Xin schrieb:
Was man so hört. Keine Sorge, Du musst ihn nicht wieder erstellen. Die älteren Leute gucken mal durch den Zaun auf den Spielplatz und gehen weiter.
Für Xin: Nur mal eine Zusammenfassung deiner Art in nur einem Posting. Vielleicht solltest du wirklich langsam anfangen auch dein eigenes Verhalten nicht als unfehlbar einzuschätzen. Du regst dich auf, dass du nicht ernst genommen wirst und lässt hier eine dermaßen überhebliche Art durchscheinen. Keine Ahnung, ob es hilft, aber sie es als konstruktive Kritik.
chrische
-
Shade Of Mine schrieb:
aber ich kenne jetzt spontan keine Plattform die mir deutlich bessere Fehlerbeschreibungen bringen als die modernen C++ Compiler.
na, nun übertreib' mal nicht. ein C++ compiler macht doch bloss statische code checks, und oft sind die fehlermeldungen alles andere als gut.
das kann z.b. http://www.splint.org/ viel besser, ist für 'C++' aber nur bedingt einsetzbar.
bei sprachen, die eine weniger wirre syntax als C++ haben, sind solche automatischen überprüfungen ohnehin einfacher. kennst du vielleicht 'IntelliJ IDEA'? es ist schon faszinierend, was das teil an potentiellen fehlerquellen aufdecken kann.

-
Undertaker schrieb:
Shade Of Mine schrieb:
aber ich kenne jetzt spontan keine Plattform die mir deutlich bessere Fehlerbeschreibungen bringen als die modernen C++ Compiler.
na, nun übertreib' mal nicht. ein C++ compiler macht doch bloss statische code checks, und oft sind die fehlermeldungen alles andere als gut.
das kann z.b. http://www.splint.org/ viel besser, ist für 'C++' aber nur bedingt einsetzbar.
bei sprachen, die eine weniger wirre syntax als C++ haben, sind solche automatischen überprüfungen ohnehin einfacher. kennst du vielleicht 'IntelliJ IDEA'? es ist schon faszinierend, was das teil an potentiellen fehlerquellen aufdecken kann.

Lass uns doch bitte in Ruhe mit deinem lächerlichen Kreuzzug gegen C++.
-
rüdiger schrieb:
ROFL Das ist gut. Damit kannst du glaube ich jeden Physiker mit vor lachen vom Stuhl hauen. Falls der Beitrag kein Spaß war, würde ich dir aber mal zum lesen eines Physik Buches (da reicht was simples, ist ja ein sehr grundlegendes und einfaches Thema) raten.
Ein bißchen weiter gelesen und Du hättest gemerkt, dass Du kalten Kaffee aufwärmst. Was CStoll da erklärt hat ist mir bis jetzt unverständlich, Jester glaubt, dass er Spannung und Volt unterscheiden möchte, was ich für sehr gut möglich halte, aber für irrelevant bei Typsicherheit. CStoll äußerte ein "Du kapierst es nicht" und wird das Geheimnis was er erklärte wohl mit ins Grab nehmen.
merker schrieb:
Xin schrieb:
Falsch, ergibt Unit, konvertierbar auf typlos.
Sowas erschwert nur die Strategie zur Aufspürung logischer Fehler im Programm. Finde mal heraus, welches Objekt die Daten versemmelt haben könnte.
??
Okay... ich gebe zu, dass ich gewisse Grundfähigkeiten als Voraussetzung ansehe, z.B. eine Expression zu debuggen, die inkompatible Typen aufweist. Ist ja nicht so, als wäre das ein Problem, dass in C++ sonst nie auftreten würde...Shade 0f Mine schrieb:
Ich hab noch nie eine größere Anwendung geschrieben, die sowas macht, aber ich denke die Formeln sind beim schreiben des Programms doch bekannt. Also ich würde mir nicht irgendwelche Klassen für Spannung Strom usw.. machen und mit denen dann rechnen, dass ist doch viel zu langsam.
...
Shade 0f Mine schrieb:
Hat von euch schon einer ein Programm geschrieben, dass viele Berechnungen macht und denn Code so geschrieben, dass es Compilerfehler gibt, wenn man falsche Formeln baut (nicht für sich privat)?
Yepp, habe ich.
Shade Of Mine schrieb:
Xin, dass ich von Typsicherheit keine Ahnung habe kam von dir - ich habe es lediglich wiederholt. Lies deine Posts bei Zeiten mal

Ich weiß das schon... aber Du schriebst dass Du keine Ahnung hast, nicht dass ich Dir das zuschreiben würde. Weiterhin hast Du anschließend einen netten Beweis hingelegt, dass Du keine Ahnung hast.
Vergleiche mal Dein den Ausschnitt aus Deinem letzten Posting, dass ich hier mit "..." kommentiert habe.
Ich halte Dich nicht für unfähig, aber es fällt stark auf, dass Du Dich bei diesem Thema im Grenzbereich Deiner Kenntnisse bewegst.
Und da Du keine Fragen stellst, sondern Feststellungen triffst, die Du bestenfalls vom Forumskindergarten bestätigt bekommst, macht das ganze einfach keinen guten Eindruck.Shade Of Mine schrieb:
Das Problem für mich ist, dass du alle Fehler als "Schuld vom Programmierer" abstempelst. Das ist es zwar auch,
Es ist ein Problem für Dich, dass ich das Problem korrekt erkannt habe... geile Argumentation

Wäre ich Deiner Meinung, wäre die Diskussion auch viel einfacher für Dich... kann ich schon nachvollziehen.Shade Of Mine schrieb:
aber es geht darum dem Programmierer bei der Fehlersuche zu helfen. Die Fehlermeldungen der Compiler sind super dafür. Sie sind nicht die besten der Welt - aber ich kenne jetzt spontan keine Plattform die mir deutlich bessere Fehlerbeschreibungen bringen als die modernen C++ Compiler.
Die alten Compiler.
Der Compiler des SAS-Institute wird seit über 10 Jahren nicht mehr entwickelt, aber die Fehlermeldungen waren punktgenau und die Beschreibung häufig so exakt und gut erklärt, dass ich mich häufig ärgerte, dass der Compiler den Fehler nicht einfach selbst korrigiert.
Für den GCC habe ich auf der Homepage eine kleine Ecke mit Übersetzungen von unverständlichen Compilermeldungen und mir schrieb mal jemand ein Dankeschön, weil er die Fehlermeldungen auch erst durch meine HP entschlüsseln konnte.
Die Fehlermeldungen des GCC und des MSVC sind unterirdisch schlecht.
Ich nehme mir für das Fehlermeldungen meines Compilers etwas mehr Zeit und kann aus Erfahrung sagen, dass es kein Problem ist, hier mehr zu leisten.Shade Of Mine schrieb:
Unser Ziel ist es, korrekte Software zu schreiben. Wir tun deshalb alles was in unserer Macht steht um Fehler zu verhindern.
Wen bezeichnest Du denn mit "wir"? "Ihr", die gegen Xin texten?
Mit der Typsicherung habe ich hier angefangen und CStoll kritisierte es.
"Ihr" habt alles in eurer Macht stehende getan, um gegen etwas zu sein, was praktisch handhabbar ist. Das dann als "wir tun alles um Fehler zu verhindern" zu verkaufen, zeugt von einem gesunden Selbstbewußtsein.Shade Of Mine schrieb:
Denn operator int ist problematisch. Es wird dadurch nämlich eine Art "ist-ein" Beziehung gebaut, die nicht vorhanden sein sollte. Es mag zwar logisch klingen zu sagen, ein Meter ist ein int. Aber das ist ein Trugschluss. Wenn Meter ein int wäre - dann wäre Meter eng mit Celsius verwandt. Tatsächlich haben Meter und Celsius miteinander aber nichts am Hut. Sie haben beide nur zufällig eine Beziehung zu int.
Das haben wir schon als Geschmackssache erledigt.
Beides sind Zahlenwerte mit Zahlen darf man meiner Überzeugung arbeiten, mit Einheiten nicht.
Das ist (immernoch) kein Gefahrenpotential, weil man kann diese Zahlen nicht einfach so zuweisen.Shade Of Mine schrieb:
Auch non-explicit CTors sollten mit Bedacht eingesetzt werden, da sie ebenfalls Typkonvertierungen sind - aber im Gegensatz zu operator int findet kein Verlust der Typinformationen statt. In den meisten Situationen macht es wenig Unterschied ob ich einen explicit oder non-explicit CTor habe.
Richtig. Der Punkt ist, dass genau hier eine Situation ist, wo es nicht nur wenig Unterschied macht.
Es entscheidet zwischen typsicher und nicht typsicher.
Es macht den Unterschied.Shade Of Mine schrieb:
Denn wenn "foo=bar;" nicht geht, weil ich einen Fehler bekomme kann ich einfach "foo=Foo(bar);" schreiben und schon ist der Fehler weg. Es gibt nur wenige Situationen mit Überladung wo ein non-explicit CTor Probleme bereitet. Dafür ist er in vielen Situationen unheimlich praktisch:
Meter m(7); m+=3;ich brauche hier keinen operator += für int definieren - der operator+= für Meter reicht. Das reduziert den nötigen Code.
Meter m(7); m += array.GetIndex( Element );Worum ging die Diskussion noch gleich? Typsicherheit?

Shade Of Mine schrieb:
Weiters kann man
Millimeter mm(convertMeter2Millimeter(12));und ähnliches schreiben ohne nochmal explizit Meter(12) schreiben zu müssen. Die hält den Code schlanker
Super, gleich mit redundanten Klassen nochmal einen nachlegen und das dann auch noch als schlanken Code bezeichnen.
Die Situation erinnert mich an einen Dreijährigen, der sich verbotenerweise ein Bonbon geklaut hat und nun mit vollen Mund nuschelt, dass er kein Bonbon genommen hat, während das Papier in seinen Fingern raschelt.
Es hilft nicht, einen Fehler mit einem anderen auszutauschen. Eine sinnvollere Lösung für den Wunsch mit Millimetern zu arbeiten, findest im Thread.
Shade Of Mine schrieb:
Deine Methode verbietet zum Beispiel ein
Meter m; Brot b; Kilogramm k; m=b*k;Aber sie verbietet auch ein:
m=2*10;also gewöhnt man sich sowieso an
m=Meter(x);zu schreiben und da du einen CTor für int hast - hast du wieder ein Problem. Non-explicit CTors schützen nicht vor ungewollten Konvertierungen wenn man einen operator int anbietet.
Das kann passieren.
C++ setzt Grenzen. Ein expliziter Konstruktor ist ein Gefahrenhinweis. Wer darüber unbesorgt hinweggeht, weil 'hat ja immer geklappt', den kann und will ich in C++ nicht beschützen.
Wenn er es verkehrt gemacht hat, wird er nicht behaupten, dass es immer geklappt hat.Menschen sind dumm, aber sie in Watte zu packen, lässt sie total verdummen.
Shade Of Mine schrieb:
Oder anders ausgedrückt:
m=a+b;liefert mir die Meldung dass die Konvertierung von int nach Meter nur explizit möglich ist - erste Aktion von mir:
m=Meter(a+b);und schon ist das Problem umgangen
Als Du geschrieben hast, dass Du ja keine Ahnung hast, klang das wenigstens noch intelligent.
Wenn das Deine erste Reaktion ist, dann werde bitte niemals professioneller Entwickler.Debuggen bedeutet nicht Symptome zu bekämpfen, sondern Fehler zu entfernen, so dass keine Symptome auftreten. Es geht nicht darum den Compiler zufrieden zu stellen, sondern den Kunden.
Deine erste Reaktion sollte also nicht sein, den Compiler zum schweigen zu bringen, sondern Dich zu fragen, warum der Compiler meckerte. Bevor Du das nicht genau verstanden hast, änderst Du an dem Code überhaupt nichts, um auf keinen Fall zu riskieren, dass Du die Fehlermeldung verlierst.Theston schrieb:
Xin schrieb:
Theston schrieb:
Meiner Ansicht nach dürfte nur
cos_alpha = Meter/Kilogramm*Meter*Kilogrammlegal sein, denn nur das hat physikalisch einen Sinn.
Grüße vom Planeten Erde!
So langsam wird mir hier einiges klar. Das Forum muss also ein Tor in ein anderes Universum mit anderen Naturgesetzen darstellen...
Sehr gut, dass du dich an Tippfehlern aufziehst, man merkt, du hasts drauf!
Gerne doch.
Wieso gehst Du nicht darauf auf die Zeile ein, wo ich Dir leider vorrechnen muss, dass Meter/Meter (wenn ich Deinen Tippfehler also korrigiere) im Template leider immernoch typlos ist, Deinem Posting also komplett die Grundlage fehlt?
Warum regst Du Dich darüber auf, dass man sich über Deine Fehler amüsiert, aber nicht darüber, dass Du meine Zeit verschwendest, weil Du nicht nachgedacht hast, bevor Du etwas gepostet hast, was nicht mehr als einen Tippfehler enthielt?Du hattest Deinen Spaß, als Du mir zeigen konntest, dass meine Lösung zu blöd ist Meter/Meter von typlos zu unterscheiden und ich hatte meinen Spaß Dein Posting als sinnfrei entlarvt in der Luft zu zerreißen.
Wir hatten beide unseren Spaß, damit ist die Sache doch fair.
Wenn Du Angst hast, dass ich mir aus Dir einen Spaß mache oder ernst genommen werden möchtest, dann schreib doch einfach etwas Entsprechendes.Hier wird soviel Sch.... gepostet und dann erklärt, dass das auch noch ein Argument ist und ob Du das als Beleidigung auffasst oder nicht - was Du gepostet hast hatte auch nicht mehr Wert, wenn es keinen Tippfehler hätte. Durch den Tippfehler war es wenigstens noch amüsant.
chrische5 schrieb:
Nur mal eine Zusammenfassung deiner Art in nur einem Posting. Vielleicht solltest du wirklich langsam anfangen auch dein eigenes Verhalten nicht als unfehlbar einzuschätzen. Du regst dich auf, dass du nicht ernst genommen wirst und lässt hier eine dermaßen überhebliche Art durchscheinen. Keine Ahnung, ob es hilft, aber sie es als konstruktive Kritik.
Ich stehe hier seit bald 30 Seiten im Kreuzfeuer und jeder postet hier ohne 2 Sekunden nachzudenken wertlose Argumente. Was Shade da grade "argumentiert" ist alles, abgesehen von Typsicherung.
Theston ist dafür ein schönes Beispiel - guckt sich das Template nicht an, behauptet, dass es Meter/Meter abbildet, baut auch noch einen Tippfehler ein, der dazu führt, dass es nur physikalisch Sinn macht, Winkel in Quadratmetern zu messen und wundert sich dann, dass ich ihn nicht für voll nehme?
Ich soll hier brav eine Antwort schreiben. Das habe ich jetzt 25 Seiten gemacht. Ich bin keine kostenlose Servicenummer.Seit 15 Seiten kippt jeder hier mal seinen geistigen Abfall rein und erwartet, dass ich mir die Zeit nehme, das freundlich lächelnd wieder sauberzu machen und dabei nichts äußere, was Kritik vermuten lässt.
Wer den Mut hat, ohne zu denken zu posten, muss auch ertragen, wenn er dafür nicht in den Himmel gelobt wird.
Wenn es überheblich ist, auf Denkfehler hinzuweisen und Texte, die bereits vor 20 Seiten Seiten erklärt wurden nur noch zu in der Luft zu zerreißen, dann ist es halt so. Eine Diskussion ist nunmal nicht möglich in dem man Gegenargumente analysiert und anschließend auseinandernimmt oder anerkennt. Ich nehme hier mehr auseinander als ich anerkenne. Würde hier nicht soviel Unsinn behauptet, könnte ich mehr anerkennen und ich würde nicht so überheblich wirken. Leider kann ich die Qualität der Beiträge nicht steuern.
Wer werden hier aber auch nicht mehr weiterkommen, wir bewegen uns an einer Grenze von C++.
Wir haben das, was ich vorgeschlagen habe, als Grenze des praktisch machbaren, vor ~15 Seiten im Detail durch Unit verbessert. Wir haben CStolls Klassen, die gleichwertig sind. Er macht das gleiche wie ich, er erzeugt sie nur über ein Template. Ich habe nie verboten, meine Klassen per Template zu erzeugen.
Wir haben eine theoretisch perfekte Lösung.
Es gibt Gründe, warum ich eine eigene Programmiersprache schreibe und das ist nunmal, dass C++ auch hier Grenzen setzt, die ich gerne überschreiten möchte, weil ich mit den Lösungen hier auch nicht zufrieden bin.
Aber mehr haben wir nicht und mehr können wir in C++ nicht erreichen, ob "ihr" nun davon begeistert seid oder nicht.
-
Mr. N schrieb:
Undertaker schrieb:
Shade Of Mine schrieb:
aber ich kenne jetzt spontan keine Plattform die mir deutlich bessere Fehlerbeschreibungen bringen als die modernen C++ Compiler.
na, nun übertreib' mal nicht. ein C++ compiler macht doch bloss statische code checks, und oft sind die fehlermeldungen alles andere als gut.
bei sprachen, die eine weniger wirre syntax als C++ haben, sind solche automatischen überprüfungen ohnehin einfacher.Lass uns doch bitte in Ruhe mit deinem lächerlichen Kreuzzug gegen C++.
Ich halte C++ für die beste Sprache am Markt.
Für die syntaktische und semantische Analyse ist sie allerdings wirklich nicht optimal ausgelegt.
-
Xin schrieb:
Mr. N schrieb:
Undertaker schrieb:
Shade Of Mine schrieb:
aber ich kenne jetzt spontan keine Plattform die mir deutlich bessere Fehlerbeschreibungen bringen als die modernen C++ Compiler.
na, nun übertreib' mal nicht. ein C++ compiler macht doch bloss statische code checks, und oft sind die fehlermeldungen alles andere als gut.
bei sprachen, die eine weniger wirre syntax als C++ haben, sind solche automatischen überprüfungen ohnehin einfacher.Lass uns doch bitte in Ruhe mit deinem lächerlichen Kreuzzug gegen C++.
Ich halte C++ für die beste Sprache am Markt.
Für die syntaktische und semantische Analyse ist sie allerdings wirklich nicht optimal ausgelegt.Trotzdem passen Undertakers willkürliche C++-Feindseligkeiten nicht hier her. Hier darfst nur du (Xin) rumpöbeln! :p
-
Xin schrieb:
Ich halte C++ für die beste Sprache am Markt.
Für die syntaktische und semantische Analyse ist sie allerdings wirklich nicht optimal ausgelegt.

-
Mr. N schrieb:
Xin schrieb:
Mr. N schrieb:
Undertaker schrieb:
Shade Of Mine schrieb:
aber ich kenne jetzt spontan keine Plattform die mir deutlich bessere Fehlerbeschreibungen bringen als die modernen C++ Compiler.
na, nun übertreib' mal nicht. ein C++ compiler macht doch bloss statische code checks, und oft sind die fehlermeldungen alles andere als gut.
bei sprachen, die eine weniger wirre syntax als C++ haben, sind solche automatischen überprüfungen ohnehin einfacher.Lass uns doch bitte in Ruhe mit deinem lächerlichen Kreuzzug gegen C++.
Ich halte C++ für die beste Sprache am Markt.
Für die syntaktische und semantische Analyse ist sie allerdings wirklich nicht optimal ausgelegt.Trotzdem passen Undertakers willkürliche C++-Feindseligkeiten nicht hier her. Hier darfst nur du (Xin) rumpöbeln! :p
oh nein, leidest du jetzt auch unter verfolgungswahn?

ich hab' nur shady's aussage kommentiert, weil ich der meinung bin, dass C++'s teilweise groteske syntax nicht gerade eine einfache fehlererkennung zulässt. es hatte weder etwas mit feindseligkeiten noch 'nem kreuzzug zu tun. du weisst sicher selbst, wie leicht man einen C++ compiler überfordern kann und welche undurchsichtigen fehlermeldungen von solchen compilern manchmal produziert werden.

-
Undertaker schrieb:
groteske syntax
Jaja einfach mal sich die mühe machen die sache zu verstehen und schon gibt es keine problemen mehr. Wobei ich lieber syntax als maskulinum sehen würde: Der syntax hört sich doch besser an als die syntax... Wo sind wir denn? Naja mal abgesehen von dem oberen bedeutungsfreien text, kann ich dir mit grotesk z.B. bei der std lib teilweise zustimmen. std::tütü<std::allocator<std::useless_template<int>>> : public std::char_traits<std::self<templates_are_complicated<int>>
{
typedef riesen_gewäsch<this> that;
};Da kann ich nur sagen: Viele danke, ich war auch auf universität
-
Undertaker schrieb:
Mr. N schrieb:
Xin schrieb:
Mr. N schrieb:
Undertaker schrieb:
Shade Of Mine schrieb:
aber ich kenne jetzt spontan keine Plattform die mir deutlich bessere Fehlerbeschreibungen bringen als die modernen C++ Compiler.
na, nun übertreib' mal nicht. ein C++ compiler macht doch bloss statische code checks, und oft sind die fehlermeldungen alles andere als gut.
bei sprachen, die eine weniger wirre syntax als C++ haben, sind solche automatischen überprüfungen ohnehin einfacher.Lass uns doch bitte in Ruhe mit deinem lächerlichen Kreuzzug gegen C++.
Ich halte C++ für die beste Sprache am Markt.
Für die syntaktische und semantische Analyse ist sie allerdings wirklich nicht optimal ausgelegt.Trotzdem passen Undertakers willkürliche C++-Feindseligkeiten nicht hier her. Hier darfst nur du (Xin) rumpöbeln! :p
oh nein, leidest du jetzt auch unter verfolgungswahn?

ich hab' nur shady's aussage kommentiert, weil ich der meinung bin, dass C++'s teilweise groteske syntax nicht gerade eine einfache fehlererkennung zulässt. es hatte weder etwas mit feindseligkeiten noch 'nem kreuzzug zu tun. du weisst sicher selbst, wie leicht man einen C++ compiler überfordern kann und welche undurchsichtigen fehlermeldungen von solchen compilern manchmal produziert werden.

Verfolgungswahn? Nein, ich weiß nur, (a) wie deine Meinung zu C++ ist und (b) dass du keine Ahnung von C++ hast. Du kannst gerne versuchen, über Typsicherheit mitzudiskutieren, aber ich glaube, das ist nicht dein Interesse. Über die Typsicherheit von anderen Sprachen möchte ich zumindest an dieser Stelle nicht diskutieren. Sorry.
-
so n schei* schrieb:
ich les hier nix mehr ist doch nur müll
Och komm ein bisscehn optimismus hat doch noch niemanden geschadet
Und xin bitte verzeihe mir mein ungebühliches einfach-als-unreg-schreibendes verhalten, es tut mir ja sooo leid, aber der borherige post von shade war doch sehr überzeugend oder etwa nicht?
-
Und Undertaker und MrN:
Bitte nich in die haare kriegen, ich seid doch so nette leute.
Herr Undertaker mag kein C++,
Mister Moe jedoch sehr,
Undertaker sagt MrN hat nen Schuss,
dabei holt sich MrN ein gewehrund weiter will ich mal nicht fortführen...
-
Xin schrieb:
rüdiger schrieb:
ROFL Das ist gut. Damit kannst du glaube ich jeden Physiker mit vor lachen vom Stuhl hauen. Falls der Beitrag kein Spaß war, würde ich dir aber mal zum lesen eines Physik Buches (da reicht was simples, ist ja ein sehr grundlegendes und einfaches Thema) raten.
Ein bißchen weiter gelesen und Du hättest gemerkt, dass Du kalten Kaffee aufwärmst. Was CStoll da erklärt hat ist mir bis jetzt unverständlich, Jester glaubt, dass er Spannung und Volt unterscheiden möchte, was ich für sehr gut möglich halte, aber für irrelevant bei Typsicherheit. CStoll äußerte ein "Du kapierst es nicht" und wird das Geheimnis was er erklärte wohl mit ins Grab nehmen.
Wenn es irrelevant für Typsicherheit ist, dann nimm doch bitte keine Maßeinheiten als Vorlage, wenn du sie nicht verstehst. Was CStoll gesagt hat war übrigens sehr eindeutig. Es ist auch einfach kein Geheimnis was er schreibt, das steht in jedem (Schul-)Physik-Buch.

-
Xin schrieb:
merker schrieb:
Sowas erschwert nur die Strategie zur Aufspürung logischer Fehler im Programm. Finde mal heraus, welches Objekt die Daten versemmelt haben könnte.
Okay... ich gebe zu, dass ich gewisse Grundfähigkeiten als Voraussetzung ansehe, z.B. eine Expression zu debuggen, die inkompatible Typen aufweist.
Ist ja nicht so, als wäre das ein Problem, dass in C++ sonst nie auftreten würde...Logische Fehler findet man aber nicht in einzelnen Zeilen. Die (mögliche) Kombination der Zeilen ist immer der Fehler.

-
Wozu Fehler vermeiden, wenn man doch debuggen kann?

-
fxgdfgfdg schrieb:
Undertaker schrieb:
groteske syntax
Jaja einfach mal sich die mühe machen die sache zu verstehen und schon gibt es keine problemen mehr.
naja, aber dadurch wird die sache auch nicht besser

Mr. N schrieb:
Du kannst gerne versuchen, über Typsicherheit mitzudiskutieren, aber ich glaube, das ist nicht dein Interesse.
richtig. ich hab' nur ein bestimmtes statement herausgepickt und kommentiert.
Mr. N schrieb:
Über die Typsicherheit von anderen Sprachen möchte ich zumindest an dieser Stelle nicht diskutieren. Sorry.
ich auch nicht. ich schrieb was von zusatz-tools, die codes nach fehlern durchsuchen können und die machen einen besseren job als compiler (deshalb gibt es diese tools ja auch).
äääh, dazu fällt mir gerade ein: vielleicht wird von euch typsicherheit ein klein wenig überbewertet.aber nun - zurück zum thema...

-
fxgdfgfdg schrieb:
Wobei ich lieber syntax als maskulinum sehen würde: Der syntax hört sich doch besser an als die syntax...
komsmt du aus österreich oder wat? der syntax? *kopfschüttel*eh

-
ne i komm usm ländle woisch
da hat elles irgend an andres gschlechtNu mal aber wirklich ernsthaft: Der syntax hört sich doch viel besser an, genauso wie der Kristall, oder der Sieb!
-
Xin, du hast eine komplett andere Vorstellung von Typsicherheit (oder Physik) als jeder andere Mensch den ich kenne. Ich bin es deshalb langsam leid, dass du alle Argumente immer vollkommen ignorierst und nur behauptest wir alle haben keine Ahnung.
Wikipedia sagt zur Typsicherheit zB:
Typsicherheit bezeichnet den Zustand (einer Programmausführung), bei dem die Datentypen gemäß ihren Definitionen in der benutzten Programmiersprache verwendet werden und keine Typverletzungen auftreten. Werden dementsprechend Typfehler spätestens zur Laufzeit erkannt, spricht man von „typsicheren Sprachen“. Typsicherheit herzustellen ist Aufgabe des Compilers bzw. Interpreters.
Und hat damit eine andere Definition als du. Auch Wikipedia ist nicht der Weisheit letzter Schluss (genauso wie Schulbücher) - aber immerhin scheinen wir nicht alleine mit unserer Vorstellung von Typsicherheit (und Physik) zu sein - deine Definitionen habe ich dagegen noch nirgendwo gehört oder gelesen.
Nur als kleiner Denkanstoss: du unterhältst dich hier nicht mit Kiddies - die meisten von uns arbeiten seit Jahren täglich mit C++ oder anderen Sprachen (Sprachen von denen du vermutlich noch nichtmal etwas gehört hast - also bezüglich Horizont erweitern und so). Wir wissen also sehr wohl wovon wir reden. Die Masse hat natürlich nicht immer recht - aber es sollte dir dennoch zu denken geben wenn deine Ansichten komplett anders sind als die aller Anderen. Vielleicht bist du ein Genie dass einfach um Jahrzehnte uns allen voraus ist - vielleicht sind deine Ideen und Ansichten aber auch einfach nur falsch.
Ich weiß, dass mein Chef mir den Hals umdrehen würde wenn ich ihm erklären würde dass ein Fehler durch unachtsamkeit der Firma ein paar Tausend Euro gekostet hat. Deshalb ist es für mich nicht vorstellbar Code zu schreiben wo ich nicht alles mir mögliche tue solche Fehler zu verhindern. C ist in dieser hinsicht furchtbar - ich will nicht wissen wieviele Millionen Euro dumme Tippfehler in C schon gekostet haben. In C++ hat man die Möglichkeit sowas abzufangen (in den meisten Fällen). Es ist fahrlässig es nicht zu tun.
Ein "selber Schuld" kann ich nicht anbringen. Klar hat dann ein anderer Programmierer den Fehler gemacht und nicht ich - aber ich hätte ihn verhindern können. Das hat nichts mit "mit Watte anfassen" zu tun oder dass Niemand mehr für sich selber denken soll, sondern einfacher Selbsterhaltungstrieb. Denn im Endeffekt kostet sowas meiner Firma Geld und das ist nie gut. Programmierer haben auch idR komplexere Probleme zu lösen als darauf zu achten ob man da jetzt einen non-explicit CTor schreiben darf (der logisch das richtige wäre) und dann noch alles richtig funktioniert oder nicht. Solche Fehler kosten Tage um sie zu finden. Und Zeit ist Geld.
Deshalb weiß ich, dass ich deinen Ansatz nie in einem produktiv System rechtfertigen kann. Es ist einfach fahrlässig statische Checks nicht einzubauen weil der Anwender des Codes gefälligst selber denken soll. Das ist eine Argumentation die nicht wirklich zieht.
Dir wurden eine Menge Nachteile deines Systems gezeigt - du hast uns allesamt dafür beleidigt und die hälfte aller Argumente ignoriert. Du stehst mit deinen Ideen allein auf weiter Flur und Niemand scheint die Vorteile zu verstehen - du selber sagst auch, dass es keine gibt. Aber wie ich dir schonmal gesagt habe: wenn es keine Vorteile gibt, so ist dies ein Nachteil. Denn es ist weniger Know-How vorhanden um mit dieser Methode umgehen zu können.
Ich würde es wirklich begrüßen wenn du dich ein bisschen mehr bemühen könntest dich wie ein vernunftbegabter Erwachsener zu benehmen und nicht bei jedem Widerspruch sofort von Kindergarten zu reden und davon dass alle Leute keine Ahnung von garnichts haben. Niemand hier hat dir vorgeworfen dass du dumm seist oder dergleichen - du wirfst es uns aber quasi in jedem Post von dir an den Kopf. Mit der Zeit wird es langweilig - aber wir wissen ja, wenn einem die Argumente ausgehen...
Deine Ansichten und Definitionen sind komplett anders als so ziemlich alles was ich je gehört habe (und ich habe schon eine Menge gehört). Das alleine sollte Grund genug sein die herkömmlichen Ansätze nicht als "dumm" hinzustellen - du stellst damit so ziemlich die gesamte Programmiererschaft der letzten 40 Jahre als dumm hin. Es mag vielleicht sein dass wir alle Dumm sind und deine Ansätze um soviele Klassen besser sind dass Niemand den Vorteil zu sehen vermag den sie bieten - aber sind wir uns ehrlich: wie groß ist diese Wahrscheinlichkeit?
@Undertaker:
Deine Trollerei in ehren - aber ein C++ Compiler liefert kaum eine andere Fehlermeldung als ein C oder ein Java Compiler. Da die Sprache komplexer ist, gibt es Situationen wo die Fehlermeldung komplex ist - aber es geht hier um simple Typenumwandlung und da sind die Fehlermeldungen mehr als deutlich.Es gibt nebenbei bemerkt enorm viele Plattformen wo man deutlich schlechtere Fehlermeldungen als in C++ bekommt. Es hängt im Endeffekt dann ja doch immer am Compiler was er ausspuckt.
-
Shade Of Mine schrieb:
@Undertaker:
Deine Trollerei in ehrendanke! endlich jemand, der das zu schätzen weiss

Shade Of Mine schrieb:
- aber ein C++ Compiler liefert kaum eine andere Fehlermeldung als ein C oder ein Java Compiler.
das ist nicht dein ernst.
oder meinst du vielleicht 'sinngemäss'?Shade Of Mine schrieb:
Da die Sprache komplexer ist, gibt es Situationen wo die Fehlermeldung komplex ist
ja, aber muss das sein? ich finde nicht. eine fehlermeldung sollte sich auf das wesentliche konzentrieren und einem nicht sämtliche fehlschläge des parsers vor die füsse werfen.
Shade Of Mine schrieb:
- aber es geht hier um simple Typenumwandlung und da sind die Fehlermeldungen mehr als deutlich.
naja, wie es aber so ist, muss man aus den ~30 zeilen, die so'n C++ compiler manchmal bei einfachen tippfehlern ausspuckt, erstmal erkennen, dass 'ne typumwandlung scheiterte. aber klar, das ist übungssache und ein erfahrener C++ coder kommt damit möglicherweise gut zurecht.
ausserdem möchte ich dich mal ganz nebenbei an den cout/volatile bug erinneren, wobei die typumwandlung zwar scheitert (falsches ergebnis), ein C++ compiler aber nicht den leisesten pieps von sich gibt.Shade Of Mine schrieb:
Es gibt nebenbei bemerkt enorm viele Plattformen wo man deutlich schlechtere Fehlermeldungen als in C++ bekommt.
welche?
btw: du musst nicht antworten (ausser vielleicht auf die letzte frage), ich will kein thread-hijacking betreiben.
