Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

Unterschied zwischen C und C#

Motocross_M - 30
Halbprofi (offline)

Dabei seit 01.2006
375 Beiträge

Geschrieben am: 27.02.2010 um 21:07 Uhr

wa sist der unterschied zwischen C und C#?
welches ist die bessere sprache zum einteigen in die welt der programmierer?
gibt es gute tutorials?

was ist allgemein die beste sprache zum anfangen?

Ich hab keine Fußzeile nötig.

-_chris90_- - 35
Anfänger (offline)

Dabei seit 01.2010
2 Beiträge
Geschrieben am: 27.02.2010 um 21:15 Uhr
Zuletzt editiert am: 27.02.2010 um 21:40 Uhr

der unterschied zwischen c und c# ist sehr groß...

während c eig. gar nicht objektorientiert ist, ist es c# nur.

genauso wird c einmal kompiliert, während c# einen JIT (just in time compiler) hat.

wenn du unterschiede in der sprachsyntax haben willst, so solltest du vorerst eine sprache können ;-)

einfacher find zum anfangen find ich c# ...
-> Das Openbook ist ganz nützlich und gut zum anfangen^^
Jannek - 35
Anfänger (offline)

Dabei seit 01.2010
11 Beiträge
Geschrieben am: 27.02.2010 um 21:23 Uhr

ich find den einstieg über c oder c++ einfacher als direkt in c#.

wenn bereits irgendwelche coding oder programmier kenntnisse vorhanden sind wäre es von vorteil

Analyse mit der Lupe, ich brauch Information!

-_chris90_- - 35
Anfänger (offline)

Dabei seit 01.2010
2 Beiträge
Geschrieben am: 27.02.2010 um 21:29 Uhr

hmm gut das kann sein - ich hab auch mit c/c++ angefangen, hab mir dann sehr schnell c# angeeignet, weil ich damals in c/c++ mit nem schlechten editor und compiler gearbeitet habe...

der anfang in c++ ist vllt einfacher, man muss sich aber dann sehr schnell sehr tief einarbeiten um komplexere probleme zu lösen (meiner meinung nach, wenn man bei c++ bei zeigern angelangt ist, so wird es etwas schwerer und unübersichtlicher)

btt: @autor -> lass dich jetzt nicht verwirren ... jeder anfang ist ein guter schritt :-D egal mit welcher sprache ;-) außer assembler
Motocross_M - 30
Halbprofi (offline)

Dabei seit 01.2006
375 Beiträge

Geschrieben am: 27.02.2010 um 21:29 Uhr
Zuletzt editiert am: 27.02.2010 um 21:29 Uhr

also ich hab schon ein bisschen in C reingeschnuppert (rechner usw. gemacht), aber finde kein tutorial, das nicht nach dem basiswissen aufhört...

ich möchte aber auch am besten kein geld für ein buch ausgeben...

Ich hab keine Fußzeile nötig.

Zero-X - 34
Experte (offline)

Dabei seit 11.2005
1016 Beiträge
Geschrieben am: 27.02.2010 um 21:35 Uhr

Zitat von Motocross_M:

also ich hab schon ein bisschen in C reingeschnuppert (rechner usw. gemacht), aber finde kein tutorial, das nicht nach dem basiswissen aufhört...

ich möchte aber auch am besten kein geld für ein buch ausgeben...

Sind 10 € zu viel?
Schaust mal bei buecherbilliger.de nach "Einführung in C" von Henning Mittelbach. Kann ich empfehlen.
Ansonsten:
Das ist ein Link
Zinner619 - 16
Halbprofi (offline)

Dabei seit 04.2006
258 Beiträge

Geschrieben am: 27.02.2010 um 21:39 Uhr

Zitat von Zero-X:

Zitat von Motocross_M:

also ich hab schon ein bisschen in C reingeschnuppert (rechner usw. gemacht), aber finde kein tutorial, das nicht nach dem basiswissen aufhört...

ich möchte aber auch am besten kein geld für ein buch ausgeben...

