Kontentke ótiw

Programmalastırıw tilleri tariyxı

Wikipedia — erkin enciklopediya

Programmalastırıw tilleriniń tariyxı dáslepki mexanikalıq kompyuterlerdi hújjetlestiriwden baslap házirgi programmalıq támiynattı islep shıǵıw qurallarına shekem sozıladı. Dáslepki programmalastırıw tilleri júdá qánigelesken bolıp, matematikalıq belgilewge hám usıǵan uqsas túsiniksiz sintaksiske tiykarlanǵan[1]. XX ásir dawamında kompilyator teoriyası boyınsha izertlewler buyrıqlardı xabarlaw ushın qolaylıraq sintaksisti qollanatuǵın joqarı dárejeli programmalastırıw tilleriniń jaratılıwına alıp keldi.

Birinshi joqarı dárejeli programmalastırıw tili 1942-jıldan 1945-jılǵa shekem Konrad Cuze tárepinen jaratılǵan Plankalkül boldı[2]. Baylanıslı kompilyatorı bar birinshi joqarı dárejeli til 1951-jılı Korrado Byom tárepinen onıń PhD dissertaciyası ushın jaratıldı[3]. Birinshi kommerciyalıq qoljetimli til IBM kompaniyasında Djon Bekus basshılıǵındaǵı komanda tárepinen 1956-jılı islep shıǵılǵan FORTRAN (FORmula TRANslation) boldı (birinshi qollanbası 1956-jılı payda boldı, biraq dáslep 1954-jılı islep shıǵılǵan).

Dáslepki tariyx

1842–1849-jıllar aralıǵında Ada Lavleys italiyalı matematik Luidji Menabreanıń Charlz Bebbidjdiń eń sońǵı usınıs etilgen mashinası: Analitikalıq Mashina haqqındaǵı esteliklerin awdardı; ol esteliklerdi mashina menen Bernulli sanların esaplaw usılın tolıq túrde kórsetetuǵın eskertpeler menen tolıqtırdı, bul kópshilik tariyxshılar tárepinen dúnyadaǵı birinshi járiyalanǵan kompyuter programması dep tanılǵan[4].

Jakkard toqıw stanokları da, Charlz Bebbidjdiń Ayırmashılıq Mashinası da ózleriniń programmalastırılatuǵın mashinalarınıń orınlawı kerek bolǵan operaciyalar izbe-izligin táriyipleytuǵın perfokartalardı[5][6] paydalanıw ushın proektlestirilgen.

Birinshi kompyuter kodları ózleriniń qollanılıwları ushın qánigelesken edi: mısalı, Alonzo Chyorch lyambda esaplawın formulalıq usılda ańlata aldı, al Tyuring mashinası lenta belgilew mashinasınıń operaciyasınıń abstrakciyası boldı.

Birinshi programmalastırıw tilleri

1940-jıllarda birinshi anıq zamanagóy elektr quwatı menen isleytuǵın kompyuterler jaratıldı. Sheklengen tezlik hám yad sıyımlılıǵı baǵdarlamashılardı qol menen sazlanǵan assembler tili programmaların jazıwǵa májbúr etti. Aqıbetinde assembler tilinde programmalastırıwdıń úlken intellektual kúsh talap etetuǵını túsinildi.

Joqarı dárejeli programmalastırıw tiliniń dáslepki usınısı 1942-jıldan 1945-jılǵa shekem Konrad Cuze tárepinen óziniń Z1 kompyuteri ushın islep shıǵılǵan Plankalkül boldı, biraq sol waqıtta ámelge asırılmadı[7].

Kompyuterge buyrıqlardı jetkeriw ushın proektlestirilgen birinshi isleytuǵın programmalastırıw tilleri 1950-jıllardıń basında jazıldı. 1949-jılı usınılǵan Djon Moklidiń Short Code tili elektron kompyuter ushın islep shıǵılǵan eń dáslepki joqarı dárejeli tillerdiń biri boldı[8]. Mashina kodınan ayırmashılıǵı, Short Code operatorları matematikalıq ańlatpalardı túsinikli formada kórsetti. Degen menen, programma hár saparı orınlanǵanda mashina kodına interpretaciya etiliwi kerek edi, bul process sáykes mashina kodın orınlawdan ádewir áste edi.

1950-jıllardıń basında, Manchester universitetinde Alik Glenni Autocode tı, bálkim birinshi kompilyaciyalanǵan programmalastırıw tilin islep shıqtı. 1954-jılı, R. A. Bruker tárepinen Mark 1 ushın tildiń «Mark 1 Autocode» dep atalǵan ekinshi iteraciyası islep shıǵıldı. Bruker, Manchester universiteti menen birge, 1950-jıllarda Ferranti Mercury ushın da bir avtokod islep shıqtı. EDSAC 2 ushın versiyasın 1961-jılı Kembridj universiteti Matematikalıq Laboratoriyasınan Duglas Xartri oylap taptı. EDSAC 2 Autocode dep atalǵan, bul jergilikli jaǵdaylarǵa beyimlestirilgen Mercury Autocode-nan tikkeley rawajlanıw boldı hám sol waqıt ushın aldınǵı qatarda bolǵan obyekt kodın optimallastırıw hám derek tili diagnostikası menen belgili boldı. Zamanlas, biraq bólek rawajlanıw baǵdarı, Atlas Autocode Manchester universiteti Atlas 1 mashinası ushın islep shıǵıldı.

