Programmierung-Newbie - Welche Sprache lohnt sich?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Servus Community,

    seit September 2013 lerne ich in meiner Ausbildung den Beruf zum IT-System-Kaufmann.
    Bis in 3 Monaten lernen wir leider noch nicht all zu viel über Programmierung. Dort werden wir HTML, Java, SQL und (C oder C++ oder C#) lernen.

    Im Betrieb sehe ich leider noch nicht all zu viel von Programmierung, da dass betrieblich auch erst für das 2. Ausbildungsjahr vorgesehen wird.

    Dementsprechend habe ich auch keine Programmierfähigkeiten oder kann die einzelnen Sprachen sinngemäß mit Wissen füllen.

    Nun warum ich hier bin...es gibt wirklich viele Tutorials, Anleitungen, usw. welche wohl (teilweise) viel Wissenswertes lehren. Ich würde mir gerne Anhand dieser Tutorials und diverser Lern-Bücher die Grundkenntnisse von Programmierung beibringen.
    Was mich nun interessieren würde, welche Programmiersprache (auf Eigenerkundung) sich für den Einstieg lohnt und welche auch für den späteren Berufsalltag (noch) von Bedeutung sind. Natürlich könnte ich auch einfach meinen Ausbilder fragen, mich würde nun nur gerne mal auch eure Meinung interessieren.

    Nun...falls es überhaupt jemand bis zum Schluss liest, was meint ihr? :helpnew:

    PS: Newbie :s:thumbs1:

  • Programmierung-Newbie - Welche Sprache lohnt sich?? Schau mal ob du hier fündig wirst!


  • ,.... Dort werden wir HTML, Java, SQL und (C oder C++ oder C#) lernen.

    Nun...falls es überhaupt jemand bis zum Schluss liest, was meint ihr? :helpnew:

    http://raspberrycenter.de/handbuch/liste…en-raspberry-pi

    zum Lernen eignen sich viele, nimm die die dir liegt, aber oben sagtest du ja schon

    vermutlich C

    geany ist nett, gcc wird gerne genommen und nutzt dir später vielleicht auch wenn du mehr mit anderen Controllern machen willst, Atmel, PIC

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    • Offizieller Beitrag

    Die erste Sprachen die du lernen solltest ist: Englisch. Wenn das halbwegs geht, sprich man sich sowas durchlesen kann ohne jedes 2. Wort nachschlagen zu müssen, dann ist es an der Zeit sich Gedanken über ne Programmiersprache zu machen. Python bietet einen guten Einstieg.

    Alles in allem macht es Sinn, sich mit der Sprache zu beschäftigen, welche man später auch beigebracht kriegt. Allerdings birgt dies auch die Gefahr das man dem Unterricht nicht mehr folgt, weil man sich langweilt. ;).

  • Servus,

    Danke schon mal für die Beiträge. :thumbs1:

    Mein Englisch ist zwar bröckelig, werde ich aber noch dran feilen :angel:

    Gibt es eigentlich eine "Haupt-Programmiersprache"? Also so die Grundlage aller anderen Sprache?
    Ist es schwierig, von einer Programmiersprache sich in eine andere Programmiersprache einzuarbeiten?
    Also wenn ich mir nun z.B. Java gut aneigne, später aber doch C++ benötige?

    Anfangen werde ich wohl mit einem dieser Bücher:

    http://www.amazon.de/C-von-Kopf-bis-Fu%C3%9F/dp/386899386X/ref=pd_sim_b_8?ie=UTF8&refRID=09AD47YP3E2EC9PF0ZMW&tag=psblog-21 [Anzeige]

    http://www.amazon.de/HTML-CSS-von-Kopf-bis/dp/3868999345/ref=pd_sim_b_11?ie=UTF8&refRID=09AD47YP3E2EC9PF0ZMW&tag=psblog-21 [Anzeige]

    http://www.amazon.de/Java-von-Kopf-bis-Fu%C3%9F/dp/3897214482/ref=wl_it_dp_o_pC_nS_nC?ie=UTF8&colid=27X8FCEF5UYII&coliid=I157OPF7H4RMN0&tag=psblog-21 [Anzeige]

    http://www.amazon.de/Softwareentwicklung-von-Kopf-bis-Fu%C3%9F/dp/3897218623/ref=pd_sim_b_12?ie=UTF8&refRID=09AD47YP3E2EC9PF0ZMW&tag=psblog-21 [Anzeige]

    Laut meinem Arbeitskollegen (wo ich kostenlos das Java-Buch ausleihen kann) sollen die Bücher ziemlich gut sein. Er fand das lernen damit zumindest einfacher als nur in der Schule.

    Meint ihr das taugt was? Nach Bewertungen zufolge ist es ja anscheinend "nicht schlecht".

    Einmal editiert, zuletzt von Zeymah (29. April 2014 um 19:25)

    • Offizieller Beitrag

    Noch wichtiger als ein Buch (ich mag zwar Bücher sehr, fürs Programmieren in Zeiten des Internets imho ungeeignet) ist ein passendes Projekt. such dir Irgendwas aus was du bauen/programmieren willst, sonst endet das spätestens auf Seite 5 (bei java schon nach dem Buchtitel :fies: ) im fiasko ;)

  • Mit Java, C++ und HTML/CSS haste schon ordentliche Sprachen an der Hand.

    Das Internet/YouTube bieten auch genug Wissen/Tutorials um sich programmieren selber bei zu bringen. Ein paar ordentliche Bücher sind natürlich auch nicht zu vernachlässigen.

    Ich denke es wäre eventuell sinnvoll wenn du auch die Sprachen nimmst die im Studium drankommen. Das würde dir vermutlich sehr helfen und dir generell einen Vorteil bringen. Kann, wie "dbv" schon sagte, dann aber auch im Unterricht langweilig werden. Die Zeit könntest du dann aber nutzen um irgendwelche Projekte/Aufgaben besser als die Anderen zu machen.

    Im Grunde eignet man sich mit einer Programmiersprache auch extrem viel Wissen/Grundlagen an um andere Programmiersprachen schnell zu lernen. Es gibt dann schon Unterschiede. Im Gegensatz zu Java hat man beim C-Zeug Pointer und das Speichermanagement worum man sich kümmern muss. Das sind so Dinge wo man sich dann wirklich reinarbeiten muss. Aber die meisten grundlegenden Sachen/Konzepte sind da schon ähnlich.

    Ganz wichtig ist auch, dass du selber Zeug programmierst und dabei lernst. Übung macht den Meister. Such dir Dinge aus die du machen möchtest und die dir was bringen. So Sachen wie der Raspberry Pi sind aus meiner Sicht gut geeignet. Man kann einen eigenen Server aufsetzen, eigene Webseite, eigene Datenbank, man darf sich mit Netzwerksachen (IP-Adressen, Router, Ports) rumschlagen und du kannst auch eigene Anwendungen schreiben, die mit den PI irgendwie kommunizieren oder auf den Pi laufen. Ich denke da lernt man schon sehr viel.

    Edit: Falls man bisher Windows Nutzer war ist der PI sicher auch keine schlechte Idee.
    Raspberry PI: für Informatik Studenten aus meiner Sicht EXTREM hilfreich und eine gute Möglichkeit viel zu lernen und zu machen.

    Einmal editiert, zuletzt von MrWagner (29. April 2014 um 19:58)

  • Ja hallo Zeymah,

    als IT-Kaufmann wirst Du vermutlich, wenn überhaupt, wohl eher nur oberflächlich mit Programmen befasst sein. Unter diesem Gesichtspunkt würde ich z.B. eine technisch orientierte Programmiersprache wie C oder Assembler ausschliessen. Es sei denn, Du möchtest da nebenbei in Deiner Freizeit tiefer einsteigen.
    Tja, und so weh mir das jetzt tut ( =( ), aber gerade für den RPi würde ich mit Python starten.
    Was Du nicht unterschätzen solltest ist der Sourcecode anderer Entwickler. Hier kannst Du eine Menge lernen - nicht nur Tipps und Kniffe, sondern es ist - finde ich zumindest - immer wieder spannend, was andere Entwickler so fabrizieren.
    Wenn Du Dir die Programmiersprache aussuchen kannst, dann ist es zudem wichtig, dass Dir die Sprache liegt und es Dir wirklich Spass und Freude bereitet, damit etwas zu realisieren.

    Tja, viel kann ich sonst dazu nicht sagen, ausser dass es einmal zwei Buchreihen gegeben hat, die diverse Kollegen von mir gut gefunden haben ( ich persönlich halte nicht so übermäßig viel von Büchern in diesem Zusammenhang ) - das war die Reihe ... in 21 Tagen [Anzeige] und die Reihe ... für Dummies [Anzeige].
    Diese Bücher gabs/gibts für alle möglichen und unmöglichen Programmiersprachen, wie Assembler,Basic, C++, Java ...

    cheers,
    -ds-

    • Offizieller Beitrag

    /me reicht -ds- ein Taschentuch um die Tropfen seines blutenden Herzens aufzuwischen ;).

    Zum Anfang ist es ja noch wirklich einfach, es sieht alles gleich aus und man ist noch unvoreingenommen. Probier einfach mal ein paar aus, das was dir am meisten liegt und du am schönsten findest (z.B. weil man kaum nervige { Klammern brauch oder ; :cool: ) schaust du dir intensiver an.

  • Hallo Zeymah,

    eine andere Annäherung an Programmiersprachen besteht darin, sich Quellcode anzuschauen. Du wirst dann ganz schnell feststellen, die eine gefällt Dir, weil Dir die Befehle und die Struktur "liegen" - bei anderen verstehst Du auch die einfachsten Programme nicht.

    Von den einen Programmiersprachen möchtest Du mehr lernen - die anderen meidest Du.

    Letztlich wirst Du Dich entscheiden müssen, ob eine C-ähnliche oder eine pascal-artige Sprache das Rennen macht.

    Was Du auch berücksichtigen solltest: Es gibt viele sehr mächtige Programmiersprachen und umfangreiche Programmiertools, die auf den üblichen PCs richtig schnell sind - auf dem Raspberry Pi aber qualvoll langsam.

    Wenn Du bevorzugt auf dem Raspberry Pi programmieren lernen willst, dann solltest Du Dich mehr mit den Sprachen beschäftigen die auch mit geringen Ressourcen klarkommen.

    Und schließlich gibt es Programmiersprachen, bei denen Du nur einfache Programme ohne Handbuch-Studium auf die Reihe bekommst. Dagegen sind Programmiersprachen ganz reizvoll,, deren Befehlssatz überschaubar ist - und Du nur bei speziellen Themen in Handbüchern blättern musst.


    Was ich in dem Zusammenhang interessant finde: Jede Generation von Programmierern lernt "ihre" Sprache. Die Leute, die vor 30 Jahren irgendwelche Systeme inbetriebnahmen, werden auch heute noch mit Wartung und Anpassungen beauftragt. Eine Generation danach hat solche Sprachen niemand mehr gelernt - keiner der heutigen Absolventen / Fachinformatiker funkt dort dazwischen. Mein Eindruck ist der, dass diese Tradition fortgeführt wird - mit immer wieder neuen Sprachen und Sprachkonzeptten.

    Ach so, meine Lieblingssprache ist Icon (auf dem Raspberry Pi, Icon bzw. Lazarus (unter Ubuntu) - und Delphi unter Windows.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (29. April 2014 um 20:23)

  • Also vom Raspberry bin ich zwar echt begeistert und würde mir gerne einen kleinen Medienserver einrichten, habe aber dafür wirklich nicht das Wissen.

    Programmieren möchte ich eigentlich auf dem PC, bzw. unter Windows/Linux lernen.

    Wenn ich es bisher richtig verstanden habe, ist es nicht wirklich von Bedeutung welche Programmiersprache ich zuerst lerne. Hauptsache ich komme damit gut zurecht?

    Nun..ich würde wohl mit Java anfangen.
    Den Quellcodes zufolge kann ich mich nicht wirklich entscheiden...ist alles (noch!) alles wirres zeug.

    Was sich später so entwickelt, ist wohl auch Arbeitsabhängig - oder wie sieht es da aus?

  • > Also wenn ich mir nun z.B. Java gut aneigne, später aber doch C++ benötige?
    Der Umstieg von Java auf C++ ist EXTREM HART weil man sich bei C++ um vieles
    kuemmern muss, was sich ein Java-Programmierer nie ueberlegt !

    Mit C++ 11 ist es zwar besser geworden, aber immer noch HART.

    Braucht denn ein IT-System-Kaufmann wirklich C oder C++ ? Nicht dass ich das
    schaedlich finden wuerde, aber C und C++ ist eher fuer embedded Systems.

    Gut zu lernen sind Java oder C#, wahrscheinlich auch Python.

    Fuer Java empfehle ich "Java lernen mit BlueJ" ISBN 978-86894-907-0. Ganz einfacher,
    fast spielerischer Einstieg mit vielen einfachen Uebungsaufgaben (der ernste Teil kommt
    auch nicht zu kurz ;)

    Englisch zu lernen schadet sicher auch nichts.

  • Bei Java hab ich etwas die Befürchtung, dass man es eventuell C++ vorzieht falls man mal was programmieren möchte.

    Java ist für Einsteiger sicher sehr gut, aber die Sprache könnte sich wegen der Einfachheit dann zu einer Art "Lieblingssprache" entwickeln und C++ lässt man dann Links liegen wenn es um private Projekte geht. Es kommt auch drauf inwieweit du C++ im Studium oder später brauchst. Falls C++ Bestandteil des Studiums ist würde ich auch früh damit anfangen und nicht erst nachdem man längere Zeit mit Java programmiert hat. Der Umstieg von C++ auf Java wäre es sicher leichter als von Java auf C++, ist auch so ein Punkt den man beachten könnte.

  • Servus Leute,

    Danke für eure Beiträge.

    Also welche "C-Sprache" (C, C++ oder C#) ich genau in der Berufsschule lerne, muss ich morgen mal nochmal fragen.

    Wenn der Umstieg von Java zu C++ so schwer sein soll, fange ich mal mit C++ an. Sollte wohl schwerer werden - aber lieber jetzt schwer, als dann der Umstieg.

    Und wenn ich es richtig aufgenommen habe, ist C++ eine eher anspruchsvolle Programmiersprache?

    Kann man von C++ auch leichter auf andere Programmiersprachen umsteigen?

  • Wenn man einmal begriffen hat, was Programmiersprachen sind und wie sie funktionieren, dann kann man immer "umsteigen".

    Und es gibt so viele schöne! :D

    Zum Beispiel "Brainfuck".
    Das heißt nicht nur so, das wirkt auch so.

    Oder am anderen Ende "Forth".
    Welches übrigens meine Lieblingssprache ist.
    Auch wohl, weil sie keine Syntaxregeln hat, außer:
    "Worte müssen durch Whitespaces voneinander getrennt werden."
    Selbst das wäre änderbar, würde dann allerdings dem "Prinzip der geringsten Verwunderung" widersprechen.

    Mein Tipp:
    Beiße dich nicht fest. (weder an C++, noch an Java)
    Mach ne Spassnumer draus.
    Du hast die Chance zu lernen, nutze sie.

    spruch.png

  • Wenn der Umstieg von Java zu C++ so schwer sein soll, fange ich mal mit C++ an. Sollte wohl schwerer werden - aber lieber jetzt schwer, als dann der Umstieg.


    Würde ich nicht machen. Als Anfänger kämpft man zu Anfang mit Problemen wie man was Codiert und wie man einen Algorithmus erstellt. Bei C++ hast Du dann noch eine zweite Front - die der C++ syntaktischen und semantischen Eigenheiten - an der Du kämpfen musst. Die Frage ist auch ob es C++ sein muss oder nicht C ausreicht. Willst Du gleich mit Klassen und allem, was zur Objektorientierung dazugehört, anfangen?

    Erfahrungsgemäß ist eine interpretative Sprache wie z.B. python besser geeignet zum Einstieg in die Programmierwelt als eine Compilersprache wie C/C++ und Java.

    Zitat

    ...Und wenn ich es richtig aufgenommen habe, ist C++ eine eher anspruchsvolle Programmiersprache?...

    Nein, aber man sollte sich schon mit einer anderen Programmiersprache auskennen wenn man damit anfängt. Das macht es alles wesentlich leichter C++ zu lernen. Dann hast Du nur noch eine Front - die C++ Eigenheiten.

    Zitat

    ...Kann man von C++ auch leichter auf andere Programmiersprachen umsteigen?...

    Wenn man mal die Grundkonzepte einer Programmiersprache verstanden hat ist es egal von welcher Sprache Du kommst und wohin Du gehst. Schwierig wird es, wenn Du eine prozedurale Sprache gelernt hast und dann eine objektorientierte Sprache lernen willst. Das sind ganz andere Konzepte. Ich kann nur jedem empfehlen mit einer objektorientierten Sprache wie python oder Java anzufangen. C++ ist zwar auch eine OO Sprache ... aber wie oben schon geschrieben würde ich damit nicht anfangen.

    • Offizieller Beitrag
    Zitat

    Java ist für Einsteiger sicher sehr gut, aber die Sprache könnte sich wegen der Einfachheit dann zu einer Art "Lieblingssprache"

    bitte was? Als nächstes kommt noch das Java eine der performantesten Sprachen ist die es gibt ;). Java zwingt einen sofort in den OOP Zweig, was man als Vorteil erachten kann....wenn ich schon diese Textwüste sehe, die man benötigt um die serielle Schnittstelle abzufragen, kann von Einfachheit keine Rede sein.

  • Ja framp, :thumbs1:


    ...
    Die Frage ist auch ob es C++ sein muss oder nicht C ausreicht.
    ...

    wow ...
    nun - vielleicht noch eine Anmerkung. C ist sensibler als C++, weil Du alle belegten Resourcen explizit wieder freigeben musst. Das braucht man bei C++ meist nicht.
    Aber das hat auch einen Vorteil: man gewöhnt sich einen sauberen Programmierstil an.

    cu,
    -ds-

  • ...nun - vielleicht noch eine Anmerkung. C ist sensibler als C++, weil Du alle belegten Resourcen explizit wieder freigeben musst. Das braucht man bei C++ meist nicht...

    C++ hat standardmässig keinen GarbageCollector. D.h. Du musst da genauso wie bei C sehr aufpassen. Oder ist das in C++ 11 mittlerweile drin?

  • Hi,
    also so weit ich das weiss gibts den nicht, aber ich meinte eher die Geschichte mit den Destruktoren.
    Wenn Du ein Objekt eliminerst kümmert sich imho c++ drum, das ganze daran hängende Konglumerat mit weg zu putzen. In C musst Du jeden Pointer explizit freigeben.

    cu,
    -ds-

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!