therayen
Goto Top

Welche Programmiersprache?

Erst mal ein freundliches "Hallo" an alle hier im Forum.

Hallo,
Ich stehe momentan vor einer Frage vor der jeder Programmierer irgentwann einmal gestanden ist :
"Welche Programmiersprache soll ich lernen?". Ich habe mich zwar schon seit längerer Zeit im
Internet über die verschiedensten Programmiersprachen informiert aber ich blicke bis jetzt noch nicht
wirklich durch dieses riesige Wirwar an verschiedenen Sprachen, Programmen... .
Bis jetzt kenne ich mich eigentlich nur mit den zwei Scriptsprachen Batch und VBscript aus, mit deren
Hilfe ich mir schon so einige nützliche kleine Programme geschrieben habe. Doch jetzt würde ich mich
gerne mit einer richtigen Programmiersprache auseinandersetzen.
Ich möchte mich aber auch nocht nicht wirklich auf einen bestimmten anwendungs Bereich festlegen,
da ich mir noch eine Weile alle Möglichkeiten offen halten möchte.
Deshalb würde ich gerne wissen ob ihr mir vileicht eine Sprache ( + programm) empfehlen könnt, mit
der ich einen guten Einstieg in`s "richtige" Programmieren bekomme.

Danke schon mal im Vorraus für eure Hilfe,

the Rayen

Content-Key: 145198

Url: https://administrator.de/contentid/145198

Printed on: April 25, 2024 at 03:04 o'clock

Member: wiesi200
wiesi200 Jun 19, 2010 at 15:24:49 (UTC)
Goto Top
Das Problem ist aber das du dich zuerst mal auf irgendeine Richtung festlegen solltest.
Denn jede Programmiersprache hat seine stärken und schwächen.
Member: theRayen
theRayen Jun 19, 2010 at 15:32:02 (UTC)
Goto Top
Danke für die schnelle Antwort
Wenn ich es mir genau überlege würde es mir für den Anfang reichen, wenn
ich mit der Sprache einfache Programme für Windows schreiben könnte.
Also keine Spiele oder Webanwendungen.

Ist das genau genug?

theRayen
Member: wiesi200
wiesi200 Jun 19, 2010 at 15:39:46 (UTC)
Goto Top
Dann würd ich auf Visual Basic oder C# gehen.
Dazu gibt's von Microsoft die Visual Studio Express Edition's

Sicher gibt's aber auch andere Meinungen dazu
Member: theRayen
theRayen Jun 19, 2010 at 16:29:32 (UTC)
Goto Top
Ist Visual Basic nicht kostenpflchtig?
Habe vergessen zu erwähnen, dass
die Sprache+Programm kostenlos sein sollte.

the Rayen
Member: bastla
bastla Jun 19, 2010 at 16:42:42 (UTC)
Goto Top
Hallo theRayen und willkommen im Forum!
Ist Visual Basic nicht kostenpflchtig?
Nicht in der von wiesi200 vorgeschlagenen Express Edition ...

Grüße
bastla
Member: wiesi200
wiesi200 Jun 19, 2010 at 16:45:57 (UTC)
Goto Top
Die Express Version ist kostenlos.

Wobei es auch ohne Visual Studio ginge
Mitglied: 86263
86263 Jun 19, 2010 at 17:00:53 (UTC)
Goto Top
Hier ein Download-Link für C# Express und VB Express: http://www.microsoft.com/germany/express/products/windows.aspx
Member: theRayen
theRayen Jun 19, 2010 at 17:06:46 (UTC)
Goto Top
Danke für den Link DGzRsBorkum. Ich werde mir jetzt Visual Basic herunterladen.
Kennt ihr gute Internetseiten oder tutorial`s über VB.

theRayen
Mitglied: 86263
86263 Jun 19, 2010 at 17:11:16 (UTC)
Goto Top
Im Kanal von Sempervideo gibt es einige Tutorials zu VB. Einfach mal nach VB suchen. Oder aber auch das hier ist nicht schlecht.
Member: theRayen
theRayen Jun 19, 2010 at 17:22:41 (UTC)
Goto Top
Nochmal danke an alle die mir so schnell geantwortet haben.
Ihr wart mir echt eine gute Hilfe
Ich glaube der Treat kann geschlossen werden...