1954-jılı FORTRAN IBM-de Djon Bekus basshılıǵındaǵı topar tárepinen oylap tabıldı; ol tek qaǵazdaǵı dizayn emes, al funkcional implementaciyası bar birinshi keń qollanılǵan joqarı dárejeli ulıwma maqsetli til boldı[9][10]. FORTRAN birinshi ret usınılǵanda, oǵan qáteler, islep shıǵıwdaǵı keshigiwler hám assembler tilinde jazılǵan «qol menen kodlanǵan» programmalardıń salıstırmalı nátiyjeliligi sebepli gúman menen qaralǵan[11]. Degen menen, tez rawajlanıp atırǵan apparatlıq támiynat bazarında, til aqırında óziniń nátiyjeliligi menen belgili boldı. Ol ele de joqarı ónimli esaplawlar ushın keń tarqalǵan til bolıp tabıladı hám dúnyadaǵı TOP500 eń tez superkompyuterlerin bahalaw[12] hám reytinglew programmaları ushın qollanıladı[13].

Basqa bir dáslepki programmalastırıw tili AQSHta Greys Xopper tárepinen oylap tabıldı hám FLOW-MATIC dep ataldı. Ol 1955-jıldan 1959-jılǵa shekemgi dáwirde Remington Rand-ta UNIVAC I ushın islep shıǵıldı. Xopper biznes maǵlıwmatların qayta islew klientleriniń matematikalıq belgilewden qolaysızlanatuǵının anıqladı hám 1955-jıldıń basında ol hám onıń toparı inglis tili programmalastırıw tili ushın specifikaciya jazdı hám bir prototipti ámelge asırdı[14]. FLOW-MATIC kompilyatorı 1958-jıldıń basında kópshilikke qoljetimli boldı hám 1959-jılǵa kelip tolıq tamamlandı[15]. Flow-Matic COBOL dizaynına úlken tásir etti, sebebi sol waqıtta tek ol hám onıń tikkeley áwladı AIMACO ǵana qollanılatuǵın edi[16].

Búgingi kúnde ele de qollanılatuǵın basqa tillerge 1958-jılı Djon Makkarti tárepinen oylap tabılǵan LISP hám 1959-jılı Qısqa Múddetli Komitet tárepinen jaratılǵan COBOL kiredi. 1950-jıllardıń aqırındaǵı jáne bir áhmiyetli waqıya — bul amerikalı hám evropalı kompyuter ilimpazları komitetiniń «algoritmler ushın jańa til» haqqındaǵı baspası; ALGOL 60 Esabatı («ALGOrithmic Language»). Bul esabat sol waqıtta tarqalǵan kóp ideyalardı biriktirdi hám úsh tiykarǵı til innovaciyasın usındı:

  • ishki blok strukturası: kod izbe-izlikleri hám baylanıslı járiyalanıwlar bólek, anıq atalǵan proceduralarǵa aylandırılıwı shárt emes bloklarǵa gruppalanıwı múkin;
  • leksikalıq kólem: bir bloktıń óziniń jeke ózgeriwshileri, proceduraları hám funkciyaları bolıwı múkin edi, olar sol bloktan tıs kodqa kórinbeytuǵın edi, yaǵnıy informaciyanı jasırıw.

Usınıń menen baylanıslı jáne bir innovaciya, tildiń sıpatlanıw usılında boldı:

  • tildiń sintaksisin súwretlew ushın matematikalıq jaqtan anıq belgilew, Bekus-Naur forması (BNF) qollanıldı. Derlik barlıq keyingi programmalastırıw tilleri óz sintaksisiniń kontekstsiz bólimin súwretlew ushın BNF-tiń bir variantın qollandı.

ALGOL 60 keyingi tillerdiń dizaynına ásirese tásir etti, olardıń geyparaları tez arada anaǵurlım keń tarqaldı. Burroughs úlken sistemaları ALGOLdıń keńeytilgen bir bóliminde programmalastırıw ushın proektlestirilgen.

ALGOLdıń tiykarǵı ideyaları dawam ettirildi hám ALGOL 68 payda boldı:

  • sintaksis hám semantika anonim rutinalar, joqarı dárejeli funkciyaları bar rekursiv tiplestiriw sisteması hám t.b. menen jáne de ortogonal boldı;
  • tek kontekstke ǵárezsiz bólegi ǵana emes, al pútkil til sintaksisi hám semantikası arnawlı usı maqset ushın proektlestirilgen formalizm bolǵan Van Veyngaarden grammatikası arqalı rásmiy túrde anıqlandı.

