www.freepascal.org voor AVR

Beste CO gabbers, Weet iemand toevallig te melden of de FPC pascal compiler van www.freepascal.org ook werkt voor de AVR chip?

'K ben druk aan het linuxen / compileren geslagen en wou tussentijds even weten of iemand anders deze compiler successvol getest heeft!

'K Gebruik nu www.mikroe.com pascal voor AVR, deze is echter niet stabiel genoeg.

Groet, Wouter van Wegen

Delphi WIN10 / www.freepascal.org AVR Pascal / www.freepascal.org RPI /

Pascal..... is dat niet die programmeertaal bedoeld voor educatie (en dus niet voor praktisch gebruik)? Stap een keer over op C zoals "iedereen", zo moeilijk is dat niet.

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Arco

Special Member

De MikroE compilers zijn zééér stabiel.
Als er iets verkeerd gaat doe je zelf iets fout; een andere compiler gaat daar geen verschil in maken...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Schimanski

Golden Member

...Stap een keer over op C zoals "iedereen", zo moeilijk is dat niet...

Dan moet hij zijn nick ook aanpassen naar cbythree :+

Op de website lees ik....

[Bericht gewijzigd door Schimanski op zaterdag 27 november 2021 15:29:03 (30%)

What, me worry? // Radiozendamateur - PA2HGJ // Stuff is the junk you keep -- Junk is the stuff you throw away // Tinkeo Ergo Sum
mel

Golden Member

Op 27 november 2021 15:19:06 schreef pascalbythree:

'K ben druk aan het linuxen / compileren geslagen

Groet, Wouter van Wegen

Linux heeft een ingebouwde c compiler.. :)

u=ir betekent niet :U bent ingenieur..
GJ_

Moderator

Op 27 november 2021 15:24:50 schreef flipflop:
Pascal..... is dat niet die programmeertaal bedoeld voor educatie (en dus niet voor praktisch gebruik)?

Nee, als mislukte opvolger van Cobol. En er zijn nog steeds erg populaire talen die wel heel erg op Pascal lijken zoals structured text in Codesys.

Arco

Special Member

Sommige mensen schijnen aangetrokken tot 'gedoemde' zaken...

Een vroegere baas van me was helemaal geobsedeerd van Pascal, moesten we overal voor gebruiken (ook nog onder DOS)

Daarna overgestapt naar OS/2 (wat ten onder ging, ons laatste actieve systeem ging 2005 uit de lucht).
Daarna Windows op DEC Alpha servers (wat beide ook ten onder ging: DEC Alpha en Windows voor DEC Alpha).
Ook nog NetWare servers een tijdje (ook ter ziele).

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
eSe

Honourable Member

Linux heeft een ingebouwde c compiler..

..en c++, c#, ADA, Fortran... en er is ook een frontend voor Pascal.

Sommige dingen keren altijd terug. Ik zag net dat Fortran weer omhoog gaat in gebruik, alsook assembler. Die laatste zal wel wat te maken hebben met de overvloed aan microcontrollers.

Zie: https://www.tiobe.com/tiobe-index//

Groetjes,
eSe

CChheecckk yyoouurr dduupplleexx sswwiittcchh..
fripster

Golden Member

Pascal is in tegenstelling tot wat sommigen hier beweren niet slecht, dood of alleen voor educatieve doeleinden bedoeld.

Het is een volwaardige programmeertaal voor mensen die het niet erg vinden dat hun code wat meer verbose is, maar daardoor tenminste goed leesbaar is en blijft. Verder is Pascal strongly typed, waardoor de blatante onzin die je in C kunt doen zonder dat de compiler erover zeurt (cast maar eens een string als een integer of zo) bijna niet kàn voorkomen.

Heel wat grote belangrijke pakketten zijn in Pascal/Delphi/Lazarus gemaakt en doen hun functie uitstekend.

Ieder mag natuurlijk het tool gebruiken waar hij of zij de voorkeur voor heeft, maar ga niet afgeven op een taal die erg leesbaar, goed begrijpbaar en netjes gestructureerd is.

En ja ik ben een Pascal (Delphi / Lazarus) gebruiker

Eens een wirehead,altijd een wirehead.... gopher://fripster.ydns.eu
benleentje

Golden Member

HEt leren programmeren op zichzelf is al een uitdaging, dus in welke taal je dat leert maak denk ik weinig uit. Als je eenmaal goed bent in het programmeren zelf is overstappen op een andere taal al wat makkelijker.

