Einsteiger Programmiersprache?

gagaalf

Lt. Junior Grade
Registriert
Juli 2011
Beiträge
449
Hi!

Ich habe mir jetzt vorgenommen, eine Programmiersprache zu lernen und hatte auch gleich angefangen mit Java Tutorials anzugucken usw..
Allerdings habe ich dann einmal überlegt, was ich eigentlich damit machen möchte und dass vielleicht andere "Sprachen" noch geeigneter wären. Ich hab mich also informiert, gegoogelt und hier im Forum und bin dann so in die Wahl zwischen:
  • Java
  • C
  • C#
  • C++ (Was ist der Unterschied der ganzen C-Sprachen?)
  • Python

Meine "Wünsche" und Ziele für die Sprache

Meine "Ziel" ist jetzt Wohl in etwa ein Programm zu schreiben, welches sozusagen ein Quiz ist durch welches man sich durchklicken kann und Fragen beantwortet und dafür halt Punkte bekommt usw., es sollte also eine Grafische Oberfläche gut umsetzbar sein. Inwieweit schwer ist das bei den jeweiligen Sprachen?

Ich möchte außerdem eine Sprache erlernen mit der man einiges Anstellen kann und die sozusagen überall anwendbare Programme erstellen kann, ohne dass man um sie zu starten extra Software benötigt.

Java hat mir bisher garnicht so schlecht gefallen, ist aber auch die einzige (außer Batches) die ich bisher ein bisschen kennen gelernt habe. Allerdings kann man mit Java doch schlecht Exen machen, und die jar - Dateien sind ja nur ausführbar wenn Java auf dem PC ist oder?

Python soll hingegen recht einfach sein, aber kann ich damit auch genauso gut ein Programm erstellen welches in einem Fenster erscheint usw.?


So, ich hoffe ich habe das wichtigste Erzählt und es würde mich freuen wenn ihr ein paar Tipps für mich hättet!
Mfg gagaalf.
 
Wenn du Java schon ein bisschen kennst und du eine grafische Oberfläche leicht einbauen willst, dann ist wohl C# das richtige, ich denke einfacher geht es nicht und C# ist Java vom Aufbau her sehr ähnlich und die Eingewöhnung sollte daher nicht allzu schwer sein.
 
Zuletzt bearbeitet: (typo)
Wenn du eh nur auf einem Freizeitlevel entwickeln möchtest, würde ich dir zu C# raten. Das ist einfach und schnell zu verstehen. Allerdings ist die Syntax von C# und Java nahezu identisch, wenn dir die Syntax also nicht gefiel, wird dir C# kein Stück besser gefallen. Wenn du sehr viel Programieren möchtest, und auch komplexere Thematiken durchgehen möchtest, dann wäre C zum Anfang vielleicht nicht ganz schlecht. C eigent sich sehr gut um die Grundlagen zu lernen.

C++ geht auch, ist aber ein anderes Paar Schuhe als C. C++ ist eher Objektorientiert und stellt eigentlich ein anderes Arbeitskonzept als C zur Verfügung, aber viele programmieren mit C++ immer noch so, als wäre es C.

Wenn du sehr tief involviert werden willst, eventuell auch beruflich würde ich dir aber zu C und C++ raten.

Python ist mir nur in sehr geringem Umfang bekannt, aber ich finde es ist keine schlechte Sprache, nicht zu komplex, nicht zu pingelig von der Syntax her und es gibt massig Material zu Python online.

Soviel zum groben, aber ich würde dir doch raten, dich einmal mit C# auseinander zu setzten, da es eine wirklich sehr schöne Sprache für solch simple Anwendungen ist. Vb.NET geht zwar auch, aber ich persönlich finde die Syntax von VB nicht gerade sehr berauschend.


Spezifisch zu deinen Anforderungen:

Grafische Benutzeroberflächen mit C sind kein piece of cake. C++ bietet zwar Windows Forms über Win32 und C++ unter .NET, also C++/CLI, aber das ist auch nicht gerade notwendig, wenn du nur kleinere Sachen programmieren willst. Über Java kann ich dir dazu nichts sagen, aber dafür zu C#.