ALGOL 68 diń kóp qollanılmaytuǵın til ózgeshelikleri (mısalı, parallel hám bir waqıttaǵı bloklar) hám onıń quramalı sintaksislik qısqartpalar sisteması hám avtomat tipti túrlendiriwler onı ámelge asırıwshılar arasında ataqlı etpedi hám oǵan qıyın degen ataq berdi. Niklaus Virt dizayn komitetinen shıǵıp, ápiwayıraq Pascal tilin jarattı.

Logotipler
Fortran
Lisp
Simula

Usı dáwirde islep shıǵılǵan ayırım belgili tillerge tómendegiler kiredi:

  • 1951 – Regional Assembler Tili
  • 1952 – Avtokod
  • 1954 – IPL (LISPtiń aldınǵısı)
  • 1955 – FLOW-MATIC (COBOLǵa alıp keldi)
  • 1957 – FORTRAN (birinshi kompilyator)
  • 1957 – COMTRAN (COBOLdıń aldınǵısı)
  • 1958 – LISP
  • 1958 – ALGOL 58
  • 1959 – FACT (COBOLdıń aldınǵısı)
  • 1959 – COBOL
  • 1959 – RPG
  • 1960 – ALGOL 60
  • 1962 – APL
  • 1962 – Simula
  • 1962 – SNOBOL
  • 1963 – CPL (C-diń aldınǵısı)
  • 1964 – Speakeasy
  • 1964 – BASIC
  • 1964 – PL/I
  • 1966 – JOSS
  • 1966 – MUMPS
  • 1967 – BCPL (C-diń aldınǵısı)
  • 1967 – Logo (keyinirek Smalltalk hám Scratch-qa tásir etken bilimlendiriw tili).
  • 1968 – Algol 68

Tiykarǵı paradigmalardıń qáliplesiwi

Logotipler
Scheme
C
Smalltalk

1960-jıllardıń aqırınan 1970-jıllardıń aqırına shekemgi dáwir programmalastırıw tilleriniń úlken rawajlanıwına alıp keldi. Házirgi waqıtta qollanılatuǵın tiykarǵı til paradigmalarınıń kópshiligi usı dáwirde oylap tabılǵan:

  • Speakeasy, 1964-jılı Argonna Milliy Laboratoriyasında (ANL) Stenli Koen tárepinen islep shıǵılǵan, keyingi MATLAB, IDL hám Mathematica sanlı paketlerine uqsas obyektke baǵdarlanǵan programmalastırıw sisteması (OOPS) bolıp tabıladı. Speakeasy anıq Fortran tiykarındaǵı sintaksiske iye. Ol dáslep ANL ishinde nátiyjeli fizikalıq esaplawlardı sheshti, 1970-jıllardıń basında Federal Rezerv Keńesi ushın izertlew maqsetinde («Modeleasy» retinde) ózgertildi, sońınan kommerciyalıq qoljetimlilikke shıqtı; Speakeasy hám Modeleasy ele de qollanıladı.
  • Simula, 1960-jıllardıń aqırında Nygaard hám Dal tárepinen ALGOL 60-tıń keńeytpesi retinde oylap tabılǵan, obyektke baǵdarlanǵan programmalastırıwdı qollap-quwatlaw ushın proektlestirilgen birinshi til boldı.
  • FORTH, eń dáslepki konkatenativ programmalastırıw tili 1969-jılı Charlz Mur tárepinen Milliy Radioastronomiya Observatoriyasında (NRAO) islep atırǵan waqtında jeke islep shıǵıw sisteması retinde proektlestirilgen.
  • C, dáslepki sistemalıq programmalastırıw tili, 1969 hám 1973-jıllar arasında Bell Labs laboratoriyasında Dennis Ritchi hám Ken Tompson tárepinen islep shıǵılǵan.
  • Smalltalk (1970-jıllardıń ortaları) obyektke baǵdarlanǵan tildiń tolıq jańa dizaynın usındı.
  • Prolog, 1972-jılı Alen Kolmerauer, Filipp Russel hám Robert Kovalski tárepinen proektlestirilgen, birinshi logikalıq programmalastırıw tili boldı.
  • ML Lisp tiykarında polimorflik tip sistemasın qurdı (1973-jılı Robin Milner tárepinen oylap tabılǵan),[17] statikalıq túrde terilgen funkcional programmalastırıw tilleriniń jolın ashtı.

Bul tillerdiń hárbiri pútkil miyrasxorlar shańaraǵın payda etti, hám kópshilik zamanagóy tiller ózleriniń shejiresinde olardıń hesh bolmaǵanda birewin esaplaydı.

1960-jıllar hám 1970-jıllar sonday-aq «strukturalıq programmalastırıw» — yaǵnıy, goto-sız programmalastırıw — artıqmashılıqları boyınsha ádewir tartıslardı kórdi. Baǵdarlamashılardıń ádewir bólegi, hátte goto-nı usınatuǵın tillerde de, onı siyrek jaǵdaylardan basqa paydalanıwdı jaman programmalastırıw stili dep esapladı. Bul talqılaw til dizaynı menen tıǵız baylanıslı edi: ayırım tillerde goto joq edi, bul strukturalıq programmalastırıwdı májbúriy etti.

