Programmierung-Newbie - Welche Sprache lohnt sich?

  • ...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...

    Das stimmt natürlich. Setzt aber voraus dass jedes Object weiss was es an heap Objecten owned und zu destroyen hat, denn die verschwinden nicht automatisch ohne GarbageCollector.

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

  • Als Newbie würde ich von C++ und C abraten. Man muss für die beiden Sprachen richtig Ahnung davon haben, was die Sprache im Hintergrund so treibt. Und natürlich auch, wie es im Speicher aussieht und was dort zu beachten ist (wurde ja schon mehrfach hier erwähnt).


    Die Wahl der "Einstiegssprache" ist natürlich neben der gewünschten Plattform auch meiner Meinung nach eine Geschmackssache. Manche möchten sich bestimmt nicht die anfänglich sehr massive {}-Nutzung in syntaktisch an C/C++ angelehnte Sprachen wagen. Für diese Gruppe ist sicher Python eine gute Wahl. Man sollte jedoch beachten, dass diese sich natürlich vom Syntax her massiv von Sprachen wie C/C++/C#/ Java usw unterscheidet. Will man später auf diese wechseln, ist dann natürlich eine große Umgewöhnung von Nöten.


    Möchte man erst einmal die Logik hinter dem Programmieren verstehen, so sollte man vielleicht .NET - Geschichten wie Visual Basic auch mal ins Auge fassen (ja, ich weiß, Mono hat seine Probleme auf dem Pi. Aber für Einsteigerprojekte gerade zum Lernen sollte das ausreichend sein!). Möchte man etwas syntaktisch ähnliches zu C/ C++ erlernen aber nicht gerade ein Diplom in Speichermanagement dabei ablegen, so sollte man sich definitiv C# oder Java ansehen. Diese ermöglichen einen Einstieg in eine Sprache syntaktisch ähnlich C/C++, ohne sich direkt extrem mit dem Speicher auseinandersetzen zu müssen. Außerdem kann man vom Syntax her bei C# oder Java sich leicht auf C/ C++ steigern.


    Gruß
    Fury

  • Hallo,


    zu C sei mal eine Sache erwähnt: Am Besten man gewöhnt sich von Grund auf daran für für Daten zu reservierende Speicherplätze Konstruktoren und Dekonstruktoren (so wie man sie auch in C++ in den Klassen hätte) zu bauen, die man dann an entsprechenden Stellen aufruft bzw. in andere De/Konstruktoren reinintegriert. Dann wird C auch für Anfänger umgänglich. ;)


    Unter Linux (also auch auf dem Raspberry PI) dann noch unbedingt Valgrind nutzen, damit kann man dann vom Programm hinterbliebene Speicherleaks lokalisieren.

    • Official Post


    bitte was? Als nächstes kommt noch das Java eine der performantesten Sprachen ist die es gibt ;).


    Genau das kommt jetzt! :D


    Java kann zu einer sehr performaten Sprache werden....
    Was gibt es besseres als direkt ausführbaren Maschinencode ohne eine JVM zu benutzen? ;) Siehe GCJ


    Ich glaub wenn ich irgendwann mal Zeit finde werde ich einen kleinen Speed-Test machen mit Java, C, Python und vielleicht noch Assembler :D

    Ich bin ein gefallener Engel namens Turael.

    Einst vor langer Zeit rebelierte ich im Himmel bis Gott mich auf die Erde verbannte.

    Doch meine taten werden kein ende finden....

    Edited once, last by Turael ().

  • Ich finde anfangen sollte man mit einer Interpreter-Sprache wie Python oder Perl (oder PowerShell). Damit kann man auf leichtem Wege schon einiges erreichen. Wenn man dann damit langsam ein Gefühl dafür bekommt was es überhaupt bedeutet ein Programm zu entwickeln (also nicht nur das Erstellen von Sourcecode), kann man zu den höheren Programmiersprachen wechseln. Ich würde an der Stelle zu C# oder (meiner Meinung nach) besser Delphi raten.


    Allerdings wenn du nicht gerade eine Affinität zum Programmieren hast, wirst du mit den Kenntnissen eines IT-System-Kaufmanns kaum das Level erreichen an dem es sich wirklich lohnt von den Interpreter-Sprachen zu den richtigen Hochsprachen zu wechseln. In der Praxis werden das eher Skripte wie z.B. automatisiert ein Backup erstellen sein, welche für dich relevant sind. Für solche "einfache" Zwecke bieten sich Skripts einfach an, da diese kleiner, leichter zu verstehen und einfacher zu entwickeln sind.
    Falls du einen IT Beruf haben möchtest, wo du wirklich programmierst, dann würde ich eher zum Ausbildungsberuf des Fachinformatiker - Anwendungsentwicklung raten. Natürlich ist auch die Wahl des Unternehmens mit entscheidend wie viel tatsächlich während der Ausbildung programmiert wird.

  • ...Ich finde anfangen sollte man mit einer Interpreter-Sprache wie Python oder Perl (oder PowerShell).

    Full ACK - ausser für perl - das ist nix für den Einstieg

    Quote

    ...In der Praxis werden das eher Skripte wie z.B. automatisiert ein Backup erstellen sein, welche für dich relevant sind. Für solche "einfache" Zwecke bieten sich Skripts einfach an, da diese kleiner, leichter zu verstehen und einfacher zu entwickeln sind.

    Standard in Linux ist die bash für sowas. Das ist aber eine ziemlich kryptische Sprache und für den Einstieg nicht geeignet. Aber mit Python kann man das auch abdecken. Es ist zwar teilweise etwas umständlicher, aber dafür benutzt man eine leserliche und irgendwo auch richtige Programmiersprache. (Nix gegen bash - ich benutze sie auch sehr viel, ... aber für einen Anfänger ist das absolut nix)

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

  • Hier ging ja einiges durcheinander^^


    Du hattest ein paar Ursprungsfragen, ich versuche mal ein bisschen was zu beantworten:


    Du sagst du wirst lernen: HTML, Java, SQL und (C oder C++ oder C#)


    HTML, CSS, SQL sind KEINE Programmiersprachen


    Java ist eine bliebte Anfängersprache (persöhnlich mag ich sie nicht so)
    C++ ist die Weiterentwicklung von C, hat aber C nicht "abgelöst" weil Microprozessoren und ähnliches oftmals nur C unterstützen. Insgesamt kann man sagen: In C++ funktioniert alles was in C funktioniert und noch mehr. C++ ist Objektorientiert (was ich dir absolut ans Herz lege!!!), C kann man sehr schnell verwenden wenn man C++ kann und dann mal tatsächlich C braucht (es ist bloß nervig plötzlich auf so blöde Kleinigkeiten achten zu müssen)


    Java und C++ sind von der Syntax ziemlich ähnlich


    Alternativen sind (unvollständig und persöhnlich beeinflusst):
    Ruby (verwende ich sehr gerne)
    Python (ist Ruby ziemlich ähnlich, beides sehr moderne Sprachen, wird neben Java gerne als Einstiegssprache verwendet und ist im Rasperry-Umfeld absolut dominant)
    C# für Windows-Anhänger
    Assembler falls du sonst keine Hobbies hast, immer alleine Arbeiten willst und sowieso einen an der Klatsche hast



    Du hast auch gefragt ob es eine Grundsprache gibt auf der alle anderen aufbauen:
    Ja! Assembler. Es ist gut zu wissen wie Assembler funktioniert und mal ein "Hallo welt" und ein paar simple Mathesachen darin geschrieben zu haben, MEHR IST ABER UNNÖTIG denn das ist absolut krank zu programmieren, dafür gibt es Compiler, die machen automatisch aus deinem C(++)/Fortran/Pascal/Lisp/...-Code Assembler-Code, denn den kann der Computer direkt ausführen.
    Außerdem ist eine weitere Grundsprache C(++) denn Python und Ruby sind in C(++) geschrieben. Dafür muss man wissen, das beides "Spriptsprachen" sind, dazu später. Auch die JVM, also das womit Java läuft ist mit C++ erstellt. Daher ist C++ auch eine Art Grundsprache.


    Unterscheiden tut man (wie schon angedeutet) auch in Script- und kompilierte Sprachen.
    Kompilierte Sprachen sind z.B. C(++) und Fortran und irgendwie auch Java. Du schreibst Code und lässt diesen vom Compiler zu ASM (Assembler) übersetzen. Java wird nur zu Bytecode übersetzt, das ist so'n Zwischending dass dann aber nur die JVM "abspielen" kann. Scriptsprachen müssen nicht übersetzt werden sondern können so ausgeführt werden wie sie sind. Dafür benötigt man aber ein "Interpreter"-Programm das den Code interpretiert (und dieses Programm ist meistens in C(++) geschrieben) Daher sind Scriptsprachen immer langsamer als C(++) da ein Programm sie lesen und dann ausführen muss und das nciht der Computer selbst tut.


    Man unterscheidet außerdem zwischen Sprachen die verschidene Programmierkonzepte unterstützen.
    Die Sprachen sind Beispiele
    Imperativ:
    Funktional: C
    Objektorientiert: C++/Java/Python/Ruby
    Fuktional: Lisp/Haskell


    Wähle eine Objektorientierte!


    Das waren eine Menge Infos zu Programmiersprachen allgemein.


    ACHTUNG hier beginnt persöhnliche Meinung:
    Wenn du sich für Java entscheidest benutze auf keinen Fall BlueJ. Ja der Einstieg ist damit einfach, aber die meisten kommen von BlueJ nie wieder los und können ihr Leben lang nicht programmieren.
    Wenn du damit später was werden willst, lerne C++ und (Python oder Ruby)
    Wenn du mit Microprozessoren rumspielen willst bleibt nur C


    Interessant ist für die Wahl der Sprache eigentlich tatsächlich das Projekt, das haben ja schon viele gesagt und haben absolut Recht.
    Wenn du eine Website basteln willst, sieht die Sache ganz anders aus:
    PHP wäre die Oldschool-Variante
    Ruby (on Rails) wäre die modernste Variante
    Java wäre die von Firmen wohl am meisten benutzte Variante glaube ich, mag ich aber garnicht


    Wenn du etwas basteln willst, was viel Leistung braucht nimmst du C++


    Wenn du "coole kleine Tools" basteln willst bietet sich Java an


    Wenn du agil arbeiten willst, moderne mittelgroße Projekte, dann Python oder Ruby...


    Aber das ist (fast) alles auch Geschmackssache


  • (Nix gegen bash - ich benutze sie auch sehr viel, ... aber für einen Anfänger ist das absolut nix)


    Das hat jetzt zwar nichts mit der Anfangsfrage nach einer geeigneten Programmiersprache für den Einstieg ins Programmieren zu tun,
    aber, wenn man sich mit Linux richtig vertraut machen und das System effizient administrieren will,
    geht kein Weg an der Shell vorbei.


    So gesehen sollte gerade auch ein Anfänger sich sowohl mit der interaktiven Nutzung der Shell
    als auch dem Lesen, Verstehen und Schreiben von Shell Scripts auseinandersetzen.
    Z.B. mit deren Command History, Readline, Keymaps und auch - wenn mancher aufstöhnen mag - durchaus den vi Keymaps und dem vi Editing Mode sowie Shell Alii und Functions, um sich die alltägliche Arbeit ganz ungemein zu erleichtern.


    Wieso spanne ich den Bogen zum scheinbar esoterischen vi?
    Ich finde es so schade, dass gerade auch in unzähligen Howtos und Einsteigerbüchern zu Projekten mit dem RPi,
    wann immer irgendeine Konfigurationsdatei zu editieren ist, fast mantraartig stets ein nano aufgerufen wird.
    Dadurch beraubt man viele Einsteiger der Möglichkeit, sich allmählich durch häufige Wiederholung sozusagen das "vi fingering" ins motorische Gedächtnis einzuprägen.
    Gerade in der Unix-Welt zahlt sich dieses Gedächtnis sehr bald in einer beachtlichen Effizienzsteigerung aus, weil es erstaunlich viele Programme gibt,
    deren Bedienung ganz analog zu der des vi erfolgt oder sie zumindest in solch einem Modus oft schon per default eingestellt sind.
    Mein Empfinden ist, dass man bei Unix fast nichts vergebens lernt und selbst Jahrzehnte alte Konzepte entweder unverändert weiterverwenden oder aber zumindest darauf weiter aufbauen kann (ist für mich ein bisschen wie in der Mathematik).
    Ganz anders ergeht es mir demgegenüber z.B. in der Window-Welt. Kaum kommt dort ein neues Release z.B. eines Office-Programms oder des OS selbst heraus,
    kann man einen Großteil seiner bisherigen Kenntnisse scheinbar in die Tonne treten, und es ist meist erstmal das Erlernen neuer Konzepte angesagt.

    • Official Post

    Ich selbst nutzte vi(m), Ohne SyntaxHiglight will ich nicht mehr editieren....Dazu einen schnellen Gruß an MS und ihren grossartigen Navision ( NAV 5.0) C/SIDE Editor, der als herauragenstes Feature das Einzigen von Buchstaben und Zahlen hat :wallbash:. Hier im Forum verwende ich bei Anleitungen absichtlich immer nano....aus purer Faulheit meinerseits...denn sonst müsste ich immer schreiben wie man Beendet und Speichert ;)

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

    Edited once, last by dbv ().

  • Zwar kann ich mich, verglichen mit dem Background vieler meiner Vorposter hier in diesem Thread, nicht als vollwertigen Hacker bezeichnen.
    Dazu programmiere ich dann doch zu selten und habe keine Erfahrung mit richtig grossen, verteilten Software-Projekten.


    Aber ich glaube, wenn ich heute anfinge, mich mit dem Programmieren zu beschäftigen,
    dann fiele meine Wahl doch auf eine dynamische, objektorientierte Interpretersprache mit klarer Struktur und Syntax wie Python.
    Dass ich das hier als eingefleischter Perl Fan schriebe, will schon was heissen.
    Ruby wäre sicher auch sehr charmant, aber zum Anfangen dann doch lieber Python.


    Was einst in der Unix-Welt die Glue Language war - nämlich Perl - und weshalb ich (nach Fortran) gleich bei Perl gelandet bin,
    schickt sich, gerade in der Linux-Welt, immer mehr an, Python zu werden.
    Waren vor Jahren noch Python Interpreter auf Unix System absolut unüblich,
    während ein Perl Interpreter entweder bereits vorhanden war oder aber ohne allzugrosse Klimmzüge gebaut werden konnte
    oder sich als pre-built binary des jeweiligen Package Managers irgendwo auftreiben liess.
    Auf Linux Systemen sind solche historischen Kapriolen natürlich kein Thema,
    und man wird heutzutage wohl kaum eine Linux Distro mehr finden, die Python nicht bereits als unabdingbares Prerequisite auch einer Minimalstinstallation voraussetzt.
    Besonders der den Linux Server Markt dominierende Distributor Red Hat setzt voll auf Python,
    so dass immer mehr Linux Glue und Subsystem Code in Python geschrieben wird und zunehmend auch Shell Skripte ersetzt.


    Dadurch hat man eine zwangsläufige, ungeheuere Verbreitung von Python sowie der Python Hacker Base.
    Ein nicht zu vernachlässigender Faktor bei der Wahl einer sich "lohnenden" Sprache.


    Daneben würde ich mich aber auch mit C vertraut machen.
    Der mit Abstand grösste Teil des Unix- und Linux-Unterbaus ist immer noch in C geschrieben und C quasi ein Muss,
    wenn man sich damit und dem klassischen Unix Systems Programming befassen möchte.
    Schliesslich wurde ja mal ursprünglich C für die Programmierung des Unix OS entworfen.


    Ich weiss nicht, ob Python eine ähnlich enge Bindung an die libc des OS hat.
    Dazu kenne ich es noch zu wenig.
    Zumindest bei Perl ist das Schöne, dass fast sämtliche Syscalls der libc ihre 1:1 Entsprechung,
    was Funktionsweise, Signatur der Argumente sowie Rückgabewerte betrifft,
    in gleichnamigen Funktionen haben.
    Neben dieser prozeduralen Schnittstelle, aber natürlich auch noch in einer objekt-orientierten,
    wo man stattdessen eben den jeweiligen Constructor aufruft und eine object ref zurück erhält.


    Ich weiss nicht, aber bei C++ habe ich den Eindruck, dass man sich das nicht unbedingt als Anfänger zumuten muss.
    Die OO-Konzepte kann man sich auch sehr viel eingängiger über Python aneignen.
    Erst, wenn man dies vollzogen hat, würde ich zur Beschäftigung mit C++ raten.

  • Hallo zusammen,
    ich als blutiger Anfänger möchte mich dazu auch einmal äußern:
    ich habe mich lange damit beschäftigt, was denn nun gut (für mich) sei. Im Grunde gibt es bei jeder Sprache Dinge, die speziell für irgendwas super geeignet sind, d.h. es gibt immer ein PRO und ein CONTRA.


    Ich habe ganz früher einmal mit BASIC angefangen - das fand ich gut - habe das Programmieren dann jedoch aus den Augen verloren ...


    Perl habe ich auch einmal probiert - war mir damals jedoch zu mächtig und auch etwas "unübersichtlich" für einen Autoditakten.


    Was ich u.a. an Sprachen mag, ist eine klar strukturierte Schreibweise - da bin ich absolut authistisch - eine gute Lesbarkeit und kein Chaos.
    Einerseits ist es "fein" wenn man Blöcke in Klammern setzen/abschliessen muß, kann aber auch nerven, da z.B. im Vergleich zu Python innerhalb eines Blocks wieder Choas herrschen kann/wird.
    Da gefällt mir Python oder Ruby sehr gut. Python ist klar strukturiert und absolut gut lesbar - allerdings wenn man Code kopieren muß ... naja. (Habt ihr Tipps diesbezüglich für mich ?)
    Und durch die ganze Begeisterungswelle durch den Pi, erlangt Python immer mehr an Bedeutung UND es gibt viele gute Bücher, die auf Python und den Pi abgestimmt sind.


    Java ist für mich der absolute kraus !
    Ich als Anfänger würde - wenn C und Konsorten - C wählen.
    Wenn man professionell programmieren möchte, kommt man um C sowieso nicht herum. Aber dies ist auch nicht mein Ziel.


    Ich finde (bis jetzt) Python klasse !


    so long
    Perlchamp

    --- wer lesen kann, ist klar im Vorteil ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---



  • Python ist klar strukturiert und absolut gut lesbar - allerdings wenn man Code kopieren muß ... naja. (Habt ihr Tipps diesbezüglich für mich ?)


    Die C Hacker benutzen dafür das utility indent.


    Für missratene Python-Formatierung scheint es aber auch einen Tidier zu geben.
    Schau Dir das mal an.

  • Hallo Life_of_Pi,
    danke für deine Antwort.
    Zum Link:

    Quote

    [...]This script should be run only by python.2.5 (and perhaps higher) on scripts written for that version (and perhaps lower) [...]


    Da ich Anfänger bin benutze Python 3 ...


    zu indent:
    da hätte ich eine Anschlußfrage. Gibt es evtl. bei den Editoren Unterschiede in der Interpretation von tabs, spaces ?
    Ich persönlich benutze lieber spaces (die Taste ist so groß) :D


    so long
    Perlchamp

    --- wer lesen kann, ist klar im Vorteil ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---


    Edited once, last by Perlchamp ().

  • Jeder halbwegs vernünftige Editor sollte Einstellmöglichkeiten für tabs, shift widths aund auto-indentation haben.


    Ich glaube, sogar mal irgendwo in den Python Coding Style Guidelines gelesen zu haben, dass man Spaces gegenüber Tabs bei den Indentations den Vorzug geben sollte.
    Aber frage lieber einen versierten Python Hacker oder in einem Community Forum. Wobei sich ja hier wohl genügend rumtreiben, die Dir das besser beantworten können.


    Zu PythonTidy kann ich nichts sagen, weil ich das Tool nie verwendet habe und der von mir gepostete Link lediglich das Resultat einer Spontansuche nach etwas Ähnlichem für Python war.


    Aber Du kannst doch nicht viel kaputt machen, ausser, dass es wirklich nicht auf Python3 Code angesetzt werden kann.
    Ich würde es einfach ausprobieren, ob's klappt oder für Deine Zwecke völlig unbrauchbar ist.


    Darüber hinaus bin ich mir fast sicher, dass es auch Python2 to Python3 Code-Konvertierer gibt,
    bei aller gebotenen Vorsicht, die man generell solchem Output maschineller Converter und Translator gegenüber walten lassen sollte.
    Das ist so wie mit den Übersetzungen von Google Translate.
    Durchaus brauchbar, um meistens irgendwie den groben Inhalt eines Textes in einer Fremdsprache mitzubekommen,
    aber völlig an einwandfreier Grammatik, Stil, idiomatischen Feinheiten, Ironie und Wortwitz einer Sprache scheiternd.

  • Ein (Programmier-)Editor der Tabs nicht mit Spaces ersetzen kann MUSS SOFORT deinstalliert werden. Da gibt es keine Alternative. Man verwendet fast überall nur Spaces, aber tippt die mit Hilfe eines Tabs das der Editor dann in die korrekte Anzahl Spaces verändert.
    Vernünftige Editoren behalten die Einrückweite auch bei wenn du eine neue Zeile anfängst.


    Einige Sprachen unterscheiden zwischen Tabs/Spaces da muss man vorsichtig sein.


    Was das Thema C oder C++ angeht: C++!!!!
    Grund: C ist wahnsinnig pingelig und aufwendig und du musst dich mit dem Speichermanagement selbst rumschlagen. C++ macht das dank der Klassen einigermaßen selbst. Und das was es komplexer ist dank Klassen ist es mehrfach leichter weil es wesentlich mehr selbst macht und man sich nicht so leicht "uns Bein schließen kann". (Dafür pustet man sich gleich das ganze Bein weg, wenn man es dann doch geschafft hat :) ) Wenn man dann C++ beherrscht ist der Weg zu C echt einfach, man muss nur einmal nachlesen was alles nicht funktioniert und sich dann selbst drum kümmern.


    Das Argument, dass C der Unterbau von Linux ist... Es Stimmt zwar, der Kernel IST in C geschrieben, das kümmert einen aber nicht, solange man keine Kernelmodule schreibt. Und wenn man C++ beherrscht ließt man auch flüssig C. Und der Kernel ist nicht gerade "Standart-C" da ist so extrem viel mit Macros drin rumgewurschtelt das einzelne Abschnitte völlig unverständlich sind. Außerdem ist der Linux-Kernel objektorientiert. (Und jeder der jetzt die Antworten Taste sucht um mir zu erklären das C nicht objektorientiert ist: OOP ist ein Konzept, man kann mit jeder Sprache OO programieren, Es gibt bloß Sprachen die das mehr unterstützen und andere weniger. Und glaubt mir, in C Objektorientiert zu programmieren geht gut, aber ist für Anfänger ABSOLUT ungeeignet!)


    Sprachen wie Perl und Basic haben meiner Ansicht nach keinen Platz mehr. Waren damals gut, wurden aber abgelöst. C++ ist zwar älter aber auch grundliegender und daher nicht ersetzt worden. Dort wo sie noch verwendet werden ok, aber für neues sollte man sie nicht verwenden.

  • Untraedit habe ich nie verwendet weil ich kein Windows nutze, aber das was ich davon kennen gelernt habe ist gut
    Unter Windows kenne ich ansonsten noch notepad++ als sehr guten Editor. Aber meine Empfehlungen für Windows sind halt second hand oder alt.

  • ...Unter Windows kenne ich ansonsten noch notepad++ als sehr guten Editor...

    Ich auch :)

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

  • Hallo Zeymah, hallo Kollegen,


    meiner Meinung nach ist diese Diskussion nicht mehr zielführend.


    Die Ausgangsfrage war einmal: "Welche Sprache lohnt sich?"


    Diese Frage war von Dir, Zeymah, als einem Interessenten gestellt worden, der Programmieren lernen möchte.


    Stattdessen befürchte ich, dass wir Dich mächtig verwirrt haben, denn Du hast Dich schon längere Zeit nicht mehr geäußert, weil wir Dich wohl vollends abgehängt haben.



    Schaut man sich einmal folgendes Programm an, dann wird selbst jeder, der noch nie programmiert hat verstehen, was hier passiert:



    (experimentelle Sprache - auf Icon aufgesetzt)


    Ich bin mir sicher, irgendwelche philosophischen Abhandlungen über Pointer, Speichermanagement, Objektorientierung, Garbage-Collection etc. sind bei der Entscheidung nicht hilfreich, welche Programmiersprche ein Anfänger erlernen sollte. Da mir diese Dinge während meiner "Laufbahn" auch immer wieder begegenet sind - und des öfteren schlaflose Nächte bereitet haben - vermute ich einmal, dass diese Dinge sich Euch auch kurzfristig als Stolpersteine erwiesen haben.


    Schön, dass Ihr diese Meilensteine für Euch persönlich überwunden habt - aber für einen Anfänger ist dies alles nicht hilfreich (gewesen).


    Aus meiner heutigen Warte kann ich sagen: Keines dieser Konzepte ist erforderlich, um eine ansprechende und funktionale Anwendung zu entwickeln!



    Auch die Frage, unter welcher Programmierumgebung man eine Programmiersprache erlernen sollte, verwirrt mehr, als es einem Anfänger als Entscheidungsgrundlage nutzen kann.


    Es gibt Programmierumgebungen (IDE, integrierte Entwicklungsumgebung), die genau EINE Programmiersprache unterstützen. Es gibt aber auch solche, mit denen prinzipiell jede Programmiersprache (Interpreter, Compiler, Skriptsprache) möglich ist und für die Einbindung jeder anderen Programmiersprache konfiguriert werden kann.


    Mit einer solchen Programmierumgebung ist der Wechsel zu einer anderen Programmiersprache jederzeit einfach möglich, weil nämlich die Bedienung der Programmierumgebung identisch bleibt.



    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

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    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.

    Edited 2 times, last by Andreas ().