Mit Visual Studio kann man wirklich unheimlich leicht Windows Forms Applikationen basteln, und das ist wirklich einfach, sobald man die Grundkenntnisse der Sprache und von Windows Forms beherrscht.

Meine Empfehlung: C#.
(subjektive Entscheidung wohlgemerkt)

Gruß
 
Zuletzt bearbeitet:
Ich würde dir empfehlen mit "purem C" zu beginnen. Ist zwar ein wenig härter, aber wenn du das erstmal gepackt hast, wird dir soviel klar:
- Wie Hardware und Software zusammenarbeiten
- Was in Bibliotheken genau passiert (wenn du später Hochsprachen wie Java oder C# lernst)
Mei Prof nennt C immer "Assembler Deluxe"

Wenn du C drauf hast, dann würde ich mich an C++ ranmachen, da wird die nächste Hürde die Objektorintierung sein!

Wenn du C++ einigermaßen beherscht, sind Java und C# echt ein Witz!

Zum Oberflächendesign muss ich dir sagen:
- Ich liebe WPF und Silverlight (c# .NET)
- Ich hasse Swing (Java)

zu Python: Am Anfang würde ich dir von Scriptsprachen abraten.
Warum?
- Weil du am Anfang (mit C z.B.) lernen solltest was ein Compiler, ein Linker, eine IDE, etc. ist. Und das geht mit interpretierten Sprachen nicht. Aber die werden ein Klacks wenn du die Schritte, die ich dir beschrieben habe beherzigst!
 
Zuletzt bearbeitet:
Es gibt meiner Meinung nach eigentlich nur 3 große Sprachen. Zumindest wenn man danach geht, was in der Wirtschaft hauptsächlich nachgefragt wird. Das ist C++, Java und C#. Alle Sprachen haben ihre Vor- und Nachteile.

Meine persönliche Einschätzung ist, daß man für C++ ziemlich leidensfähig sein muß. Java ist weiter verbreitet als C#, krankt aber aber momentan an mangelnder Innovation. Stichwort Oracle. Bleibt also noch C# und das .NET Framework von Microsoft.

Das finde ich persönlich super. C# ist eine moderne, objektorientierte Hochsprache. Microsoft steckt sehr viel Kraft in die Weiterentwicklung. Es gibt sehr viel gute Dokumentation und das Visual Studio 2010 ist eine hervorragende IDE, die Du in abgespeckter Variante kostenlos herunterladen kannst. Der GUI-Designer für Windows Forms ist sehr einfach zu bedienen. WPF ist etwas komplizierter. Eine Exe-Datei erstellen ist leicht. Für die Ausführung muß ähnlich wie bei Java die JRE aber das .NET Framework auf dem Zielrechner installiert sein.
 
Ok, vielen dank schon mal! Noch ein paar Dinge:
1. Und was haltet ihr so von diesem Delphi?
2. Wenn C# (wie spricht man das eigentlich aus?) und Java so ähnlich sind, soll ich dann nicht einfach bei Java bleiben? Bzw. Kann man mit Java auch "exen" Erstellen?
3. Ich habe das wirklich nur als Hobby vor!
EDIT: Als ich das da oben geschrieben hatte waren die zwei oberen Beiträge noch nicht da.
Bist jetzt hört sich für mich C# (wie spricht man das aus... ;) ) echt am besten an!
Ich glaube cih werde mich wohl dafür entscheiden...
 
Zuletzt bearbeitet:
Desktop Anwendungen sind Schnee von gestern. Machen wir uns nix vor, die gibts in 15 Jahren nicht mehr. Machs serverbasiert mit PHP und JavaScript.
 
1.) Delphi ist zwar was für Anfänger, aber nicht mehr wirklich lernenswert. Delphi ist was für 7. Klässler.
2). C-Sharp (wie das Suffix bei Noten)
3.) Hobby: C# Empfehlung meinerseits absolut endgültig.
 
@1) tot (net ganz tot, aber da kannst auch Fortran oder Cobol lernen)
@2) C# aussprache is C-Sharp
Aus Java exe machen geht schon, ist aber nicht sinn der Sache, warum willst überhaupt exen machen?
bezüglich Java vs. C# gibts tausende Meinungen, definitive aussage ist kaum möglich
@3) Python finde ich recht toll, IMHO braucht dich als Hobbiest sachen wie Stack, Memory Verwaltung usw. nicht zu intressieren, das mach tdas alles nur kompliziert
 