Jáne de tezirek kompilyaciya waqıtın támiyinlew ushın, ayırım tiller «bir ótiwli kompilyatorlar» ushın strukturalanǵan edi, olar tiykarǵı rutina (procedura) yamasa júrgiziwshi funkciyanıń programma diziminiń sońǵı bólimi Pascal sıyaqlı baǵınıńqı proceduralardıń dáslep anıqlanıwın kútedi.

Usı dáwirde islep shıǵılǵan ayırım belgili tillerge tómendegiler kiredi:

  • 1967 – BCPL (B-nıń aldınǵısı)
  • 1967 – Logo
  • 1969 – B (C-diń aldınǵısı)
  • 1970 – Pascal
  • 1970 – Forth
  • 1972 – C
  • 1972 – Smalltalk
  • 1972 – Prolog
  • 1973 – ML
  • 1975 – Scheme
  • 1978 – SQL (keyinirek keńeytilgen soraw tili)

1980-jıllar: konsolidaciya, moduller, ónimlilik

Logotipler
MATLAB
Erlang
Tcl
C++

1980-jıllar imperativ tillerde salıstırmalı konsolidaciya (birlesiw) jılları boldı. Jańa paradigmalar oylap tabıwdıń ornına, barlıq bul háreketler aldınǵı on jıllıqta oylap tabılǵan ideyalardı keńeytti. C++ obyektke baǵdarlanǵan hám sistemalıq programmalastırıwdı biriktirdi. Amerika Qurama Shtatları húkimeti qorǵanıw shártnamashıları tárepinen qollanıw ushın arnalǵan sistemalıq programmalastırıw tili Ada-nı standartlastırdı. Yaponiyada hám basqa jerlerde logikalıq programmalastırıw konstrukciyaların óz ishine alǵan besinshi áwlad programmalastırıw tilleri dep atalatuǵın tillerdi izertlewge úlken qarjılar jumsaldı. Funkcional tiller jámiyeti ML hám Lisp-ti standartlastırıwǵa ótti. Erinshek bahalawı bar funkcional til Miranda boyınsha izertlewler usı on jıllıqta keń tarqala basladı.

Til dizaynındaǵı bir áhmiyetli jańa tendenciya — bul modullerdi, yaǵnıy kodtıń úlken kólemli shólkemlestiriw birliklerin paydalanıw arqalı úlken kólemli sistemalar ushın programmalastırıwǵa kóbirek itibar qaratıw boldı. Modula, Ada hám ML hámmesi 1980-jıllarda belgili modul sistemaların islep shıqtı. Modul sistemaları kóbinese ulıwma programmalastırıw konstrukciyaları menen biriktirilgen: ulıwma programmalastırıw, negizinde, parametrli moduller (kompyuter ilimindegi polimorfizmge de qarań).

Imperativ programmalastırıw tilleri ushın tiykarǵı jańa paradigmalar payda bolmasa da, kóp izertlewshiler aldınǵı tillerdiń ideyaların keńeytti hám olardı jańa kontekstlerge beyimlestirdi. Mısalı, Argus hám Emerald sistemalarınıń tilleri obyektke baǵdarlanǵan programmalastırıwdı bólistirilgen esaplaw sistemalarına beyimlestirdi.

1980-jıllar sonday-aq programmalastırıw tilin ámelge asırıwda da alǵa ilgerilewlerdi alıp keldi. Kompyuter arxitekturasındaǵı qısqartılǵan buyrıqlar toplamı kompyuteri (RISC) háreketi apparatlıq támiynattıń adam assembler baǵdarlamashıları ushın emes, al kompilyatorlar ushın proektlestiriliwi kerek ekenin bildirdi. Barǵan sayın agressiv kompilyaciya usıllarına imkaniyat beretuǵın oraylıq processor (CPU) tezligi jaqsılanıwları járdeminde, RISC háreketi joqarı dárejeli tiller ushın kompilyator texnologiyasına kóbirek qızıǵıwshılıq oyattı.

Til texnologiyası usı baǵdarlar boyınsha 1990-jıllarǵa shekem dawam etti.

Bul dáwirde islep shıǵılǵan ayırım belgili tillerge tómendegiler kiredi:

  • 1980 – C++ (C-degi klasslar retinde, 1983-te qayta atalǵan)
  • 1983 – Ada
  • 1984 – Common Lisp
  • 1984 – MATLAB
  • 1984 – dBase III, dBase III Plus (Clipper hám FoxPro FoxBASE retinde)
  • 1985 – Eiffel
  • 1986 – Objective-C
  • 1986 – LabVIEW (vizual programmalastırıw tili)
  • 1986 – Erlang
  • 1987 – Perl
  • 1988 – PIC (belgilew tili)
  • 1988 – Tcl
  • 1988 – Wolfram Language (Mathematica-nıń bir bólimi retinde, tek 2013-jıl iyun ayında ǵana bólek at aldı)