theRayen
Member: maretz
maretz Jun 19, 2010 at 17:31:02 (UTC)
Goto Top
Moin,

ich möchte das jetzt erstmal auf ein anderes Level bringen. Ich behaupte nämlich das es egal ist welche Sprache du lernst. Wichtig ist erstmal sich für eine Sprachfamilie zu entscheiden. Grob unterscheide ich mal 4 Klassen:

a) Assambler. Sehr hardwarenah. Hier programmierst du dann wirklich in Maschinenbefehlen. Wird heute in sonderfällen noch eingesetzt - aber für Windows-Anwendungen recht ungeeignet.

b) Script-/Beschreibungssprachen: HTML, PHP,... Hier hast du eine rel. einfache Einstiegsmöglichkeit. Ist für Anwendungen zwar eher ungeeignet aber die Grundlagen der Programmierung lernt man auch mit PHP schon ganz gut. Ebenfalls gibt es genug Hilfe im Web.

c) Hochsprachen: Java, C++, Visual ... Sind natürlich für Anwendungen geeignet - allerdings für Anfänger manchmal recht frustrierend zum Anfang. Denn der Compiler kotzt einen zimlich was vor die Füße.

d) KI-Sprachen (Prolog u.ä.): Kann man lustige Dinge mit machen - aber ich finde das die schon zimlich Pervers sind ;).

So - bevor du dich jetzt hinsetzt und sagst: Hey, ich werde Programmierer! würde ich mal empfehlen das du dich damit auseinander setzt wie ein Programm entsteht. Denn Programmieren kann ich nem Affen beibringen - GUT zu Programmieren ist dagegen schwer. Denn dann schreibt man nicht nur 08/15 den Quellcode - sondern guckt wie man das richtig machen kann... Sei es mit Stichworten "Objekt- vs. Funktionsorientiert", sei es mit "Schnittstellen für die Codewiederverwendung" usw.. Ich mache das mal mit nem Beispiel deutlich: Du schreibst ein Programm welches aufgrund eines eingegebenen Wertes eine komplexe Berechnung durchführt. Klar - Editor geöffnet, Code reingehackt und fertig. Alle Glücklich. 2 Wochen Arbeit (davon 1 Woche Planung, 3 Tage Programmierung und 2 Tage Test) den Kunden in Rechnung gestellt - Kohle kommt. Nach 4 Wochen kommt Kunde 2 - und braucht ein Prog welches nahezu dasselbe berechnet. Ohne Wiederverwendung: 3 Tage Planung, 3 Tage Programmierung, 2 Tage Test. Wenn du aber den Code 1 jetzt gut geschrieben hast dann kannst du Teile davon wiederverwenden - und schon kommst du ggf. auf 3 Tage Planung, 1,5 Tage Programmierung, 1,5 Tage Test (du hast den Code ja schon getestet - also brauchst du den Teil nicht erneut machen).

