Re: Wieso ist C++ eigentlich so schlecht?
  Home FAQ Contact Sign in
de.alt.sysadmin.recovery only
 
Advanced search
POPULAR GROUPS

more...

de.alt.sysadmin.recovery Profile…
 Up
Re: Wieso ist C++ eigentlich so schlecht?         


Author: Oliver Voß
Date: Jul 6, 2007 09:33

Am Thu, 05 Jul 2007 17:32:50 +0000 schrieb Felix von Leitner:
> Für einen demnächst zu haltenden Vortrag suche ich noch schlagkräftige
> Argumente, wieso C++ Scheiße ist.

Tja, ist eigentlich ganz einfach: Es gab schon vor 20 bis 30 Jahren gute
Entwicklungslösungen, und seitdem ist eigentlich nur noch das Rad immer
wieder neu erfunden worden (mal besser, mal schlechter)...
Show full article (1.35Kb)
44 Comments
Re: Wieso ist C++ eigentlich so schlecht?         


Author: Joseph Terner
Date: Jul 6, 2007 10:39

Oliver Voß wrote:
> Ein großer Schwachpunkt von C (und auch C++) ist, daß
> ein Datentyp für Strings fehlt und man sich daher irgendwie behelfen muß.
> Das führt dann häufig zu den bekannten Buffer-Overflows. Wer noch weitere
> Argumente braucht: <http://www.bernd-leitenberger.de/pascal-und-c.shtml>

Ein großer Schwachpunkt von Leuten, die ihre Lieblingssprache mit C
vergleichen, ist, daß sie C nicht verstanden haben. An dieser Stelle
habe ich aufgehört zu lesen:
Show full article (1.05Kb)
no comments
Re: Wieso ist C++ eigentlich so schlecht?         


Author: Lothar Kimmeringer
Date: Jul 6, 2007 11:12

Joseph Terner wrote:

[C-Beispiel]
> Vom grausamen Stil abgesehen (niemand, der C kann, programmiert so),
> produziert dieser Code einen netten Off-By-One-Buffer-Overflow.

Das ist das Problem von Leuten, die Programmiersprachen verwenden,
wo man sich nicht so nah auf Speicherebene herumtreibt. Geht mir
aehnlich, wenn ich wieder etwas in C machen muss, weil ich auf
Systemressourcen von Java aus zugreifen "darf".
> Ein Bernd Leitenberger, der schon bei so trivialen Codebeispielen
> versagt, sollte sich tatsächlich von C fernhalten.

Es gibt da noch andere Beispiele:

| Warum man mit == und != vergleicht anstatt
| mit = und <> habe ich auch nie verstanden.

Ich habe es lange Zeit genau anders herum nicht verstanden, warum
<> als ungleich verwendet wird, da man das als "kleiner und groesser"
lesen kann und damit nie zutreffen wird.

Und dann noch:
Show full article (1.61Kb)
no comments
Re: Wieso ist C++ eigentlich so schlecht?         


Author: Stefan Reuther
Date: Jul 6, 2007 12:23

Oliver Voß wrote:
> Im Fall von Pascal gibt es
> Freepascal (relativ mächtiger Compiler, Delphi-kompatibel, läuft auf
> vielen Plattformen). Ein großer Schwachpunkt von C (und auch C++) ist, daß
> ein Datentyp für Strings fehlt und man sich daher irgendwie behelfen muß.

Ich weiß ja nicht, welchen C++-Compiler du so verwendest, aber bei
allen, die ich in den letzten 10 Jahren benutzt habe, war eine sehr
brauchbare Stringklasse dabei.

Die erweiterten Pascals sind zwar schön, aber leider in der Praxis
einfach nicht portabel: wenn man dann schon mal einen Compiler für den
gewählten Dialekt gefunden hat, gibt's den unter Garantie nicht für die
Zielplattform.

Stefan
no comments
Re: Wieso ist C++ eigentlich so schlecht?         


Author: Oliver Voß
Date: Jul 6, 2007 14:21

Am Fri, 06 Jul 2007 21:23:47 +0200 schrieb Stefan Reuther:
> Ich weiß ja nicht, welchen C++-Compiler du so verwendest, aber bei
> allen, die ich in den letzten 10 Jahren benutzt habe, war eine sehr
> brauchbare Stringklasse dabei.
>
Tja, nur die Frage ist, ob diese Klassen zum Standard gehören. Es wird
zwar immer gesagt, C und C++ wären äußerst portabel, aber das gilt nur für
relativ wenige Programme. Sobald es ein wenig komplexer wird, mit Grafik,
GUI etc. ist es mit der Portabilität schon vorbei. Selbst so vermeintlich
triviale Sachen wie die Abfrage der Tastatur sind schon nicht mehr
betriebssystemunabhängig.
Show full article (1.27Kb)
3 Comments
Re: Wieso ist C++ eigentlich so schlecht?         


Author: Joseph Terner
Date: Jul 6, 2007 15:40