1989 – FL (Bekus)

1990-jıllar: Internet dáwiri

Logotipler
Haskell
Lua
PHP
Rebol
Python
Ruby
Ocaml

1990-jıllardıń ortalarında Internettiń tez ósiwi programmalastırıw tillerindegi kelesi iri tariyxıy waqıya boldı. Kompyuter sistemaları ushın tolıǵı menen jańa platforma ashıw arqalı, Internet jańa tillerdiń qabıl etiliwi ushın múmkinshilik jarattı. Ásirese, JavaScript programmalastırıw tili Netscape Navigator veb-brauzeri menen dáslepki integraciyası sebepli keń tarqaldı. PHP sıyaqlı hár túrli basqa skriptlew tilleri veb-serverler ushın arnawlı qosımshalar islep shıǵıwda keń qollanıwǵa iye boldı. 1990-jıllar imperativ tillerde tiykarǵı jańalıqlardı kórmedi, biraq eski ideyalardıń kóp qayta biriktiriliwi hám jetilisiwi boldı. Bul dáwir funkcional tillerdiń tarqalıwın basladı. Úlken jetekshi filosofiya baǵdarlamashı ónimliligi boldı. Ádette integraciyalanǵan islep shıǵıw ortalıǵı (IDE), shıǵındını jıynaw menen birge keletuǵın hám eski tillerdiń áwladları bolǵan kóp tez qosımsha islep shıǵıw (RAD) tilleri payda boldı. Bunday tillerdiń hámmesi obyektke baǵdarlanǵan edi. Olarǵa Object Pascal, Objective Caml (OCaml dep qayta atalǵan), Visual Basic hám Java kiredi. Ásirese Java úlken dıqqatqa iye boldı.

RAD tillerine qaraǵanda radikalıraq hám innovaciyalıraq bolǵanlar — jańa skriptlew tilleri edi. Olar basqa tillerden tikkeley kelip shıqpaǵan hám jańa sintaksisler menen ózgesheliklerdiń erkinirek biriktiriliwin kórsetken. Kópshilik bul skriptlew tillerin hátte RAD tillerinen de ónimlirek dep esaplaydı, biraq kóbinese kishi programmalardı ápiwayıraq, al úlken programmalardı jazıw hám qollap-quwatlaw qıyınıraq etetuǵın tańlawlar sebepli. Soǵan qaramastan, skriptlew tilleri Veb penen baylanıslı qollanılatuǵın eń kózge túsken tillerge aylandı.

Geypara programmalastırıw tilleri islep shıǵıw waqtın únemlew ushın ózleriniń distribuciyalarında basqa tillerdi óz ishine aldı. Mısalı, Python da, Ruby de Tkinter sıyaqlı kitapxanalar arqalı GUI programmalastırıwın qollap-quwatlaw ushın Tcl-di óz ishine aldı.

Usı dáwirde islep shıǵılǵan ayırım belgili tillerge tómendegiler kiredi:

  • 1990 – Haskell
  • 1991 – Python
  • 1991 – Visual Basic
  • 1993 – Lua
  • 1993 – R
  • 1994 – CLOS (ANSI Common Lisp-tiń bir bólegi)
  • 1995 – Ruby
  • 1995 – Ada 95
  • 1995 – Java
  • 1995 – Delphi (Object Pascal)
  • 1995 – Visual FoxPro
  • 1995 – JavaScript
  • 1995 – PHP
  • 1996 – OCaml
  • 1997 – Rebol

2000-jıllar: programmalastırıw paradigmaları

Logotipler
D
Groovy
PowerShell
Scratch
Go
Clojure
Haxe

Programmalastırıw tiliniń evolyuciyası dawam etpekte hám óndiriste kóbirek programmalastırıw paradigmaları qollanılmaqta.

Geypara tendenciyalarǵa tómendegiler kiredi:

  • Kommerciyalıq qollanılatuǵın tiykarǵı tillerde funkcional programmalastırıwdı qollap-quwatlawdıń artıwı, sonıń ishinde kodtı analizlewdi hám parallellestiriwdi (mikro- hám makro- dárejelerde) ańsatlastırıw ushın taza funkcional programmalastırıw
  • Parallel hám bólistirilgen programmalastırıwdı qollap-quwatlaytuǵın konstrukciyalar.
  • Tilge qáwipsizlik hám isenimlilikti tekseriwdi qosıw mexanizmleri: keńeytilgen statikalıq tekseriw, ǵárezli tiplestiriw, informaciya aǵımın basqarıw, statikalıq aǵım qáwipsizligi.
  • Kompoziciyalıq hám modullik ushın alternativ mexanizmler: miksinler, treytler, tipklasslar, delegatlar, aspektler.
  • Komponentke baǵdarlanǵan programmalıq támiynattı islep shıǵıw.
  • Scratch, LabVIEW hám PWCT sıyaqlı vizual programmalastırıw tillerine kóbirek qızıǵıwshılıq
  • Metaprogrammalastırıw, reflektiv programmalastırıw (refleksiya) yamasa abstrakt sintaksis teregine kiriw
    • Aspektke baǵdarlanǵan programmalastırıw (AOP) baǵdarlamashılarǵa «birlesiw noqatlarında» basqa modulge yamasa klassqa kod kirgiziwge imkaniyat beredi
    • Arnawlı tarawǵa-qánigelesken tiller hám kod generaciyası
      • Grafikalıq interfeys ushın XML (XUL, Extensible Application Markup Language (XAML))

