War C und UNIX ein Spaßprojekt ?

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

 

antome

!!! gesperrt !!!

Betreff: War C und UNIX ein Spaßprojekt ?

BeitragMi, Feb 21, 2007 12:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe die Geschichte schon vor ein paar Jahren gelesen, war mir aber nicht
sicher ob die Geschichte selbst nur ein Spass ist oder ob nun wirklich was dran ist.

http://www.c-plusplus.de/geschichte.htm
http://www.bernd-leitenberger....herz.shtml
http://www.uni-weimar.de/proje..._kernighan
http://netjeff.com/humor/item.cgi?file=c.hoax.txt

Ich finde es Schade das Pascal durch C und C++ so in den Hintergrund gedrängt wurde, denn ich finde Pascal / Delphi ist die bessere Sprache
von den beiden.

Und ganz ehrlich gesagt verstehe ich nicht warum die Menschheit bisher nicht fähig war eine mächtiges Basic zu entwickeln und C/C++ zu ersetzen, denn es ist durchaus möglich
einen Basic-Dialekt zu entwickeln der das selbe vermag wie C++, nur nicht so kryptisch ist.
Aber man muss ja auch nicht alles verstehen.
antome
  • Zuletzt bearbeitet von antome am Mi, Feb 21, 2007 13:25, insgesamt einmal bearbeitet

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Feb 21, 2007 13:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ganz genau die gleichen Fragen habe ich über C schon seit Jahren. Und immer wieder 'ärgere' ich mich über den heutigen Zustand.
 

lettorTrepuS

BeitragMi, Feb 21, 2007 14:33
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.

Blitzcoder

Newsposter

BeitragMi, Feb 21, 2007 14:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, ich bin auch schon auf D gestossen, eigentlich tolle Sprache, vereint Java und C++ mit ihren Vorteilen. Aber ob was dran ist frage ich mich auch schon etwas länger.
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)
 

lettorTrepuS

BeitragMi, Feb 21, 2007 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.

Randall Flagg

BeitragMi, Feb 21, 2007 16:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh Gott, der angebliche D Quellcode sieht ja übelste Verwirrend aus Shocked Bei C++/C# war es ja wenigstens so, dass man die Bedeutung der Befehle an deren Namen herauslesen konnte (Console.WriteLine() z.B. gibt Text aus)
aber da heißt es writefln... und was genau soll das bedeuten??

PS: Ich glaube eher die Geschichte dass C ein Scherz sein soll, ist ein Scherz... weil ganz unten ein Link mit dem Namen "Zurück zur Humorseite" steht Confused
Im Übrigen sollte das ganze wohl eher ein guter Witz über die komplexität von C++ (na ja, Komplex ist es nicht, man muss nur maschinell logisches Denken beherrschen, und DAS ist das schwere) sein^^
Meine Parodien & Geschichten

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Feb 21, 2007 17:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Komisch nur, dass Assembler einen logischeren Aufbau als C hat. Und Assembler ist DAS was man als 'maschinelles Denken vorrausgesetzt', sagen könnte.

maximilian

BeitragMi, Feb 21, 2007 18:08
Antworten mit Zitat
Benutzer-Profile anzeigen
C ist 100% logisch aufgebaut, und relativ einfach erlernbar. Der Text oben ist ein reiner Spaß.

BASIC hat sich erst sehr spät zu dem entwickelt, was es heute ist, und war früher viel nerviger zu programmieren, da z.B. wichtige Dinge wie Prozeduren fehlten. Alles was heute Basic ausmacht hat es im Zweifelsfalle von C gelernt.

Das Problem bei Basic ist einfach der riesige Overhead. Sachen wie dynamische Strings etc. brauchen einfach ihre Rechenzeit, und als C in den Siebzigern entwickelt wurde, war es eben wichtig, eine schnelle Sprache zu haben. Dann hat sich C halt als Standard durchgesetzt.

