Programmiersprache für Anfänger

07/28/2013 13:02 kartal03#1
Hi,
ich habe vor, über die Ferien eine Programmiersprache zu lernen. Im Internet bin ich auf die Sprache C# gestoßen. Die scheint schon mal für mich passend zu sien, da man mit VB arbeitet und schnell Windows Applikationen erstellen kann.
Ist das empfehlenswert, oder ist zB Java, oder etwas anderes besser?

Hauptsächlig möchte ich Windowsappliaketionen erstellen.

Danke im vorraus :)
07/28/2013 13:10 Conrew#2
Es freut mich das du dich dafür entschieden hast Programmieren lernene zu wollen :)

C# ist relativ simpel ergo eignet es sich eigentlich auch für Anfänger.

Dennoch würde ich für den Einstieg Java empfehlen und dazu die IDE Eclipse.
Warum ?
Weil du dich bei C# wahrscheinlich zu großen teilen mit dem GUI Editor beschäftigst und so den hintergrund völlig vergisst. Ich würde dir auch empfehlen erst einmal Projekte ohne eine GUI zu verwirklichen.

Quote:
Originally Posted by kartal03 View Post
, da man mit VB arbeitet
Wahrscheinlich meinst du Visual Studio du hast Visual Basic geschrieben ;)

MFG Conrew
07/28/2013 13:14 xXKonaXx#3
+C#/VB -> Console Application
+Python
+Delphi/Pascal

Und nicht zu früh aufgeben
07/28/2013 14:13 dowhile#4
Hi,

Java ist auch eine tolle Sprache, mit der du schnell grafische Oberflächen erstellen kannst. IDEs wie NetBeans oder IntellJ IDEA haben auch einen Editor dafür.

Ich finde es im Übrigen nicht unbedingt verkehrt, am Anfang mit GUIs zu arbeiten. Damit lernt man schließlich auch einiges (im Sinne von OOP).
07/28/2013 14:25 tolio#5
das .net framework ist sehr zu empfehlen allein wegen dem unglaublich mächten visual studio. als sprache bietet sich entsprechend c# an welchen syntaktisch wie der name schon verrät c ähnlich ist oder vb welche eine eher längeren ausgeschriebenen stil verfolgt, also weniger klammern und mehr wörter

vom funktionsumfang macht das keinen unterschied
07/28/2013 14:33 kartal03#6
Stimmt, ich meinte VS ;)
Danke für eure Tipps :)
07/28/2013 16:52 マルコ#7
Ich würde dir eher empfehlen, die von Pascal abgeleitete Sprache Delphi (bzw. FreePascal, wenn du kein Geld ausgeben willst) zu lernen. Nicht nur wurde diese Sprache für Anfänger entwickelt, sondern