Úlken texnologiya kompaniyaları óz mútájliklerin qanaatlandırıw ushın proektlestirilgen bir neshe jańa programmalastırıw tillerin kirgizdi. Mısalı:

Usı dáwirde islep shıǵılǵan ayırım belgili tillerge tómendegiler kiredi:

  • 2000 – ActionScript
  • 2001 – C#
  • 2001 – D
  • 2002 – Scratch
  • 2003 – Groovy
  • 2003 – Scala
  • 2005 – F#
  • 2005 – Haxe
  • 2006 – PowerShell
  • 2007 – Clojure
  • 2008 – Nim
  • 2009 – Go

2010-jıllar: Mobil dáwir

Logotipler
Rust
Dart
Swift
Kotlin
TypeScript
C#
Ring
Julia
Zig

Programmalastırıw tiliniń evolyuciyası jańa programmalastırıw tarawlarınıń payda bolıwı menen dawam etpekte.

  • Bólistiriwge hám mobillikke qızıǵıwshılıqtıń artıwı.
  • Maǵlıwmatlar bazaları menen integraciya, sonıń ishinde XML hám relyaciyalıq maǵlıwmatlar bazaları.
  • Tiller ushın islep shıǵıw filosofiyası retinde ashıq kod, sonıń ishinde GNU Kompilyatorlar Toplamı hám PHP, Python, Ruby hám Scala sıyaqlı tiller.
  • GPU grafikalıq processorları hám superkompyuter massivleri ushın massiv parallel tilleri, sonıń ishinde OpenCL
  • Kvantlıq esaplaw programmalastırıw tilleri boyınsha dáslepki izertlewler (dizimge qarań)
  • GPT-3 hám Gemini sıyaqlı jasalma intellekt járdeminde kod generaciyalaw ushın jasalma intellekt (JI) usılların qollanıw boyınsha dáslepki izertlewler[18][19].
  • Bir neshe jańa programmalastırıw tilleri C programmalastırıw tili ushın zamanagóy almastırıwdı usınıwǵa háreket etti.
  • Kóp jańa programmalastırıw tilleri keń tarqalǵan dinamikalıq tillerden tásirlendi hám ónimlilikti tómenletpey, tip qáwipsizligin qosıwdı wáde etti.
  • Kóp jańa programmalastırıw tilleri óz implementaciyasında LLVM-di paydalanadı.

Kóp úlken texnologiya kompaniyaları óz mútájliklerin qanaatlandırıw ushın proektlestirilgen hám óz platformaları ushın birinshi dárejeli qollap-quwatlawdı usınatuǵın jańa programmalastırıw tillerin kirgiziwdi dawam etti. Mısalı:

Usı dáwirde islep shıǵılǵan ayırım belgili tillerge tómendegiler kiredi:[20][21]

  • 2011 – Dart
  • 2011 – Kotlin
  • 2012 – Julia
  • 2012 – TypeScript
  • 2012 – Elixir
  • 2014 – Swift
  • 2014 – Hack
  • 2015 – Rust
  • 2015 – Raku
  • 2016 – Ring
  • 2016 – Zig

Basqa jańa programmalastırıw tillerine Elm, Ballerina, Red, Crystal, V (Vlang), Reason kiredi.

2020-jıllar: Házirgi tendenciyalar

Logotipler
Power Fx
Carbon

Jańa programmalastırıw tilleriniń rawajlanıwı dawam etpekte hám ayırım jańa tiller házirgi tillerdiń ornın basıwǵa itibar berip payda bolmaqta. Bul jańa tiller C++ sıyaqlı belgili tildiń artıqmashılıqların (kóp tárepli hám tez) usınıwǵa háreket etip, sonıń menen birge qáwipsizlikti qosadı yamasa quramalılıqtı azaytadı. Basqa jańa tiller Python usınatuǵın qollanıw ańsatlıǵın alıp keliwge háreket etip, sonıń menen birge ónimlilikti prioritet retinde qosadı. Sonday-aq, Mashinalıq Oqıtıw hám jasalma intellekt qurallarınıń ósiwi ele de bul tillerdiń rawajlanıwınıń artında úlken rol oynaydı, bunda ayırım vizual tiller bul jasalma intellekt quralların integraciyalawǵa itibar beredi, al basqa tekstli tiller olardı islep shıǵıw ushın kóbirek sáykes qollap-quwatlawdı usınıwǵa itibar beredi[22][23][24].