Sind 10 € zu viel?
Schaust mal bei buecherbilliger.de nach "Einführung in C" von Henning Mittelbach. Kann ich empfehlen.
Ansonsten:
Das ist ein Link


Ja so ein Buch würde ich dir auch empfehlen....wenn des nicht so dein ding ist probiers mit video to brain, da gibts glaub eins über C was ziemlich gut gemacht wurde da kannst gleich anschauen und nachmachen......

Stellt nur Fragen zu dem ich auch eine Ahnung habe!!!!

Motocross_M - 30
Halbprofi (offline)

Dabei seit 01.2006
375 Beiträge

Geschrieben am: 27.02.2010 um 21:48 Uhr

okay

Ich hab keine Fußzeile nötig.

bredator - 41
Champion (offline)

Dabei seit 03.2008
5319 Beiträge

Geschrieben am: 28.02.2010 um 00:51 Uhr

Der größte Unterschied ist wohl zunächst einmal, dass C# eine Sprache ist, die als sogenannter "managed Code" ausgeführt wird. Ähnlich wie bei Java benötigen C#-Programme eine Laufzeitumgebung (das .NET Framework und darin hauptsächlich die sog. CLR. Wie schon richtig erwähnt wurde, werden C#-Programme nicht direkt in Maschinencode kompiliert, sondern in einen Zwischencode umgewandelt, den IL-Code. Dadurch, dass die Programme erst einmal in diesen einheitlichen IL-Code umgewandelt werden, wird es möglich, Programme in verschiedenen .NET-Sprachen zu programmieren (z.B. VC++, C#, VB) und diese dann zu einem Paket zusammenzufassen. Durch den JIT (Just in Time) Compiler werden die Programme beim erstmaligen Start dann in Maschinencode umgewandelt. Dies ist also schonmal ein wichtiges Unterscheidungsmerkmal, das C# gegenüber C++ besitzt.

Dazu kommen noch diverse Komfortfunktionen, die sich aus dem Managed-Code-Prinzip ergeben (Garbagecollector und die aus dem Prinzip resultierende Typensicherheit).

Weiter ist C# eine rein objektorientierte Sprache, was in der heutigen Zeit absolut unerlässlich ist. C++ besitzt diverse Möglichkeiten zur objektorientierten Programmierung zwar auch, allerdings sind diese Möglichkeiten nicht so fest im Grundkern verankert, wie bei C#.

Im Prinzip ist C# ausserdem Plattformunabhängig. C# benötigt nur ein .NET-Framework auf dem Zielrechner. Plattformspezifische Programmierarbeiten können während der Programmierung selbst beiseite gelassen und können später noch gemacht werden.

Natürlich gibt es noch viele weitere Unterschiede, allerdings würden diese jeden mehr verwirren als informieren, der sich nicht etwas mehr mit der Materie beschäftigt hat.

Lache nicht über jemanden, der einen Schritt zurück macht. Er könnte Anlauf nehmen.

onkelrico - 46
Halbprofi (offline)

Dabei seit 10.2007
239 Beiträge

Geschrieben am: 28.02.2010 um 10:32 Uhr

Zitat von Motocross_M:

wa sist der unterschied zwischen C und C#?
welches ist die bessere sprache zum einteigen in die welt der programmierer?
gibt es gute tutorials?

was ist allgemein die beste sprache zum anfangen?


Nach all dem geposteten Kommentaren mal von zwei anderen Sichtweisen beantwortet:

1) Wenn Du das Wesen einer prozeduralen Sprache, wie eben C, verstanden hast und sie benutzen kannst, solltest Du in die Objektorientierung eintauchen.

2) Es hängt von Deinem Einsatzzwecke ab, in welche Richtung Du gehen willst. C bezeichne ich jetzt mal als eine hardwarenahe Sprache, wohingegen C# sich in einem netten Framework ideal in der heutigen Netzwelt austobt und für mich persönlich die erste Wahl in einer clientseitiger Sprache in einer Client/Server-Architektur darstellt, wenn denn Windows-Desktop die Zielplattform ist.

Dick Laurent is dead.

scw - 42
Experte (offline)

