Search

Archives

Pages

Op mijn desktop:

Suggesties, commentaar, ... (klik of schrijf zelf:)e-mail webgang
Laatste titels:

Programmeren op Linux: Python en Gambas

Uitzending do 18:00 ** December 29th, 2022 by wim.webgang **

De programmeertaal die je waarschijnlijk het meest tegenkomt is Python, van servers en data-analyse tot Raspberry Pi, en zelfs tot micro-python op Arduino.
De programmeertaal die je waarschijnlijk het minst tegenkomt is Gambas, nochtans laagdrempelig, zeer volledig en speciaal gemaakt voor Linux.

Beiden hebben object-geƶrienteerde eigenschapppen. Gambas maakt rechtstreeks GUI applicaties (maar je kan ook commandline programma’s of scripts maken), bij Python kan je GUI programma’s maken met wxPython framework.

Python is oorspronkelijk ontwikkeld door Guido Van Rossum, die vond dat hij een gemakkelijkere programmeertaal nodig had dan C op een unix-achtig systeem (Amoebe, gemaakt door Andrew Tanenbaum, de auteur van minix, wat dan weer inspiratie was voor Linux…). Van Rossum is ondertussen op pensioen, maar waarschijnlijk nog wel betrokken. Hijzelf daarover …. Zover ik weet werkt hij nu voor Microsoft.

Gambas is ontwikkeld voor Linux, door een programmeur in Parijs, BenoĆ®t Minisini, die vond dat op Linux een gemakkelijke programmeeromgeving miste om zowel desktopprogramma’s als serverscripts te maken. Hij wou dat het even goed was als Java, maar even gemakkelijk als Basic. Hij onderhoudt zelf aktief de programmeeromgeving en schakelde over naar een statuut van zelfstandige om zich aan Gambas te kunnen wijden.
Hier een interview met Benoit Minisini (met ellendige introductie): https://twit.tv/shows/floss-weekly/episodes/353

Python en Gambas zijn geen programmeertalen als C, ze werken niet met een op zich staande executable. Python wordt ook wel een script-taal genoemd. En Gambas maakt een soort tussenvorm aan die een “runtime” gebruikt om de programma’s te draaien.

Ik weet al langer van het bestaan van Python, maar kwam maar zelden in aanraking (op een aktieve manier) met Python code.
En vanaf ik Gambas ontdekte, rond 2007, en begon te gebruiken, had ik ook geen Python meer nodig, behalve dan misschien micro-python.

Onlangs nam ik toch eens een basis-shot Python, en noteerde een paar bedenkingen (zonder pretentie, gewoon beginners nota’s).

Python heeft een paar eigenaardigheden:
- Syntax: underscores om namen leesbaar te maken: deel_van_naam. Gambas: kleine letter voor type, dan HoofdletterEnNogIets.
- inspringen is bepalend voor de struktuur (er wordt geen einde van de code-lijn teken gebruikt – bij Gambas ook niet en daar is inspringen toch vrij)
- een variabele heeft geen vast type. Wat eerst als getal wordt gebruikt, kan daarna een string toegewezen krijgen. Type zichtbaar maken met print(type(var)) Gambas: variabele declareren, maar vormt zelf soms om wanneer nodig (zonder type variabele te veranderen)
- De manier om print te combineren met een “f” en accolades, om variabelen en berekeningen te mengen met tekst. (Gambas: string & str(value) & string & … )
- Je kan in Python de eigen functies (per vergissing) overschrijven door de naam van een functie te gebruiken als nieuwe variabele. (Gambas: keywords beschermd).
- Tuple: soort vaste waarden lijst. Gambas: contstante array?
- Er bestaat ook een gewone list, met willekeurige elementen (Gambas: type van de list vast).
- de index kan, hoe zal ik het zeggen, impliciet zijn, en zelfs vervangen worden door een underscore _.
for index in (0, 1, 2, 3):
# doe iets
# als de waarde van de variabele index niet gebruikt wordt hier kan evengoed:...
for index in range(4):
# of zelfs:
for _ in range(4):

ps: hier zie je ook goed het belang van de syntax na de : wordt het inspringen bepalend voor de programmastruktuur. Gevaarlijk als je code knipt en plakt of reorganiseert.
- Bij de lijstjes telt python tot net voor het gegeven element, dus als je zegt tot 4 stopt hij bij 3 en gaat niet naar 4, terwijl je bij andere talen dikwijls ziet tot n-1. Dat maakt het daar dus gemakkelijker, maar wel verwarrend tov de rest van de wereld.
- Libraries: importeren library, eigen systeem om die af te halen die lijkt op wat Linux distributies gebruiken voor hun repositories: pip. Gambas: je kan eigen Gambas libraries maken, in Gambas of in andere taal als C. De IDE bevat voorgedefinieerde onderdelen die je gewoon kan aanvinken als je ze nodig hebt, en je kan een “gambas farm” gebruiken om dingen af te halen.
- Voor Python bestaan veel programmeeromgevingen, van commandolijn, over python IDLE, tot uitgebreide IDE’s als Eric, enz.
(Gambas: IDE die zelf in Gambas geprogrammeerd is en tegelijk dus demo en documentatie is)

Extra: Python Turtle; een package dat je kan installeren met pip:
pip3 install PythonTurtle
Daarmee kan je een visuele weergave maken van je loops door te “tekenen”, in stappen uitgevoerde lijntekening: turtle.forward(100), turtle.left(180/3) enz.

Een paar links:

- https://www.w3schools.com/python/default.asp
- https://www.w3schools.com/python/python_reference.asp
En bij Python zelf:
- https://docs.python.org/3/tutorial/
- https://docs.python.org/3/reference/

Lift ^ | Lift v | Comments Off

Comments are closed.