Unterschied zwischen C und C#

Hi alle,

"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg."

Ach was Spass beiseite.

"c++ ist eine weiterentwicklung von c und schaut auf den ersten blick fast genauso aus. doch wenn man weiter in die sprachen eindringt, sieht man die unterschiede. für den anfänger eigentlich nicht wichtig. dazu gehören aber so dinge wie größen von variablen. anwenden const und #define. das benutzen von klassen, das erst seit c++ möglich ist... gibt noch viele mehr, die ich aber nicht kenne.
ich würde dir aber raten, mit c++ anzufangen, da das oop(obejkt-orientierte-programmierung) irgendwann zu einem wichtigen instrument wird und bei c einfach fehlt." (ZITAT!!!)
Iist aber nicht unbedingt meine Meinung, ich persoenlich wuerde auch mit C anfangen, C++ is schon ne zu grosse Herausforderung.
 
Original von Heinzelotto
Hi alle,

"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg."

Ach was Spass beiseite.

"c++ ist eine weiterentwicklung von c und schaut auf den ersten blick fast genauso aus. doch wenn man weiter in die sprachen eindringt, sieht man die unterschiede. für den anfänger eigentlich nicht wichtig. dazu gehören aber so dinge wie größen von variablen. anwenden const und #define. das benutzen von klassen, das erst seit c++ möglich ist... gibt noch viele mehr, die ich aber nicht kenne.
ich würde dir aber raten, mit c++ anzufangen, da das oop(obejkt-orientierte-programmierung) irgendwann zu einem wichtigen instrument wird und bei c einfach fehlt." (ZITAT!!!)
Iist aber nicht unbedingt meine Meinung, ich persoenlich wuerde auch mit C anfangen, C++ is schon ne zu grosse Herausforderung.

Eine kleine Glaubensfrage... für einen Programmier-Anfänger (also jemand, der noch nie mehr gemacht hat, als ein bisschen HTM oder DOS... oder Basic :D ) würde sich C eher als C++ eignen. Einfach weil es schonmal einfacher ist, damit die Grundlagen zu lernen... man muss beispielsweise nicht ganz so viel mit Pointern um sich werfen :D

Allerdings empfehle ich jemandem, der schon Programmiererfahrungen hat (etwa durch PHP, Pascal oder Java), C++ zu lernen. Für Programmier-Grundlagen eignet sich C++ nicht, aber zum wirklich vernünftigen Programmieren muss man in C zu viele Umwege gehen. Daher: Wenn ihr euch zwischen C und C++ entscheiden müsst (wollt), folgendes beachten:
Für Anfänger C, für Fortgeschrittene C++. ;)
 
Visual C++ und C# sind nicht kommerziell?! Nicht alles was Microsoft heißt kostet auch Geld! Die Compiler kannst du dir gratis runterladen, und eigentlich brauchst du auch nicht mehr. Die Entwicklungs IDE von Microsoft ist ein bisschen Schickimiki und mehr nich, hier und da buttons erstellen etc.
Ich empfehle dir damit anzufangen ohne IDE zu arbeiten, nur notepad und der Compiler. Da wirste a) nicht so faul b) kapierst du den Ablauf von anfang an c) dein programmierstil wird fehlerresistent.
Wenn du ein großes Projekt mit vielen Zugriffen auf spezialisierte .NET Objekte oder Internetprotokolle später realisieren willst, dann ist die IDE natürlich eine große Hilfe aber bis dahin ist es für den Anfänger und für das Grundlagen erlernen eh weit hin.
 
Für Einsteiger würde ich auf natürlich auch einen Compiler ohne IDE empfählen.
Aber wenn die Projekte größer werden, dann braucht man schon so was wie einen Projectmanager, Syntaxmarkierung.

Für eine gute C++ IDE braucht man nix zu bezahlen, es gibt ja DevC++ oder für Pascal DevPas.

Wenn man Schüler oder Student ist kann man die kostenlose Lizenz zur Visual C++ .NET bekommen. Visual C++ .NET Wer Lust hatt kann da mitmachen.
 
Original von n3on
Für Einsteiger würde ich auf natürlich auch einen Compiler ohne IDE empfählen.
WAS?! Ein Anfänger ohne IDE? Also, ich kann mir nicht vorstellen, ohne Syntax-Highlighting zu arbeiten, oder teilweise Späße wie Code-Completion... sowas braucht man häufig einfach. Beim Notepad steigt man schnell nicht mehr durch. Das ist für einen Anfänger überhaupt nicht tauglich, finde ich.

Natürlich, man sollte nicht zum "Klickie-Buntie-programmierer" werden, d.h. ein paar Buttons zusammen klicken und das Programmieren nennen, das ist klar. Aber da ist man beispielsweise mit kostenlosen IDEs wie Dev C++, oder auch mit dem Borland C++ BuilderX gut beraten. Außerdem sind Debugger und eingebaute Linker eine gute Sache. Und natürlich das Syntax-Highlighting... Aber mit Abstand zu RAD-Tools wie Borland C++ Builder 1-6, Delphi oder diverse MS-IDEs (VB, VC++...).


Aber wenn die Projekte größer werden, dann braucht man schon so was wie einen Projectmanager, Syntaxmarkierung.

Auch für kleine Projekte würde ich niemals ohne Syntax Highlighting arbeiten. Das wäre mir VIEL zu schade.

Für eine gute C++ IDE braucht man nix zu bezahlen, es gibt ja DevC++ oder für Pascal DevPas.

Gut, wenn man jetzt keinen Wert auf Performence legt, dann stimmt das vielleicht schon...
Von der Performence her ist Dev C++ nicht wirklich gut im Rennen. Da würd ich lieber auf Borland C++ BuilderX zurückgreifen. Ist nicht OpenSource, wie die von dir genannten IDEs, aber immerhin kostenlos (in der Personal-Version).

Wenn man Schüler oder Student ist kann man die kostenlose Lizenz zur Visual C++ .NET bekommen. Visual C++ .NET Wer Lust hatt kann da mitmachen.

Man kann ja auch eine VS Beta runterladen, die sind auch kostenlos. Aber für jeden.
 
WAS?! Ein Anfänger ohne IDE? Also, ich kann mir nicht vorstellen, ohne Syntax-Highlighting zu arbeiten, oder teilweise Späße wie Code-Completion... sowas braucht man häufig einfach. Beim Notepad steigt man schnell nicht mehr durch. Das ist für einen Anfänger überhaupt nicht tauglich, finde ich.

Was verstehst du unter Anfänger?
Wenn man noch keine Ahnung von OOP und nur wenig Ahnung von Pointers hat, dann sehe ich den Programmierer als Anfänger, wenn du das etwas verstehst dann bist du Anfänger++.
Und wozu braucht man da noch Systaxvervollständigung?
Ich habe unter Debian Linux mit gcc angefangen, und 500 Zeilige Progs ohne IDE nur mit VI geproggt. Dafür kann man dann viel schneller proggen, als manche die nur vor der IDE sitzen. Ich kenne viele die mit IDEs angefangen haben, wenn ich sie irgendwo frage ein Code zu entwerfen, dann können sie das nicht(weil sie ohne Syntaxvervollständigung nicht coden können) und ich muss alles selber machen.

Aber jeder soll selber entscheiden wie er vorgeht.
 
also ich würde weder nem anfänger noch sonst irgendjemand empfehlen auf ne IDE zu verzichten.
ich kann sagen dass ich mit ner IDE um ein vielfaches schneller und mit weniger fehlern ein programm schreibe als ohne. html seiten nur mit nem texteditor zu schreiben ist ok aber bei hochsprachen hört der spass auf. ist doch total unpraktisch.

wenn ich da zB an Eclipse denke:
- syntaxhiglighting + real time compiling (man sieht sofort wenn man nen fehler macht)
- eingabe shortcuts (zb "syso" eingeben dann Strg +Leertaste drücken -> "System.out.println()" oder zB mit Strg + 1 nen try catch block setzen)
- api doc anzeige bei mouse hover über die klassen/funktionen
- codecompletion + api docs
- code templates, refactoring, integrierter debugger, usw usw usw ...

