Programmeren

Vanaf het moment dat ik ruim 30 jaar geleden mijn eerste computer kocht ben ik aan het programmeren. Eerst in basic, daarna in z80 assembler, daarna vele jaren in C en C++. Hier is een lijst van programmeertalen waarin ik "beroepsmatig" gewerkt heb: Java, Perl, Php, C, C++,C#,Delphi, Cobol, Unix Shell scripts, JavaScript, VBScript, Xslt, Turbo Pascal, Basic, Assembly voor diverse processors (8080,Z80,8031,80186,80386,Pentium). Ook programmeerde ik 30 jaar geleden al spellen, eerst in Basic, toen in Basic en assembler, daarna in C (c++) en Assembler en de laatste jaren HTML5 / Javascript. Beroepsmatig programmeer ik momenteel in C# (DotNet), Java en C, maar ook een projectje in Psql kwam er nog even tussendoor. Momenteel programmeer ik mijn zelfgebouwde robots in C en bouw ik apps voor Windows en Android. Door mijn brede kennis en ervaring ben ik heel breed inzetbaar en bovendien vind ik (bijna) alles ook leuk om te doen. Dit is een index pagina naar alle onderwerpen op mijn site die te maken hebben met computers en programmeren. Vriendelijke groet, Hein Pragt


Unity engine

Unity logoDeze pagina gaat over de game engine en ontwikkel omgeving Unity. Ik schrijf al mijn hele leven code voor games, zowel spellen als Reversi, een Adventure interpreter. maar ook platform spellen en 2D spellen voor verschillende platformen. De meeste spellen schreef ik in de programmeertaal C maar ook HTML5 en Javascript. Als ontwikkelomgeving voor 2D games gebruikte ik Construct 2 waar ik een licentie voor gekocht heb. Ik heb wel pogingen gedaan om zelf een 3D engine te schrijven maar dat bleek uiteindelijk toch te hoog gegrepen, toch liep ik al bijna twintig jaar rond met het idee voor een Adventure spel dat ik wilde maken (een realistisch 3D spel) en toen ik Unity leerde kennen sprak deze engine me onmiddellijk aan. Ik kan goed programmeren in C, C++ en C# en de wijze waarop Unity in elkaar zit (in combinatie met Visual Studio) sprak me ook heel erg aan.
Over de Unity engine

Apps programmeren

apps programmerenIn 2013 ben ik begonnen met het maken van apps voor Android en sinds 2014 bouw ik ook apps voor Windows Desktop, Tablet en Phone. Alle apps zijn geschreven in HTML5 / Css3 / Javascript, soms vanuit het pakket Construct2 waarbij gebruik gemaakt is van canvas. Voor het bouwen van de app packages voor de Android apps gebruik ik meestal de Intel XDK omdat deze eenvoudig gesignde Android packages kan genereren. De laatste tijd gebruik ik Microsoft Visual Studio als ontwikkelomgeving voor alle apps en maak ik ook gebruik van WinJS waar ik een grote fan van ben geworden en maak ik tegenwoordig zogenaamde Universal apps die in één keer geschikt zijn voor alle devices. Dus één set broncode voor de app voor meerdere platformen. Dit lijkt te mooi om waar te zijn maar in Visual Studio is het mogelijk. Ik ben ook redelijk ervaren (en heb met succes het Microsoft examen gedaan) in HTML5 / Css3 en Javascript. Veel ontwikkelaars denken hier wat makkelijk over maar het is een zeer uitgebreide en kennisintensieve programmeer omgeving die zeer veel mogelijkheden biedt. WinJS is een schitterend platform voor het maken van echt Universal apps en een schitterende toolbox om mooie en goed functionerende apps te bouwen.
Mijn apps

Opengl programmeren