Lothar Kimmeringer wrote:
> Joseph Terner wrote:
>
> [C-Beispiel]
>
>> Vom grausamen Stil abgesehen (niemand, der C kann, programmiert so),
>> produziert dieser Code einen netten Off-By-One-Buffer-Overflow.
>
> Das ist das Problem von Leuten, die Programmiersprachen verwenden,
> wo man sich nicht so nah auf Speicherebene herumtreibt. Geht mir
> aehnlich, wenn ich wieder etwas in C machen muss, weil ich auf
> Systemressourcen von Java aus zugreifen "darf".

Das ist kein Grund, den Rückgabewert von malloc() zu casten. ;-)
Show full article (1.46Kb)
no comments
Re: Wieso ist C++ eigentlich so schlecht?         


Author: Carsten Krueger
Date: Jul 6, 2007 16:44

Am Fri, 6 Jul 2007 23:21:55 +0200 schrieb Oliver Voß:
> Tja, nur die Frage ist, ob diese Klassen zum Standard gehören. Es wird
> zwar immer gesagt, C und C++ wären äußerst portabel, aber das gilt nur für
> relativ wenige Programme.

Ach was,
Boost, Qt & Smartheap gibt's fast überall :)
> FreePascal läuft mittlerweile auf einer recht großen Anzahl von
> Plattformen, siehe <http://www.freepascal.org>, von GNU Pascal mal ganz zu
> schweigen.

Wie war das mit der GUI nochmal?

Gruß Carsten
--
0x2BFBF5D8 FP = 53CA 1609 B00A D2DB A066 314C 6493 69AB 2BFB F5D8
http://www.realname-diskussion.info - Realnames sind keine Pflicht
http://www.spamgourmet.com/ + http://www.temporaryinbox.com/ - Antispam
cakruege (at) gmail (dot) com | http://www.geocities.com/mungfaq/
no comments
Re: Wieso ist C++ eigentlich so schlecht?         


Author: Lothar Kimmeringer
Date: Jul 7, 2007 02:16

Joseph Terner wrote:
>>| int x;
>>| x=5;
>>| --x=(++x)--;
>>|
>>| Nein, das Ergebnis ist nicht 4 sondern 6.
>
> Nein, das kompiliert schlicht nicht:
>
>|test.c:5: error: invalid lvalue in decrement

Inzwischen. Fruehere gcc-Versionen haben sowas gefressen.
Daher findet man manchmal auch so etwas wie
(jbyte *)jap = env->GetByteArrayElements(ja, 0);
das man dann entsprechend umbauen darf (hatte ich erst
kuerzlich, das Beispiel ist aus der vorigen Revision kopiert).

Gruesse, Lothar
--
Lothar Kimmeringer E-Mail: spamfang@kimmeringer.de
PGP-encrypted mails preferred (Key-ID: 0x8BC3CD81)
Show full article (0.73Kb)
no comments
Re: Wieso ist C++ eigentlich so schlecht?         


Author: Stefan Reuther
Date: Jul 7, 2007 03:02

Oliver Voß wrote:
> Am Fri, 06 Jul 2007 21:23:47 +0200 schrieb Stefan Reuther:
>>Ich weiß ja nicht, welchen C++-Compiler du so verwendest, aber bei
>>allen, die ich in den letzten 10 Jahren benutzt habe, war eine sehr
>>brauchbare Stringklasse dabei.
>
> Tja, nur die Frage ist, ob diese Klassen zum Standard gehören.

Selbstverständlich.
> Es wird zwar immer gesagt, C und C++ wären äußerst portabel, aber das
> gilt nur für relativ wenige Programme.

Interessanterweise kann man damit aber noch sehr viel machen. Einen
C-Compiler schreiben zum Beispiel. Oder einen MPEG-Decoder. Oder einen
großen Teil der Unix-Kommandozeilentools (grep, cat, ...). Und die kann
man dann mit den verschiedensten Compilern übersetzen. Meine Hobby-
Projekte übersetze ich routinemäßig mit drei verschiedenen Compilern
(GNU, Turbo C, Borland C++). Die, mit denen ich Geld verdiene, mit vier
verschiedenen (GNU, MSVC, sowie zwei für Embedded-Plattformen).
Show full article (1.55Kb)
no comments
Re: Wieso ist C++ eigentlich so schlecht?         


Author: Bodo Eggert
Date: Jul 7, 2007 07:25

Lothar Kimmeringer wrote:
> Joseph Terner wrote:
> | Warum man mit == und != vergleicht anstatt
> | mit = und <> habe ich auch nie verstanden.
>
> Ich habe es lange Zeit genau anders herum nicht verstanden, warum
> <> als ungleich verwendet wird, da man das als "kleiner und groesser"
> lesen kann und damit nie zutreffen wird.

Und "=" kann man als Minus-Minus lesen, also als Plus. == ist damit ++, also
ein Inkrement!!! Und "!=" ist besonders plus.

--
A bone to the dog is not charity. Charity is the bone shared with the dog, when
you are just as hungry as the dog.
-- Jack London
Friß, Spammer: bjhastob@fUw4ux.7eggert.dyndns.org Lr1.Evprp@7eggert.dyndns.org
no comments

RELATED THREADS
SubjectArticles qty Group
Hessenwahl : Umfragetief für Koch - Wieso eigentlich?35 de.talk.tagesgeschehen ·
1 2 3 4 5