- die Sprache ist mächtiger als C#, VB und Java
- mehr Standardkomponenten für GUIs und sehr einfach erweiterbare Auswahl mit millionen von fertigen Komponenten
- Compiler für so ziemlich jede Platform - auch Mobile Platformen - mit dem selben Quelltext!
- benötigt keine Redistributables o.ä. auf dem Zielcomputer
- echt-compilierte Sprache, also performanter (C# und VB laufen auf einer .NET VM, Java auf der JVM)

Wenn du kostenlos bleiben willlst, dann solltest du dir [Only registered and activated users can see links. Click Here To Register...] anschaun.
Wenn du ein wirklich mächtiges Werkzeug zum Programmieren haben willst, mit vielen Extrafeatures, dann gibt es die [Only registered and activated users can see links. Click Here To Register...] schon ab 200€. Meiner Meinung nach lohnt sich das Geld.
07/28/2013 17:01 snow#8
Meiner Meinung nach gibt es keine Programmiersprache, die ein Anfänger unbedingt lernen sollte, es kommt immer auf das Ziel drauf an.
Klar hätte ich mit VB .NET anfangen können, weil es so einfach (ôo) ist, hab aber Obj-C genommen - einfach weil es für meine Zwecke gepasst hat.

Da der TE hier Windows-Applikationen schreiben will, dürfte das .NET Framework gut geeignet sein. Am Besten C#, da kann man jetzt Ewigkeiten drüber streiten, Fakt ist aber, dass die Syntax näher an anderen Sprachen als VB .NET ist.

Und das Entwickeln ohne GUI-Editor wird doch sowieso überbewertet.. :/ wenn ich das hier lese, GUI-Editor für Java.. am Besten mit nem null-Layout? :<
07/28/2013 17:02 Schlüsselbein#9
Alle Tage wieder so ein Thread. Kann hier mal jemand zu machen?

Das Delphi-geschreibsel könnte man ja in einen neuen Thread verlagern, kann sicherlich ganz interessant werden.
Quote:
- die Sprache ist mächtiger als C#, VB und Java
Warum?
Quote:
- mehr Standardkomponenten für GUIs und sehr einfach erweiterbare Auswahl mit millionen von fertigen Komponenten
Mehr Standardkomponenten als was? Die Aussage ist wie die Frage nach dem Unteschied zwischen einer Ente.
Quote:
- echt-compilierte Sprache, also performanter (C# und VB laufen auf einer .NET VM, Java auf der JVM)
Viel zu pauschale Aussage. Delphi muss nicht performanter sein und ausserdem hast du den JIT-Compiler vergessen.
07/28/2013 17:23 マルコ#10
Quote:
Originally Posted by Schlüsselbein View Post
Warum?
Um ein krasses Beispiel zu nennen: Schonmal nen Treiber in VB gesehen? Ich auch nicht.


Quote:
Originally Posted by Schlüsselbein View Post
Mehr Standardkomponenten als was? Die Aussage ist wie die Frage nach dem Unteschied zwischen einer Ente.
Komm schon, es gibt in dieser Welt natürliche Sprachen, da wird 80% des Satzes weggelassen. Dann wirst du es wohl mit diesem Satz aufnehmen können, oder? Natürlich im Vergleich zu den anderen genannten Sprachen!


Quote:
Originally Posted by Schlüsselbein View Post
Viel zu pauschale Aussage. Delphi muss nicht performanter sein und ausserdem hast du den JIT-Compiler vergessen.
Hmm, wenn man den selben Algorithmus her nimmt, dann ist Delphi performanter, weil es nicht auf einer virtuellen Maschine läuft.
Auch der JIT Compiler braucht erstmal Zeit, um zu kompilieren. JIT C. ermöglichen höhere Geschwindigkeiten gegenüber Interpretern, aber gegen nativen Code haben sie trotzdem keine Chance.

In einem neuen Thread darüber diskutieren? Joa, das wäre sinnvoll. Aber dann könnte man auch noch mal ein paar weitere Threads aufmachen, denn es gibt so viele so unterschiedliche Themen zu Delphi im Vergleich mit anderen Sprachen.
Ich denke, das würde allerdings in kindisches "Delphi ist Müll" Gelaber ausarten, denn es gibt viele Delphi Hater hier, die nicht mal Argumente bringen können - aber ihren Senf dazu geben müssen (meine Erfahrung)
07/28/2013 18:03 Schlüsselbein#11
Quote:
Um ein krasses Beispiel zu nennen: Schonmal nen Treiber in VB gesehen? Ich auch nicht.
Zeig mir einen richtigen Treiber in Delphi. Schön auf Kernelebene, wie sichs gehört. Auch wenns möglich ist, ist es sicherlich ein totaler Krampf und umständlich. Wie Mächtig eine Sprache ist, hängt m.E. aber von weitaus mehr ab. Selbst Brainfuck ist Touring-Vollständig. Würdest du Brainfuck auch als sehr mächtig bezeichnen? Zur "Mächtigkeit" gehört mMn auch die Abstraktionsebene und die Vollständigkeit der Standardlibrary. Und mit Anonymen Funktionen, LINQ, WPF und anderen Spielereien liegt .NET vorne - kannst du mir doch sicherlich zustimmen?

Quote:
Komm schon, es gibt in dieser Welt natürliche Sprachen, da wird 80% des Satzes weggelassen. Dann wirst du es wohl mit diesem Satz aufnehmen können, oder? Natürlich im Vergleich zu den anderen genannten Sprachen!
Könntest das nochmal ein wenig erläutern? Welche Standardkomponenten gibt es denn mehr?
Quote:
Hmm, wenn man den selben Algorithmus her nimmt, dann ist Delphi performanter, weil es nicht auf einer virtuellen Maschine läuft.
Ist wie auch vorher zu pauschal. Es hängt immer davon ab, wie der Compiler optimiert.
Beispiel: [Only registered and activated users can see links. Click Here To Register...]

Quote:
Ich denke, das würde allerdings in kindisches "Delphi ist Müll" Gelaber ausarten, denn es gibt viele Delphi Hater hier, die nicht mal Argumente bringen können - aber ihren Senf dazu geben müssen (meine Erfahrung)
Ich mag bzw. mochte Delphi auch sehr. Aber .NET ist so derbe im Vormarsch dass sich ein Wechsel wirklich lohnt.
07/28/2013 19:13 kartal03#12
Danke, ich denke, ich lerne C#.
Dafür habe ich diese kleine Lektüre gefunden: [Only registered and activated users can see links. Click Here To Register...]
Ist das gut, oder gibt es besseres? Galileo Computing soll ja ganz gut sein, außerdem ist es einer der aktuellsten, die ich gefunden habe
07/28/2013 20:13 dowhile#13
Quote:
Originally Posted by snow911 View Post
Und das Entwickeln ohne GUI-Editor wird doch sowieso überbewertet.. :/ wenn ich das hier lese, GUI-Editor für Java.. am Besten mit nem null-Layout? :<
Was meinst du damit? Nein, nicht mit dem NullLayout.
07/28/2013 22:15 snow#14
Quote:
Originally Posted by dowhile View Post
Was meinst du damit? Nein, nicht mit dem NullLayout.
Ich hab mich nie großartig mit einem Java-GUI-Editor beschäftigt, ein Kollege hat mir nur mal den Netbeans-Editor gezeigt. Das Resultat war am Ende ein null-Layout, bei dem er eine eigene Resize-Methode geschrieben hat. JavaFX fand ich da schon besser..
Mit Sicherheit kannst du auch was rausholen, was eher in Richtung sinnvoll geht, aber dann hast du immer noch teilweise unübersichtlichen Code oder einen Overhead von ewig vielen Properties etc.
Ich ziehe es einfach vor, den Code selber zu schreiben und somit komplett selber zu bestimmen, wie das UI am Ende aussieht. Klar, ein Form-Designer nimmt viel Arbeit ab, aber man sollte halt dennoch lernen, was da im Hintergrund passiert..
07/28/2013 22:47 dowhile#15
NetBeans nutzt standardgemäß das GroupLayout. Wenn ein anderes genutzt werden soll, muss das explizit angegeben werden. Das NullLayout hat daher, vermute ich, dein Kollege selbst verschuldet.

Ordentlich finde ich den Quelltext schon; zumindest finde ich mich zurecht, wenn ich ihn mir anschaue. Auch der Overhead hält sich in Grenzen; das GroupLayout ist gerade für GUI-Editoren gedacht.

Dennoch, noch besser als NetBeans GUI-Editor ist, wie ich finde, der von IntellJ IDEA. Dort wird der Code, der die GUI erstellt, komplett ausgelagert und erst beim Kompilieren eingebracht. Du gibst im Grunde im GUI-Editor nur an, auf welche Components zu Zugriff haben möchtest, und die stehen dann als Attribute in deiner Klasse; sonst gar kein Code.

Quote:
Ich ziehe es einfach vor, den Code selber zu schreiben und somit komplett selber zu bestimmen, wie das UI am Ende aussieht.
Ich kann mit dem GUI-Editor von NetBeans eigentlich alles machen, was ich auch so machen könnte. Und es beschleunigt den Weg bis zur GUI, die genau so aussieht wie ich möchte, schon erheblich.

Quote:
Klar, ein Form-Designer nimmt viel Arbeit ab, aber man sollte halt dennoch lernen, was da im Hintergrund passiert..
Ja, klar. Aber ein Anfänger muss das, finde ich, nicht unbedingt wissen - zumindest nicht, wie man die GUI erstellt (insb. Layouts). Durch den GUI-Editor kann er so aber trotzdem schon früh mit GUIs "spielen" und sieht (das war mein Punkt) viele OOP "Features" schon in der Praxis.