opengl programmerenIn de begintijd van de computer werden in grafische applicaties het beeld pixel voor pixel uitgerekend door de CPU en daarna doorgestuurd naar de grafische kaart die ervoor zorg droeg dat een videosignaal naar de monitor gestuurd werd. Dit lost natuurlijk veel rekenkracht en telkens moesten allerlei grafische functies opnieuw geschreven worden. Nu is een eenvoudige lijn niet zo'n probleem maar ingewikkelde 3D transformaties werden al iets moeilijker. OpenGL wat staat voor Open Graphics Library gebruikt een heel andere aanpak voor het genereren van een beeld via een standaard bibliotheek. Naast de CPU kan er ook een grafische processor van de videokaart ingezet worden (de GPU) om het beeld te genereren. In plaats van het beeld punt voor punt aan te leveren, worden kunnen complete objecten, camera posities en licht instellingen aan de GPU geleverd die dit dan afzonderlijk van de CPU kan renderen. De GPU gaat dus zelfstandig het beeld punt voor punt berekenen en dat beeld wordt uiteindelijk naar de monitor gestuurd. Meestal gaat het om het samenwerken van de CPU en de GPU, afhankelijk van de mogelijkheden die beiden hebben.
OpenGL introductie

3D programmeren

3d kubus demoIn 1991 en 1992 werd mijn belangstelling voor 3d technieken als ervaren C en C++ programmeur gewekt door de serie artikelen van Michael Abrash in het Amerikaanse tijdschrift Dr Dobbs die ik in die tijd trouw elke maand las. Aangezien de computers nog niet zo snel waren in die tijd en geheugen ook nog beperkt was moesten we via omwegen toch proberen om enige snelheid te halen. Ik heb in deze tijd ook een complete fixed point wiskundige bibliotheek in x86 assembler geschreven waarmee ik in C snel 3d vectoren kon omrekenen en polygonen kon renderen. Samen met alle informatie over 3D programmeren van Michael Abrash heb ik in die tijd een een vrij aardige 3D demo gemaakt en deed ik mee aan demo competities. Michael Abrash ging ten tijd van deze artikelen voor voor Microsoft werken en toen ik tegen de beperkingen van de hardware aanliep begon mijn belangstelling wat terug te lopen maar de basiskennis is altijd gebleven. Op deze pagina wil ik wat algemene informatie geven over 3D technieken en 3D programmeer technieken maar ook een klein stukje wiskunde. Wanneer u wilt programmeren voor 3D applicaties is een basis van wiskunde noodzakelijk. Maar nog nooit was wiskunde zo leuk omdat u gelijk erg leuke resultaten kunt zien.
lees meer over 3D technieken.

Het spel reversi

othello of reversi spelHet spel Reversi (ook wel othello genoemd) is een bordspel voor twee personen dat in 1888 bedacht is door Lewis Waterman in Engeland. Het spel Othello werd later door een Japanner genaamd Goro Hasegawa bedacht in 1971 en James R. Becker ontwikkelde het spel en bracht het op de markt. Het spel is heel bekend geworden op de computer, maar is ook nog steeds als bordspel te koop. Er is een bordspel met de naam Rolit te koop waarmee reversi door vier personen tegelijk gespeeld kan worden. De steentjes zijn bij deze variant balletjes die in vier standen op het bord kunnen worden gelegd, met een bepaalde kleur boven. Het spel leent zich ook perfect voor de computer en aangezien de spelregels vrij simpel zijn is het ook snel en eenvoudig te implementeren. Het spel is in bijna elke programmeertaal gemaakt en er zijn ook veel online versies van het spel. Aangezien javascript en flash script niet uitblinken in snelheid zijn de meeste van deze programma's niet erg sterk en hebben ze meestal een 2 ply (spelzet niveau) min/max berekening met soms wat uitbreidingen met tabellen met veld waarden. Maar deze programma's zijn vaak te gretig in het veroveren van stukken waardoor ze met een beetje tactiek al snel verliezen. De wat betere versies van het programma zijn tegenwoordig in java geschreven maar zoals voor elk spel opgaat is de taal C en C++ natuurlijk de meest voor de hand liggende keuze als het om snelheid gaat.
lees meer over het spel reversi...

Spellen programmeren