Wenn du diese Dinge dann hast dann kannst du dich mit der eigentlichen Sprache auseinandersetzen. Dabei würde ich heute auf Java oder C++ setzen. Vorteil: Man kann ne ganze Menge damit machen - und wenn man diese Sprachen kennt kann man auch schnell auf andere Sprachen wechseln (die in dieselbe Familie gehören). Dabei lohnt es sich dann wenn man auch für kleine Übungsdinge sich die Planung antut - zum einen eben FÜR die Übung und zum anderen sieht man schnell wieviel Aufwand da wirklich hinter steckt. Es bringt ja wenig wenn du heute auf die Idee kommst "Ich schreib nen Warenwirtschaftssystem" - aber keine Ahnung hast wie nen Auftrag überhaupt auszusehen hat. D.h. hier brauchst du dann auch konkrete Ideen WAS du programmieren willst. Dann kann man sich auch überlegen mit welcher Sprache das genau geht. Nehmen wir an du nimmst ne Hochsprache und ne Anwendung dann kannst du nahezu alle Anwendungen in nahezu jeder Hochsprache schreiben. Nur: Mit einer Sprache kommst du schneller als mit ner anderen zum Ziel. Möchtest du z.B. Plattformunabhängigen Code schreiben ist das mit Java leichter als mit C++. Liegt einfach daran das du bei Java die JVM hast die auf der Ziel-Plattform das ganze für dich übersetzt - (fast) egal ob nun PC, MAC, Mobiltelefon oder was auch immer. Aber diese Stärke ist auch gleichzeitig die große Schwäche: Einen direkten Zugriff auf die Hardware wirst du mit Java eher schlecht bekommen - mit Java auf den COM-Port zuzugreiffen ist zimlich pervers. Möchtest du also hochperformanten Code schreiben dann bringt Java eher wenig - bei C++ kann ich den Compiler noch etwas helfen und bei der Übersetzung auf die Maschine anpassen - bei Java macht es wenig sinn weil die JVM ggf. nicht optimal läuft. Und jetzt werde ich doch nochmal ganz pervers: Nehmen wir an du möchtest eine eigene CPU bauen. Hier kannst du zwar Java nutzen (ich glaub die ARM-Cpus haben ne JVM direkt auf dem Chip) aber dann müsstest du immernoch eine spezielle CPU nehmen. Wenn du nur nen FPGA programmieren möchtest dann kannst du das in VHDL tun - und dort definieren wieviel Cache du ausgibst, welche Befehle du unterstützen willst usw... Da merkt man dann warum es schwer ist wenn man von einer der o.g. Klassen in eine andere wechselt - VHDL wäre eher im Bereich Assambler anzusehen und hat mit einer normalen Hochsprache nur sehr wenig zu tun...

Du siehst - welche Sprache ist nicht so einfach zu beantworten. Es gibt ne ganze Menge sprachen -und fast alle haben ihre Berechtigung. Mal für Sonderfälle (z.B. Assambler), mal sind die für alles mögliche da. Es ist aber nicht so wichtig welche Sprache du lernst - da die alle ne gewisse Ähnlichkeit haben. Ob du nun in Java
for (int i=0; i<500;i++) {...}
schreibst oder das in ner anderen Sprache ist egal. Das sieht in Java so aus, in C++ siehts so aus und in VBA siehts so oder ähnlich auch aus. Möchtest du ne Ausgabe machen kannst du in Java
System.out.println("xyz");
machen... In C++ wäre es dann halt nen cout oder printf. Nen anderer Befehl - aber wenn man den Ablauf des Progammierens verstanden hat ist das auch kein Thema. Das ist dann wie bei normalen Sprachen: Wenn du die Grammatik verstanden hast sind die Worte leicht zu lernen. Verstehst du aber die Grammatik überhaupt nicht dann kannst du zwar die Wörter einer Sprache lernen - raus kommt dann aber "Ich möchte diesen Teppich nicht kaufen....". Der Unterschied: In der Werbung bekommst dafür trotzdem das gewünschte Bier - beim Rechner kotzt der Compiler dir erstmal Seitenweise Fehlermeldungen aus...
Member: CadelPigott
CadelPigott Jun 21, 2010 at 07:51:03 (UTC)
Goto Top
Hallo TheRayen,

ich möchte deine Wahl programmieren zu lernen nicht in Frage stellen.
Trotzdem frage ich mich welche Programme du erstellen möchtest die die Welt noch nicht gesehen hat. Für komplexere Probleme gibt es meistens professionelle Lösungen an denen ein ganzes Heer an Programmierern arbeitet.

Ohne deinen Enthusiasmus bremsen zu wollen, behaupte ich, dass du da nur schwer mithalten kannst face-smile
Für kleinere Anwendungen scheint mir die Anwendung von Hochsprachen (wie es mein Vorredner so schön nannte) für übertrieben.
Ich persönlich beherrsche zwar einigermaßen C++ aber hab´s in meiner beruflichen Laufbahn eher selten gebraucht.

