Posts tonen met het label programmeertalen. Alle posts tonen
Posts tonen met het label programmeertalen. Alle posts tonen

maandag 5 december 2011

Meer over programmeren: De tien talen in de software industrie


“Engels en Duits zijn handiger in Europa dan Thais of Koreaans”
                                                                                                - Sam Rain
Programmeertalen zijn de middelen om een doel te bereiken; het is dan ook waardevol om te weten wat het verschil is tussen de hamer en een schroevendraaier. Daarom de 10 populairste talen van de software industrie op een rij met de reden waarom ze tot de top 10 behoren.
Ruby
Een ‘objectgeoriënteerde’ taal welke niet alleen goed leesbaar is, maar ook een ‘vrije’ stijl hanteert qua conventie. Het is een prima taal voor beginners als voor gevorderden zonder al te veel mystiek. Het is vooral populair dankzij het ‘Ruby on Rails’ framework (omgeving en architectuur voor specifieke platformen).
Java
Ook ‘objectgeoriënteerd’ en al jaren de baas in het kader van industriële software. Java is een ‘robuuste’ taal en is systeem onafhankelijk; programma’s in Java draaien op ieder systeem dat Java-technologie ondersteund (tegenwoordig wat minder bijzonder). Echter omdat de industrie al decennia werkt met Java zijn er zeer veel ‘bibliotheken’ van broncode beschikbaar, met als nadeel dat Java ‘pittig’ is voor beginners en relatief ouderwets is in vergelijking met andere talen (zoals Ruby).
PHP
Tegenwoordig een ‘objectgeoriënteerde’ taal, voornamelijk gericht op webapplicaties. Veel programmeurs krijgen deze taal onder de knie, omdat PHP het mogelijk maakt om Databases te koppelen aan websites. De taal wordt vaak een script-taal genoemd; echter dankt het dit aan het verleden.
C#
Uitgesproken als C-‘sharp’, ontwikkeld door Microsoft om in de eerste instantie te concurreren met ‘Java’. Deze taal die veel wegheeft van Java is volledig gericht op Microsoft systemen en beschikt over veel ‘bibliotheken’ om applicaties te bouwen met behulp van componenten.
JavaScript
Net als PHP, ooit begonnen als gereedschap voor het dynamischer te maken van websites, alleen voert JavaScript het uit op de computer van de bezoeker. Tegenwoordig gebruikt men JavaScript als programmeertaal voor ‘widgets’, smartphone applicaties of als ‘embedded’ taal in industriële software. Als dynamische taal werkt men vooral met ‘frameworks’ zoals JQuery of Zend.
Objective-C
Een programmeertaal voor Apple systemen; programma’s zoals ‘apps’, ‘widgets’ en toepassingen voor Apple systemen worden met Objective-C geschreven. De taal is vrij complex, maar biedt gelijk ook mogelijkheden om volledige applicaties te ontwerpen. Apple biedt de programmeeromgeving met alle toeters en bellen gratis aan – Xcode is van begin tot eind volledig. Objective-C is ‘object georiënteerd’ en een ‘super-set’ van C++
C++
Een programmeertaal voor mensen zonder hobby; de taal is echter in staat waar meeste programmeertalen ophouden verder te gaan. Het wordt veelvuldig gebruikt voor spellen die het uiterste van computers eisen, maar ook om besturingssystemen te programmeren. C++ vereist concentratie – fouten maken, betekent opsporen – en is dat is al ellende genoeg om er niet voor te kiezen als beginner (of gevorderde).
C
Een oude taal, zonder objecten en alle controle. C is een degelijke taal voor de purist en komt zonder toeters en bellen, en laat de rest van de fiets ook thuis. Vaak wordt C gebruikt voor kleine systemen zoals routers, apparaten zoals magnetrons e.d.
Python
Eigenlijk als Ruby, maar sneller. Python is wel echter een voorstander van opgedrongen conventie: wit ruimte heeft wel betekenis (in tegenstelling tot andere talen) en vaak zul je ‘oude’ gewoontes moeten opgeven bij de adoptie van deze taal. Python is vooral populair onder de UNIX/Linux programmeurs en vooral veel services in de industrie worden ‘gebakken’ met Python.
SQL
De taal voor databases, de complexiteit verandert per type database maar de taal is redelijk uniform. Essentieel is het niet objectgeoriënteerd maar dat hoeft ook niet. Databases zijn vlak gezegd tabellen en met SQL is het beheer een peulenschil. Hoewel veel talen ‘abstracte lagen’ hebben voor databases, blijft kennis van deze taal bijna essentieel.
Naast deze tien talen zijn er ontelbare varianten. In de industrie van nu zijn deze talen waarin oplossingen geleverd worden. Vaak worden ook combinaties gebruikt; PHP, SQL en JavaScript zijn bijvoorbeeld in vele webshops gebruikt als gezamenlijke oplossing.
©SamRain

vrijdag 2 december 2011

Programma's Begrijpen: De basis uitgelegd


“Alle programma’s bestaan uit componenten en informatie”
                                                                                    - Sam Rain
Programmeurs worden gezien als whizz-kids die magische werelden uitvoeren met cryptische codes; het specialisme heeft niet voor niets één van de meest uitgebreide en verwarrende vakjargon ter beschikking. Het beestje heeft een naam nodig en het detail waarop kan worden ingezoomd is zowel breed als diep. Programma’s zijn complexer geworden, maar blijven altijd dezelfde beginselen behouden.
Een programma dient om informatie te manipuleren; hoe deze moet worden vormgegeven of als factor dient in een complexe berekening, het is en blijft de kern van iedere uitvoerbare ‘code’. Naast informatie moet er een mechanisme zijn wat het bewerkt; deze ‘blokken’ bepalen de volgorde en bewerking, dit zijn als het ware losse componenten. Om informatie te verwerken heeft het een structuur nodig die de componenten begrijpen. De ruwe informatie heet ‘data’, de componenten heten ‘broncode’ en de structuur is een ‘formaat’.
Een verwarrende uitleg wordt vaak gegeven over de broncode; de manier hoe componenten worden ‘gebouwd’ gebeurd in programmeertaal, maar dit is geen taal zoals mensen die gebruiken. Computers begrijpen alleen rationele instructies in signalen. De programmeertaal is bestemd voor menselijke lezers, zodat ze begrijpen wat ze vragen aan de computer. De taal heet voor programmeurs de ‘syntax’.
Ondanks de grote hoeveelheid programmeertalen met alle toeters en bellen, blijven er altijd een aantal fundamenten aanwezig. Het leren van een programmeertaal gaat veel eenvoudiger wanneer deze bekend zijn. Ze zijn namelijk de kern van elke taal die met computers werken.
Informatie moet in een structuur geplaatst worden voordat ze gebruikt wordt. Computers kennen geen verschil tussen nummers en leestekens en daarom moet de structuur bekend zijn voor de verwerking kan plaatsvinden. Daarnaast moet deze informatie ook opgeslagen worden in het werkgeheugen, zodat het later weer opgevraagd kan worden. Broncode noemt dit proces ‘declareren’; de informatie wordt opgeslagen met behulp van een label, beter bekend als een ‘variabele’.
Als de informatie toegankelijk is, kan er mee gewerkt worden. Feitelijk zijn er drie mechanismen voor informatie: wiskundige berekeningen, herhalende opdrachten en keuzes. De wiskundige berekeningen heten ‘operatoren’, de herhalende opdrachten heten ‘lussen’ en keuzes staan bekend als ‘condities’. Een programma is daarom eigenlijk een grote rekensom, echter is de complexiteit ervan vaak afhankelijk van de programmeertaal. Een taal die op het diepste niveau werkt (low level) kan op de bit precies werken op de computer. Op het hoogste niveau (high level) maakt de taal gebruik van ‘ingebouwde’ functionaliteit, zodat men zich kan bezighouden met het vraagstuk zonder eerst de weg naar Rome te bouwen.
Om volgorde en hergebruik te bepalen hebben (vooral high level talen) veel talen de mogelijkheid om delen broncode van een ‘label’ te voorzien. Deze mechaniek heet een ‘procedure’, ‘methode’ of een functie. Wanneer een taal deze mechaniek ondersteund, kan met door middel van een speciale declaratie de broncode aansturen via een zelfgekozen ‘label’.
Als het programma is geschreven, kan het nog niet worden uitgevoerd; tekst begrijpt een computer immers niet. Een speciaal programma zet het bronbestand om in een uitvoerbare structuur; het bestand wordt vertaald naar een ‘echt’ programma. Het programma wat deze vertaling doet heet de ‘compiler’ en wordt meegeleverd met de programmeertaal. Een variatie hierop is een ‘interpreter’ (tolk) welke niet een zelfstandig programma maakt, maar het uitvoeren van instructies doet aan de hand van de broncode per geschreven regel.

Meer lezen hierover? Klik hier voor de inhoudsopgave voor alle artikelen!
©SamRain
sam-rain-articles.blogspot.com