Unterschied zwischen C und C#

Hey,
ich wollte eigentlich anfangen C zu lernen, aber jetzt habe ich mich mal auf der Microsoft Seite umgeschaut, und die kennen da ja nur C#.
Ist C und C# identisch? Wenn nein, welche Sprache ist empfehlenswerter zu lernen?
 
Ich würde Dir auch erst einmal die Grundlagen von C empfehlen, allerdings solltest Du die objektorientierte und klassenhieraische Seite von C++ und C# nicht außer acht lassen.
Wenn Du es Dir zutraust, nimm Dir C++ (Visual) oder C#, die MSDN (online) und eines von hundertausend Tutorials im Netz. Arbeite schön Schritt für Schritt durch und lerne direkt am Beispiel.
Ich persönlich finde es Quatsch, wenn Du Dich erst in C komplett einarbeitest um dann in C# gaaaanz viel anders machen zu müssen bzw. dort Dinge kannst, von denen in C keine Rede war...
 
naja aber C# ist echt ganz anders als C ich wuerde mit c bzw C++ anfangen und mich dann zu C++ net vorarbeiten ich weiss net warum ich eine Microsoft eigene sprache nehmen soll wie CSharp.....
 
Vielen Dank für die Vielen Antworten, dann nehm ich jetzt erst mal C zum anfangen. Nun wollte ich noch fragen, ob ihr eine gut Entwicklungsumgebung für C kennt.
 
die beste C/C++ IDE für windows ist wohl Microsoft Visual C++ (kommerziell)
alternativ dev-cpp (frei)

Original von Ernesto
ich weiss net warum ich eine Microsoft eigene sprache nehmen soll wie CSharp.....
was meinst du mit "microsoft eigene sprache"?
C# ist standardisiert und es gibt C# compiler + .NET umgebungen für windows, linux, unix und mac os
-> siehe mono project
 
Vielen Dank, dass Visual C++ kommerziell ist, ist nicht so schlimm. Man kann sich ja im Moment die Beta von Visual C++ 2005 Express bei Microsoft runterladen.
 
Nachdem ich mir beide Programm mal angeschaut habe, bin ich zu dem Entschluss gekommen dev C++ zu benutzen, da es zumindest für den Afang einfacher ist, und nicht so umstädlich wie Visual C++.
 
Ich möchte nur der vollständigkeit wegen sagen das es da noch LINUX gibt und dort ist C/C++ so zusagen Grundvorraussetzung und all Inklusiv.

äh kostenlos natürlich und es gibt ein haufen Menschen die dir bei deinen ersten gehversuchen helfen.

Das lag mir jetzt ech auf dem Herzen.......!
 
Hi,
Ich möchte hier auch gleich noch einhängen.

Also ich hab alle Links besucht, und einige Threads gelesen.

Ich programmiere mittlerweile ziemlich erfolgreich PHP und bilde mich Tag für Tag weiter.

Nun, ist es so, dass ich gewisse Kontroll-Progs lieber aufm "Desktop" hätte als jedesmal den browser zu öffnen. Ich habe da nicht allzugrosse Vorstellungen..

Ich muss npaar DB-Abfragen machen können und nPaar seiten auslesen können.
Das wärs dann schon. Lohnt es sich für sowas C zu lernen?
Oder ist da C# oder so besser geeignet?

Was würdet ihr mir empfehlen?

mfg Nullpunkt
 
Original von Nullpunkt
Ich muss npaar DB-Abfragen machen können und nPaar seiten auslesen können.
Das wärs dann schon. Lohnt es sich für sowas C zu lernen?
Oder ist da C# oder so besser geeignet?