Für die oben genannten "kleineren Anwendungen" habe ich AutoIT für mich entdeckt.
Es ist zwar nur eine "perverse Scriptsprache", kann aber alles was man für den Alltag benötigt. Datenbanken, DLL´s, .....

Gruß
Cadel
Member: maretz
maretz Jun 21, 2010 at 09:58:41 (UTC)
Goto Top
@cadel:

Sorry - das sehe ich komplet anders. Ich programmiere für meine Firma nahezu jeden Tag - das sind dann "kleine" Anwendungen die eben die tägliche Arbeit erleichtern. Z.B. ein Fahrplanmodul oder nen Ratenblatt. Klar - kann man auch alles in Excel machen. Aber mit ner DB im Hintergrund können auch andere Büros darauf zugreiffen. Und natürlich könnte man sich sowas auch immer zukaufen. Aber: Dann hast du nen Standard-Produkt welches zu 70% passt und die anderen 30% nicht kann. Beim selber bauen hast du ein Produkt welches zu 100% passt und ggf. auch noch erweiterbar ist.

Weiterhin hast du es bei nem eigenem Programm selbst in der Hand was du machen willst und wie das mit anderen Dingen zusammenspielt. Bei deinen "professionellen Lösungen" hast du dagegen das Problem das Software A leider den Export in SW B nicht zulässt und schon wieder eine Person vorm Bildschirm die Daten manuell von A nach B bringt. Nehmen wir nur mal ein simples Beispiel: Du möchtest auf deiner Webseite die Ansprechpartner der Firma veröffentlichen. Entweder holst du dir hier wieder eine komplexe Lösung ins Haus die wieder einzeln manuell gepflegt werden muss - oder du verbindest das gleich mit der User-DB deiner Anwendung die du selbst schreibst. Schon aktuallisiert sich die Webseite ganz automatisch wenn du nen User anlegst oder löscht. Nun - kennst du eine Prof. Software zum Arbeiten die gleich eine solche Anbindung realisiert? Das PHP-Script zum Auslesen der User ist mal grad nen paar Zeilen lang - aber ne gekaufte Anwendungs-SW hat selten das Feature das du ein Bild hochladen kannst.

Und was das "nur schwer mithalten" betrifft: Sorry, auch das Systemhaus kocht nur mit Wasser. Warum sollte man da so nicht mithalten können? Klar - ein komplexes Programm selbst schreiben kostet sehr viel Zeit - keine Frage. Hier kann es auch Sinn machen das man sich was kauft. Aber grad kleine "Hilfsprogramme" kann man recht schnell bauen - und je nachdem was man da alles hat dann sinnvoll verbinden. Z.B. o.g. User-DB kann man mit ner EDV-Verwaltung gut verbinden. Schon weiss ich mit einem Klick welcher User welchen PC hat, wann der gekauft wurde und welche Ausstattung der hat. Nun - mehr Optionen? Nehmen wir mal "just for fun" an du hast eine Telefonanlage wie die Asterisk. Dort kannst du via Management-Interface problemlos Anrufe initiieren. Ich weiss welcher User grad angemeldet ist, wenn man eine kleine Kunden-DB zur Verfügung hat kann man auswählen wen man anrufen will (d.h. ich hab auch die Tel-Nr) -> also kann ich den Anruf aufbauen. Auch da hast du wieder ein Problem bei fertiger SW: Welche kann das? Eher weniger -> und noch unwahrscheinlicher ist es das die SW dann die Kunden-DB genauso hat wie ich die brauche...

Also von daher würde ich nicht sagen das Programmierkenntnisse unnötig sind oder man da nicht viel mit machen kann. Klar - wenn man nicht will ist das kein Ding. Aber wenn man die ersten 1-2 Anwendungen für die Firma geschrieben hat und die Kollegen plötzlich merken das es auch komfortabler als mit Excel und Co. geht dann sind diese kenntnisse schnell ganz hoch auf der "gefragt-Liste"...