Die meisten Leute stört halt nur die C-Syntax, obwohl man sich an die schnell gewöhnen kann.
Variety is the spice of life. One day ignore people, next day annoy them.

TheShadow

Moderator

BeitragMi, Feb 21, 2007 19:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Was ich an C nicht mag, ist, dass C von Design her anfällig für Speicherfehler ist... hat man z.B. einen memoryblock gelöscht und es zeigt eine referenz noch darauf, dann kann es gefährlich werden, wenn man noch über diese Referenz auf den Speicher zugreifft.

Man kann nur versuchen alle Referenzen zu löschen, wenn man die nicht braucht... Mit steigender Code-Komplexität kein Vergnügen.
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2
 

Nox

BeitragDo, Feb 22, 2007 0:33
Antworten mit Zitat
Benutzer-Profile anzeigen
TheShadow hat Folgendes geschrieben:
Was ich an C nicht mag, ist, dass C von Design her anfällig für Speicherfehler ist... hat man z.B. einen memoryblock gelöscht und es zeigt eine referenz noch darauf, dann kann es gefährlich werden, wenn man noch über diese Referenz auf den Speicher zugreifft.

Man kann nur versuchen alle Referenzen zu löschen, wenn man die nicht braucht... Mit steigender Code-Komplexität kein Vergnügen.

Einer der vielen richtigen Argumente, weshalb es u.A. C++ gibt. Smile
 

lettorTrepuS

BeitragDo, Feb 22, 2007 10:58
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.

TheShadow

Moderator

BeitragDo, Feb 22, 2007 18:42
Antworten mit Zitat
Benutzer-Profile anzeigen
hm??? mir ist nicht bekannt, dass C++ automatisch referenzen auf 0 setzt - oder wenigstens bei illegalen zugriffen auf speicherbereiche automatisch "gar nix" macht...

außerdem eignet sich C++ nicht für alles gut. z.b. DLL's soll man besser mit C schreiben...
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2
 

FBI-blitz

BeitragDo, Feb 22, 2007 18:53
Antworten mit Zitat
Benutzer-Profile anzeigen
TheShadow hat Folgendes geschrieben:
hm??? mir ist nicht bekannt, dass C++ automatisch referenzen auf 0 setzt - oder wenigstens bei illegalen zugriffen auf speicherbereiche automatisch "gar nix" macht...

außerdem eignet sich C++ nicht für alles gut. z.b. DLL's soll man besser mit C schreiben...


Mir auch nicht^^

Aber mal ehrlich: C und C++ haben auch einige Vorteile gegenüber Basic, die sind nicht zu verachten. Zwar ist es z.B. umständlich die Variablen immer zu deklarieren, aber es vermeidet auch eine menge Fehler, die man sonst nur schwer finden würde.

Aber dem Argument von TheShadow muss ich zustimmen - wäre hilfreich wenn Zeiger und Referenzen oder überhaupt undefinierte Variablen auf 0 gesetzt werden würden...

FBI
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

maximilian

BeitragDo, Feb 22, 2007 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Aber mal ehrlich: C und C++ haben auch einige Vorteile gegenüber Basic, die sind nicht zu verachten. Zwar ist es z.B. umständlich die Variablen immer zu deklarieren, aber es vermeidet auch eine menge Fehler, die man sonst nur schwer finden würde.

Aber dem Argument von TheShadow muss ich zustimmen - wäre hilfreich wenn Zeiger und Referenzen oder überhaupt undefinierte Variablen auf 0 gesetzt werden würden...


Also ich erhalte, wenn ich Variablen nicht gleich am Anfang auf 0 setze, immer eine Warnung, das reicht eigentlich.
Zwangsdeklaration ist eine sinnvolle Sache, und wahrscheinlich deswegen auch in BMax implementiert.
Variety is the spice of life. One day ignore people, next day annoy them.
 

Nox