Het programmeren van spellen is leuk, verslavend, een bron van heel veel ergernis maar ook heel veel plezier. Maar hoe kunt u een spel programmeren? Grafische vormgeving en geluid zijn de dingen die het eerst opvallen wanneer we computer spellen bekijken. Maar schitterende animaties en goede geluidseffecten zijn slechts de buitenste laag van deze fascinerende vorm van technologie. 3D techniek vereist een goede kennis van wiskunde en verder is een spel vaak een ingewikkelde structuur van logica en regels. Ook raken spellen vaak het vak psychologie omdat het spel een vorm van actie en reactie is en de speler een mens is die op menselijke wijze reageert op het spel.
lees meer...

De programmeertaal C

Deze pagina gaat over mijn oude liefde, de programmeertaal C. Ik leerde de taal C kennen in 1986 (dus 24 jaar geleden) door het werk wat is toen deed. Ik was programmeur van embedded software en schreef hoofdzakelijk in Z80 assembler code maar langzaam ging dit steeds meer richting C. De taal C is ook maar één stap hoger dat assembler dus het was ook een logische stap. Naderhand ben ik ook PC applicaties gaan schrijven in C en er was zelfs een tijd dat ik de compiler als rekenmachine gebruikte. Na het lezen van de C bijbel, het bekende witte boekje van Kernighan en Ritchie was ik een totale fan van de programmeertaal C. Samen met de collega's probeerden we steeds meer geavanceerde dingen te doen en werd het schrijven van code in C een soort van kunst.
lees meer over de programmeertaal C

De programmeertaal C++

In dit artikel probeer ik een aantal goede redenen te geven om over te stappen op 'C++' zelfs wanneer u het object georiënteerd deel niet wilt gebruiken. Dit is in mijn visie de eerste stap die 'C' programmeurs kunnen maken zonder een cultuur schok door te maken. Object georiënteerd programmeren is namelijk een andere denk en ontwerp wijze in plaats van alleen wat nieuwe functies. Maar 'C++' is heel goed te gebruiken zonder object georiënteerd te werken. Toen ik voor het eerst kennismaakte met 'C++' zei ik spottend tegen een collega, "Alles wat in 'C++' mogelijk is, kan ik ook in standaard 'C' maken, ik zie het nut niet zo". Ik had volkomen gelijk, en vele collega 'C' programmeurs waren het met me eens.
lees meer over de programmeertaal C++

PragtTextUtil programma

PragtTextUtil is geen editor hoewel de basis functies om tekst te kunnen bewerken wel aanwezig zijn in het programma. Het programma is bedoeld om bewerkingen uit te voeren op tekst zoals het omzetten naar hoofd of kleine letters of het verwijderen van HTML tags en het omzetten naar nette paragrafen. Maar ook bewerkingen als trim, uniq, sort en filtering zitten in dit programma en een complexe bewerking om een gesorteerd woord frequentie overzicht te maken om bijvoorbeeld goede keywords voor een webpagina te kunnen bepalen. Ook kunt u bijvoorbeeld uit een logbestand alle regels filteren die een bepaald woord bevatten of juist niet een bepaald woord bevatten. Ook een leuke optie is zoek en vervang met de mogelijkheid om CTRL tekens te gebruiken in de zoek maar ook de vervang tekst. Als invoer kan het programma natuurlijk alle vormen van platte tekstbestanden lezen, maar ook bestanden als hex/ascii dump, html pagina's, webpagina's via een HTTP verzoek (simpele wget) om de exacte response van een internet server op te vangen. Maar ook kunt u de inhoud van uw directory in de tekstbewerker laden om zo bijvoorbeeld een gesorteerde lijst van al uw muziek te maken. (Onder Windows is het nog steeds niet mogelijk om de lijst uit de verkenner te knippen en plakken). Ook kunt u de uitvoer van een command line opdracht rechtstreeks in de tekstbewerker inlezen. Verder zit er een variant van de bekende Linux / Unix utils grep, diff, head en tail in maar dan geschikt gemaakt voor MS-Windows.
lees meer over het PragtTextUtil programma

Adventure interpreter

