C#, C oder doch C++? Oder doch was ganz anderes?

04/03/2012 22:49 ChangeMeシ#1
Hey Leute.

Da ich mit Java nun auch nicht wirklich so erfolg hatte wie ich es mir erhofft habt,
möchte ich nun sowohl aus der Videospielprogrammierung aussteigen
als auch in die Softwareprogrammierung einsteigen.

Nun stellten sich jedoch die Fragen:
Welche Sprache?
Wie lange zum einüben?

Programmiert werden soll unter Windoof.
Vorstellung von irgendeinem Programm:

Verwaltung von Kundendaten
-> aufrufen einzelner Kunden mit Informationen
-> Kunden durch Informationen suchen
-> hinzufügen/löschen von Kunden mit ARCHIV!
-> Passwortgeschütze Datensätze

Also nun die Frage an euch:
Welche Sprache eignet sich am Besten?
Warum und was könnt ihr mir über das lernen sagen?

Lieben Dank!
04/03/2012 22:57 MrSm!th#2
Ich würde dir da zu C# raten.

Wenig Umgewöhnungszeit, wenn du mal C++ lernen willst, weil die Syntax sehr ähnlich ist, .NET Framework, reicht für dein Anwendungsgebiet.
C++ würde ich nur nehmen, wenn dir Softwarepiraterie ein Dorn im Auge ist, denn da C# eine ByteCode Sprache ist, ist sie wesentlich leichter zu dekompilieren. Ein gut gepacktes C++ Binary zu reversen ist schwerer, als einen dekompilierten Code zu deobfuscaten. Aber ob sich das in deinem Fall lohnt, dafür extra C++ zu lernen und einen erheblichen Mehraufwand bei der Programmierung in Kauf zu nehmen...

C ist schonmal völlig falsch für den Bereich.
04/03/2012 23:27 xNopex#3
Nunja wenn du mit Java schon keinen Erfolg hattest. C# ähnelt Java schon ziemlich. Aber es wäre definitiv die richtige Wahl.
04/04/2012 05:02 ChangeMeシ#4
@MrSm!th: Danke! :)

Habe mir die Syntax mal angeschaut und sieht ganz nett aus.
Denke ich werde mich mal dran schmeißen! :)
Die Programme sollen ja fürs erste nur für mich sein,
da ich ein paar Daten abspeichern will :D

@xNopex: Also ich bin mit Java nicht "gescheitert" es lag nur daran, dass ich keinen
richtigen GUI-Former gefunden ..
Von der Syntax habe ich es verstanden und konnte auch ein paar Sachen aufbauen,
aber viele Leute sagten mir Java ist halt nicht so gut für Programme geeignet wie C++ oder halt C#.

Freue mich aber noch über mehr Vorschläge und Begründungen! :) 7

ChangeMe
04/04/2012 09:13 xNopex#5
Quote:
aber viele Leute sagten mir Java ist halt nicht so gut für Programme geeignet wie C++ oder halt C#.
Da haben dir viele Leute aber ziemlichen Stuss erzählt.
C# und Java sind relativ gut vergleichbar. Beide Sprachen zwingen dich zur OOP, beide Sprachen haben ne sehr gute Standard Api, wobei ich die von C# ja noch besser finde als die Java Api. Sprich dir wird sehr viel Arbeit abgenommen, du musst nicht wie in C++ das Rad neu erfinden oder nach externen Libs suchen. Wobei man mit Boost und evtl. Qt auch in C++ gut brauchbare Libs hat, die glücklicherweise auch plattformübergreifend vorhanden sind.

Nun, und das hat MrSmith schon erwähnt, musst du noch wissen, dass der Quellcode eines Java oder C# Programms lediglich in Bytecode kompiliert wird und nicht in direkt von der Maschine ausführbaren Code. Damit wird für beide Sprachen noch ein Emulator benötigt, der den Bytecode ausführt. Dadurch werden die Programme natürlich ein wenig langsamer, aber das fällt in den allermeisten Fällen nicht weiter ins Gewicht. Kommt natürlich immer drauf an, was du programmieren willst, aber solange du dich beim Programmieren nicht total dumm anstellst, wirst du von der schlechteren Performenz nur seltenst etwas merken.
Der Bytecode hat auch den von MrSmith bereits angemerkten Nachteil, dass man aus ihm wieder recht gut den originalen Quellcode gewinnen kann (dekompilieren), was bei Maschinencode nur sehr schlecht bis gar nicht funktioniert. Heißt auch, dass ohne weitere Schutzmaßnahmen jeder deinen Quellcode einsehen kann. Was aber imho nicht weiter Schlimm ist.. Was willst du denn großartig programmieren, was keiner sehen darf? Finde das immer etwas übertrieben....

Als letztes noch: Im gegensatz zu Java ist C# nicht Plattformunabhängig. Unterstützt wird es eigentlich nur unter Windows, aber mit Mono hat man auch (eingeschränkte) Unterstützung auf anderen Betriebssystemen. Aber hier hat Java doch seine/ihre klaren Vorteile.

Nungut die Entscheidung liegt natürlich bei dir, und ist ja nicht so, dass wir so Themen nicht 33mal in der Woche haben, aber ich rate dir dennoch zu C#.
04/04/2012 09:14 Rainvair#6
C# ist für deine Sache optimal, wenig Einarbeitungszeit, schnelle Erfolge und die GUI ist auch schnell zusammen geklickt.

Aber wenn du auf Schmerzen, Blut und Schweiß stehst kannst du es auch mit C machen. :o
04/04/2012 09:19 MitoSeVenSpeeD#7
Hole dir einfach Visual Studio 2010 ( Gibt da auch eine kostenlose Version von).. haben das auch im ingenieur-Studium
.
Gibt da viele Bücher zu die sich auch an komplette Anfänger richten ( vom Aufbau der grafischen Oberfläche, den Buttons allen Einstellungen sowie den C# Code welchen du dann als Funktion auf den Button setzt).

Hat den Vorteil wenn du etwas in C# oder c++ programmierst das es einfach schneller ist als java. Ist jetzt meine Erfahrung nach ein paar Wochen
04/04/2012 16:08 ChangeMeシ#8
Ok, vielen Dank! :)

Ich denke ich werde mich an C# ran machen und mal sehen wie weit ich komme :)

Vielen Dank für die schönen Kritiken und kurzen Einblicke!

#Closerquest
04/04/2012 16:25 dowhile#9
Quote:
@xNopex: Also ich bin mit Java nicht "gescheitert" es lag nur daran, dass ich keinen
richtigen GUI-Former gefunden [habe] ..
Einen GUI-Former brauchst unbedingt - so unbedingt, dass du extra für ihn eine andere Sprache lernen möchtest - für ... ?
04/04/2012 16:27 MoepMeep#10
Quote:
Originally Posted by Rainvair View Post

Aber wenn du auf Schmerzen, Blut und Schweiß stehst
pedovair. :>
04/04/2012 17:13 ChangeMeシ#11
Quote:
Originally Posted by dowhile View Post
Einen GUI-Former brauchst unbedingt - so unbedingt, dass du extra für ihn eine andere Sprache lernen möchtest - für ... ?
Jah, da ich schlecht mit Pixeln umgehen kann :'D
Habe da immer nie so das Gefühl für ;)

Habe kein Problem nochmal was neues zu lernen :)
Freue mich sogar drüber ^_^