Share to: share facebook share twitter share wa share telegram print page

Programmeertaal

Syntaxiskleuring wordt vaak gebruikt om de programmeurs te helpen bij het herkennen van de onderdelen van de broncode. De getoonde taal is Python.

Een programmeertaal is een formele taal waarin de opdrachten die een computer moet uitvoeren, worden geschreven. Deze talen hebben een andere syntaxis en grammatica dan natuurlijke talen. Deze laatste zijn te complex en ambigu om als programmeertaal te fungeren. Code die in een programmeertaal geschreven is, dient maar op één manier te kunnen worden 'begrepen' door de computer.

Programmeerparadigma

Zie Programmeerparadigma voor het hoofdartikel over dit onderwerp.

Er zijn in de loop der jaren duizenden[1] programmeertalen ontstaan en zij kunnen op verschillende manieren gecategoriseerd worden. Een veel gebruikt onderscheid is dat van programmeerparadigma. Enkele belangrijke voorbeelden zijn de imperatieve, functionele en logische programmeerparadigma's, waarbij vermeld moet worden dat programmeertalen soms meerdere paradigma's combineren.

Gebruik

Er zijn verschillende manieren waarop een door een softwareontwikkelaar geschreven computerprogramma door een computer uitgevoerd kan worden. De code die de ontwikkelaar ziet en bewerkt, wordt de broncode van de programmatuur genoemd; die moet op de een of andere manier worden omgezet in de machinetaal van de computer in kwestie die door de processor kan worden uitgevoerd. Grosso modo zijn er de volgende mogelijkheden:

  • Geen omzetting: de programmeur voert machinecode direct in het geheugen van de computer in. Dit is zo onpraktisch en tijdrovend dat het niet of nauwelijks meer gebeurt.
  • Interpretatie: een interpreter leest stukje bij beetje tekst van de broncode in, interpreteert deze in termen van betekenisvolle instructies en voert die, gesteund door een runtimebibliotheek, direct uit. Een programma dat zo werkt, wordt meestal een script genoemd en de programmeertaal in kwestie een scripttaal.
  • Assemblage: een assembleertaal maakt het mogelijk om programma's te schrijven als reeksen instructies en gegevens die direct op machinetaal af te beelden zijn, maar waarin op een wat meer symbolische manier gewerkt kan worden, bijvoorbeeld doordat de machine-instructies namen hebben, geheugenadressen namen kunnen krijgen en macro's kunnen worden gebruikt; een assembler zet zulke code om naar bestanden met objectcode, die door een linker samen met de al vooraf aanwezige objectcode van softwarebibliotheken tot een uitvoerbaar programma worden samengesteld.
  • Compilatie: vertaling van de broncode naar een andere taal (de doeltaal) door een compiler. De doeltaal kan assembleertaal zijn; of een speciaal voor het vertaalproces ontworpen machine-onafhankelijke tussentaal (bytecode, ook wel P-code genoemd), die vervolgens gecompileerd of geïnterpreteerd moet worden; of een andere programmeertaal.

Hiervan bestaan allerlei tussenvormen en varianten.

Een hogere (d.w.z. gecompileerde of geïnterpreteerde) programmeertaal is ontworpen om de programmeur zo helder en elegant mogelijk te laten specificeren wat een programma moet doen in de termen waarin de programmeur over het probleem nadenkt, zonder detailkennis over hoe het precies door de computer uitgevoerd gaat worden: zulke talen bieden abstracties op hoog niveau en zijn machine-onafhankelijk. In assembleertaal wordt alleen geprogrammeerd als er specifieke kennis over de precieze werking van de computer in kwestie gebruikt moet worden, bijvoorbeeld omdat het programma anders te veel ruimte of tijd zou gebruiken.

Is er sprake van compilatie, dan is vaak een onderscheid nodig tussen handelingen verricht tijdens het bewerken van de broncode ('at edit time'), tijdens het vertaalproces van broncode naar doelcode ('at compile time'), en tijdens het uitvoeren van de doelcode ('at run time'). In elk van deze fasen kan software de programmeur ondersteunen, bijvoorbeeld door de geldigheid of zinnigheid van bepaalde bewerkingen of uitdrukkingen te controleren.

Tijdens het vertalen vindt vaak optimalisatie van de code plaats. Een simpel voorbeeld: als tijdens het vertalen blijkt dat er in de doelcode een optelling of aftrekking met 0 ontstaat, kan die worden weggelaten.

Een programma dat met een compiler vertaald is naar doelcode, kan over het algemeen — mede door optimalisatie — sneller door de computer worden uitgevoerd, dan wanneer gebruikgemaakt wordt van een interpreter, omdat de laatste de opdrachten altijd eerst nog moet omzetten naar machinetaal - het equivalent van de compilatie wordt in run-time gedaan. Veel talen werken echter met een tussenvorm, waarin op het moment dat opdracht tot uitvoering van een programma wordt gegeven, alsnog een compilatie naar tussencode en/of doelcode wordt gedaan: Just-In-Time-compilatie.

Het traditionele onderscheid tussen gecompileerde talen enerzijds en geïnterpreteerde talen (of 'scripttalen') is daarom niet helemaal juist. Is een geïnterpreteerde programmeertaal populair, dan worden er vaak compilers (JIT of anderszins) voor geschreven om de uitvoering te versnellen; ook komt het wel voor dat er een interpreter wordt geschreven voor een tot dan toe alleen gecompileerde taal, of een vertaler van de ene programmeertaal naar de andere.

Definitie

Onder programmeertalen worden, in de normaal gebruikte definitie, talen verstaan die turingvolledig zijn. Dat wil zeggen dat het mogelijk moet zijn om in de programmeertaal een interpreter voor een turingmachine te schrijven, en dat het mogelijk moet zijn een interpreter te schrijven voor de programmeertaal op een turingmachine.

In een taal die niet turingvolledig is, kan een kleiner aantal problemen opgelost worden dan in een turingvolledige taal. In SQL kan men bijvoorbeeld wel totalen van tabellen met gegevens berekenen, maar men kan niet berekenen wat de kortste route tussen twee punten in een graaf is.

Geschiedenis

Enkele van de vele boeken over programmeertalen

Het is mogelijk om computers direct in hun eigen machinetaal te programmeren: direct de enen en nullen te specificeren die door de processor kunnen worden begrepen. Dit was voor de eerste computers gebruikelijk, met schakelaartjes werden groepen van 8 bits ingesteld. Men ondervond echter snel dat het veel te lastig was om programma's die op die manier waren geschreven, te onderhouden. Snel werd er daarom een symbolische manier bedacht om de machine-instructies als tekst weer te geven in de vorm van mnemonics. Zo werd het mogelijk om instructies veel eenvoudiger te lezen. Zulke code, die grotendeels een-op-een met de instructiecodes overeenkomt, noemt men assembly-code of ook wel assembler en is geschreven in assembleertaal. Een programma dat deze code in machinetaal omzet wordt een assembler genoemd.

Voor het programmeren van assembler en machinetaal moet de programmeur veel weten van de computer die hij wil programmeren. Om programmeren makkelijker te maken, zijn daarna andere programmeertalen, de zogenaamde hogere programmeertalen ontwikkeld. Hoe hoger de orde, hoe verder de taal van de machine-instructies af staat. Een imperatieve programmeertaal (zoals Pascal of C) staat bijvoorbeeld dichter bij de machine-instructies dan een functionele programmeertaal (zoals Scheme en Haskell). Een functionele programmeertaal sluit meer aan bij het denken van de mens dan bij de interne werking van de computer. Zo is het in Haskell mogelijk om 'normale' wiskundige definities te gebruiken.

Programmeertalen worden ook wel onderverdeeld in generaties:

De generaties worden vaak afgekort als GL, bijvoorbeeld 3GL, als afkorting van 3rd Generation Language(s).

Een van de eerste hogere programmeertalen was Plankalkül, in 1946 ontwikkeld door de Duitser Konrad Zuse.

De ontwikkeling van programmeertalen vertoont de volgende kenmerken:

  • Er bestaan er duizenden; er komen voortdurend nieuwe talen bij, terwijl er ook voortdurend talen in onbruik raken. Een programmeertaal kan onbruikbaar worden (als er geen compiler of interpreter voor bestaat die werkt op een nog werkende computer) en zelfs verloren raken (als ook de kennis over de taal verloren raakt).
  • Hun populariteit varieert sterk: sommige talen zijn alleen ooit door hun eigen maker gebruikt, terwijl andere dagelijks door miljoenen worden gebruikt.
  • Gebruikte talen ontwikkelen zich meestal, waarbij in opeenvolgende versies uitbreidingen en veranderingen worden aangebracht (VB.NET bijvoorbeeld lijkt helemaal niet meer op het BASIC waar het uit is ontwikkeld). Deze ontwikkeling hoeft niet lineair te zijn: een taal kan op een andere gebaseerd zijn of in sterke mate elementen uit andere talen in zich opnemen; een taal kan zich ook in verschillende versies splitsen die zich elk verder ontwikkelen.

Om programmeertalen te beschrijven, is een metataal bedacht: BNF of Backus-Naur Form. Deze beschrijft alleen de vorm (syntaxis) van in de taal geschreven programma's, niet hun betekenis (semantiek).

Voor veel programmeertalen kan de programmeur gebruikmaken van een software-ontwikkelomgeving die speciaal is toegerust om de ontwikkeling van programma's in die taal te ondersteunen.

Zie ook

Externe link

Read other articles:

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Januari 2023. Larinia ishango Klasifikasi ilmiah Kerajaan: Animalia Filum: Arthropoda Kelas: Arachnida Ordo: Araneae Famili: Araneidae Spesies: Larinia ishango Nama binomial Larinia ishangoGrasshoff, 1971 Larinia ishango adalah spesies laba-laba yang tergolong famili A…

American poet This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article is an orphan, as no other articles link to it. Please introduce links to this page from related articles; try the Find link tool for suggestions. (July 2019) This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: Rachel …

Przeworsk-Kultur Zeitalter: Eisenzeit Absolut: ca. Ende 3. Jh. v. Chr. bis Mitte 5. Jh. n. Chr. Ausdehnung späte vorrömische Eisenzeit:[1] dunkelgrün – Nordische Gruppe dunkelrot – Jastorfkultur ockergelb – Harpstedt-Nienburger Gruppe orange – Keltische Gruppen (La Tène-Kultur) gelbgrün – Przeworsk-Kultur leuchtend grün – Hausurnenkultur blassrot – Strichkeramikkultur violett – Westbaltische Hügelgräberkultur türkis – Zarubintsy-Kultur schwarz – Estländische…

1998 video game 1998 video gameA Bug's LifeNorth American PlayStation box artDeveloper(s)Traveller's TalesTiertex Design Studios (GBC)Publisher(s)Sony Computer Entertainment (PS)Disney Interactive (PC)THQ (GBC)Activision (N64)Director(s)Jon BurtonProducer(s)Dan WintersDesigner(s)Jon BurtonProgrammer(s)Jon BurtonDave DootsonGary Vine (N64)Stephen Harding (N64)Artist(s)James CunliffeComposer(s)Andy Blythe and Marten JoustraPlatform(s)PlayStationMicrosoft WindowsGame Boy ColorNintendo 64ReleasePlay…

Australian game show This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: The 1% Club Australian TV series – news · newspapers · books · scholar · JSTOR (May 2023) (Learn how and when to remove this template message) The 1% ClubGenreGame showCreated byDean NabarroAndy AuerbachPresented byJim JefferiesTheme musi…

село ІслаIsla Країна  Румунія Повіт  Муреш Комуна Ходоша Код SIRUTA 117532 Поштові індекси 547322 Телефонний код +40 265 (Romtelecom, TR)+40 365 (інші оператори) Координати 46°37′29″ пн. ш. 24°47′08″ сх. д.H G O Висота 440 м.н.р.м. Населення 349 (2002) Розташування Ісла (рум. Isla) — село у повіті М

جراحة العين صورة توضح جراحة العيون في العصور الوسطى. معلومات عامة من أنواع جراحة  تعديل مصدري - تعديل   جراحة العين (بالإنجليزية: Eye surgery)‏ هي العمل الجراحي الذي يُجرى على العين وملحقاتها، من قبل طبيب العيون عادةً.[1] العين عضو هش للغاية، ويتطلب عناية فائقة قبل وأثناء و…

Indian field hockey league Calcutta Hockey LeagueSportField hockeyFounded1905; 118 years ago (1905)AdministratorHockey BengalCountryIndiaHeadquartersKolkataMost recentchampion(s)Mohun Bagan(26th title)Most titlesMohun Bagan(26 titles)Official websitehockeybengal.org Calcutta Hockey League is a field hockey league organized by Hockey Bengal (formerly the Bengal Hockey Association). The first edition was held in 1905. It is a division based league held at Kolkata and is the oldes…

Буа-ГільберBois-Guilbert Країна  Франція Регіон Нормандія  Департамент Приморська Сена  Округ Руан Кантон Бюші Код INSEE 76107 Поштові індекси 76750 Координати 49°32′52″ пн. ш. 1°24′58″ сх. д.H G O Висота 115 - 226 м.н.р.м. Площа 8,13 км² Населення 297 (01-2020[1]) Густота 34,69 ос./км² Ро

Beretta Model 12 Beretta M12S dengan popor lipat Jenis Pistol mitraliur Negara asal Italia Sejarah pemakaian Masa penggunaan 1961–present[1] Digunakan oleh See Users Pada perang Vietnam WarThe TroublesOperation Marajoara[2]Afghanistan warsLebanese Civil War[3]Iran-Iraq WarLibyan Civil War[4] Sejarah produksi Perancang Beretta Tahun 1950–1959[1] Produsen Beretta, Taurus, Defence Industries Corporation, MAS, PT Pindad Diproduksi 1959

Ini adalah nama Korea; marganya adalah Ahn. Pada nama panggung/nama pena, nama belakangnya adalah Yoo. Yoo Yeon-seokLahirAhn Yeon-seok11 April 1984 (umur 39)Seoul, Korea SelatanPendidikanS-2 Perfilman Universitas Sejong S-1 Perfilman Universitas SejongPekerjaanAktorTahun aktif2008-sekarangAgenKing Kong by StarshipTinggi183 cm (6 ft 0 in)Berat73 kg (161 pon; 11 st 7 pon)Nama KoreaHangul유연석 Alih AksaraYu Yeon-seokMcCune–ReischauerYu Yŏn-s…

WWII internment camp for Jews in Nazi occupied France Beaune-la-RolandeTransit campBeaune-la-Rolande's barracksBeaune-la-RolandeLocation of Beaune-la-Rolande in FranceCoordinates48°04′14″N 2°25′48″E / 48.0706°N 2.4300°E / 48.0706; 2.4300LocationBeaune-la-Rolande, LoiretGerman-occupied FranceOperated by French Police German authorities Commandant Commandant de Taddey Commandant Lombart[1] Original usePOW campOperational14 May 1941 – 12 July 1943[2…

Vietnam War era protest organizationVietnam Veterans Against the WarInsignia designed by co-founder Jan Barry; a response to the logo of the Military Assistance Command VietnamAbbreviationVVAWFounder Jan Barry Sheldon Ramsdell David Braum John Talbot Art Blank Steve Greene Frank Rocky Rocks Founded atFifth Avenue Vietnam Peace Parade Committee in New York CityLocationNew York City, United States of AmericaWebsitehttps://www.vvaw.org/ Vietnam Veterans Against the War (VVAW) is an American tax-exe…

Russian general active in Ukraine in 2022 This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) You can help expand this article with text translated from the corresponding article in Russian. Click [show] for important translation instructions. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and conf…

Lara Fabian discographyStudio albums14Live albums4Compilation albums3Music videos40Singles52DVD releases5DVD box sets5 The discography of Lara Fabian, a Belgian-Canadian pop singer, consists of fourteen studio albums, four live albums, one compilation album, eight box sets, eight video albums, fifty two singles and a range of other album appearances. Being multilingual, Fabian sings in French, Italian, English, Spanish, Portuguese, Russian, Hebrew, Greek and German. She has sold over 20 million …

Îles Izvesti TSIK Géographie Pays Russie Localisation Mer de Kara (Océan Arctique) Coordonnées 75° 58′ N, 82° 21′ E Nombre d'îles 4 Administration District fédéral Sibérien Kraï Kraï de Krasnoïarsk Autres informations Géolocalisation sur la carte : Russie Îles Izvesti TSIKÎles Izvesti TSIK Géolocalisation sur la carte : océan Arctique Îles Izvesti TSIKÎles Izvesti TSIK Île en Russie modifier  Les Îles Izvesti TSIK, ou Îles Izvestiy TS…

German fashion company This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: S.Oliver – news · newspapers · books · scholar · JSTOR (December 2011) (Learn how and when to remove this template message) This arti…

American political commentator, author, radio personality, and youtuber (born 1987) Brandon TatumTatum in 2018BornBrandon Orlando Tatum (1987-04-22) April 22, 1987 (age 36)Fort Worth, Texas, U.S.EducationUniversity of Arizona (BA)Occupation(s)Political commentator, author, radio host, podcaster, youtuberPolitical partyRepublicanMovementBlack conservative movementSpouseCorinne TatumChildren2Websitetheofficertatum.com Brandon Orlando Tatum is an American conservative political commentator, au…

Cet article est une ébauche concernant un film danois et l’Islande. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les conventions filmographiques. Perdus dans l'Arctique Ejnar Mikkelsen, en 1907 Données clés Titre original Against the Ice Réalisation Peter Flinth Scénario Nikolaj Coster-WaldauJoe Derrick Musique Volker Bertelmann Acteurs principaux Nikolaj Coster-WaldauJoe Cole Sociétés de production RVK StudiosIll Kippers Pays de production Islande Da…

This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (February 2015) (Learn how and when to remove this template message) Albert Hugh Smith OBE (24 February 1903 – 11 May 1967) was a scholar of Old English and Scandinavian languages and played a major part in the study and publication of English place-names. Hugh Smith was the son of Albert John Smith, a butler, and…

Kembali kehalaman sebelumnya

Lokasi Pengunjung: 3.144.20.12