Icon-Tutorial, Teil 11: Sammelsurium

  • Hallo Linux-Freaks, Himbeerfreunde und Forumbewohner,


    hier kommt der 11. Teil des Icon-Tutorials.


    Dieses Mal geht es um viele kleine Dinge, die immer wieder mal gebraucht werden, aber bei den meisten Programmiersprachen irgendwie untergehen - wenn man etwas davon braucht, dann geht das Suchen los.


    - Zeichenkettennamen und Zeichenkettenanrufung: In Icon ist es möglich, Prozeduren über einen Zeichenkettennamen aufzurufen, z.B. so "sin"(x). Entsprechend kann man während der Laufzeit Zeichenketten erzeugen, die entsprechende Funktionen ansprechen.


    - Speichermanagement und Garbage-Collection: Obwohl es in Icon nicht erforderlich ist, sich mit dem Thema Speichermanagement zu beschäftigen, sind einige Befehle und Schlüsselworte dazu implementiert. Man kann diese Dinge nutzen - man braucht es aber nicht. Wenn eine größere Menge an Speicher bereitgestellt werden soll, kann man eine Garbage-Collection erzwingen und den Erfolg nachweisen - das Icon-Programm macht dies jedoch nach Bedarf automatisch, so dass man dieses Feature nicht wirklich anzuwenden braucht.


    - Befehle ausführen: In Icon kann man aus einem Programm heraus andere Anwendungen, Linux-Kommandos oder auch Pipes starten. Das Icon -Programm kann auf das Ende dieses gestarteten Programmes warten - oder das Progamm als parallelen Prozess laufen lassen.


    - Verzeichnis ändern: In hierarchischen Dateisystemenm (wie auf dem Raspberry Pi) ist es gelegentlich erforderlich, in bestimmte Verzeichnisse zu wechseln.


    - Umgebungsvariablen setzen und auslesen: Mit Umgebungsvariablen lässt soich z.B. feststellen, unter welchem Betriebssystem Icon läuft. Auf diese Weisen lassen sich systemspezifische Programme leichter erstellen.


    - Datum und Zeit: Das Abfragen von Datum- und Zeit-Informationen ist bei vielen Anwendungen wichtig


    - Icon-Identifizierung: Ermittlung des Systems, auf dem welche Version von Icon läuft


    - Programmbeendigung: Reagieren auf Ereigbnisse und unterschiedliche Möglichkeiten, ein Programm zu beenden


    - Eingabe-/Ausgabe-Umleitung: Dies ist besonders beim Starten von Linux-Kommandos wichtig


    Und dann kommt demnächst endlich der 12. Teil dieses Tutorials - mein absoluter Favorit unter allen der bereits fertigen 29 Teile. Im 12. Teil wird so richtig deutlich, worin die Stärken der Progrmmiersprache Icon liegen, in dem Fall richtig kreative Bibliotheken zu schreiben - am Beispiel der GPIO-Library mit praktischen Schaltunsgbeispielen und einer entsprechenden Übungsaufgabe, die auch mal etwas zum Basteln beinhaltet. Also Lötkolben / Steckbrett in Stellung halten!


    Beste Grüße


    Andreas


    P.S.: Abschließend eine Bitte:
    Das Projekt Icon hat mittlerweile eine eigene Dynamik angenommen, mit der ich am Anfang nicht unbedingt gerechnet habe.


    Wenn jemand Fragen zu speziellen Kursteilen hat, könntet Ihr bitte die Fragen gezielt zu diesem Kursteil stellen? Momentan ist es so, dass ich persönliche Nachrichten zu irgendwelchen Problemen bekomme, die meistens darin beruhen, dass jemand, ein bestimmtes Tutorial-Teil nicht vollständig durchgearbeitet hat. Ich beantworte jede Frage geduldig Punkt für Punkt in einer persönlichen Nachricht. Wenn die Fragen und meine Antworten jeweils im Thread enthalten wären, dann hätte jeder was davon - und vielleicht würde sich manche Frage nicht mehr ergeben, weil die Lösung schon vorliegt.


    Und vielleicht habe ich manche Aspekte auch so bescheuert beschrieben, dass manche drüber stolpern und ich dies zum Anlass nehmen werde, einige Teile zu überarbeiten, um Missverständnissen vorzubeugen.


    Über Danksagungen und Anregungen freue ich mich natürlich immer!

    Files

    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.


  • ...
    Über Danksagungen und Anregungen freue ich mich natürlich immer!


    ERSTKLASSIGE Arbeit,
    für Neulinge (wie mich) liegen die einzelnen Teile schon etwas "verstreut" im Tutorialverzeichnis, daher habe mal alle Teile zusammengesucht und in eine PDF geschoben.


    Ich hoffe Du hast nichts dagegen


    ein dankender Clonix

    Files

    Kommentare in Scripten/Sourcecodes machen nicht nur DIR das Leben leichter ;)

  • Hallo Clonix,



    Vielen Dank für Dein Lob! Hauptsächlich richte ich mich ja an Neulinge (Raspberry Pi, Programmieren) - daher ist es schön, dass es bei Dir gefällt.


    Hm, wenn es Dir Spass bereitet, aus einzelnen PDF-Dateien eine grosse zu machen, dann fühl Dich frei ;).


    Was machst Du aber, wenn denn mal Korrekturen einzelner Tutorial-Teile anstehen? Ist eine Heidenarbeit, sowas zusammenzustelklen, oder?


    Sei aber vorgewarnt. :cool: : 29 Teile sind bereits fertig, Ideen zum 30. Teil sammle ich gerade (Programmieren mit Pipes). Und ein Ende sehe ich momentan nicht unbedingt, da es ein lebendes System darstellt. Theoretisch könnte man jede Neuentwicklung einer Anwendung (sofern es sich nicht um Auftragsarbeiten handelt) in einem Tutorial ausgiebig erläutern. Bestimmte Aspekte kamen vielleicht zu kurz und könnten in einem eigenen Tutorial vertieft werden (Datums- und Zeit-Funktionen und Schlüsselworte, vielleicht inkl. Vorstellung eigener Formatierungsroutinen für belibige Datumsformate, ...)


    Mittlerweile habe ich auch mal erste Versuche mit Python unternommen - warm werde ich damit sicherlich nicht. Mir ist Python zu träge. Entweder liegt das daran, dass Python auf einem ressourcenschwachen System läuft - oder es liegt an der generellen Python-Performance.


    Ich bleibe bei Icon - wen hätte es gewundert? Icon ist auch auf dem Raspberry Pi genauso schnell wie auf auf hochpreisigen Systemen (Windows-, Linux-PC).


    Beste Grüsse


    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.