IK was ca 2 jaar geleden begonnen met C++. en ben nu voor de 2de dag bezig met visualbasic 6. Veel dingen zijn dan redelijk hetzelfde alleen je type het net even anders.

Pascal strongly typed, waardoor de blatante onzin die je in C kunt doen zonder dat de compiler erover zeurt

Nu doe jezelf ook een beter afgeven op een andere taal maar je hebt wel gelijk C++ is zeker niet perfect ik gebruik het meer omdat iedereen het doet. Maar is basic ook niet gewoon strongly typed want ik vind basic een stuk leesbaarder.

Mensen zijn soms net als een gelijkrichter, ze willen graag hun gelijk hebben.
fripster

Golden Member

@benleentje: Touché... je hebt gelijk.. Laten we nou maar allemaal gebruiken waar we het beste mee uit de voeten kunnen lijkt me :)

Eens een wirehead,altijd een wirehead.... gopher://fripster.ydns.eu
Arco

Special Member

+1 ;)

Heb nooit begrepen waarom C zonodig het pipe/dakje teken moet gebruiken om 1 letter uit te sparen... (Or / Xor is toch veel duidelijker?

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Op 27 november 2021 17:23:13 schreef eSe:
[...]

..en c++, c#, ADA, Fortran... en er is ook een frontend voor Pascal.

De C compiler (gcc) is native, de rest niet, al is g++ vrijwel altijd beschikbaar, de rest niet, en zeker C# is niet "ingebouwd"

alsook assembler. Die laatste zal wel wat te maken hebben met de overvloed aan microcontrollers.

Ik ken werkelijk geen professionele programmeur die nog in assembler programmeert voor microcontrollers, met uitzondering van kleine, specialistische stukjes code, binnen C projecten. Ik heb het zelf nog wel gedaan, meer dan 10 jaar geleden, voor een DSP waar geen C compiler voor bestond.

@fripster: ik heb zelf, zo'n 25 jaar geleden, leren programmeren in Pascal (toen nog Turbo Pascal, onder DOS), en het is absoluut een syntactisch mooie taal, zeer geschikt voor beginnende programmeurs.

Ik had liever gezien dat Basic een pijnlijke dood was gestorven en Pascal nog volop gebruikt werd, maar de geschiedenis is helaas anders.

Praktisch gezien denk ik dat je Pascal wel min of meer als dood kunt beschouwen; er zijn maar weinig compilers, en alleen voor zeer specifieke platformen. Aan de andere kant is er voor vrijwel elk denkbaar platform (behalve dus die eerder genoemde DSP) wel een C compiler beschikbaar. Uiteraard kun je nog steeds wel Pascal gebruiken voor microcontrollers e.d., maar dat betekend dus wel dat je vast zit aan één familie (PIC/AVR), en dat zijn allemaal oude, trage 8-bitters. De moderne STM/NXP micro's zijn ordes van grootte sneller, met 32-bit brede ALUs en clock frequenties tot bijna 500MHz. Daarbij hebben ze veel meer I/O, veel meer flash en RAM, snelle interfaces zoals Ethernet, interfaces voor LCD schermen, QSPI flash, externe RAM, geavanceerde DMA periferals, etc.

Met Pascal en Basic zit je toch min of meer vast aan de microcontrollers van het begin van de eeuw. Niets mis mee als je daar je hobby projecten mee kunt doen, maar wees je bewust van die beperkingen, en reken er niet op dat je ooit professioneel iets met die techniek kunt doen.

Op 27 november 2021 18:19:52 schreef benleentje:
HEt leren programmeren op zichzelf is al een uitdaging, dus in welke taal je dat leert maak denk ik weinig uit.

Behalve Basic; dat richt dusdanig ernstige hersenschade aan, dat een echte taal leren heel moeilijk is voor de meesten >:)

IK was ca 2 jaar geleden begonnen met C++. en ben nu voor de 2de dag bezig met visualbasic 6.

VB6? Waarom zou je daar nu nog mee beginnen? De ondersteuning daarvoor is 15 jaar geleden al gestopt, al komt de runtime nog wel mee met Windows 10. Overigens kon je in VB6 al wel strong typing afdwingen.

Als je nu nog met een nieuwe taal wilt beginnen, zou Python mijn eerste keuze zijn, niet een oude Basic variant.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Arco

Special Member

Vb is inderdaad wel erg 'belegen'...
(ik vond het ook nooit prettig werken, lomp en omslachtig. Enige heel goede was de IDE mogelijkheid om iedere functie apart voor editing te openen)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Een vervelende eigenschap van de VB6 omgeving (in tegenstelling tot Visual Studio uit dezelfde tijd) was dat je met een foutje in je programma de hele ontwikkelomgeving mee onderuit kon trekken. Je hoefde maar één timertje niet netjes op te ruimen en je was aan de beurt. Dat is dan ook het moment dat je erachter komt dat je al geruime tijd niet meer op control-S hebt gedrukt...

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
benleentje

Golden Member

VB6? Waarom zou je daar nu nog mee beginnen?

Wilde eigenlijk Excel en VBA gaan gebruiken, maar kwam eerst deze tutorial tegen die zegt eerst met vb6 te beginnen en later over te gaan naar VB.net en excel
Mijn uiteindelijk doel is wat data van en naar een microcontroller over te sturen maar vind wel heel veel data verwerking naar excel maar niets wat andersom gaat.

Maar is een beetje off-topic en wil dit topic daarmee niet teveel vervuilen

Mensen zijn soms net als een gelijkrichter, ze willen graag hun gelijk hebben.
big_fat_mama

Zie Paulinha_B

Het oorspronkelijke Basic staat eigenlijk dicht bij assembler; vergelijk bv. GOTO met JMP of GOSUB met JSR. Ik vind dan ook dat men Basic niet moet afdoen als zijnde "geen echte programmeertaal", dan is assembler dat ook niet, en voor mij is assembler juist de moeder van alle talen.

V.w.b. Pascal: ook ik had altijd begrepen dat dit was bedoeld voor pedagogische doelen, maar voor productiewerk nogal wat beperkingen had, bv. inzake het afhandelen van runtime errors. Ik dacht dat Modula was bedoeld als tegenhanger/opvolger van Pascal voor het "echte werk". Maar Modula is nooit echt doorgebroken, zoals zovele talen.

Verder nogal danig akkoord met Sparky: Geen enkele variant Basic is vandaag nog zinnig om te leren; en alnaargelang wat men te doen heeft kan python een heel goede keuze zijn, vooral door de enorme biblioteek aan gespecialiseerde modules voor de meest uiteenlopende doeleinden.

[Bericht gewijzigd door big_fat_mama op zaterdag 27 november 2021 19:10:37 (18%)

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord
Arco

Special Member

Voor veel 'old skool' basic programmeurs blijkt het toch lastig om dingen als GOTO en GOSUB af te zweren... ;)
(terwijl die nu helemaal niet meer nodig zijn en die de term 'spaghetticode' hebben gecreeerd...)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
big_fat_mama

Zie Paulinha_B

Als ik assembler schrijf gebruik ik ook JMP en JSR ;) daar komt men maar lastig omheen.

En ja, als men zijn stijl niet verzorgt dan komt er spaghetticode van, dat zegt meer over de programmeur dan over de taal. Maar die discussie is al duizend keer gevoerd, denk ik.

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord
benleentje

Golden Member

Precies en wat maakt het ook uit welke taal je gebruikt je staat op A en je wilt naar B dus je neemt gewoon de taal die dat voor je kan doen en wat je prettig vind. Maar met internet en bestanden uitwisselen wil je toch ook een gangbare taal. En c++ is toch minder porteerbaar dan ik dacht. In de arduino ide werkt het zonder compiler errors. Maar een overstap naar platformio kreeg ik ineens 161 compiler errors.

Daarna dacht ik hou het wel lekker bij wat ik weet en beheers en wat dat dan ook is maakt toch weinig uit.

Ik vind dan ook dat men Basic niet moet afdoen als zijnde "geen echte programmeertaal",

Dat vind ik ook, hoewel ik begrepen heb niet elke taal geschikt is om een OS te schrijven ivm met het ontbreken van pointers. Maar als dat niet je doel is om een OS te schrijven dan maakt het verder ook weinig uit.

Mensen zijn soms net als een gelijkrichter, ze willen graag hun gelijk hebben.
Arco

Special Member

Ik maak ook complexe zaken in Basic/Windows en dat gaat uitstekend (laatste was een VOIP/SIP meldcentrale welke zonder problemen al 2 jaar draait)
CALL en JMP zijn voor assembly noodzakelijk, maar voor Basic tegenwoordig toch echt 'not done'...