gagaalf schrieb:
2. Wenn C# (wie spricht man das eigentlich aus?) und Java so ähnlich sind, soll ich dann nicht einfach bei Java bleiben? Bzw. Kann man mit Java auch "exen" Erstellen?

Die "Probleme" hast du selbst schon erkannt. Bei .NET (also auch C#) bekommst du sogar zwingend eine .exe raus, bei Java geht das so nur über Umwege und ist nichts halbes und nichts ganzes. .NET ist seit Vista (?) in irgend einer Version vorinstalliert. Grafische Oberflächen sind bei C# angenehmer.

gagaalf schrieb:
3. Ich habe das wirklich nur als Hobby vor!

Dann lass die Finger von C/C++ :)

Knito schrieb:
Desktop Anwendungen sind Schnee von gestern. Machen wir uns nix vor, die gibts in 15 Jahren nicht mehr. Machs serverbasiert mit PHP und JavaScript.

Da will ich dir nicht mal widersprechen, auch wenn es jetzt noch zu früh ist für ein Urteil. Aber es ist völlig in Ordnung wenn er sich jetzt mit der Desktopprogrammierung beschäftigt.
 
antred schrieb:
Woher nimmst du diese hellseherische Sicherheit?

Extrapolation meiner IT Erfahrung. Ich nehme an, dass es so kommen wird, von Sicherheit keine Spur.
 
@Knito:

Das halte ich eher für Quatsch. Desktop Applikationen werden nicht verschwinden, sie werden sich entwickeln. Man kann schon fast von einer Metamorphose sprechen. Klar, die Gestalt wird sich verändern und die Struktur der Programme und ihrer Bedienung. Sicherlich wird vieles auf Server ausgelagert werden, aber bei weitem nicht alles. Bin mal gespannt, ob wir eine 90% auf Internet aufbauende Gesellschaft überhaupt erleben werden.

Das müssten schon Unmengen an Daten sein, damit es sich lohnen würde, die Berechnungen im Internet ablaufen zu lassen. Bei so Kleinkram wie dem hier bleibt nur zu sagen: Alles was ins Internet gehen kann, kann sowas schon lange selber berechnen.
 
Zuletzt bearbeitet:
Ok, wer weißob ich mich in 15 Jahren noch damit beschäftigen werde? Vielleicht wirds ja auch bei mir später ja auch mal beruflich in die Richtung gehen, wer weiß ;) .
Aber jedenfall habt ihr mir sehr geholfen! Danke an alle hier!!!
 
psegma schrieb:
Das müssten schon Unmengen an Daten sein, damit es sich lohnen würde, die Berechnungen im Internet ablaufen zu lassen. Bei so Kleinkram wie dem hier bleibt nur zu sagen: Alles was ins Internet gehen kann, kann sowas schon lange selber berechnen.

Ich stimmte dir zwar mit der Aussage zu, das konventionelle Desktopanwendungen noch lange bestehen bleiben.
Aber das, was du in dem Absatz schreibst, sind doch keine Gründe für Webanwendungen auf dem Desktop. Wenn es nur darum ginge, Berechnungen ins Netz auszulagern, dann könntest du genau so gut bei C und Co. bleiben und trotzdem Berechnungen ins Netz auslagern.

Viel mehr geht es doch um Dinge wie Plattformunabhängigkeit, Distribution von Software usw. Mit den Bordmitteln von HTML5 brauchst du nicht mal mehr online sein, um Webanwendungen im Browser nutzen zu können.

Wenn man sich mal Frameworks wie z.B. PhoneGap für Smartphones anschaut, dann kann man dort heute schon einen großen Teil seiner Anwendung plattformunabhängig (sprich egal ob Android, IOS, Windows Phone etc. ) gestalten durch HTML/Javascript und muss nur für systemnahe oder performancekritische Sachen eine ebene Tiefer in nativen Code.
Desweiteren wird man, wenn ich mich richtig erinnere, für Windows 8 Metro auch Anwendungen mit HTML/JS schreiben können.
 
Zuletzt bearbeitet:
Als Entwickler, ob studiert oder nicht, mußt Du Dich mit einer Vielzahl an Sprachen, Technologien und Konzepten befassen. Gerade bei Scriptsprachen kann man schnell Erfolge sehen. Eine Hochsprache wie C++, Java oder .NET zwingt Dich aber in Vielerlei Hinsicht "sauber" zu arbeiten. Die Einarbeitung dauert aber entsprechend. Eine allgemeine Empfehlung ist sehr schwer, da das Programmieren auch von anderen Faktoren wie der verwendeten IDE, der Qualität der Doku, der aktiven Entwicklergemeinde und noch vielem mehr abhängt. Darüber hinaus sind wie gesagt Konzepte ein wichtiger Punkt. Softwareentwicklung ist eine Ingenieurwissenschaft. Es gibt Dinge, die man Lernen muß, die überhaupt nichts mit der verwendeten Programmiersprache zu tun haben. Z.B. ist Objektorientierung ein Konzept und keine Sprache.

Und noch etwas zu Java und C#. Die Sprachen sind bis auf einige syntaktische Kontrukte in keinster Weise miteinander zu vergleichen. Einerseits liegt das am zugrunde liegenden Framework und anderseits ist C# auch auf dem Feld der Sprachkonstrukte sehr viel weiter und moderner.

Du solltest einfach ein paar Dinge ausprobieren und sehen, was Dir am meisten liegt.
 
Ruheliebhaber schrieb:
Und noch etwas zu Java und C#. Die Sprachen sind bis auf einige syntaktische Kontrukte in keinster Weise miteinander zu vergleichen. Einerseits liegt das am zugrunde liegenden Framework und anderseits ist C# auch auf dem Feld der Sprachkonstrukte sehr viel weiter und moderner.


Also hier übertreibst du. Ich gebe dir zwar in der Aussage recht, dass C# an manchen Ecken und Enden wirklich spürbar weiter und moderner ist. Aber da ist nichts, was ein "in keiner Weise vergleichbar" gerechtfertigt. Die Frameworks sind konzeptuell auf einer vergleichbaren Ebene, auch wenn hier und da Dinge anders gemacht werden, aber dennoch vergleichbar. Und was die Sprachkonstrukte angeht, wenige der neuen Dinge erhöhen wirklich die Sprachmächtigkeit, natürlich sind sie trotzdem hochgradig gut. Aber auch hier wieder, "bis auf einige synatkische Konstrukte" ist übertrieben.
 
Also für einen Anfänger der erst mal reinschnuppern will und nicht gleich Hardcore loslegen will würd ich definitiv Phyton empfehlen. Ist sehr vielseitig (man kann damit auch Web entwickeln, vergiss PHP ;-) und es ist eine recht "schöne" Sprache die sich gut liest (C ist auf kurzen Code optimiert und liest sich ab und an kryptisch mit seinen Zeichen, PHP ist sehr inkonsistent, C# und Java sind C ähnlich...)

Ansonsten sind C# und Java auch gute Sprachen für den Einstieg. C# ist halt recht Windows-Orientiert und Java läuft zwar überall wo ne VM da ist, aber die muss erst mal da sein... ok, der Phython Compiler ist auch nicht der Weisheit letzter Schluss ;-) aber er funktioniert. Ansonsten muss Phython ebenfalls auf dem Zielsystem vorhanden sein damit das Programm läuft.
 
Für die Hobby Programmierung würde ich dir auch (außer du willst die Programme unbedingt z.B. auf Linux ausführen) C# empfehlen. Aber auch weil du mit Visual Studio eine wirklich sehr gute Entwicklungsumgebung hast, die gerade auch für Visuelle Sachen sehr schick zu bedienen ist (auch ohne Plugins o.ä.) und sich gerade als Anfänger angenehm bedienen lässt.
 

Ähnliche Themen

D
Antworten
57
Aufrufe
4.363
M
Antworten
26
Aufrufe
7.490
M
  • Gesperrt
  • Umfrage Umfrage
Antworten
7
Aufrufe
1.870
B
Antworten
14
Aufrufe
3.123
Zurück
Oben