Ik heb in 1997 de scottfree versie van de adventure interpreter aangepast voor Microsoft Windows (Visual C) en in 2005 en 2013 heb ik een nieuwe versie gemaakt met een nieuwe gebruikersinterface die ook onder Windows 7 werkt. Inmiddels is er ook een app versie voor zowel Android als Windows 8.
Lees meer...


Handige boeken

boekboek bestellenProgrammeren voor Dummies Ontdek zowel de basisbeginselen van programmeren als geavanceerde programmeerprincipes. Durf jij de uitdaging aan? Met dit boek leer je op een vlotte manier programma's schrijven die probleemloos werken onder Windows,Mac OS en Linux. Maak kennis met de verschillende programmeertalen, bedenk een goed ontwerp en verdiep je in de belangrijkste bouwstenen van programma's. Wallace Wang heeft meer dan 2,3 miljoen verkochte Voor Dummies-boeken op zijn naam staan. Daarnaast heeft hij veel lol als stand-upcomedian en met zijn eigen radioprogramma. Oefen er op los met de voorbeelden op de cd-rom! Op de bijgeleverde cd-rom: - alle programmacode uit het boek in meerdere talen; - demoversies van Liberty BASIC, REALbasic, Dev-C++, Valentina, Galax y en Revolution Studio; Programmeren wordt vaak als iets ingewikkelds gezien, waarbij talloze technische termen en lappen codes doorgenomen moeten worden. De auteur probeert hier met dit boek verandering in te brengen door de basis van het programmeren bij te brengen zonder meteen de diepte van een programmeertaal in te gaan. Het gaat over de algemene werking van programma’s, de gelijkenissen tussen programmeertalen en de keuze voor een programmeertaal. Net als de andere boeken in de 'voor dummies'-serie is het boek toegankelijk geschreven en brengt het de materie met humor. Er is een beperkt aantal zwart-witillustraties, maar voldoende om de tekst te verduidelijken. Tips, waarschuwingen e.d. worden met behulp van icoontjes duidelijk onderscheiden van de rest van de tekst. Het boek bedient de doelgroep, van (wellicht) geïnteresseerde programmeurs, op een prettige, toegankelijke wijze van de stof en geeft veel bronnen voor het vervolg. De cd-rom is in deze editie verdwenen en vervangen door een website met hulpmiddelen en links naar programmeertalen.


boekboek bestellenIn zee met C In zee met C is bestemd voor gebruik in het hoge onderwijs bij een inleidende cursus C voor technische informatica, elektrotechniek of industriële automatisering. Dit boek bestaat uit twee delen. Deel I is een algemene inleiding in de taal C, gebaseerd op kleine complete programma's aan de hand waarvan begrippen en elementen van de taal toegelicht worden. Deel 2 richt zich op C in een technische en/of embedded omgeving. Ook hier worden zoveel mogelijk compleet werkende programma's gepresenteerd die de lezer kunnen inspireren of waarmee de werking van een stuk software wordt verduidelijkt. In het eerste deel van het boek wordt een inleiding in de hogere taal C gepresenteerd. Het een en ander wordt aan de hand van C-programma's toegelicht. Hierbij wordt gebruikt gemaakt van een C-compiler in een Linux omgeving. Het is voor de beginner goed te volgen en alle belangrijke elementen van C komen aan de orde. Het tweede deel is gericht op C in een embedded en/of technische omgeving. Het laatste deel is doet een groot beroep op voorkennis van de gebruiker. Waar nodig wordt theoretische achtergrondinformatie gegeven. Onderwerpen zoals variabelen en constanten, samengestelde datatypen, pointers, functies, C in een embedded omgeving, crosscompilatie, het aansturen van hardware vanuit C, fixed point-berekeningen, assemblers en netwerktoepassingen worden behandeld. Goed geschreven studieboek voor het hoger onderwijs; een tweede doelgroep is de pc gebruiker die programmeren als hobby heeft. De uitgave is ook geschikt als naslagwerk.


