[C/C++] const auf integrale typen in einer Funktion sinnvoll?
-
;fricky schrieb:
Shade Of Mine schrieb:
;fricky schrieb:
in der tat, jedesmal wenn ich versuche, etwas davon zu verstehen kommt es mir extrem komisch vor. aber ok, ich bin vielleicht auch etwas zu verwöhnt.
Du versuchst es ja nicht, du gehst mit der Einstellung ran dass C++ kaputt ist. So kann das nicht funktionieren.
es war nicht immer so. ich habe bestimmt zwei jahre oder länger gebraucht, bis ich zu dem schluss gekommen bin, dass c++ so ziemlich vermackelt ist. vorher hatte ich auch schon manchmal ein ungutes gefühl, aber dachte mir: 'das muss wohl so sein'.
das lässt jetzt aber weniger rückschlüsse auf C++ zu, als auf dich.
-
hustbaer schrieb:
das lässt jetzt aber weniger rückschlüsse auf C++ zu, als auf dich.
auf beide, würde ich sagen. mag sein, dass ich in gewissen dingen zu pingelig und zu wenig kompromissbereit bin, aber pferd und reiter müssen nunmal zueinander passen, sonst wird das nix. übrigens kann ich mich normalerweise gut mit bugs und macken arrangieren, wenn es keine ausweichmöglichkeit gibt. aber wenn ich alternativen sehe, bei denen bestimmte unzulänglichkeiten garnicht erst existieren, dann hat meine toleranz ein ende.
-
Das nennt man Rigidität, fricky.
-
abc.w schrieb:
Das nennt man Rigidität, fricky.
ach nö, das ist eher 'ne mischung aus pragmatismus, erfahrungswerten (ich habe einige male mitbekommen, wie andere mit c++ gescheitert sind) und rationalen entscheidungen. wäre ich rigide, würde ich in reinem ansi-C ein vernetztes warenwirtschaftssystem oder ähnliches programmieren wollen. sowas würde mir im traum nicht einfallen. ausserdem würde ich, ohne zu murren, selbstverständlich c++ benutzen, wenn's die einzige programmiersprache auf der welt wäre.
-
;fricky schrieb:
auf beide, würde ich sagen. mag sein, dass ich in gewissen dingen zu pingelig und zu wenig kompromissbereit bin, aber pferd und reiter müssen nunmal zueinander passen, sonst wird das nix. übrigens kann ich mich normalerweise gut mit bugs und macken arrangieren, wenn es keine ausweichmöglichkeit gibt. aber wenn ich alternativen sehe, bei denen bestimmte unzulänglichkeiten garnicht erst existieren, dann hat meine toleranz ein ende.
Fricky, wenn du C++ nicht magst, ist das eine Sache. Das ist völlig okay.
Wenn du aber ständig sinnlos rumflamen musst und dann nicht mal brauchbare Begründungen hast, sondern deine Argumente aus einzelnen Bash-Papers schlagwortartig zusammenbastelst, erhält man schon einen etwas speziellen Eindruck. Es ist absolut offensichtlich, dass du nur oberflächliche Kenntnisse über die Programmiersprache C++ besitzt. Trotzdem masst du dir andauernd an, über Dinge urteilen zu können, welche du nicht im Geringsten verstehst. Fast immer stellt sich dabei heraus, dass dir einfach die Erfahrung mit C++ fehlt, um irgendeine Behauptung vernünftig rechtfertigen zu können. Dazu kommt deine Fähigkeit, Fakten um jeden Preis nicht wahrhaben zu wollen, nur um das eigene konservative Weltbild nicht zu gefährden. Eine wahrlich sehr gute Diskussionsgrundlage.
Kann ja sein, dass du es wirklich derart lustig findest, andere Leute auf diese Weise zu nerven. Aber für den Fall, dass du tatsächlich einmal gewillt sein solltest, eine sachliche Diskussion zu führen, musst du deine Vorgehensweise stark überdenken. Du hast nämlich irgendwie die Fähigkeit, immer die irrelevantesten Aspekte von C++ zu kritisieren. Dabei gäbe es doch wirklich genügend Kritikpunkte, aber damit müsste man sich eben befassen.
-
Nexus schrieb:
Wenn du aber ständig sinnlos rumflamen musst und dann nicht mal brauchbare Begründungen hast, sondern deine Argumente aus einzelnen Bash-Papers schlagwortartig zusammenbastelst, erhält man schon einen etwas speziellen Eindruck.
das lässt sich ganz einfach erklären: ich sehe irgendein statement und gebe impulsiv meinen senf dazu. irgendwelche links zu bash-seiten ergoogle ich in windeseile und poste sie dazu, das dauert keine 30 sekunden. ich baue keine wohlüberlegten schlussketten auf, die man paraphrasieren/formalisieren könnte und die einer aussagenlogischen untersuchung standhalten würden, bin ja kein philosoph. es ist nur lockeres plaudern, was ich von mir gebe, wie's viele in forensystemen so machen.
Nexus schrieb:
Es ist absolut offensichtlich, dass du nur oberflächliche Kenntnisse über die Programmiersprache C++ besitzt. Trotzdem masst du dir andauernd an, über Dinge urteilen zu können, welche du nicht im Geringsten verstehst.
dass ich von c++ gerade mal so die grundlagen kenne, hab' ich mehr als einmal zugegeben. aber da diese grundlagen schon so offensichtlich inkonsistent sind, gehe ich davon aus, dass mich in den tiefen noch grössere abgründe erwarten. oder meinst du es gibt ein licht am ende des tunnels, also dass es sich lohnt, den steinigen c++-weg zu gehen, um am ende als 'erleuchteter' dazustehen? welchen sinn hätte das für mich, im hinblick darauf, dass ich eine programmiersprache als werkzeug und nicht als forschungsobjekt betrachte?
Nexus schrieb:
Du hast nämlich irgendwie die Fähigkeit, immer die irrelevantesten Aspekte von C++ zu kritisieren. Dabei gäbe es doch wirklich genügend Kritikpunkte, aber damit müsste man sich eben befassen.
was wären denn deine kritikpunkte (ausser C++0x)?
-
Nexus schrieb:
Du hast nämlich irgendwie die Fähigkeit, immer die irrelevantesten Aspekte von C++ zu kritisieren. Dabei gäbe es doch wirklich genügend Kritikpunkte, aber damit müsste man sich eben befassen.
Irgendwie muss ich jetzt an Archie denken, der hatte das bei solchen diskussionen auch immer behauptet. Und plötzlich tauchen so Sachen wie nullptr im neuen Standard auf, obwohl das doch nur geflame von Leuten war, die doch von C++ keine Ahnung hatten.
-
dass ich von c++ gerade mal so die grundlagen kenne, hab' ich mehr als einmal zugegeben. aber da diese grundlagen schon so offensichtlich inkonsistent sind, gehe ich davon aus, dass mich in den tiefen noch grössere abgründe erwarten. oder meinst du es gibt ein licht am ende des tunnels, also dass es sich lohnt, den steinigen c++-weg zu gehen, um am ende als 'erleuchteter' dazustehen?
Vieles was am Anfang bei C++ verwirrend ist, wird konsistent, wenn man ein wenig tiefer gegraben hat.
Der Anfänger(Basher) sagt: "Was ne Scheiss Sprache. Wenn ich A+B+C mache, dann funktioniert gar nichts".
Der Profi sagt: Und? Wann brauchst du A+B+C wirklich gleichzeitig? A+B , B+C und A+C funktionieren perfekt - und damit hast du bereits mehr Möglichkeiten, als bei anderen Sprachen wo es B nicht einmal gibt.
-
;fricky schrieb:
das lässt sich ganz einfach erklären: ich sehe irgendein statement und gebe impulsiv meinen senf dazu. irgendwelche links zu bash-seiten ergoogle ich in windeseile und poste sie dazu, das dauert keine 30 sekunden. ich baue keine wohlüberlegten schlussketten auf, die man paraphrasieren/formalisieren könnte und die einer aussagenlogischen untersuchung standhalten würden, bin ja kein philosoph.
Aber du erwartest, das du auf diese Weise ernst genommen wirst? Lockeres Plaudern ist ja ganz okay, aber wenn es um solche Themen geht, sollte man sich schon etwas bemühen, da das die anderen Mitglieder auch tun.
;fricky schrieb:
dass ich von c++ gerade mal so die grundlagen kenne, hab' ich mehr als einmal zugegeben. aber da diese grundlagen schon so offensichtlich inkonsistent sind, gehe ich davon aus, dass mich in den tiefen noch grössere abgründe erwarten. oder meinst du es gibt ein licht am ende des tunnels, also dass es sich lohnt, den steinigen c++-weg zu gehen, um am ende als 'erleuchteter' dazustehen? welchen sinn hätte das für mich, im hinblick darauf, dass ich eine programmiersprache als werkzeug und nicht als forschungsobjekt betrachte?
C++ ist eine eher anfängerfeindliche Sprache und scheint auf den ersten Blick tatsächlich enorm fehleranfällig und mühsam. Alleine schon die Möglichkeit, fast alles zu tun, gibt einem diesen Eindruck. Wenn man jedoch etwas Arbeit investiert, kann man C++ sehr effizient und vernünftig anwenden. Diese Arbeit mag vielleicht etwas grösser sein als bei anderen Sprachen, doch man hat dafür auch mehr Freiheiten. Wenn man die nicht braucht, kann man ruhig was anderes nehmen. Aber woher will man wissen, dass die zusätzlichen Möglichkeiten einem nicht helfen, wenn man sich nie tiefergründig mit ihnen befasst hat? Es ist natürlich einfacher, bei der oberflächlichen Ansicht zu bleiben, als etwas Aufwand zu investieren. Eigentlich schade, denn so eine voreingenommene Einstellung hat hindert einen gewaltig am Über-den-Tellerrand-Schauen. Es gäbe bestimmt Dinge, die dir auch gefielen, fricky, wenn du nur nicht so negativ an C++ rangehen würdest.
;fricky schrieb:
was wären denn deine kritikpunkte (ausser C++0x)?
Oh, da gibts auch im momentanen Standard einige. Gewisse Dinge sind tatsächlich nicht sauber umgesetzt, ein Teil davon kommt von C - aber klar hat auch C++ seine eigenen Fehler. Wenn man ein bisschen länger programmiert, fallen einem diese von selbst auf - dazu muss man nicht einmal Propaganda-Bash-Papers lesen.
dasameoldstory schrieb:
Irgendwie muss ich jetzt an Archie denken, der hatte das bei solchen diskussionen auch immer behauptet. Und plötzlich tauchen so Sachen wie nullptr im neuen Standard auf, obwohl das doch nur geflame von Leuten war, die doch von C++ keine Ahnung hatten.
Dass gewisse Dinge vom aktuellen Standard in C++0x verbessert werden, steht ausser Frage. Dass C++ nicht perfekt ist, übrigens auch. Das Problem ist nur, es werden häufig Dinge kritisiert, die bei Kenntnis der Programmiersprache entweder nicht auftreten (z.B. dauerndes fehleranfälliges Zeigergefrickel) oder eine so geringe praktische Relevanz besitzen, dass man absolut mit ihnen leben kann (z.B. fehlende
volatile int*
-Überladung beistd::ostream
).
-
otze schrieb:
Vieles was am Anfang bei C++ verwirrend ist, wird konsistent, wenn man ein wenig tiefer gegraben hat.
sicherlich gibt es 'nen grund wenn z.b. 'if (a && b)' sich anders verhalten als sonst, wenn && ein überladener operator ist (auf b wird zugegriffen, obwohl a schon 'true' ist). aber sowas ist nicht lustig, weil man bereits bei solchen kleinigkeiten höllisch aufpassen muss, was man tut.
otze schrieb:
Der Anfänger(Basher) sagt: "Was ne Scheiss Sprache. Wenn ich A+B+C mache, dann funktioniert gar nichts".
Der Profi sagt: Und? Wann brauchst du A+B+C wirklich gleichzeitig? A+B , B+C und A+C funktionieren perfekt - und damit hast du bereits mehr Möglichkeiten, als bei anderen Sprachen wo es B nicht einmal gibt.naja, der profi weiss dass A+B+C nicht funktionieren, kennt workaounds um A+B+C zu vermeiden und macht die not zur tugend, indem er sich sagt: 'eigentlich braucht man das nicht'. der anfänger fliegt damit voll auf die nase und hat zwei möglichkeiten: er akzeptiert es und wird irgendwann selbst profi, oder er verzichtet auf dieses 'profitum', nimmt eine andere sprache und findet dort D und E vor, die die fälle A+B, B+C, sowie A+B+C mit einem rutsch erschlagen.
Nexus schrieb:
;fricky schrieb:
das lässt sich ganz einfach erklären: ich sehe irgendein statement und gebe impulsiv meinen senf dazu. irgendwelche links zu bash-seiten ergoogle ich in windeseile und poste sie dazu, das dauert keine 30 sekunden. ich baue keine wohlüberlegten schlussketten auf, die man paraphrasieren/formalisieren könnte und die einer aussagenlogischen untersuchung standhalten würden, bin ja kein philosoph.
Aber du erwartest, das du auf diese Weise ernst genommen wirst? Lockeres Plaudern ist ja ganz okay, aber wenn es um solche Themen geht, sollte man sich schon etwas bemühen, da das die anderen Mitglieder auch tun.
wieso ernst genommen? ich sage einfach nur meine meinung, jedem steht es völlig frei, das als hirnrissigen unsinn abzutun. ich möchte niemanden überzeugen oder sowas. hier tummeln sich leute, die c++ mögen und andere die es nicht tun, ich gehöre zu letzteren und sage nunmal ziemlich direkt, was ich davon halte. wer sich davon angepisst fühlt, sollte bedenken, dass ich nicht über seine verstorbenen verwandten, sondern nur über eine lächerliche programmiersprache herziehe. keinesfalls möchte ich damit sagen: 'du benutzt c++, also bist du doof'. jeder der c++ schon länger benutzt, hat bestimmt für sich verschiedene gründe, die will und kann ich ihm auch garnicht ausreden.
Nexus schrieb:
C++ ist eine eher anfängerfeindliche Sprache und scheint auf den ersten Blick tatsächlich enorm fehleranfällig und mühsam. Alleine schon die Möglichkeit, fast alles zu tun, gibt einem diesen Eindruck. Wenn man jedoch etwas Arbeit investiert, kann man C++ sehr effizient und vernünftig anwenden. Diese Arbeit mag vielleicht etwas grösser sein als bei anderen Sprachen, doch man hat dafür auch mehr Freiheiten.
hast du ein konkretes beispiel, wobei es sich wirklich lohnen würde, diesen weg zu gehen anstatt den einfachen weg einzuschlagen, eine andere sprache/umgebung zu wählen, in der vieles einfacher und schneller geht und in der vielleicht nur 1/10 der einarbeitungszeit erforderlich ist, als für c++?
kleines beispiel: ich hab letzte woche eine kleines progrämmchen in Java (swing-anwendung) geschrieben, das messwerte von einem folienschweissgerät einliest, in einer datenbank speichert, die werte als kurven plotten kann mit allen schikanen. der user kann verschiedene ansichten seiner daten wählen, einzelne kurven ein- und ausblenden, hineinzoomen, etc. die grafik drucken und als .png speichern usw. daran hab' ich etwas 30 stunden gesessen, einschliesslich der auswahl der libraries (JFreeChart <-- sehr zu empfehlen! und HSQLDB). erschwerend hinzu kommt, dass der endbnutzer apple-kisten benutzt, während ich alles unter windows programmiert habe. es ist keine installation nötig, es muss einfach nur ein verzeichnis (mit dem hauptprogramm.jar und einen unterverzeichnis 'lib' aufs zielsystem kopiert werden) ich wette, unter C++ hätte es viel-viel länger gedauert, auch bei jemandem, der sich mit C++ sehr gut auskennt.Nexus schrieb:
Es ist natürlich einfacher, bei der oberflächlichen Ansicht zu bleiben, als etwas Aufwand zu investieren.
ja, genau. das ist ein wichtiger punkt. diese umwegsinvestition muss sich lohnen, sonst ist sie für die katz. ich bin anwender von programmiersprachen. für mich zählt das endresultat und das sollte möglichst einfach und schnell zu erreichen sein. ich setze nun mal andere prioritäten, als jemand, der z.b. programmiersprachen-fan ist und einfach nur lernen möchte.
Nexus schrieb:
Es gäbe bestimmt Dinge, die dir auch gefielen, fricky, wenn du nur nicht so negativ an C++ rangehen würdest.
an was dachtest du dabei? oop ist für mich nichts neues, hardwarenahe programmierung auch nicht.
-
;fricky schrieb:
Nexus schrieb:
Es gäbe bestimmt Dinge, die dir auch gefielen, fricky, wenn du nur nicht so negativ an C++ rangehen würdest.
an was dachtest du dabei? oop ist für mich nichts neues, hardwarenahe programmierung auch nicht.
Das glaube ich Dir mal nicht.
-
volkard schrieb:
;fricky schrieb:
Nexus schrieb:
Es gäbe bestimmt Dinge, die dir auch gefielen, fricky, wenn du nur nicht so negativ an C++ rangehen würdest.
an was dachtest du dabei? oop ist für mich nichts neues, hardwarenahe programmierung auch nicht.
Das glaube ich Dir mal nicht.
Wieso? Ich finde es schwieriger nicht OOP zu programmieren als OOP.
-
nnhhzz schrieb:
volkard schrieb:
;fricky schrieb:
Nexus schrieb:
Es gäbe bestimmt Dinge, die dir auch gefielen, fricky, wenn du nur nicht so negativ an C++ rangehen würdest.
an was dachtest du dabei? oop ist für mich nichts neues, hardwarenahe programmierung auch nicht.
Das glaube ich Dir mal nicht.
Wieso? Ich finde es schwieriger nicht OOP zu programmieren als OOP.
Inwiefern spricht nnhhzz' Schwierigkeit für frickys Fachkompetenz?
-
volkard schrieb:
;fricky schrieb:
...oop ist für mich nichts neues, hardwarenahe programmierung auch nicht.
Das glaube ich Dir mal nicht.
was davon? oder beides?
-
;fricky schrieb:
volkard schrieb:
;fricky schrieb:
...oop ist für mich nichts neues, hardwarenahe programmierung auch nicht.
Das glaube ich Dir mal nicht.
was davon? oder beides?
Ersteres ist sicher falsch. Zweiteres hätte ich früher für wahr angenommen, erliegt aber deinem allgemeinen Glaubwürdigkeitsfaktor, den ich inzwischen bei irgendwo um 20% sehe.
-
volkard schrieb:
Ersteres ist sicher falsch. Zweiteres hätte ich früher für wahr angenommen, erliegt aber deinem allgemeinen Glaubwürdigkeitsfaktor, den ich inzwischen bei irgendwo um 20% sehe.
na, 20% ist doch schon mal was. *daumen_hoch*
so manche partei würde sich heute für so viel glaubwürdigkeit freuen.