Was kann oder wird meistens mit C# programmieren?

6 Antworten

C# ist ein Dialekt von C++ der von Microsoft entwickelt wurde. Der Hauptunterschied ist, dass das ".NET" (gesprochen "dot-net") Framework integriert ist und dessen Benutzung erleichtert wird. Damit ist es also besonders leicht umfangreiche Windowsfunktionen zu nutzen.

C# ist also auf Windows beschränkt, C# Programme können nur extrem aufwändig auf andere Systeme (Linux, Handy, Apple usw.) übertragen werden.

Was man für Windows damit programmieren kann, dem sind eigentlich keine Grenzen gesetzt. Auch für C# gilt der alte Spruch "Was in C nicht geht, das muß gelötet werden!". Man kann also alles damit programmieren was die Hardware und das Betriebssystem (bei C# also immer Windows) erlauben.

Mit C im allgemeinem kann man alles programmieren, Mikrocontroller (Die kleinen Minicomputer in einem IC die Fernseher, DVD/Blurayplayer, Mikrowellen, Radiowecker, Motor/Fahrwerk/airbags/Getriebe/Klimaanlage/usw im Auto, elektronische Spielzeuge uvm setuern) programmieren sowie alle gängigen Computersysteme egal welches Betriebssystem die haben.

Mit C# kann man nur Windows programmieren, aber egal ob einen Gerätetreiber, ein Spiel, eine Anwendung oder was auch immer.

Die Aussagen sind Grundlegend falsch.

C# ist kein C++ Dialekt. Nur weil ein C davor steht hat das nicht gleich was mit C zu tun. Die Syntax orientiert sich in einigen Konstrukten zwar an C++ ist aber her mt der Java Syntax vergleichbar als mit C++. Auch wird der Code nicht direkt in Maschienensprache übersetzt sondern wie in Java in einen Maschienenunabhängigen Code der dann von der .Net Runtime ausgeführt wird ähnlich der Java Virtual Machine.

Mit C# kann man nicht nur unter Windows programmieren. Dies geht auch unter Linux oder MacOS. Siehe Mono.

0
@silentwater79

Auch Java kann man als Dialekt ansehen. Sowohl C# als auch Java halten sich an die Grundlegenden C strukturen und die Art Programme zu organisieren.

Es ist nicht vorgeschrieben, dass C programme unbedingt kompiliert werden müssen. Genau wie ein Programmierer der sich ein ausgedrucktes Programm durchliest kann auch eine Maschine das Programm durchlesen und interpretieren.

.NET ist nicht wirklich Maschinenunabhängig. Klar ist das ein offener "Standard" der von allen die es wollen nachgemacht werden kann und somit gibt es .NET Unterstützung für Linux und andere Systeme. Aber weder passt .NET zu Linux und anderen Systemen noch entwickelt Microsoft irgendwas dafür.

Klar kann man C# auch auf Linux laufen lassen, genau so gut aber auch alle anderen Windowsprogramme per Emulation. Nativ läuft .NET auf keinen Fall auf einer Linuxmaschine, und C# auch nicht!

0
@Commodore64

Grundlegende Strukturen und Art Programme zu organisieren? Wo gibt es in C bitteschön Klassen, Interfaces, Vererbungsmechanismen, ... abgesehen von C++? Wo gibt es in Java Pointer? Dann kann ich auch gleich sagen das C++ ein Dialekt von Assembler ist. beides organisiere ich in Dateien. Nur weil man sowohl in C / C++ / JAVA / C# geschweifte Klammern verwendet sind das noch lange keine Dialekte voneinander.

Niemand schreibt auch vor das JavaScript Interpretiert werden muss. Kann ich genauso auch in nativen Code kompilieren was viele Browser auch mittlerweile tun. Also warum nicht gleich alles über einen Kamm scheren?

Und wieso sollte C# / .NET nicht zu Linux passen? Wer verbietet das? Ein paar religöse Appostel die aus allem gleich einen Religiösen krieg anfangen? Warum sollte Java noch zu Linux passen jetzt wo Oracle Java übernommen hat?

Es gibt sehr wohl unter Linux einige Programme die in C# geschrieben sind und unter Mono laufen z.b. Banshee oder F-Spot.

Was verstehst Du unter Nativ? C# / .NET läuft in dem Sinne auch unter Windows nicht Nativ. Dazu musst Du nun mal auch zuerst die .NET Runtime für die entsprechend benötigte Version installieren. So wie Du unter Linux Mono installieren musst. Was ist daran jetzt Nativ?

Das sich Microsoft nicht wirklich selbst aktiv um die Portierung des .NET Frameworks auf Linux kümmert ist ein anderer Schuh und hat nichts damit zu tun das daher C# / .NET nicht zu Linux "passt". Das sind eher politische / "religiöse" Ansichten.

0

Im Grunde kannst Du mit C# sehr vielseitig programmieren. Vom Prinzip her ist die Sprache Java sehr ähnlich (auch objektorientiert ...) nur halt ein kommerzielles Produkt von Microsoft - wohingegen Java unter GNU Lizenz läuft und kostenfrei ist. Ist mehr oder weniger eine "Überzeugungsfrage" für welche Alternative man sich entscheidet.

Mit Swing hat man bei Java direkt eine Möglichkeit schnell GUIs zu erstellen und Java wurde auch direkt dafür entwickelt auf _vielen_ Betriebssystemen zu laufen. C# (leider?) nicht.

0
@quinomo

