Welche Programmiersprache für den Einstieg?

Voldemôrd

Welt-Boss
Mitglied seit
24.02.2007
Beiträge
1.334
Reaktionspunkte
1
Kommentare
63
Hallo, ich hoffe jemand hier hat Ahnung davon und kann mir helfen
Ich würde gerne Programmieren lernen, klingt jetzt erstmal nach einer hohlen Milchmädchen Aussage, aber ich würde das gerne lernen mit dem Ziel in 1-2 Jahren ein kleines 2d Spiel zusammengebastelt zu haben, ich finde das sehr interessant zu programmieren und auch eine einfache grafische Oberfläche zu erstellen. Meine Frage dazu wäre, welche Programmiersprache man dazu nehmen sollte? Habe schon ein wenig gegoogelt und bin auf C# gestoßen was eine gute, recht neue Programmiersprache sein soll, mit der man auch solche kleinen spiele und darüber hinaus programmieren kann wenn man sie dann beherrscht. Jetzt wollte ich aber lieber nochmal selber fragen bevor ich anfange irgendeinen Müll zu lernen Also welche Programmiersprache sollte man zu diesen zwecken anfangen zu lernen?? Und wo sollte man sie lernen, also welche Toutorials oder Bücher sollte man sich zu Gemüte führen ?
Vielen dank im voraus
 
da es bei dem thema eh nur subjektive fanboys gibt:

http://www.java-forum.org/
 
Also mit Flash kann man gut Bilder auf Bilder sozusagen legen diese verziehen etc.

Dort gibt es auch Scripts aber ob das ne richtige Programmiersprache ist weiß ich nicht.

Mit C++ wirst du sicher was machen können aber ob das so für Einsteiger gut ist weiß ich nicht.
Außerdem msust du da viel lernen und musst fast alels können bist du mal ein "Spiel" anfangen kannst.
 
Delphi
Java
... oder Visual Basic wenn's sein muß.
 
Als .Net-Entwickler würde ich dir natürlich ganz klar Microsoft .Net empfehlen und da natürlich C#. Aber Java ist auch gut. Mir persönlich gefällt C# aber noch ne Ecke besser, auch wenn es sich sehr ähnlich ist.
Von Visual Basic würde ich abraten. Das hat die grindigste Syntax, die mir jemals untergekommen ist, was aber vielleicht auch daran liegen mag, dass ich mit Java und C# gelernt habe und dann nur noch am kotzen war, als ich in der Firma ein Programm, welches mit Visual Basic geschrieben wurde, anpassen musste. Ich glaube, in unserer ganzen Firma würdest du keinen C#-Entwickler finden, der nicht am liebsten schreiend davon laufen würde, wenn er etwas in Visual Basic machen muss.

Bezüglich C oder C++: Für den Einstieg sicherlich am schwersten, aber du lernst bezüglich der Speicherverwaltung mehr, denn um diese musst du dich noch selbst kümmern.
In Java oder C# macht das der Garbage-Collector für dich. Wenn dann würde ich aber auf jedenfall gleich C++ nehmen. Ich persönlich sehe keinen Grund, warum man mit einer prozeduralen Sprache wie C anfangen sollte. Lieber gleich direkt objektorientiert.
 
Zuletzt bearbeitet von einem Moderator:
Ja, wer ehrgeizig ist, sollte wohl auch mit C++ anfangen. Ist auf längere Sicht schon effektiver, da du unterm Strich mehr mit dem Code machen kannst. Das kann aber auch der Nachteil sein, da du bei einigen Konstrukten schon wissen mußt, was sie machen, selbst nach "Jahren" noch, wenn's mal was am Code zu warten oder zu erweitern gibt. Und deswegen hat C++ schon eine steile Lernkurve, wo ein Einsteiger die ersten Wochen wohl nur Bahnhof verstehen wird.

Es gibt nicht umsonst diese Satire über C: Creators Admit Unix and C was a Hoax
We stopped when we got a clean compile on the following syntax: for(;P("n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);


Ich programmiere zB seit ich 14 Jahre jung war, hab früher viel mit C und ASM gemacht, meine persönliche Lieblingssprache ist dann aber Pascal und inzw. Delphi geworden. Und wenn ich heute in einem C++ Buch oder Code stöbere, verstehe ich an vielen Stellen nur Bahnhof. Und manchmal bereue ich es auch, mich nicht tiefer in C++ reingearbeitet zu haben, da zB ein großer Nachteil von Delphi die fehlende Portierbarkeit auf andere Systeme (Linux, Mac, ...) ist oder du mit Delphi zB nicht einfach so Kernelprogramme (Treiber zB) programmieren kannst. Diese Problem hast du mit C / C++ nicht und Java lässt sich auch gut portieren.

Aber das ist auch der einzige Nachteil. Delphi ist bis heute noch DIE "Rapid Application Development" Umgebung, wenn es darum geht, einfach nur Anwendungen zu entwickeln, ohne sich mit Pointern rumprügeln zu müssen.
 
Zuletzt bearbeitet von einem Moderator:
Wer will den schon Treiber schreiben? Bist du völlig verrückt?
 
vb.net oder C#

Warum:
- Du bekommst die Express Version mit der Du verdammt viel anfangen kannst umsonst
http://www.microsoft.com/germany/express/download/default.aspx
- Du kannst relativ fix sinnvolle Programme machen was auch eine starke Motivation darstellt
- Es ist für Anfänger geeignet

Programmiersprachen unterscheiden sich natürlich, aber hat man eine mal halbwegs drauf dann fällt einem auch ein eventueller Umstieg wesentlich einfacher.
 
also ist c# schon eine gute wahl gewesen oder soll ich doch wie beschrieben mit c++ anfangen und später auf c# umsteigen wegen dem garbage blabla ?
 
Zuletzt bearbeitet von einem Moderator:
Ganz ehrlich: Wir wissen ja nicht was Dir liegt, wie stark Du dich reinhängst, wie begabt Du bist, etc.

Als ich damals am Amiga programmieren wollte hat mir der Bruder von nem Freund was gegeben und ich bin keinen Schritt weitergekommen.
Kein Wunder, der Typ hat sich in Assembler ausgetobt ...
Ich hab dann später mit Amos angefangen, das war paar Stufen drunter aber ich konnte wenigstens mal meine eigenen Spiele schreiben und begreifen wie die Grundfesten vom programmieren aussehen.

Was glaubst Du hat mir mehr geholfen?
 
also ist c# schon eine gute wahl gewesen oder soll ich doch wie beschrieben mit c++ anfangen und später auf c# umsteigen wegen dem garbage blabla ?

Perfekte Wahl. Du kannst damit so gut wie alles machen. So lang du nicht so freakig unterwegs bist, wie Spectrumizer und Treiber entwickeln willst, ist C# perfekt.
Für Treiber wäre dann C++ die bessere Wahl, weil dafür brauchst du unmanaged Code.
 
Treiber brauche ich jetzt nicht unbedingt schreiben Nagut dann geh ich mal auf Toutorial suche für C# =D<br><br>Edit:<br><br>Falls nochmal jemand auf den Thread stößt, hier ist ein Tutorial, einfach auf der Seite auf die Guide Sektion drücken<br><br>www.guidetocsharp.de/<br>
 
Zuletzt bearbeitet von einem Moderator:
Für den Einstieg:

http://openbook.gali.../visual_csharp/

Entwicklungsumgebung:

http://www.microsoft...ermany/express/

Für das Buch brauchst du die Windows-Express-Edition

Wenn du danach auf Web Bock hast, dann zieh dir die Web-Developer Edition und SQL-Express. Spätestens dann solltest du dich auch mit SQL auseinandersetzen.

Bücher über ASP.NET gibt es als Open-Book leider nichts brauchbares. Auf Google-Book findet man zwar alles, aber da verlink ich lieber mal nichts, da die Bücher da 100%ig nicht legal sind.
Suchen würde ich da dann nach Büchern mit ASP.Net 4.0 und C#. Auch sehr interessant und in meinen Augen besser als ASP.Net Webforms wäre, wenn du dir ASP.Net MVC anschauen würdest.

Und wenn du dann immer noch nicht genug hast und dir Web gefallen sollte, dann wären auch Bücher über Webservices sehr interessant.
 
Zuletzt bearbeitet von einem Moderator:
Auch wenn ich nachvollziehen kann, dass man zum Direkteinstieg in objektorientierte Programmierung raet - ich finde schon gute Gruende fuer eine prozedurale Sprache wie C. Man darf halt nicht vergessen, dass Programmierung nicht nur daraus besteht Programme zu schreiben, die auf PCs oder Servern laufen. Embedded C fuer hardwarenahe Programmierung (wo kein OS laeuft) oder Objective-C fuers iOS oder Mac OS X sind weit verbreitete C-Dialekte.
 
Umschwenken kannst Du aber jederzeit. Wer hier ist denn bei seiner ersten Sprache geblieben?
Wichtig ist, dass er erstmal den Einstieg findet (mit etwas das für ihn selbst passt).
 
Zuletzt bearbeitet von einem Moderator:
Natürlich besteht sie nicht nur daraus. Aber nicht jeder Programmierer macht alles. Vielmehr schießt du dich auf etwas ein und versuchst dann, darin wirklich gut zu werden. Ein Web-Entwickler wird sich im Normalfall niemals mit low-level-Kram beschäftigen. Und jemand, der Treiber programmiert, wird sehr wahrscheinlich niemals wirklich viel mit Web zu tun haben. Ich entwickle komplexe Web-Portale für Logistikunternehmen.
Ich tue gut daran, mich mit Sachen wie Web-Services, Ajax, Entity-Framework, SQL und noch vieles mehr zu beschäftigen. Das bringt mich im Leben viel weiter, als mich mit low-level-Programmierung aufzuhalten.
Letzteres wäre einfach nur Zeitverschwendung für mich. Alles kannst du nie lernen. Kein Programmierer kann wirklich alles. Es macht einfach Sinn, sich auf etwas zu konzentrieren und darin aber dann möglichst viel Know-How aufzubauen, als alles nur ein bisschen zu können. Spezialisten in bestimmten Bereichen sind es, die in der Programmierung richtig Kohle einstreichen.

Und das Prinzip der prozeduralen Programmierung ist ja jetzt nicht so das Geheimnis. Obwohl ich mit Java und C# gelernt habe, könnte ich dir dennoch ein Programm schreiben, dass prozedural programmiert ist.
Damit verstehe ich natürlich noch nicht sonderlich viel von hardware-naher Programmierung. Aber wie gesagt, da wo meine Reise hingeht, da werd ich es sehr wahrscheinlich niemals brauchen.
 
Sog. "Low-Level" Programmierung (aka assemblerähnliche Sprachen) bestimmen z.b. das Sondermaschinengeschäft.

Als kleine Info, unter 100 Euro/h kriegt man da keinen Programmierer her.
(in dem Bereich war ich auch ne Weile tätig)

Das pauschal zu sagen "kleinvieh bringt mir nix" halte ich für gefährlich.

@TE
Je nachdem wie tief Du reinwillst... Java ist recht handzahm und schön erlernbar.
Um C wirst nicht rumkommen, wenn Du "richtig" programmieren willst.

Qt ist ein tolles Framework, .net geht auch. C# ist halt MS-spezifisch, musst also selber wissen.
 
Das pauschal zu sagen "kleinvieh bringt mir nix" halte ich für gefährlich.

Das sag ich nicht pauschal, sondern aufgrund meiner Erfahrung. Mich persönlich hätte es bisher nicht weitergebracht. Es wäre verschwendete Zeit gewesen.
Es gibt für mich wie gesagt genug zu lernen. Ich arbeite 10-12 Stunden täglich und könnte, wenn ich bei allem, was für mich relevant ist, up-to-date bleiben will, meine komplette Freizeit damit verbringen, irgendwelche Bücher
zu wälzen. Was soll ich mich da mit Assembler rumschlagen? In meinen Augen total sinnlos. Klar kannst du als solcher gut Kohle machen. Das kannst du aber als jemand, der richtig Ahnung von Datenbanken hat auch.
Jetzt nur mal so als Beispiel. Und davon werden die wenigsten sich schon mal intensiv mit Assembler befasst haben.

Mir gefällt auch dein Vergleich mit dem "Kleinvieh" nicht. Ich habe maschinennahe Programmierung nicht als Kleinvieh bezeichnet. Vielmehr geht aus meiner Aussage hervor, dass es eben eine Sache für sich ist.
Damit kann man sich beschäftigen, aber dann richtig. Etwas anzukratzen bringt nicht sonderlich viel. Bevor ich mich aber intensiv mit etwas wie Assembler befasse, was ich noch nie gebraucht habe, befasse ich mich lieber mit Dingen,
die ich in der Arbeit verdammt oft brauche und versuche diese zur Perfektion zu bringen. Wie gesagt: kein Programmierer kann alles wirklich gut. Wenn das einer sagt, labert er Müll. Meiner Erfahrung nach bist du als Programmierer
aber nur gefragt, wenn du irgendwo richtig gut bist. Und das kann alles mögliche sein. In allem aber richtig gut zu sein, wirst du niemals schaffen.

Außerdem bleibt da auch noch die Frage, was ich denn eigentlich machen möchte. Geld allein ist für mich nicht alles. Ich möchte Spass bei der Arbeit haben. Das ist mit Geld nicht aufzuwiegen in meinen Augen.
Deswegen hab ich mich nun mal für das entschieden, was ich gerade mache.
 
Zuletzt bearbeitet von einem Moderator:
Bei uns in der Firma gibt es 2 Entwicklungsabteilungen.

1. Geräteentwicklung inkl. Firmware
Da wird mit C++ auf Mikrocontrollern, DSP, Touchscreenansteuerung & Co. entwickelt.

2. PC Software (da gehöre ich dazu)
Wir entwicklen mit C#, .NET 4.0, EF, SQL Compact / SQL Server, DevExpress.

Ich seh bei den Geräteentwicklern nicht wirklich durch und die sehen bei uns nicht wirklich durch.

Jeder hat halt seine Spezialgebiete.

.NET Compact Framework oder gar Windows Embedded sind dann auch wieder andere Welten.

Ach ja, ein anderer entwickelt mit J2ME, weil das Modem, mit dem wir arbeiten, nur J2ME unterstützt.

Echt toll.
 
Zurück