BeitragFr, Feb 23, 2007 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
ShadowTurtle hat Folgendes geschrieben:
Nox: Und jetzt mal ein Argument welches deines Doof aussehen lässt: Schreib dir 'ne gute & fehlerfreie Memory + Linked-Lists Library und schon funktioniert alles auch in C einwandfrei.

Was ist eine Memory-Library?
Und wieso funktioniert dann "alles" in C einwandfrei, wenn ich beide genannten Libraries habe? Verstehe dein "Argument" keineswegs, sorry...
Ich wollte mit meinem Kommentar eigentlich darauf hinaus, dass C++ unter anderem dafür gedacht ist, den immer wieder angemeckerten Lowlevel-Krams stilvoll und effektiv umzusetzen... Das war auch weniger ein Argument von mir, sondern ein Argument der Entwickler der Sprache, das die Weiterentwicklung rechtfertigen soll...
Achja, "doof" schreibt man klein. Wink

@FBI-blitz:
Wer hält dich davon ab, bei einer Variablen-Deklaration direkt zu definieren (mind. mit C++)?

@TheShadow:
Warum sollte man DLLs lieber mit C schreiben?
 

lettorTrepuS

BeitragFr, Feb 23, 2007 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.

TheShadow

Moderator

BeitragFr, Feb 23, 2007 23:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Warum sollte man DLLs lieber mit C schreiben?


naja, dann kann man so eine DLL mit anderen Sprachen besser verwenden... soweit ich weiß wurden fast alle windows-dll's mit c programmiert...
ansonsten fügt ein C++ compiler kryptische Zeichen zu den Funktionnamen ein - und man kann die vernüntig nur mit C++ benutzen (oder man benutzt tools um die neuen Namen zu ermitteln - ist irg. mehr Aufwand...) - naja soweit ich es selbst getestet habe - bin aber kein c++ profi was das angeht.. (vllt gibt es da tricks?)
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2
 

Nox

BeitragSa, Feb 24, 2007 13:25
Antworten mit Zitat
Benutzer-Profile anzeigen
@TheShadow:
Code: [AUSKLAPPEN]

extern "C" { ... }

Sorgt dafür, dass die Namensgebung wie bei C durchgeführt wird. Und Windows wurde in C geschrieben, das is richtig.

@ShadowTurtle:
Meine Fragen waren nicht wirklich ernst gemeint, sondern eher ironischer Natur...
Ich habe mich mal nach Phase 5 informiert, konnte allerdings nicht rausfinden, in welcher Sprache es geschrieben wurde. Dass ein Programm Fehler abfängt, sollte doch selbstverständlich sein, ganz irrelevant, welche Sprache genutzt wird.. Und selbst in C ist es ziemlich einfach zu ermitteln, ob z.B die Reservierung von Speicher fehlschlug oder nicht, dazu brauche ich nicht unbedingt eine "Memory-Library".

Aber mal ganz davon ab: Immer noch habe ich nur behauptet, dass C++ solche "Speicherprobleme" von Hause aus gut zu umgehen weiß. Wer sauberes, gekapseltes C++ schreibt, wird niemals offene Referenzen auf einen nicht mehr gültigen Speicherbereich haben. Da brauch ich keine ober-cooles Memory-Management. Und mit Exceptions, die mit C++ eingeführt wurden, kann ich auf Fehler super reagieren - also z.B. eine Meldung auf den Bildschirm zaubern und sogar das Programm weiterlaufen lassen - ohne Memory-Manager..

TheShadow

Moderator

BeitragSa, Feb 24, 2007 15:38
Antworten mit Zitat
Benutzer-Profile anzeigen
stimmt mit extern C geht es... hab ich noch nicht ausprobiert gehabt...


EDIT:
ach ja... wenn man mit c++ codet, dann kann man nur funktionen a'la C exportieren (also ausserhalb von Klassen) - ansonsten sind die Namen der Funktionen verkrüppelt...

oder man muß die DLL-Funktionen zusätzlich einproggen = mehr Arbeit
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group