Ayırım belgili jańa programmalastırıw tillerine tómendegiler kiredi:

  • 2021 – Power Fx
  • 2022 – Carbon
  • 2023 – Mojo

Tiykarǵı tulǵalar

Geypara innovatorlar
Dennis Ritchi
Niklaus Virt
Greys M. Xopper
Byarn Straustrup
Anders Xeylsberg
Gvido van Rossum
Yukixiro Matsumoto
Djeyms Gosling
Larri Uoll

Programmalastırıw tillerin rawajlandırıwǵa járdem bergen ayırım tiykarǵı adamlar:

  • Ada Lavleys, birinshi kompyuter programmasın járiyaladı
  • Alan Kuper, Visual Basic ti islep shıǵıwshı
  • Alan Key, obyektke baǵdarlanǵan programmalastırıw boyınsha jetekshi jumıslar hám Smalltalk-tıń dóretiwshisi.
  • Anders Xeylsberg, Turbo Pascal, Delphi, C# hám TypeScript ti islep shıǵıwshı.
  • Artur Uitni, A+, k hám q nı islep shıǵıwshı.
  • Bertran Meyer, Eiffel oylap tabıwshısı.
  • Byarn Straustrup, C++ ti islep shıǵıwshı.
  • Bred Koks, Objective-C-diń birge jaratıwshısı.
  • Brendan Eyx, JavaScript ti islep shıǵıwshı.
  • Brayan Kernigan, Dennis Ritchi menen birge C programmalastırıw tili haqqındaǵı birinshi kitaptıń birge avtorı, AWK hám AMPL programmalastırıw tilleriniń birge avtorı.
  • Chak Mur, birinshi konkatenativ programmalastırıw tili Forth-tıń oylap tabıwshısı hám stek mashinası mikroprocessor dizaynındaǵı belgili at.
  • Kris Lattner, Swift, Mojo hám Clang/LLVM jaratıwshısı.
  • Kliv Moler, MATLAB jaratıwshısı.
  • Dennis Ritchi, C oylap tabıwshısı. Unix operaciyalıq sisteması, Plan 9 operaciyalıq sisteması.
  • Duglas Makilroy, SNOBOL, TRAC, PL/I, ALTRAN, TMG hám C++ sıyaqlı tillerge tásir etti hám olardı proektlestirdi.
  • Greys Xopper, birinshi bolıp «kompilyator» terminin qollandı hám FLOW-MATIC ti islep shıǵıwshı, COBOL rawajlanıwına tásir etti. Mashinadan ǵárezsiz programmalastırıw tillerin hám «qátelerdi saplastırıw» (debagging) terminin keń tarqattı.
  • Gvido van Rossum, Python jaratıwshısı.
  • Djeyms Gosling, Java hám onıń aldınǵısı Oak-tıń jetekshi baǵdarlamashısı.
  • Jan Ichbia, Adanıń bas dizayneri, Ada 83.
  • Jan-Iv Jirard, polimorflik lyambda esaplawınıń (F sisteması) birge oylap tabıwshısı.
  • Djeff Bezanson, Julianıń bas dizayneri hám tiykarǵı baǵdarlamashılarınıń biri.
  • Djeffri Snover, PowerShell oylap tabıwshısı.
  • Djo Armstrong, Erlang jaratıwshısı.
  • Djon Bekus, Fortran oylap tabıwshısı, ALGOL 58 hám ALGOL 60 proektlestiriwge qatnastı.
  • Djon S. Reynolds, polimorflik lyambda esaplawınıń (F sisteması) birge oylap tabıwshısı.
  • Djon Makkarti, LISP oylap tabıwshısı, ALGOL 60 dizayn komiteti aǵzası.
  • Djon fon Neyman, operaciyalıq sistema koncepciyasınıń baslawshısı.
  • Greydon Xor, Rust oylap tabıwshısı.
  • Ken Tompson, B hám Go oylap tabıwshısı.
  • Kennet E. Ayverson, APL baǵdarlamashısı, Rodjer Xyui menen birge J-diń birge islep shıǵıwshısı.
  • Konrad Cuze, birinshi joqarı dárejeli programmalastırıw tili Plankalkül-di proektlestirdi (ol ALGOL 58-ge tásir etti[25]).
  • Kristen Nygaard, obyektke baǵdarlanǵan programmalastırıwǵa jol ashtı, Simulanı birge oylap taptı.
  • Larri Uoll, Perl programmalastırıw tiliniń jaratıwshısı (qarań Perl hám Raku).
  • Martin Oderskiy, Scala jaratıwshısı hám aldın Java dizaynına úles qosqan.
  • Martin Richards BCPL programmalastırıw tilin, B hám C tilleriniń aldınǵısın islep shıqtı.
  • Nataniel Rochester, birinshi assemblerdiń oylap tabıwshısı (IBM 701).
  • Niklaus Virt, Pascal, Modula hám Oberon oylap tabıwshısı.
  • Ole-Yoxan Dal, obyektke baǵdarlanǵan programmalastırıwǵa jol ashtı, Simulanı birge oylap taptı.
  • Rasmus Lerdorf, PHP jaratıwshısı.
  • Rich Xiki, Clojure jaratıwshısı.
  • Robert Gentleman, R-diń birge jaratıwshısı.
  • Robert Grismir, Go-dıń birge jaratıwshısı.
  • Robin Milner, ML oylap tabıwshısı hám Xindli-Milner polimorflik tip shıǵarıwdıń birge avtorı.
  • Rob Payk, Go, Inferno (operaciyalıq sistema) hám Plan 9 (operaciyalıq sistema) Operaciyalıq Sistemasınıń birge jaratıwshısı, birge avtorı.
  • Ross Ixaka, R-diń birge jaratıwshısı.
  • Stenli Koen, 1964-jılı birinshi ret obyektke baǵdarlanǵan programmalastırıw sisteması OOPS penen jaratılǵan Speakeasy-di oylap taptı.
  • Stiven Volfram, Mathematica jaratıwshısı.
  • Uolter Brayt, D jaratıwshısı.
  • Yukixiro Matsumoto, Ruby jaratıwshısı.