Dabei seit 09.2002
1836 Beiträge
Geschrieben am: 28.02.2010 um 11:25 Uhr

Zitat von onkelrico:



2) Es hängt von Deinem Einsatzzwecke ab, in welche Richtung Du gehen willst. C bezeichne ich jetzt mal als eine hardwarenahe Sprache, wohingegen C# sich in einem netten Framework ideal in der heutigen Netzwelt austobt und für mich persönlich die erste Wahl in einer clientseitiger Sprache in einer Client/Server-Architektur darstellt, wenn denn Windows-Desktop die Zielplattform ist.


kann man C# als Framework bezeichnen? Die Definition eines Frameworks ist doch, dass es ein halbfertiges Architekturgrundgerüst für einen (meist komplexen) Anwendungsbereich darstellt. Dieses Grundgerüst kann auf die Bedürfnisse und Anforderungen einer konkreten Anwendung angepasst werden.
Des weiteren ist doch eine Eigenschaft eines Frameworks IoC (Inversion of Control).
Ist dagegen C# nicht eher eine Programmiersprache?
onkelrico - 46
Halbprofi (offline)

Dabei seit 10.2007
239 Beiträge

Geschrieben am: 28.02.2010 um 12:27 Uhr

Zitat von scw:


kann man C# als Framework bezeichnen?


Ich schrieb "in" einem Framework, in Anlehnung an das .NET-Framework.

Dick Laurent is dead.

Ketzu - 39
Experte (offline)

Dabei seit 11.2008
1535 Beiträge
Geschrieben am: 28.02.2010 um 17:29 Uhr

Zitat von bredator:


Dazu kommen noch diverse Komfortfunktionen, die sich aus dem Managed-Code-Prinzip ergeben (Garbagecollector und die aus dem Prinzip resultierende Typensicherheit).

Weiter ist C# eine rein objektorientierte Sprache, was in der heutigen Zeit absolut unerlässlich ist. C++ besitzt diverse Möglichkeiten zur objektorientierten Programmierung zwar auch, allerdings sind diese Möglichkeiten nicht so fest im Grundkern verankert, wie bei C#.


In C++ ist OOP nur ein Paradigma von mehreren, da C++ eben mehrere Programmierparadigmen unterstüzt (z.B. Prozedurales Programmieren).

Wenn man Pointer in C/C++ erstmal weglässt, benötigt man keinen Garbagecollector, wenn man sich dann an das Konzept der Pointer wagt, kann man einfach Boost:Smartpointer nutzen, zur Verwaltung seiner Objekte ein Verwaltungsobjekt nutzen, das im Destruktor alle erzeugten Objekte automatisch löscht oder weiterhin keine Pointer nutzen. (Vorausgesetzt man ignoriert das sich hinter einem Array eigentlich ein Pointer verbirgt, geht das sogar ganz gut)
(Natürlich sind Pointer immernoch Dinge mit hohem Gefahrenpotential, daher sollte man sie gerade sehr sorgfältig nutzen)

Für C# gibt es wohl sehr viele gute Tutorials, C/C++ hätte dafür den vorteil dass man sich "Schritt für Schritt" vorarbeiten kann. Steigt man in die Prozedurale Programmierung ein, hat man wenig "Drumherum" das man halt hinschreiben muss, aber erst in 5 Kapiteln verstanden wird.
So kann man dann den Schritt zur Objektorientierung durch Kapselung der Funktionen zu ihren zugehörigen Daten leichter verstehen.

Danach könnte man sich dann mit weiterführenden Konzepten wie Templates, der STL oder sonstwas befassen :)

Je nach wünschen, was du erreichen willst erstmal, würde ich aber unterschiedlich empfehlen. Grundsätzlich einfacher zu lernen ist wohl keine der beiden Sprachen.
Wenn du eine "Lehrsprache" willst, versuchs mit Delphi (oder Visual Basic?).

Ps: Nicht jeder erste Schritt ist gut, sonst landet er noch bei Ook! oder Brainfuck :D

Eine Meinung vertreten, heißt nicht sie zu teilen, sondern versuchen sie zu verstehen.

  [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2026 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -