Goede Pascal compiler
1 juni 2025 - 18:53   
geplaatst door: ravke
Sinds mijn jeugd programmeer ik in (Turbo)Pascal of Delphi. Echter was ik op zoek naar een (gratis) alternatief voor op Mac daar Delphi niet voor Mac beschikbaar is.
Na een tijdje zoeken ben ik op Lazarus uitgekomen. Dit is een volwaardig Delphi alternatief voor zowel Mac, Linux als andere systemen. Om Mac executables te maken moet je wel ook xcode installeren. Er is een duidelijke handleiding op de Lazarus website hoe alles te installeren.
Eens dat het werkt is het een object-georienteerde compiler die als programmeertaal free pascal gebruikt. Echt een aanrader!
https://www.lazarus-ide.org/

Hier is een programma dat ik aan het ontwikkelen ben om ondertitels te bewerken : SRT Editor. https://sourceforge.net/projects/srt-editor/
Versie 4.0.0 is in de maak maar ben momenteel aan bugfixen dus dat kan nog enkele weken duren.
Goede Pascal compiler
gisteren 09:51    reactie #1
geplaatst door: boiing
Leuk! Ik heb jarenlang in Delphi geprogrammeerd, vooral voor een custom-made thuisproject eind jaren ‘90. Inmiddels een klein beetje Swift kennis, maar ook alleen voor wat hobby projecten. Lazarus heb ik al een paar keer bekeken maar nog niet mee gespeeld. Het bracht wel herinneringen terug aan toen! De koppeling tussen UI en code blijft een briljant concept. SwiftUI gaat een beetje die richting op maar de leercurve blijft steiler dan het gemak van toen. Voordeel van Lazarus is natuurlijk dat je voor Win en Mac kunt compileren, nadeel is dat het er nooit echt ‘Mac-achtig’ uitziet tenzij je heel veel moeite doet. Als je alleen voor de Mac programmeert heeft Swift toch wel de voorkeur en is de tijdsinvestering waard.

Mooi project maak je :thumbs-up:. Grappig is dat ik een jaar of wat geleden iets zocht waarmee je ondertitels qua timing kon aanpassen (film gedownload maar de ondertitels lopen 4 seconden achter, dat idee). Ik heb toen niks goeds kunnen vinden dus ga jouw tool zeker uitproberen! Well done :worship:.
The amount of energy needed to refute bullshit is an order of magnitude bigger than that needed to produce it (Brandolini's Law)
Goede Pascal compiler
gisteren 12:08    reactie #2
geplaatst door: nnsa
Grappig is dat ik een jaar of wat geleden iets zocht waarmee je ondertitels qua timing kon aanpassen (film gedownload maar de ondertitels lopen 4 seconden achter, dat idee). Ik heb toen niks goeds kunnen vinden dus ga jouw tool zeker uitproberen! Well done :worship:.
Laat eens weten of dat werkt...
Ⓒnnsa(i)-2025
Goede Pascal compiler
gisteren 18:36    reactie #3
geplaatst door: puk1980
In de jaren tachtig heb ik een aantal jaar met Turbo Pascal gewerkt. Een briljant all-in-one systeem! De auteur van Turbo Pascal, Anders Hejlsberg heeft trouwens veel meer talen op zijn palmares:
- Turbo Pascal
- Delphi
- J++
- C#
- TypeScript
Een briljante man dus.  :smile:

Je zou C# op de Mac eens kunnen proberen, als alternatief.   :wink:

Cross-platform GUIs maken wij op ons werk overigens vooral met Qt, maar dan zit je vast aan C++ en dat wil je niemand aandoen. (My 2cts)

Als je alleen macOS hoeft te ondersteunen dan is Swift zoals boiing aangaf een prima keuze.

Zelf ben ik gecharmeerd van Go maar daar is nog niet een de-facto winnaar in de categorie cross-platform GUI libraries.
Goede Pascal compiler
vandaag 17:22    reactie #4
geplaatst door: mcmt
Cross-platform GUIs maken wij op ons werk overigens vooral met Qt, maar dan zit je vast aan C++ en dat wil je niemand aandoen. (My 2cts)

Als je alleen macOS hoeft te ondersteunen dan is Swift zoals boiing aangaf een prima keuze.
Ik heb eens een presentatie over C++ door ontwerper Bjarne Stroustrup bijgewoond. Op verschillende momenten leek hij zich haast te verontschuldigen voor bepaalde keuzes ingegeven door meer pragmatische overwegingen. Toen ik hem later tussen pot en pint vroeg hoe de 'ideale' C++ er dan wel zou uitzien, merkte ik toch fundamenteel weinig verschil met de werkelijkheid.

Swift werkt vaak redelijk prettig, maar heeft de laatste jaren toch nogal aan complexiteit 'gewonnen'. Sommigen spreken zelfs van een feature creep en wijzen op een gebrek aan orthogonaliteit, zoals in dit (oudere) voorbeeld:

  • Je kan tuples van 6 getallen vergelijken: (1, 2, 3, 4, 5, 6) == (1, 2, 3, 4, 5, 6).
  • Vanaf 7 waarden loopt het echter fout: Binary operator '==' cannot be applied to two '(Int, Int, Int, Int, Int, Int, Int)' operands. Je kan zelf wel code toevoegen voor dit specifieke geval.
Goede Pascal compiler
vandaag 17:43    reactie #5
geplaatst door: puk1980
Op verschillende momenten leek hij zich haast te verontschuldigen voor bepaalde keuzes ingegeven door meer pragmatische overwegingen.
Er wordt op diverse fronten gekeken of C++ verbeterd kan worden.
Bijvoorbeeld:
Herb Sutter - "Can C++ be 10x simpler and safer ...?" CppCon 2022 talk
Ik heb er een hard hoofd in dat dat gaat lukken.


Vanaf 7 waarden loopt het echter fout:
Inderdaad een merkwaardige beperking die zo te zien nog steeds geldt. Aan de andere kant denk ik dat ik niet zo snel tegen deze limiet zou aanlopen. Tuples in Python overigens werken heerlijk, bijvoorbeeld ook als key in een dict.  :smile: