# Programmeren (computer)

Programmeren is het schrijven van een computerprogramma, een concrete reeks instructies die een computer kan uitvoeren. Dit is de taak van een softwareontwikkelaar of programmeur. Programmeren wordt in het algemeen niet direct in machinetaal gedaan, maar in een programmeertaal. De programmacode die wordt geschreven heet broncode en wordt door een assembler, compiler of interpreter omgezet in machinecode. Programmeren is vooral in het verleden ook coderen genoemd.
Er ligt een algoritme aan de basis van ieder werkende computerprogramma. Bij programmeren en het ontwikkelen van een algoritme kunnen dus dezelfde methoden worden gebruikt. Voorbeelden van die methoden zijn backtracking en gestructureerd programmeren.

## Overzicht

Met compilers die dezelfde programmeertaal naar verschillende machinetalen omzetten, wordt het mogelijk om programmatuur te schrijven die niet gebonden is aan een specifieke processor. Bovendien ondersteunt een programmeertaal een hoger niveau van abstractie dan machinetaal, waardoor programma's gemakkelijker te begrijpen en te wijzigen zijn.
De omvang van programmeerwerk verschilt sterk. Veel programma's bestaan uit enkele regels broncode en worden maar een enkele keer gebruikt, maar ook programma's met miljoenen regels broncode, die gedurende tientallen jaren worden gebruikt en aangepast door duizenden programmeurs, zijn niet zeldzaam.
De aard van het programmeren kan ook sterk uiteenlopen: verschillende soorten toepassingen vereisen verschillende soorten kennis. Zo zal een programma dat via een grafische gebruikersinterface met eindgebruikers communiceert zaken als 'venster', 'tekstblok', 'invulbaar tekstblok', 'indrukbare knop' gebruiken terwijl een programma voor statistische berekeningen ondersteuning zal bevatten voor bijvoorbeeld variantie en exponentiële verdeling.
Veel programmeertalen hebben daarom allerlei toepassingsspecifieke bibliotheken. Daarnaast wordt een gegeven programmeertaal vaak minder geschikt geacht voor het schrijven van bepaalde soorten programma's, omdat de manier waarop in een taal moet worden geprogrammeerd niet goed op het probleem aansluit. Dit leidt vaak tot het ontwikkelen van nieuwe talen.
Er bestaan dan ook duizenden verschillende programmeertalen, waarvan de meeste nog in gebruik zijnde talen aan voortdurende wijzigingen onderhevig zijn, zoals bij natuurlijke talen. Een programma kan ook verschillende talen combineren. Professionele softwareontwikkelaars zijn gespecialiseerd in bepaalde talen en bepaalde soorten toepassingen aangezien er zoveel programmeertalen bestaan.
* ↑ HOPL, An Interactive Roster of Programming Languages bevatte op 9 dec 2009 beschrijvingen van 8512 programmeertalen.
ABAP · ABC · ActionScript · Ada · Algol · APL · assembleertalen · AWK · B · BASIC · BCPL · C · C++ · C# · Clean · Clipper · COBOL · COMAL · Curry · D · Eiffel · Erlang · F# · Forth · Fortran · Go · Haskell · Icon · J# · Java · Julia · Kotlin · Lisp · Logo · Lua · m4 · ML · Modula-2 · Oberon · Object Pascal · Objective-C · Ocaml · Oz · Pascal · Perl · PHP · PL/I · PL/SQL · Prolog · Prova · Python · Rexx · RPG · Ruby · Rust · SAS · Scala · Scheme · Self · Simula · Smalltalk · Swift · TCL · TypeScript · Vala · Visual Basic · Zig