boekboek bestellenMaak je eigen apps Heb je altijd al een app willen maken? In dit boek neemt Serge de Beer je stap voor stap mee in het proces van zelf een app maken. Hoe werk je met een programma als Gamesalad? Waar moet je aan denken tijdens het ontwerp en het programmeren van je eigen apps? Serge is bekend van zijn praktische cursussen met ‘Learning Tour” en heeft veel ervaring met het programmeren van apps. Heb je weinig programmeerervaring? Geen probleem. Het boek is door de visuele opzet eenvoudig en praktisch. Hoe werkt dat nu: een eigen app maken? Annemarie van Essen interviewt in het boek mensen met ervaring in het maken van apps. Wat was hun doel en hoe hebben zij dat bereikt? ‘Maak je eigen apps’ is het boek dat je nodig hebt wanneer je zelf aan de slag wilt met het ontwikkelen van mobiele applicaties. Smartphones en tablets zijn in korte tijd zeer populair geworden en worden voor steeds meer doeleinden gebruikt. Wie zelf een originele toepassing bedenkt. kan daarvoor een app (applicatie) schrijven, maar het maken van een eigen app kan een behoorlijke uitdaging zijn. Dit boek leert de lezer hoe een app gebouwd kan worden met behulp van het programma GameSalad, oorspronkelijk bedoeld voor het maken van spelletjes, maar ook voor andere toepassingen bruikbaar. Na de installatie van de software wordt uitgelegd hoe een app opgezet wordt, hoe foto's, geluid en bewegende elementen toegevoegd worden, en hoe het eindresultaat gepubliceerd kan worden. Het tweede deel behandelt een andere mogelijke aanpak: het schrijven van een webapp. Hierbij wordt gebruikt gemaakt van HTML en jQuery om een webpagina te maken die speciaal geschikt is voor smartphones en tablets. De tekst wordt afgewisseld met enkele interviews. De tekst is voorzien van een groot aantal schermafbeeldingen in kleur en geeft bij elk hoofdstuk een praktijkopdracht. Her en der ruimte voor eigen aantekeningen. Geschikt als introductie voor lezers die een niet al te complex eigen idee willen omzetten naar een eigen app.


boekboek bestellenLeren programmeren In dit boek worden de bouwstenen van het programmeren in het algemeen en het objectgeoriënteerd programmeren in het bijzonder aangereikt op maat van leerlingen uit de derde graad van het secundair onderwijs. Spelenderwijs verdiepen we ons via de educatieve programmeeromgeving BlueJ in de programmeertaal Java. De controlestructuren, zoals selectie en iteratie, komen pas aan bod wanneer dit nodig is en staan niet los van het objectgeoriënteerd programmeren. In dit handboek vind je naast theoretische achtergrond ook heel veel demo-materiaal. Bovendien volgt na elk bouwsteentje steeds een basisoefening en zijn alle hoofdstukken voorzien van een uitgebreide verzameling herhalingsoefeningen. Leren programmeren is een aanrader voor elke leerling die zich wil voorbereiden op het eerste jaar van een richting informaticawetenschappen in het hoger onderwijs.


Last update: 08-02-2018
 Binnen dit thema



 Meer thema's


 Lees hier de privacyverklaring van deze site.

Disclaimer.

Hoewel de heer Hein Pragt de informatie beschikbaar op deze pagina met grote zorg samenstelt, sluit de heer Pragt alle aansprakelijkheid uit met betrekking tot de informatie die, in welke vorm dan ook, via zijn site wordt aangeboden. Het opnemen van een afbeelding of verwijzing is uitsluitend bedoeld als een mogelijke bron van informatie voor de bezoeker en mag op generlei wijze als instemming, goedkeuring of afkeuring worden uitgelegd, noch kunnen daaraan rechten worden ontleend. Op de artikelen van de heer Pragt op deze Internetsite rust auteursrecht. Overname van informatie (tekst en afbeeldingen) is uitsluitend toegestaan na voorafgaande schriftelijke toestemming van de rechthebbende. Voor vragen over copyright en het gebruik van de informatie op deze site kunt u contact opnemen met: (email: mail@heinpragt.com). Dit is mijn