Ergebnis 1 bis 20 von 27

Thema: Programmieranfänger, mit was am besten anfangen?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Programmieranfänger, mit was am besten anfangen?

    Ja, ich wollte gerne mal so langsam auch mit dem lernen einer, oder mehrer Programmiersprachen anfangen, da das unter anderem auch bald in der Schule ein Thema sein wird, und ich mir ein paar Vorkenntnisse anarbeiten möchte. Und meine Frage dazu ist, welche Programmiersprache für einen Einsteiger am besten zu lernen bzw. zu verstehen ist.

    Also, ich selbst habe bis jetzt nur im Morrowind Constuction Set rumgescriptet, und da auch schon so einiges hinbekommen (nichts besonders großes und erstaunliches ^^'). Und ich denke mich zu erinnern mal gelesen zu haben, das das Morrowind Scripten dem JavaScript sehr ähnelt ...

    Danke schonmal Vorraus.



    Streicher

  2. #2
    Ich würde dir Python empfehlen. Python ist einsteigerfreundlich und gleichzeitig sehr mächtig und wird auch viel kommerziell eingesetzt, so dass du auch in der Zukunft von der Erfahrung mit Python profitieren könntest.

  3. #3
    Ah, schön, dass sich mal wieder jemand zu uns verirrt hat. Schau dir am besten mal den angepinnten Thread für Anfäger durch, da gibts eine kleine Übersicht. Ansonsten kann ich nur empfehlen, diverse Programmiersprachen durchzuprobieren. Sowas wie "die beste Programmiersprache" gibt es eigentlich nicht und irgendwann bleibt jeder bei der Sprache hängen, die ihm am ehesten zusagt.

  4. #4
    Ich würde auch sagen, das wichtige ist es, Konzepte zu erlernen und Übung zu bekommen, einzelne Sprachen sind dann austauschbar. Traditionell wäre ein Einstieg mit C - wodurch du dann prozedurales Programmieren lernst - aber vermutlich ist Java für den Anfang einfacher und vermutlich ist es auch sinnvoller, wenn du mit Objektorientiertem Programmieren anfängst, sonst bleiben so viele prozedurale Macken hängen :-)

  5. #5
    Es schaut eigentlich meistens so aus, dass man bei der Sprache festhängt, mit der man programmeren gelernt hat. Darum finde ich es immer ziemlich ... unüberlegt, einfach so eine Sprache zu empfehlen, ohne erst zu fragen, was du eigentlich vor hast in Zukunft zu programmieren.


    Also, was möchtest du programmieren?

  6. #6
    Ich finde so eine Frage einem Anfänger zu stellen ist nicht gerade überlegt. Was wird er dir ohne Überblick wohl antworten? "Taschenrechner"? "MMORPG"?

    Es ist zwar richtig, dass es keine ultimative Programmiersprache gibt, man also immer die wählen sollte, die die Projektanforderungen erfüllt, für einen Anfänger aber reicht es vollkommen sich mit einer einsteigerfreundlichen Programmiersprache zu beschäftigen und langsam Kenntnisse zu erlangen. Hat man erstmal eine Sprache einigermaßen intus, kann man auch leicht zu einer anderen wechseln, da die angesprochenen Konzepte in der Regel größtenteils schon in der gewählten Sprache beigebracht werden, vorausgesetzt eine geeignete wurde gewählt.
    Von Empfehlungen zu C und Java halte ich persönlich wenig, wenn es nur darum geht verschiedene Programmierparadigma kennenzulernen, das kann man auch kompakt in einer einzigen (zumindest einige davon), denn Sprachen wie Python zwingen nicht zu einer bestimmten Programmierung und bieten relativ große Freiheiten.

    Man sollte das Ganze aber wirklich nicht zu trocken angehen und sich stumpf mit Konzepten auseinandersetzen, sonst verliert man als Anfänger schnell den Spaß am Lernen.
    Wichtig ist es aber, von Anfang an auf die Lesbarkeit des Codes zu achten (z.B. Indentation (hier zwingt Python einen dazu, was für Einsteiger durchaus vorteilhaft wäre) , Whitespace, Konsistenz, Namenskonvention, etc).

    Geändert von Kyuu (16.09.2008 um 05:42 Uhr)

  7. #7
    \Streicher:
    Ignorier am besten was ich hier jetzt schreibe. ^^

    Zitat Zitat von Kyuu Beitrag anzeigen
    Ich finde so eine Frage einem Anfänger zu stellen ist nicht gerade überlegt. Was wird er dir ohne Überblick wohl antworten? "Taschenrechner"? "MMORPG"?

    Es ist zwar richtig, dass es keine ultimative Programmiersprache gibt, man also immer die wählen sollte, die die Projektanforderungen erfüllt, für einen Anfänger aber reicht es vollkommen sich mit einer einsteigerfreundlichen Programmiersprache zu beschäftigen und langsam Kenntnisse zu erlangen. Hat man erstmal eine Sprache einigermaßen intus, kann man auch leicht zu einer anderen wechseln, da die angesprochenen Konzepte in der Regel größtenteils schon in der gewählten Sprache beigebracht werden, vorausgesetzt eine geeignete wurde gewählt.
    Von Empfehlungen zu C und Java halte ich persönlich wenig, wenn es nur darum geht verschiedene Programmierparadigma kennenzulernen, das kann man auch kompakt in einer einzigen (zumindest einige davon), denn Sprachen wie Python zwingen nicht zu einer bestimmten Programmierung und bieten relativ große Freiheiten.

    Man sollte das Ganze aber wirklich nicht zu trocken angehen und sich stumpf mit Konzepten auseinandersetzen, sonst verliert man als Anfänger schnell den Spaß am Lernen.
    Wichtig ist es aber, von Anfang an auf die Lesbarkeit des Codes zu achten (z.B. Indentation (hier zwingt Python einen dazu, was für Einsteiger durchaus vorteilhaft wäre) , Whitespace, Konsistenz, Namenskonvention, etc).

    Eigentlich sagt "MMORPG" bzw. "Taschenrechner" bereits sehr viel aus. Bei Taschenrechner will jemand einfach nur GUI-propgrammieren, und man kann sich auf einen kleinen Dialog einstellen, bei dem man herausfindet, was jemand verwenden möchte: Oft reduziert das ja bereits die Sprachwahl auf eine kleine Hand. Vorallem aber ist es wichtig die passende Plattform für jemanden zu finden, über die man jemanden eine Sprache ans Herz legen sollte.

    Konzepte lernen ist zwar richtig, aber da wäre ich sehr vorsichtig: Wenn jemand eine reine OO-Sprache lernt, dann wird er OO ewig und immer als natürlich empfinden. Wenn du rein funktional anfängst, dann wird das für dich das normale Programmieren. Das sieht man sehr gut, wenn man z.B. OO-Code von den ganz alten Hasen liest, oder C-Code von einem OO-Menschen.

    Genau so macht die Frage "Pointer, oder keien Pointer" einen sehr großen Unterschied. Was für jemanden, der mit C angefangen hat, ganz normal ist, ist für Leute die mit Java anfangen merkwürdig. Je nach Sprache lernt man andere Tricks, einen anderen Background kennen, auf dem man aufbaut. Somit muss man auch wissen, was jemand eigentlich beim Programmieren für einen Sidethink haben möchte. Bei einem Python bekommst du einfach nicht das selbe Gefühl für das grundlegendste eines Computers, wie bei einem C, oder bei einem ASM.

    Lass mal zwei Leute mit dem selben Toolkit ein und das selbe Programm einmal für den Desktop schreiben, und einmal für ein Handy, wobei jeweils einer von der Desktop-Welt, und der Andere von der Embeddet-Welt kommt. Da sieht man Unterschiede.

    Programmieren ist halt auch sehr stark Einstellungssache. Je nach dem mit was man anfängt, wird diese eben anders gebildet. Und genau darum sollte man erst einmal heraus finden, was sich jemand vom Programmieren erwartet: Schon alleine um einmal herausfinden zu können, auf welchem Level jemand eigentlich programmieren möchte. Oder, reichst du auch allen Leuten den nächstbesten Schraubenzieher, wenn dich jemand um einen bittet, ohne dich weiter zu erkundigen?

  8. #8
    Das was du teilweise ansprichst ist der Grund wieso man eine geeignete Programmiersprache für sein Projekt wählen sollte, anstatt das Projekt einer Programmiersprache anzupassen. Da stimme ich dir zu, habe es aber nie angezweifelt.

    Dass man immer bei der Programmierung bleibt, die man anfänglich kennengelernt hat, halte ich aber für eine Halbwahrheit. Es ist sehr situationsbedingt und vom jeweiligen Menschen abhängig.
    Jemand der C gelernt hat, weil es sein Beruf erfordert und es im Laufe seines Berufes intensiv anwendet, wird logischerweise immer dieses Programmierparadigma propagieren, da er nichts anderes kennt. Dabei spielt aber nicht das eine Rolle, dass er C am Anfang gelernt hat, sondern dass er sonst nichts anderes kennt und nach Jahrzehnten wahrscheinlich auch nicht kennen will. Jemand der eine Programmiersprache aus eigenem Interesse gelernt hat, wird höchstwahrscheinlich auch weiterhin Interesse haben andere zu lernen und sich fortzubilden.
    Ich beispielsweise habe mit C in der Schule angefangen, bin weitergegangen mit Visual Basic, JavaScript, C++, Python und interessiere mich derzeit für Lua (aus rein einbettungstechnischen Gründen; etwas anderes wäre bei Lua unvorteilhaft) und würde nicht sagen, dass mich C besonders reizt, nur weil ich damit angefangen habe.
    Ich würde aber C sofort verwenden, wenn es für das Aufgabengebiet geeignet ist (z.B. Hardware- oder sonstige Lowlevelprogrammierung).
    C++ wäre geeignet, wenn Ausführungsgeschwindigkeit, hohe Optimierungsmöglichkeiten und ein breites Angebot an hochwertigen Compilern ausschlaggebend sind. Python würde ich immer verwenden, wenn RAD und Portabilität von Vorteil sind, die Ausführungsgeschwindigkeit aber nur eine kleine bis keine Rolle spielt. Usw.

    Zitat Zitat von Mog Beitrag anzeigen
    Oder, reichst du auch allen Leuten den nächstbesten Schraubenzieher, wenn dich jemand um einen bittet, ohne dich weiter zu erkundigen?
    Eine Programmiersprache ist kein Schraubenzieher (auch wenn eine Programmiersprache ein Werkzeug ist), denn während du mit einem Schraubenzieher stark in den Einsatzmöglichkeiten beschränkt bist (ein Torx-Schraubenzieher wird man kaum auf Schlitzschrauben anwenden können), kannst du so gut wie mit jeder Programmiersprache, die etwas auf sich hält wahrscheinlich jede Problemstellung bewerkstelligen. Die Frage ist nur wie effizient.

    Wenn mich jemand nach einer einsteigerfreundlichen Programmiersprache fragt, weil er Programmieren lernen will, empfehle ich ihm auf meiner Erfahrungsgrundlage ohne zu zögern Python, weil es simpel (aber auch mächtig wenn man tiefer geht), sauber in der Syntax, flexibel und portabel ist, und mit vielen Modulen kommt, die das Programmieren auf das Wesentliche reduzieren. Es ist hervorragend für Programmieranfänger und selbst GUIs lassen sich mit den entsprechenden Ports (z.B. wython) in kürzester Zeit erstellen.

    C/C++ hätte ich einem Anfänger wirklich nur empfohlen, wenn er Programmieren auf die harte Tour lernen will. Nicht dass es nicht auch seine Vorteile hätte, aber meiner Meinung nach nicht geeignet für jemanden, der nach einer einsteigerfreundlichen Programmiersprache fragt.

  9. #9
    Zitat Zitat
    Das was du teilweise ansprichst ist der Grund wieso man eine geeignete Programmiersprache für sein Projekt wählen sollte, anstatt das Projekt einer Programmiersprache anzupassen. Da stimme ich dir zu, habe es aber nie angezweifelt.
    Jo, weil die Kernfrage ist, was für Arten von Projekten er machen will. Je nach dem ist es besser mit einer anderen Sprache anzufangen.

    Zugegeben: Im Vgl. zu den Anderne habe ich es gelernt, weil ich mir ein Mini-OS bauen wollte (und habe): Aber, da habe ich logischer Weise ASM und C gelernt. Mit dem Ziel wäre ich mit nem Torx nicht weiter gekommen. Mein guter, 30-jähriger Schlitz-Zieher funtioniert aber recht gut, auch wenn man manche Schrauben damit vernudelt.

    Kurzum: Man soll mit einer Sprache anfangen, die zu dem passt, was man eben so machen möchte.



    Wir können jezt eine Sprache, die wir gelernt haben. Während wir die Sprache gelernt haben, haben wir natürlich viele Biblitoheken - oder, gleich eine ganze Plattform - kennen gelernt. Klar, eine andere Sprache kann man sehr schnell lernen. Wenn wir nicht unbedingt zu den Exoten schauen, dann haben wir hier eigentlich immer den selben Kram. Aber, schaut es bei der Plattform auch so aus? Klar: ein XML-Parser ist ein XML-Parser. Aber, die API ist eben anders: Sobald man das Paket wechselt, muss man sich die neue API anlernen. Und das ist bei einem großen Projekt doch mit einem großen Nachschlag und Lernaufwand verbunden.

    [Und sogar bei den Sprachen gibt es außnahmen: C++ lernt man bestimmt auch dann nicht schnell, wenn man ein Py-Nerd ist und den Zwischencode schreibt, weil einem so fad im Schädel ist. Ich meine, man kann in C++ Sudokus in Compile Time lösen. Wie baue ich mir ein brauchbares Objektsystem in C, wenn ich eines brauche?]

    Etwas neues lernen ist oft toll. Wenn ich aber jetzt von einer Firma den Auftrag bekommen würde eine GUI mit nem Antatschscreen für eine Kirchturmglocke zu bauen, dann habe ich in erster Linie nicht die perfekte Sprache zu finden, sondern den schnellsten Weg. Ich werde für das Projekt bezahlt und für nichts anderes.

    Was werde ich hier machen? Werde ich jetzt - nur weil es schöner ist - etwas neues lernen? Hell, no! Ich mach alles mit dem Zeug was ich kann, und cashe danach ab.


    Und genau darum haben wir bald eine Generation von Java-Menschen, die maximal auf C# umsatteln, weil es ihr Arbeitsgeber so verlangt.

    Jeder Programmierer hat einfach ein paar Sprachen, für ein paar grobe Einsatzbereiche. Mehr als zwei, bis maximal drei sind es in der Regel nicht: Ob es nun Java un PHP ist, oder Py und C: Es macht einfach beim Arbeiten einen Unterschied, ob ich jede Funktion nachschlagen muss, oder einfach aus dem Kopf hin tippe. (Komm mir jetzt nicht mit Autoverfollständigung. :P)


    Und genau darum macht es sinn gezielt mit einer Sprache programmieren anzufangen.



    Lua ist btw ziemlich cool: Ich finde es persönlich schade, dass man nicht mehr auf inbuild-Scriptsprachen bei der Entwicklung von großen Applikationen setzt. Aber, von der Meinung haben wir am Planet die Tage ja eh genug gehört. ^^


    Btw frage ich mich, warum du RADs bei Py so heraus hebst: Die sind bei modernen Toolkits eh absolut sprachunabhängig.


    Zitat Zitat
    Eine Programmiersprache ist kein Schraubenzieher (auch wenn eine Programmiersprache ein Werkzeug ist), denn während du mit einem Schraubenzieher stark in den Einsatzmöglichkeiten beschränkt bist (ein Torx-Schraubenzieher wird man kaum auf Schlitzschrauben anwenden können), kannst du so gut wie mit jeder Programmiersprache, die etwas auf sich hält wahrscheinlich jede Problemstellung bewerkstelligen. Die Frage ist nur wie effizient.
    Das halte ich mitlerweile für ein Gerücht: Dafür sind die Abstraktionsebenen einfach schon zu groß. Eine Anspielung habe ich ja schon ganz oben gemacht. Genau so spielt die Sinnfrage hier auch oft auf unterschiedlichen Ebenen mit. Wenn ich z.B. eine Bibliothek verfasse, dann werde ich immer zu C tendieren. (Wenn mitlerweile auch durch Vala abstrahiert.) Schlichtweg, weil ich (im Vala-Fall sogar sehr komfortabel dank gidl) dadurch sprachunabhängig Bindings erstellen kann, die überall gescheit laufen. Das ist mir persönlich sehr viel wert. (Wie wir wissen kann man auch in C plattformunabhängigen Code schreiben.)



    Btw hast du das wichtigste Argument, den Side-Think-Faktor, komplett ignoriert.

  10. #10
    Nehmen wir an, ich wäre ein blutiger Anfänger in Sachen Programmierung.
    Nun möchte ich meine Kenntnisse aufbessern, es aber klein angehen lassen, d.h. keine GUIs oder sonstwas, denn das würde schon Programmiererfahrung voraussetzen.
    Ich will eine einsteigerfreundliche Programmiersprache empfohlen haben, die mir das Wesentliche beim Programmieren zeigt, ohne dabei zu tief zu gehen.
    Mit diesen Kenntnissen möchte ich in der Lage sein später auf andere Programmiersprachen unkompliziert aufspringen zu können.
    Was wäre deine Empfehlung?

    ----------------------------------------------------------

    Zitat Zitat von Mog Beitrag anzeigen
    Btw frage ich mich, warum du RADs bei Py so heraus hebst: Die sind bei modernen Toolkits eh absolut sprachunabhängig.
    Man möge mir verzeihen, dass ich Rapid Application Development wörtlich nehme und auch mit der Zeit gleichsetze, die ich brauche um ein ausführbares Programm zu schreiben, das über keine GUI-Elemente verfügt. :P

    Zitat Zitat von Mog Beitrag anzeigen
    Wie wir wissen kann man auch in C plattformunabhängigen Code schreiben.
    Richtig, aber sobald man systembezogene Funktionalität nutzt, ist es dahin mit der Plattformunabhängigkeit und dann muss man zum Präprozessor greifen, was den Code aufblähen und unleserlich machen kann.
    Mit Python schreibe ich den Code ein mal in seiner Wesentlichkeit und führe ihn auf beliebigen Plattformen aus, ohne Änderungen vornehmen zu müssen. Das meine ich mit Portabilität.

    Zitat Zitat von Mog Beitrag anzeigen
    Btw hast du das wichtigste Argument, den Side-Think-Faktor, komplett ignoriert.
    Ich bin mir ehrlich gesagt nicht sicher, was genau du damit meinst. Wenn es dir um den Unterschied zwischen Low-Level und High-Level geht, so ist das selbstverständlich, ändert aber nichts am Wesen meiner Programmierung.
    Wenn jemand mit C/C++ anfängt, bekommt er auf die harte Tour die Grundzüge beigebracht, wie der Computer funktioniert (Memorymanagement (Stack/Heap), Cache (Codecache/L1/L2), Register, RAM (reading/writing), etc.). Er muss mehr aufpassen und kann fatale Fehler verursachen, was aber auch alles ist. Wenn jemand mit einer modernen High-Level-Sprache wie Python anfängt, macht er sich keine Gedanken über Memorymanagement etc. und lernt das Wesentliche beim Programmieren, ohne dabei auf Computerebene zu denken. Wenn er nun will, oder muss, kann er immernoch zu einer Low-Level-fähigen Sprache greifen und ich bezweifle, dass er dabei ein "komisches" Gefühl, oder sonstwas haben wird.

  11. #11
    Zitat Zitat von Kyuu Beitrag anzeigen
    Richtig, aber sobald man systembezogene Funktionalität nutzt, ist es dahin mit der Plattformunabhängigkeit und dann muss man zum Präprozessor greifen, was den Code aufblähen und unleserlich machen kann.
    Mit Python schreibe ich den Code ein mal in seiner Wesentlichkeit und führe ihn auf beliebigen Plattformen aus, ohne Änderungen vornehmen zu müssen. Das meine ich mit Portabilität.
    Das wird dir für eine Library aber nichts nützen. o_O' Sie werden auf jeden Fall weiterhin Python-spezifisch sein, während sie in C nicht nur (meist) bezogen aufs OS, sondern dank Bindings auch auf die Sprache portabel sind.
    Dass man außerdem gerade bei Bibliotheken halbwegs auf Perfromance achten wird/sollte, und daher C von Natur aus geeigneter ist als Python, kommt noch dazu. Also gerade bei Bibliotheken hat C eindeutig die besten Karten.
    Zitat Zitat
    Ich bin mir ehrlich gesagt nicht sicher, was genau du damit meinst.
    Das kommt wohl von seiner ballistischen Annäherung an korrektes (oder auch nur verständliches) Englisch - ignorier's einfach, bis er's übersetzt.
    Zitat Zitat
    Wenn er nun will, oder muss, kann er immernoch zu einer Low-Level-fähigen Sprache greifen und ich bezweifle, dass er dabei ein "komisches" Gefühl, oder sonstwas haben wird.
    Hm, er wird's aber trotzdem wahrscheinlich nicht machen.
    Also ich kann natürlich größtenteils nur von mir ausgehen, aber meiner Meinung nach hat Mog da durchaus Recht: Wenn man eine Sprache erstmal gut kennt, neigt man dazu, eher bei ihr zu bleiben als zu einer nicht ganz so geläufigen zu wechseln, egal ob's jetzt fürs jeweilige Projekt besser wäre, oder nicht.

    Ich selber kann jetzt z.B. nach 3 Jahren Studium um die 10 praxisrelevante Programmiersprachen, trotzdem verwende ich praktisch nichts außer Java und PHP. Höchstens hin und wieder für kleinere Sachen mal, um nicht aus der Übung zu kommen. Und zwar egal, ob das sinnvoll ist, oder nicht, weil ich zwar (z.B. für performancekritischere Programme) C könnte, es aber lang nicht so sehr mag oder gut kann (vor allem aber ersteres) wie die beiden anderen.
    Folgerung: Wenn mich jemand dafür anheuern will, irgendwas zu schreiben das schnell sein muss, werde ich eher dazu tendieren, Java-Code bis zum Gehtnichtmehr zu optimieren, anstatt C zu verwenden.

    Vor kurzem habe ich für so einen besoffenen Kommilitonen, der die GLib-Doku nicht lesen konnte, was mit Regular Expressions gemacht. Aber statt einem Perl-Ein(/Zwei)zeiler sind's etliche Zeilen PHP geworden, einfach weil Perl zwar geil und für die Anwendung praktisch perfekt ist, ich es aber hasse.
    Hätte ich von Anfang an Perl gerlernt wäre das für mich 100%ig natürlicher und einfacher gewesen, und wäre ich jetzt in irgendeinem Job, wo oft RegExp-Programme gebraucht werden (die über ein grep-Shell-Script hinausgehen), würde ich mir zumindest anfangs deutlich leichter tun.

    Sehr langer Post, kurzer Sinn: Dito an Mog, man sollte schon etwas Überlegung in die erste Programmiersprache stecken, wenn man schon die Gelegenheit hat, dass sie einem nicht plötzlich von der Schule aufgedrückt wird. [Wobei die allerersten, von der Schule aus, eh QBasic und dann VB waren, aber zum Glück so oberflächlich, dass das keinen Einfluss hatte.]

  12. #12
    Zitat Zitat von Kyuu Beitrag anzeigen
    Nehmen wir an, ich wäre ein blutiger Anfänger in Sachen Programmierung.
    Nun möchte ich meine Kenntnisse aufbessern, es aber klein angehen lassen, d.h. keine GUIs oder sonstwas, denn das würde schon Programmiererfahrung voraussetzen.
    Ich will eine einsteigerfreundliche Programmiersprache empfohlen haben, die mir das Wesentliche beim Programmieren zeigt, ohne dabei zu tief zu gehen.
    Mit diesen Kenntnissen möchte ich in der Lage sein später auf andere Programmiersprachen unkompliziert aufspringen zu können.
    Was wäre deine Empfehlung?
    Auch in diesem Fall würde ich erst in einem Gespräch herausfinden, was du dir vom Programmieren erwartest und was du in Zukunft gedenkst zu programmieren. Moment mal: Rekursion?^^

    Schießlich geht es nicht darum einfach irgendwie programmieren zu lernen: Es geht dabei gleichzeitig so viel wie möglich davon mitzunehmen. Wie ne Schleife funktioniert, lernt man überall. Aber, nachdem man den absoluten Basis-Kram durch hat - und das geht sehr schnell - geht es ja bereits darum Bibliotheken kennen zu lernen.

    Aber, das hatten wir ja schon.


    Zitat Zitat
    Man möge mir verzeihen, dass ich Rapid Application Development wörtlich nehme und auch mit der Zeit gleichsetze, die ich brauche um ein ausführbares Programm zu schreiben, das über keine GUI-Elemente verfügt. :P
    RAD ist sprachunabhängig, anyway.


    Zitat Zitat
    Richtig, aber sobald man systembezogene Funktionalität nutzt, ist es dahin mit der Plattformunabhängigkeit und dann muss man zum Präprozessor greifen, was den Code aufblähen und unleserlich machen kann.
    Mit Python schreibe ich den Code ein mal in seiner Wesentlichkeit und führe ihn auf beliebigen Plattformen aus, ohne Änderungen vornehmen zu müssen. Das meine ich mit Portabilität.
    Wenn ich in Py systemspezifische Bibliotheken verwende, kann ich auch nicht mehr das System wechseln. Das ist ein sprachunabhängiges Problem. Wenn ich mir eine gute Plattform unter C aussuche, dann habe ich dieses Problem ebensowenig.

    systemspezifische ifdefs brauchst du nur, wenn du Abstraktionsbibliotheken schreibst. Ich möchte behaupten, dass die Meisten leute die das machen eine schlechte Bibliothekswahl getroffen haben, oder eben eine grundlegende schreiben.




    Du zählst Vorteile auf, die sprachunabhängig sind.





    Zitat Zitat
    Ich bin mir ehrlich gesagt nicht sicher, was genau du damit meinst. Wenn es dir um den Unterschied zwischen Low-Level und High-Level geht, so ist das selbstverständlich, ändert aber nichts am Wesen meiner Programmierung.
    Wenn jemand mit C/C++ anfängt, bekommt er auf die harte Tour die Grundzüge beigebracht, wie der Computer funktioniert (Memorymanagement (Stack/Heap), Cache (Codecache/L1/L2), Register, RAM (reading/writing), etc.). Er muss mehr aufpassen und kann fatale Fehler verursachen, was aber auch alles ist. Wenn jemand mit einer modernen High-Level-Sprache wie Python anfängt, macht er sich keine Gedanken über Memorymanagement etc. und lernt das Wesentliche beim Programmieren, ohne dabei auf Computerebene zu denken. Wenn er nun will, oder muss, kann er immernoch zu einer Low-Level-fähigen Sprache greifen und ich bezweifle, dass er dabei ein "komisches" Gefühl, oder sonstwas haben wird.

    Es geht schlichtweg um alles, was du so nebenbei mit lernst. Vielleicht muss man aber auch so viel Code gelesen haben, wie ich, um den Unterschied sehen zu können. C-Entwickler achten einfach automatisch auf Dinge, die mans sonst gerne ignoriert.


    Btw nehme ich C nur als Beispiel her, weil es mir als guter Gegensatz zu Py erscheint.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •