Go vs PHP
Blog Geschatte leestijd: 3 minuten

Go vs PHP

Go vs PHP, wat zijn de verschillen, de overeenkomsten en wanneer gebruik je wat? Wij lichten het in deze blogpost toe!

Wat is Go?

Go, ook wel Golang genoemd, is een open-source programmeertaal die in 2007 werd ontwikkeld door Google. Het doel hierbij was het creëren van een programmeertaal die zowel simpel en betrouwbaar als efficiënt is.

Waar PHP een dynamically typed server side scripttaal is die zich richt op web development, is Go juist een strictly typed programmeertaal die gecompileerd wordt. In eerste instantie is daardoor de vergelijking tussen deze twee talen misschien niet helemaal logisch. Go beschikt echter over de nodige tools die juist gericht zijn op netwerken en webservers, waardoor het toch interessant is om de vergelijking tussen Go en PHP te maken.

System Programming languages vs server side scripting

Go is een zogenaamde System Programming language, wat betekent dat de taal kan worden gebruikt om systeem software te schrijven. Voorbeelden van dit soort software zijn bijvoorbeeld compilers, operating systems, interpreters, assemblers en runtime libraries. System Programming talen hebben vaak kortere lijntjes naar de fysieke hardware van een computer of server dan General Purpose talen zoals Java, PHP en meer. Hierdoor zijn dit soort talen vaak efficiënter in performance. Andere voorbeelden van System Programming talen zijn C++, Rust en Swift.

Server Side Scripting, waar PHP in uitblinkt, steekt heel anders in elkaar. Het is een techniek waarbij er op de server van een website of applicatie een script wordt aangesproken om een bepaalde actie uit te voeren. Er wordt constant gecommuniceerd tussen de cliënt, de kant van de gebruiker, en de server door middel van requests en responses. Er is, anders dan bij System Programming talen, geen directe toegang tot hardware en verschillende opdrachten worden opeenvolgend uitgevoerd.

Go voor web

Het mag duidelijk zijn, Go en PHP zijn twee compleet verschillende talen in opzet. Als je puur afgaat op het feit dat Go bekend staat als een System Programming taal, dan is het je moeilijk voor te stellen dat deze programmeertaal ook geschikt is voor enige vorm van web development. Gelukkig hadden de ontwikkelaars van Go grote plannen.

Een groot verschil tussen Go en PHP is dat Go meerdere processen tegelijkertijd kan uitvoeren. Hierdoor kan een goed geprogrammeerde web app die gemaakt is met Go een stuk sneller werken dan met een scripting taal, waarin de processen elkaar opvolgen. Web apps zijn hierdoor ook een stuk makkelijk schaalbaar. Met een Scripting taal loop je al snel het risico dat de opeenvolgende verwerking van opdrachten vertragend werkt bij grote hoeveelheden requests.

Go beschikt over ingebouwde ondersteuning voor HTTP/2. Om content op het web aan te bieden hoef je geen gebruik te maken van de oude bekende web servers zoals Apache, Nginx of TomCat. Je kan met Go zelf je eigen web server opzetten. Maak je toch liever wel gebruik van de eerder genoemde web servers? Geen probleem, ook dit is gewoon mogelijk.

Uiteraard zijn er ook allerlei libraries en frameworks beschikbaar om de ontwikkeling van web apps makkelijker en overzichtelijker te maken. Er is ondersteuning voor alle gangbare databases zoals MySQL en MongoDB. Er worden meerdere templating engines aangeboden die het eenvoudiger maken om de frontend te schrijven en koppelen met de backend.
Met Google weet je daarnaast ook nog eens dat er altijd leuke verwante projecten naast lopen, zoals gopherjs (een compiler van Go naar JavaScript waarmee frontend code in Go kan worden geschreven) en Hugo (een framework voor het schrijven van statische websites).

Dus, Go vs PHP

De vraag “programmeertaal 1 of programmeertaal 2” krijgt eigenlijk nooit een definitief antwoord en hier is dat helaas niet anders. Beide talen hebben hun voordelen en nadelen, maar welke hiervan doorslaggevend zijn is voor elke persoon anders.

PHP is zonder twijfel een stuk eenvoudiger om te leren, zeker wanneer je nog maar net bent begonnen met programmeren. Het is nog steeds een geweldige oplossing voor web development en de vraag naar PHP kennis is nog altijd groot. Dit zal zeker de komende jaren nog niet veranderen, zeker niet met de grote hoeveelheid WordPress websites die standaard gebruik maken van PHP.

Go is wat moeilijker om in te stappen, maar het biedt wel grote voordelen in omstandigheden waarbij grote hoeveelheden data en requests verwerkt moeten worden. De performance van Go zal het bij die grote hoeveelheden vaak winnen van PHP. Tot slot is het bij een statically typed en gecompileerde taal zoals Go ook minder makkelijk om fouten te maken. Dit komt grote projecten waar veiligheid en correctheid belangrijk zijn absoluut ten goede.

Werken met Go of PHP? Bekijk onze vacatures of neem direct contact op met een van onze Recruitment Consultants.

Meer artikelen