Gewoon omdat je er onoverzichtelijke code door krijgt, en het totaal niet meer nodig is.
(er zijn nu genoeg alternatieven ('Do' loops, 'While' loops, Break, Exit, Functions en Subs,...)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Pascal in een zeer professionele vorm vind je bij Embarcadero. Ik heb zelf ook veel in Pascal / Delphi gewerkt. Wel uitsluitend voor Windows.

Het is een prima taal, zeer leesbaar en veel minder cryptische symbolen. Delphi is tegenwoordig een high-level taal geworden. Openen, nieuw project, plak er knoppen op, zet er een database bij, een export naar Excel, en je hebt in de tijd dat je dit zegt een applicatie gebouwd met mooie userinterface. Ok, ok, dan moet je wel een langzame spreker zijn maar toch. Ik maak er veel sneller een betrouwbare en mooie applicatie mee dan met C.

Pascal is ooit door Wirth ontwikkeld om studenten te leren gestructureerd te programmeren. Dat is dan ook meteen het voordeel, het leidt tot structuur en leesbaarheid. Ik heb er een hoop in gebouwd met zeer goede resultaten.

Het voordeel van C is dat je van alles kunt manipuleren, alles kan. Dat is ook meteen het nadeel.

Kwaliteitssoftware is overdraagbaar en leesbaar. C vereist meer discipline. Maar de programmeur is altijd het belangrijkst, dat geldt in elke taal.

In feite werken heel veel talen op dezelfde manier, alle hebben diverse loops en methodes. De punten en komma's staan alleen wat anders.

Ik raad C wel sterk aan omdat er nu eenmaal veel mensen in C programmeren en er compilers voor veel platforms beschikbaar zijn. Uiteindelijk ben jij het als programmeur die voor een goed resultaat moet zorgen. In sommige talen is dat handig, bij sommige talen moet je daar wat meer voor doen. Zo is Python bijvoorbeeld heel handig om snel een quick&dirty scriptje te maken.

eSe

Honourable Member

Ik ken werkelijk geen professionele programmeur die nog in assembler programmeert voor microcontrollers...

Omdat ze het niet meer kunnen? :+

In de link die ik heb meegegeven zie je dat assembler een grote sprong voorwaarts maakt in de "top" van gebruikte talen, alsook Fortran zoals gemeld.

Ik gebruik ass. ook niet meer zoveel als vroeger, maar ik doe het nog steeds graag.

'Professionele' programmeurs zullen inderdaad andere dingen opzoeken die HUN leven makkelijker maken maar of de app'jes (en dat is het overgrote deel van wat die jongens/meisjes maken) ook echt robuust zijn ?
En we zijn niet allemaal programmeur van opleiding of doen het om 'den brode'.

De c compiler is inderdaad 'native' bij GCC, maar de andere compiler front-ends kan je tijdens de installatie gewoon mee installeren. (GCC = Gnu Compiler Collection)

Groetjes,
eSe

CChheecckk yyoouurr dduupplleexx sswwiittcchh..

mzz... Das veel lees werk!

Maar hij doet het tot zo ver.

PECH: De mcu reageerd niet op de code

Waarschijnlijk een verkeerd gegenereerd HEX file

Nu ga ik slapen.

Morgen weer verder!

Groet, Wouter

Delphi WIN10 / www.freepascal.org AVR Pascal / www.freepascal.org RPI /
Arco

Special Member

Op 27 november 2021 20:22:28 schreef eSe:
[...]

Omdat ze het niet meer kunnen? :+

Omdat het met grotere complexe projecten moeilijker in onderhoud is.
Assembly schrijven en 'ontluizen' duurt nu eenmaal langer. In basic schrijf je het in een fractie van de tijd.
(meeste programmeurs die ik ken zijn geen masochisten... ;) )

Assembly werkt best prettig en voor kleine controllers met heel weinig geheugen gebruik ik het nog wel eens.
(codegrootte scheelt vaak een factor 5...10)

Sommige OS zoals OS/2 waren grotendeels in assembly geschreven (OS/2 was 5x sneller als vergelijkbare Windows versie).
Maar een nadeel zijn ook de problemen met porten naar andere hardware: in assembly heel erg veel werk, in hogere talen veel minder...

Verder is assembly wel simpeler geworden doordat er macro includes zijn gemaakt met functionaliteit als DO/WHILE, SELECT CASE, enz...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com