Derekler

  1. Hopper (1978) p. 16.
  2. Knuth, Donald E.; Pardo, Luis Trabb. "Early development of programming languages". Encyclopedia of Computer Science and Technology (Marcel Dekker) 7: 419–493. 
  3. Corrado Böhm's PhD thesis
  4. Fuegi, J.; Francis, J. (October–December 2003), „Lovelace & Babbage and the creation of the 1843 'notes'“, Annals of the History of Computing, 25 (4): 16–26, Bibcode:2003IAHC...25d..16F, doi:10.1109/MAHC.2003.1253887
  5. Bales, Rebecca «Charles Babbage Analytical Engine Explained». history-computer.com (24-iyul 2023-jıl).
  6. Swade, Doron «The Engines». computerhistory.org. Qaraldı: 23-fevral 2024-jıl.
  7. In 1998 and 2000 compilers were created for the language as a historical exercise. Rojas, Raúl, et al. (2000). "Plankalkül: The First High-Level Programming Language and its Implementation". Institut frame Informatik, Freie Universität Berlin, Technical Report B-3/2000. (full text)
  8. Sebesta, W.S.. Concepts of Programming Languages. Pearson/Addison-Wesley, 2006 — 44 bet. ISBN 978-0-321-33025-3. 
  9. «Fortran creator John Backus dies – Tech and gadgets». NBC News (20-mart 2007-jıl). Qaraldı: 25-aprel 2010-jıl.
  10. «CSC-302 99S : Class 02: A Brief History of Programming Languages». Math.grin.edu. 15-iyul 2010-jılda túp nusqadan arxivlendi. Qaraldı: 25-aprel 2010-jıl.
  11. Padua, David (Feb 2000). "The FORTRAN I Compiler". Computing in Science and Engineering 2 (1): 70–75. doi:10.1109/5992.814661. http://www.cs.fsu.edu/~lacher/courses/COT4401/notes/cise_v2_i1/fortran.pdf. Retrieved 7 November 2019. 
  12. Eugene Loh (18 June 2010). "The Ideal HPC Programming Language". ACM Queue (Association of Computing Machines) 8 (6). http://queue.acm.org/detail.cfm?id=1820518. 
  13. «HPL – A Portable Implementation of the High-Performance Linpack Benchmark for Distributed-Memory Computers». Qaraldı: 21-fevral 2015-jıl.
  14. Hopper (1978) p. 16.
  15. Sammet (1969) p. 316
  16. Sammet (1978) p. 204.
  17. Gordon, Michael J. C. «From LCF to HOL: a short history» (1996). — „Edinburgh LCF, including the ML interpreter, was implemented in Lisp.“. Qaraldı: 4-may 2015-jıl.
  18. Manjoo, Farhad (July 29, 2020). "How Do You Know a Human Wrote This?". The New York Times. ISSN 0362-4331. https://www.nytimes.com/2020/07/29/opinion/gpt-3-ai-automation.html. 
  19. Milmo, Dan (2023-12-06). "Google says new AI model Gemini outperforms ChatGPT in most tests" (in en-GB). The Guardian. ISSN 0261-3077. https://www.theguardian.com/technology/2023/dec/06/google-new-ai-model-gemini-bard-upgrade. 
  20. «TIOBE Index, Top 100 programming languages according to TIOBE Index». www.tiobe.com. TIOBE index (22-fevral 2024-jıl).
  21. «GitHub's Octoverse 2018». 22-mart 2019-jılda túp nusqadan arxivlendi.
  22. «Introducing new Copilot features for Power Fx». Microsoft (29-aprel 2024-jıl).
  23. «Carbon language aims to be a better C++».
  24. «Modular Makes a Case for Mojo Programming Language, Based on Python» (5-aprel 2024-jıl).
  25. Rojas, Raúl; Hashagen, Ulf. The First Computers: History and Architectures. MIT Press, 2002 — 292 bet. ISBN 978-0262681377.