warum soll ich auf das alles verzichten, wenn es mir das programmieren DEUTLICH einfacher und schneller macht? :rolleyes:
 
1. Ob c++/c#/C eine "Glaubenssache" ist? Nein! Es sind Werkzeuge die einem Prozess
dienen Ein Produkt herzustellen.

2. Wenn Du "programmieren" lernen willst, dann lerne C. Und das am besten in einem
Editor OHNE eine GUI.
Hier wird oft das zusammenfrickeln irgendwelcher Programme mit tatsächlichem programmieren verwechselt. In .NET lernst du weniger verständnis für Programmstrukturen und Problemlösungen als das umgehen mit einer GUI.
Das ist nicht unbedingt etwas schlechtes- nur das Lösen von Problemen in atomarster Form lernst du so nicht. Dafür gibt es ja gerade die Sprachen auf sehr hohen abstaktionsebenen um den Programmierer nicht mit "kleinkram" zu belasten.

Wenn Du mit C die Grundlagen von Programmierung erlernst wird es dir viel leichter fallen andere Sprachen zu erlernen. Das Prinzip ist im allgemeinen das gleiche.
Und Objektorientierung geschieht eh in Deinem Kopf- das kannst du in nahezu jeder Programmiersprache umsetzen. OO-Sprachen bieten dir lediglich gut implementierte Unterstützungen.

Das ist nicht unbedingt zwingend, aber einen guten Background zu haben zahlt sich aus.

mfg
 
Original von Gulliver
2. Wenn Du "programmieren" lernen willst, dann lerne C.
Hier beginnen die Glaubenskriege... ich persönlich bin ein Fan von Pascal, andere von Basic, du scheinbar von C. Welche Sprache die "richtige" ist, sollte jeder für sich entscheiden. Bei der Wahl zwischen C oder C++ sollte für Programmierkentnisse aber C genommen werden.


Und das am besten in einem
Editor OHNE eine GUI.
Hier wird oft das zusammenfrickeln irgendwelcher Programme mit tatsächlichem programmieren verwechselt. In .NET lernst du weniger verständnis für Programmstrukturen und Problemlösungen als das umgehen mit einer GUI.
Das ist nicht unbedingt etwas schlechtes- nur das Lösen von Problemen in atomarster Form lernst du so nicht. Dafür gibt es ja gerade die Sprachen auf sehr hohen abstaktionsebenen um den Programmierer nicht mit "kleinkram" zu belasten.

Als ich von IDE geredet hab, hab ich NIEMALS behauptet, dass man damit Programme zusammenklicken kann. Turbo Pascal ist beispielsweise auch eine IDE. Versuch mal damit ein Programm zusammenzuklicken...

Eine IDE ist ein Programm, das einen Compiler, einen Texteditor und einen Debugger (und zum Compiler evtl. auch noch den Linker) verbindet. Ob die IDE gleichzeitig ein RAD-Tool ist, oder nicht, ist Nebensache.

Wenn Du mit C die Grundlagen von Programmierung erlernst wird es dir viel leichter fallen andere Sprachen zu erlernen. Das Prinzip ist im allgemeinen das gleiche.

Das hat aber nichts mit der Sprache C zu tun. Das gleiche funktioniert auch mit anderen Sprachen, sei es Pascal, Java oder VB. Das Prinzip ist das selbe. Man muss nur eventuell die Syntax umlernen und neue Namen für funktionen (und Namen der Header) lernen. ;)
 
Das hat aber nichts mit der Sprache C zu tun. Das gleiche funktioniert auch mit anderen Sprachen, sei es Pascal, Java oder VB

Bei VB bin ich mir nicht so sicher. Manche VB Programmierer, die mit C++ anfangen, fragen sich gleich wie man mit C/C++ eine GUI "zusammenklicken" kann und schrecken vor der Sprache, wenn sie herausfinden das man dafür etwas Coden muss(wenn man nicht VCL oder MFC verwendet). Ihr sollt nicht denken, dass ich was gegen VB habe.

Aber hier beginnt wieder der Glaubenskrieg...also ich beeden mein Posting.
 
Zurück
Oben