In de snelle wereld van mobile, cloud en social loop je niet vaak meer tegen iets aan met de wow-factor. Tutorialspoint is wat ons betreft een uitzondering. In 2006 is Tutorialspoint gestart met een simpele HTML-tutor. Nu is het een cloud-gebaseerde omgeving, waar je experimenteert met en programmeert in maar liefst 80 (!) programmeertalen. Je doet dit 100% online, met onder water allemaal open source-oplossingen.

Programmeren is leuk. Toch zijn er te weinig programmeurs in Nederland (en Europa). Organisaties besteden delen van hun softwareontwikkeling uit aan lagelonenlanden met hoog gekwalificeerde ontwikkelaars, vooral India is een belangrijke bron voor remote personeel. Er zijn uitzendbureaus die bemiddelen als je developers uit India wil inhuren. Tarieven van 20 euro per uur zijn heel normaal en dan blijft er ook nog wat aan de strijkstok hangen van van de bemiddelaars. Omdat India een belangrijk developer-land is het daarom niet vreemd dat Tutorialspoint een bedrijf uit India is.

Wow!

Tutorialspoint.com biedt je 80 programmeertalen online aan! Van veel van deze programmeertalen heb je misschien niet eens gehoord. Ken jij Befinge? Of Haskell? En wat dacht je van Verilog? Het werkt allemaal fantastisch. Je gaat naar de website en klikt op CodingGround. Je ziet dan een kort overzicht van populaire talen als PHP, Ruby, Perl, Python, Java, de Bash shell en meer. Klik je op Show all dan zie je alle programmeertalen die aangeboden worden, waaronder C, C++, C#, Pascal, de Korn shell, Swift en vele anderen waaronder ook de onbekende talen. De programmeertaal die je vervolgens selecteert, opent een complete IDE (Integrated Development Environment), met een beheeromgeving, een code-editor (met kleurweergave voor de syntax), compiler en een compleet Linux-besturingssysteem enzovoort. Je hoeft geen handmatige compilers aan te roepen, dat werkt simpel met knopjes. In het terminalvenster zie je de Linux-opdracht om te compileren (bijvoorbeeld g++ -std=c++11 -o main *.cpp). Je programma wordt uitgevoerd op de command line van de Linux-omgeving. Het is ook mogelijk rechtstreeks op de opdrachtregel te werken en hier rond te neuzen. Het starten van een IDE (die in een datacenter in India draait) duurt meestal nog geen seconde. Dit is inclusief je ‘eigen’ gehoste Linux-server. Hoe dit zo snel kan? Tutorialspoint gebruikt containervirtualisatie met Docker (zie Linux Magazine 3) om zo razendsnel een Linux-container met de juiste programmeertaal en IDE voor je op te starten. Je merkt dit niet, maar er zijn geen andere manieren deze snelheid te halen. Wil je zien dat je inderdaad onder een virtuele dockercontainer werkt, voer een een df command uit of kijk eens in /proc/1/cgroup.

Hello world

Standaard wordt in de editor van de meeste programmeeromgevingen een programma geladen dat “Hello world” als output in je terminalvenster toont. Voor degenen die het niet weten: Hello world is de uitvoer van het allereerste C-programma zoals beschreven in het beroemde boek “The C Programming Language” van Brian Kerninghan en Dennis Ritchie uit 1978. En zo zorgt Tutorialspoint ervoor dat de bedenkers van C – dat ook de basis vormt voor de ontwikkeling van UNIX – geëerd worden. Om dit programma te draaien op je virtuele gehoste Linux klik je op Execute (voor een geïnterpreteerde taal) of eerst op Compile en dan op Execute voor een programmeertaal die eerst gecompileerd moet worden. De uitvoer verschijnt op het terminalvenster van je gehoste Linux-containersysteem.

 

Het werkt gewoon

Je hoeft je niet te registeren en niet in te loggen op de IDE’s te gebruiken. Binnen een paar seconden zit je te programmeren in bijvoorbeeld Python op Linux. Maar waar blijven de programma’s dan die je maakt? Tutorialspoint bewaart je programma’s of complete projecten op Google Drive, Microsoft OneDrive, DropBox of meteen in Github. Wil je verder gaan, dan open je het project ook weer vanaf die plek. Verder kun je het project downloaden (en uploaden) als je wilt of een link laten aanmaken om de code te delen via bijvoorbeeld social media.

 

Terminals

Maar er is meer. Behalve complete IDE’s kun je terminals starten. Dat zijn command lines naar een specifieke omgeving. Hier ontbreekt dus de IDE maar communiceer je direct met de betreffende applicatie. Je moet dus in dit geval wel kennis hebben over die omgeving, anders kun je er weinig mee doen. In minder dan een tel open je een CentOS Linux container, een Oracle 11g shell of zelfs een Microsoft Powershell (gebruikt het open source Mono). In totaal zijn er al 15 van deze terminal-vensters te starten om er commando’s tegen aan te tikken en ermee te experimenteren. 

 

DevTools

Onder het kopje DevTools vind je onder meer enkele editors, minimizers en formatters. De editors spreken voor zich, met minimizers haal je overbodige tekens en regels weg uit de code en met formatters maak je code beter leesbaar. Verder is er een image editor en een verzameling tools om de netwerkconnectiviteit te checken. Een opvallende tool is Send18, een WeTransfer-clone. Hiermee verstuur je (zip)bestanden die tot 18GB groot kunnen zijn naar maximaal 18 personen. Het bedrijf geeft aan dat deze beperking alleen voorlopig geldt; de plannen zijn nog grotere bestanden te ondersteunen.

 

Kennis

Maar kennis is waar het allemaal om draait bij Tutorialspoint.com. Naast de DevTools, 80 IDE’s en 15 terminals om je online te laten programmeren, troubleshooten en testen, bevat de site vele honderden tutorials. Deze zijn online te lezen maar je kunt er ook gemakkelijk een PDF van downloaden. Uiteraard zijn er tutorials voor al de programmeertalen. Die van Python bijvoorbeeld is in pdf-vorm bijna 500 pagina’s van omvang. Maar er zijn ook tutorials voor andere IT-thema’s, van Wi-Fi en WiMAX, tot Big Data-onderwerpen, algemene IT-onderwerpen zoals software engineering en UNIX. Minder dominant aanwezig is de knop Quizes. Hieronder zijn een zeer groot aantal meerkeuzevragen en antwoorden te vinden over al deze onderwerpen. Er is een groot computerwoordenboek te vinden en een who-is-who lijst met alle relevante persoonlijkheden die in de IT hun bijdrage hebben geleverd. Je vindt een CV van enkele zinnen van Charles Babbage, Dennis Ritchie, Linus Torvalds tot Bill Gates, Michael Dell en Richard  Stallman. Tot slot zijn er allerlei hulpbronnen te vinden om je het solliciteren in de IT gemakkelijker te maken. 

 

Gratis

Alle tutorials, tools, IDEs en de live containers om in te programmeren zijn volledig gratis. De performance van de online programmeeromgeving is uitstekend, de inhoudelijke kwaliteit prima. Zit er niet ergens een addertje onder het gras? Nee, het bedrijf verdient geld met e-books en met het geven van opleidingen (in India?) en met wat reclame aan de zijkant van de tutorials. Wil je een complete tutorial downloaden als PDF dan wordt je vriendelijk verzocht een bedrag over te maken naar de maker. Maar verplicht is het niet. Tutorialspoint zit inhoudelijk goed in elkaar en het kan niet anders of het moet onderwijs en programmeurs aanspreken. En wij zijn gecharmeerd van hoe de IDE is geïmplementeerd, gevuld met Linux en open source. Als we dan toch enkele kleine nadelen moeten noemen: het meeste is Engelstalig. Voor een enkeling kan dat een belemmering zijn. Ook mis je misschien nog de mogelijkheid om een tutorial samen met een IDE te gebruiken. Met andere woorden, je gebruikt de IDE als oefenomgeving voor en naast de tutorials.  Laat ons weten wat je van Tutorialspoint vindt! Ken je Nederlandstalige min of meer vergelijkbare leeromgeving? We horen het graag.

 

Link:

www.tutorialspoint.com