In Visual Studio kannst Du genauso einfach eine GUI erstellen - kann da keinen Unterschied feststellen. C# läuft logischerweise perfekt unter Windows (gleiche Herstellerfirma) - habe aber auch Kollegen, die mit Mac arbeiten und keinerlei Probleme haben - habe diesbezüglich keine eigenen Erfahrungen.

Für mich ist als Einsteigerin Visual Studio sehr viel einfacher zu handeln gewesen als Eclipse (das mich hat verzweifeln lassen) und aber auch Netbeans (das ICH etwas praktikabler fand als Eclipse, aber auch immer noch zu kompliziert)

An meiner Fachhochschule wurde bei den Biomedical Engineers unter anderem C# unterrichtet (wobei wir die kostenfreie Basisfunktion nutzten und damit sehr viel erreichen konnten).

Also ich war/bin mit C# sehr zufrieden und kann es nur weiterempfehlen

0

kostenfrei? muss ich denn bei c# was bezahlen?(programm) oder so?

0
@gaz12345

Nein für das Vioual Studio (aktuelle Version 2013) musst Du nix bezahlen.

Es gibt Profiversionen, die ich bisher noch nicht gebraucht habe, und die sind dann kostenpflichtig

0

Java steht nicht unter GNU Lizenz. Abgesehen von OpenJDK ist es nicht OpenSource. Java gehört derzeit Oracle und ist damit genauso Kommerziel. Wenn Oracle lust hat könnten die jederzeit Geld (Lizenskosten) dafür verlangen, was Sie allerdings nicht tun weil Sie damit sämtliche Entwickler Vergraulen würden. Willst Du Java auf Embedded Systemen Kommerziel verwenden verlangt Oracle sehr wohl Lizensgebühren.

0

Hallo,

C# wurde eher dafür geschaffen um Anwendungen zu programmieren. Das geht auch sehr einfach (aus Sicht eines Programmierers ;)). Man kann sich mit den Visual Studio gar die ganzen Forms zusammenklicken und mit Ereignissen belegen.

Spiele können auch programmiert werden - mit XNA oä. - wird aber nicht viel gemacht. Dafür eignen sich andere Sprachen besser.

Da C# von Microsoft entwickelt wurde, läuft es am Besten auch auf Windows. Zwar gibt es auch Linuxportierungen, aber die taugen meiner Meinung nach wenig. Also bleibst du mit C# auf Windows beschränkt.

Bei weiteren Fragen: frag!

0
@gaz12345

Visual Studio C# 2013 Express ist kostenlos - eine Anmeldung vorausgesetzt. Es ist auch eigentlich DAS Programm um mit C# zu entwickeln. Ernsthafte alternativen kenne ich nicht. Immerhin wurde es ja auch von den Entwicklnern von C# programmiert :)

Das Buch kann ich dir anfangs empfehlen: http://openbook.galileocomputing.de/csharp/

Kostenlos um immer Verfügbar - sofern du Internet hast.

0
@quinomo

Ich habe mal in C++ reingeschaut, hab aber aufgehört weil es meine schulischen Leistungen belastate hat.

Bin nicht gerade weit gekommen(Klassen und Schleifen)

An sich zum Computer bzw. Windows kenne ich mich wie in meiner Unterhose aus.

0
@gaz12345

C# ist laut Microsoft die Weiterentwicklung von C++ und hat ein paar Fallstricke (wie z.B. die nervigen Pointer ...) weniger.

0
@gaz12345

Ich glaube, es ist eine Bereicherung sich in solchen Sachen etwas auszukennen.

Anfangs würde ich mit Konsolenanwendungen beginnen, damit alles schön übersichtlich bleibt.

Klassen ist ein Thema, was eher später interessant wird. Anfangs ist das Konzept auch nicht ganz einfach zu verstehen.

Beginn doch mit: 1) Datentypen 2) Operatoren (arithmetische, logische, binäre) 3) Kontrollstrukturen (If, else, for, while, do ... while)

0
@Neugiersnase007

C# ist definitiv keine Weiterentwicklung zu C++ - auch wenn einem die Microsoft-Leute das einreden wollen :)

Pointer sind eigentlich keine "nervige Sache" sondern eines der nützlichsten Tools. Auch bei C# gibt es diese noch - nur sind diese mehr in der Sprache "versteckt" und nicht sofort ersichtlich.

0
@quinomo

OK, ich weiß, dass man Pointer verwenden kann - aber man braucht sie nicht mehr so notwendig wie in C++, und ich finde das gut.

Keine Ahnung - ich gebe nur das wieder was die Hersteller sagen, und diese sagen dezidiert, das C# aus C++ hervorgegangen ist - aber eigentlich ist mir das egal.

0

Mit C# kannst du jede Art von Desktop- und Web-Programm oder Windows-Dienst schreiben. Es ist eine sehr universelle Sprache.

Nur für hardware-nahe Bibliotheken (Treiber) oder hochperformante Simulationen sind andere Sprachen besser.

C# wird derzeit vor allem für Desktop Anwendungen verwendet. Der Einsatz für Web Applikationen ist jedoch auch möglich (siehe ASP.NET).

C# ist relativ vielseitig einsetzbar und ist theoretisch auch Plattform unabhängig wird allerdings auf anderen Plattformen nicht so gut unterstützt.

Viele verträufeln C# da es von Microsoft stammt. Ist eine "Glaubensfrage".

Grundsätzlich halte ich die Syntax für sehr sauber und die Sprache selbst als Anfänger freundlich.

C# ist auch für die Spieleprogrammierung geeignet. Wenn es jedoch auf das letze quätchen an Performance geht wird man an C/C++ nicht herumkommen.

Was meinst du mit "verträufeln"?

0