genau sowas wollte ich bei gelegenheit auch mal basteln. hab mir schon mal ein wenig c# und die .net api angesehen und auch ohne viel aufwand mittels odbc eine mysql datenbank angezapft. die gui sachen hab ich noch nicht so wirklich im blut um damit effizient zu arbeiten. irgendwie gefaellt mir das ganze auch nicht so richtig. c# ist langweilig.
vor allem sollte man c# nicht unbedingt mit c vergleichen. c# is java viel aehnlicher als c oder c++. vor allem ist c# sog. "managed code", d.h. es gibt einen garbage collector der sich mehr oder weniger effektiv um die speicherverwaltung kuemmert. in sprachen wie c und c++ muss man das alles selbst machen und hat dadurch viele fehlerquellen. insbesondere treten solche fehler zu laufzeit auf, werden also nicht vom compiler "bemerkt".
also c# ist eher abgekupfertes java. was nicht unbedingt schlecht sein muss. aber so furchtbar toll ist java auch nicht.
viele leute sind ziemlich begeistert von python. zum beispiel bruce eckel, autor einiger sehr guter buecher, wie beispielsweise "thinking in c++" und "thinking in java" (beide glaube fuer lau als pdf auf http://www.mindview.net/) hat einige argumente pro python: http://64.78.49.204/pub/eckel/LovePython.zip (leider powerpoint :( ).
wenn man python dann noch mit einer guten gui api kombiniert kann man wahrscheinlich noch schneller zu ergebnissen kommen als mit c#/.net. als klassenbibliothek empfiehlt sich das wxwidgets toolkit. das ist eigentlich eine c++ api die schon seit 10 jahren entwickelt wird und mehr als nur gui zeug enthaelt. allerdings gibts seit einiger zeit auch python bindings dafuer: http://www.wxpython.org/
die kombination sollte dann auch wirklich cross-plattform sein. sicher, es gibt das mono projekt, aber man hoert da schon noch von problemen, vor allem was die gui klassen angeht ist das ganze noch nicht richtig fertig, afaik.
 
proglanguage learning

Hmm, hab eigentlich auch vor was zu lernen, am besten was ordenltiches was nicht besonders viele Vorkenntnisse braucht. Kenne nur HTML und nen kleinen Einblick in ASP..., welche Programmiersprache kann denn was bezwecken??
Was bedeutet überhaupt C?
Was kann man mit c#, c+, c, c- usw anstellen??
Bei welcher bedarf es an Vorraussetzungen??
 
Was bedeutet überhaupt C?

Das sagt Wikipedia dazu!

Was kann man mit c#, c+, c, c- usw anstellen??

Also mit C# und C/C++ kann man sehr viel machen, z.B. Linux wurd mit C/C++ geschrieben, Spiele usw.! Es gibt FAST kein Problem was man damit nicht lösen könnte.

Bei welcher bedarf es an Vorraussetzungen??

Unser Dozent hat zu uns gesagt lernt nicht eine Sprache sondern das Prinzip des Programmierens, den hat man das kapiert sind die einzelnen Sprachen kein Problem!
Ich würde an Deiner stelle mit C anfangen und darauf aufbauen.
Die einzigen voraussetzungen sind Wille/Durchhaltevermögen und Logisches denken.
 
Meine Meinun zu C bzw. C# (ohne alle Beiträge gelesen zu haben):

a.) Wenn du C lernen willst, dann lerne C und gehe dann zu C++ weiter. Dann musst du dich entscheiden, ob du lieber .NET lernen, oder Win32/Linux-Programmierung machen willst. Wenn du dann zu .NET umsteigen willst, lerne Managed C++, bis du sagen kannst, dass du .NET "kannst" (jedenfalls mindestens die Grundfunktionen). Wenn du .NET lernst, dann wirst du beim "richtigen" lernen nicht um C# herumkommen.
b.) Wenn du C# lernen willst, dann fang mit einer anderen Sprache an. C# ist sehr stark an Java angelehnt, weshalb du mit Java als "erste Sprache" gut beraten bist. Allerdings hat Java (bzw. auch C#) den Nachteil, dass es dich zu Objektorientierter Programmierung "zwingt". Wenn du erst einmal procedural anfangen willst, empfehle ich dir daher Pascal. Da der Entwickler von C# mehr als 6 Jahre lang an der IDE Delphi (Pascal Compiler+IDE) beteiligt war (und auch am Vorgänger Turbo Pascal) beteiligt war, sind viele Elemente von Delphi dort eingeflossen. Die Syntax ist zwar eine ganz andere, aber ich denke, der Umstieg von Pascal auf C# ist leichter, als der von C++ auf C#. Naja, auch eine kleine Glaubensfrage... Naja, wie auch immer. Wenn du ein wenig Erfahrung in Pascal gesammelt hast, könntest du dich mal an .NET und C# heranwagen.


Du solltest dich also entscheiden, was du machen willst. Willst du sofort .NET, oder willst du lieber nativen Code? Beides hat seine Vorteile. Und auch das ist eine Glaubensfrage. Sowohl .NET (C#, Delphi.NET/Chrome, Managed C++) als auch native Sprachen (Pascal, C/C++, Basic etc) haben ihre Vorteile. Eine spezielle Rolle spielt da wieder Java, die keine .NET-Sprache ist, aber auch keinen nativen Code erzeugt (erst durch spezielle Programme).
Die Entscheidung liegt ganz bei dir ;)

Nachtrag: Thema DB:

Im .NET-Framework wird eine Datenbankunterstützung gleich mitgeliefert. Das heißt, man kann mit jeder .NET-Sprache mit Datenbanken arbeiten. Das ist ein ungemeiner Vorteil.

Allerdings ist der eigentliche (!!!) Zweck von Delphi der, leichter mit Datenbanken zu arbeiten, Verbinden und Kontrollieren zu erleichtern... der Haken bei der Sache ist, dass man sich eine teure Lizenz dafür kaufen muss (wenn man sich eine alte kauft und updatet, sind es glaub ich ca. 300 Euro für eine Professional-Version, in der Vollversion (ohne Update) einiges mehr...). Wenn du aber das Geld hast, dann empfehle ich dir für Datenbanken Delphi.
 
Ich bin jetzt gerade daran, mit C++ (C++ in 21 Tagen/dev C++) anzufangen. Ich mich habe bisher nur HTML, Batch, ein klitzekleines bisschen PHP und JS und solchen kleinen nicht-wirklich-Programmiersprachen befasst. Wenn ich jetzt so den Thread lese, heisst das für mich: Zuerst C lernen.
Oder ist es trotzdem sinnvoll, wenn ich als Programmier-noob direkt mit C++ anfange?
 
Original von DaBone
Oder ist es trotzdem sinnvoll, wenn ich als Programmier-noob direkt mit C++ anfange?

Wenn du C++ lernen willst, dann solltest du dir folgendes zur gemüte führen:

Jedes C-Programm ist auch ein C++-Programm. Aber nicht jedes C++-Programm ist ein C-Programm.

Es ist auch wieder eine kleine Glaubensfrage, ob man zuerst C++ oder zuerst C lernt. Logisch gesehen solltest du also mit C anfangen, und wenn du es ein wenig kannst, auf C++ ausweitern. Allerdings sehen manche das als "Doppelt gemoppelt" an, da man ja beim C++ lernen teilweise noch die Grundlagen von C wiederholt. Und als absoluter Anfänger wäre wohl C zum anfangen nicht das schlechteste...

Ist jedoch deine persönliche Einstellung. Beides hat seine Vor- und Nachteile, such dir einfach eins aus ;)
 
Zurück
Oben