Verder Terug Inhoud

2. Programmeertalen

C, Lisp en Perl zijn traditionele hacking programmeertalen in de GNU/Linux cultuur; Python, PHP, Java en C++ hebben recent nieuwe grond verworven.

2.1 Concepten in de tabel

Taal

Een gebruikelijke naam van de taal.

Beginner

Geeft aan hoe geschikt de taal is voor mensen met weinig programmeerervaring. Een taal gemarkeerd met ``ja'' zou uitvoerbaar moeten zijn als eerste programmeertaal voor een beginner.

Performance

Hoe snel je applicaties naar alle waarschijnlijkheid zullen draaien wanneer je ze in productie neemt. De performance hangt meer af van je algorithmische programmeervaardigheden dan de feitelijke taal. Als vuistregel zijn C, C++ en Fortran soms noodzakelijk omdat ze een betere performance bieden dan andere talen - andere keren zijn ze wellicht ongeschikt voor het gewenste doel. (Een idee voor het niet wetenschappelijk ``benchmarken'' van de programmeertalen zou zijn een eenvoudig sorteeralgoritme te implementeren in alle programmeertalen en de uitvoertijden ervan te vergelijken. Hiermee wordt natuurlijk niet de performance van de feitelijke taal gemeten, aangezien dat concept geen zin heeft, maar slechts de implementatie. Natuurlijk geen erg betrouwbare of grondige methode, maar het zou een voorbeeld kunnen geven van het verschil in uitvoertijden van de verschilende talen. Kan iemand me hiermee helpen?)

OOP, Object-Oriented Programming vs. andere paradigma's

Object geöriënteerd programmeren is een belangrijk paradigma dat meer aan populariteit wint. In object geöriënteerd programmeren zijn gegevensstructuren en algoritmen in eenheden geïntegreerd, vaak classes genoemd. OOP staat vaak in contrast met procedureel programmeren (waarin aparte algoritmen en gegevenstructuren worden gebruikt). Het is niet strict afhankelijk van de taal: je kunt OOP doen in talen die niet als zodanig worden opgesomd (zoals bijvoorbeeld C), en in de procedurele stijl programmeren in talen die gecatalogiseerd zijn als OOP. Ik heb talen als OOP gecatalogiseerd die speciale mogelijkheden hebben of add-ons om OOP te vergemakkelijken. Functionele talen (zoals bijvoorbeeld Lisp) zijn een wat andere soort. - functioneel programmeren is onder andere een superset van OOP. Logisch programmeren (Prolog), ook declaratief programmeren aan de andere kant is in vergelijkbare zin niet gerelateerd aan de andere typen programmering.

RAD, Rapid Application Development

Eerder afhankelijk van de gebruikte tools dan de feitelijke taal. Er is ook een HOWTO over GUI development voor Linux, alhoewel het verouderd is. Met een goed grafisch hulpmiddel kun je RAD doen. RAD kan krachtig zijn wanneer bovendien gebaseerd op hergebruik van de code, dus vrije software zou een goed begin kunnen vormen.

Voorbeelden

Het benoemen van de programmeergebieden waarvoor de taal het vaakst wordt gebruikt. Andere goede (en slechte) gebruiken bestaan ook, maar ze zijn minder kenmerkend.

Opmerkingen

Extra informatie over de programmeertaal, zoals mogelijkheden en dialecten.

2.2 Belangrijke programmeertalen


Perl
Beginner: Ja - OOP: Ja
Voorbeelden: Scripting, sysadmin, www
Opmerkingen: Krachtig voor het afhandelen van tekst en strings

Python
Beginner: Ja - OOP: Ja 
Voorbeelden: Scripting, applicatie scripting, www
Opmerkingen: 

TCL
Beginner: Ja - OOP: Nee
Voorbeelden: Scripting, sysadmin, applicaties
Opmerkingen: 

PHP
Beginner: Ja - OOP: Ja
Voorbeelden: Www
Opmerkingen: Populair voor webdatabases

Java
Beginner: Ja - OOP: Ja
Voorbeelden: Cross-platform applicaties, www
Opmerkingen: Uitgestrekt naar nieuwe gebieden, bv. e-commerce infrastructuur

Lisp
Beginner: Ja - OOP: Functioneel
Voorbeelden: Emacs modes (voor Elisp), AI
Opmerkingen: Varianten Elisp, Clisp en Scheme

Fortran
Beginner: Nee  - OOP: Nee
Voorbeelden: Wiskundige (wetenschappelijke) applicaties
Opmerkingen: Varianten f77 en f90/95

C
Beginner: Nee  - OOP: Nee
Voorbeelden: Systeemprogrammering, applicaties
Opmerkingen: 

C++
Beginner: Nee  - OOP: Ja
Voorbeelden: Applicaties
Opmerkingen:

2.3 Shell Programmering

Ook shells bieden een belangrijke programmeeromgeving. Ik heb ze niet behandeld omdat ik dit terrein nog niet zo door en door begrijp. Kennis van shells is voor ieder belangrijk die regelmatig onder Linux werkt, nog meer zelfs voor systeembeheerders. Er zijn tussen shellprogrammering en andere soorten scripting overeenkomsten, vaak kun je er dezelfde doelen mee bereiken, en heb je de optie te kiezen tussen de shell en een aparte scripttaal. Tussen de meest populaire shells bevinden zich bash, tcsh, csh, ksh en zsh. Je kunt basisinformatie over je shell krijgen met de opdracht man, zoals bijvoorbeeld man bash.

2.4 Andere programmeertalen

Andere te vermelden talen: AWK, SED, Smalltalk, Eiffel, Ada, Prolog, assembler, Objective C, Logo, Pascal (p2c converter)

2.5 Links


Verder Terug Inhoud