A programozás a számítógépes programok létrehozásának folyamata .
A programozási nyelvek egyik alapítója, Niklaus Wirth szavaival élve: „Programok = algoritmusok + adatstruktúrák ” [1] [2] .
A programozás a programozási nyelvek használatán alapul , amelyeken a programok forrásszövegeit írják.
ie 205 _ e. [3] (Kr. e. 150 [4] ) – Az ókori Görögországból származó Antikythera mechanizmus egy számológép volt, amely különböző méretű és konfigurációjú fogaskerekeket használt , így működött [5] a metonikus ciklus nyomon követésére , amelyet a holdnaptárak is használnak . 6] .
1206 - Al-Jazari épített egy programozható humanoid automatát . Az ezekhez az eszközökhöz kapcsolódó egyik rendszer bizonyos helyeken fadobozba helyezett bilincseket és bütyköket használt, amelyek szekvenciálisan működtették a karokat , amelyek viszont az ütőhangszereket irányították. .
1804 – Joseph Marie Jacquard által épített Jacquard szövőszék , amely forradalmasította a szövőipart azáltal, hogy lehetővé tette a minták lyukkártyákkal történő programozását szövetekre , néha az első programozható eszköznek tekintik. .
1843. július 19. – Charles Babbage megtervezte (de nem sikerült megépítenie) az Analytical Engine -t, az első programozható számítástechnikai eszközt. .
1843. július 19. – Ada Augusta Lovelace grófnő, George Byron angol költő lánya megírta az emberi történelem első elemző motorját. Ez a program megoldotta a Bernoulli-egyenletet, amely a mozgó folyadék energiamegmaradásának törvényét fejezi ki. Első és egyetlen tudományos munkájában Ada Lovelace számos kérdéssel foglalkozott. Számos általa megfogalmazott általános rendelkezés (a munkamemória cellák mentésének elve , az ismétlődő képletek ciklikus számítási folyamatokkal való összekapcsolása) megőrizte alapvető fontosságát a modern programozásban. .
Babbage anyagaiban és Lovelace megjegyzéseiben olyan fogalmak körvonalazódnak , mint a szubrutin és a szubrutinok könyvtára, az utasításmódosítás és az indexregiszter, amelyeket csak az 1950 -es években kezdtek el használni. . Azonban az Ada Lovelace által írt programok egyike sem indult el. .
Az első széles körben ismert és sikeres magas szintű programozási nyelv a Fortran volt , amelyet 1954 és 1957 között fejlesztett ki egy IBM kutatócsoport John Backus vezetésével . A Fortran sikere egy tudósokból álló bizottság megalakulásához vezetett egy " univerzális " számítógépes nyelv kidolgozására. Külön -külön az MIT munkatársa , John McCarthy kifejlesztette a Lisp programozási nyelvet ( a lambda-számítás alapján ), az első nyelvet, amely megjelent a tudományos körökben és sikert aratott. E kezdeti erőfeszítések sikerével a programozási nyelvek aktív kutatási témává váltak az 1960 -as években és azután.
Az első könyvek a programozásról a SzovjetunióbanAz első szovjet nyílt könyv a programozásról, az elektronikus számítógépekről és különféle alkalmazásaikról Anatolij Ivanovics Kitov [7] [8] " Elektronikus digitális gépek " című monográfiája volt, amelyet 1956 elején adtak ki . A könyv utolsó harmada a "Számítógépek nem aritmetikai használatának" - a számítógépek termelési folyamatok irányítására, gazdasági problémák megoldására , mesterséges intelligencia , gépi fordítás stb . használatára vonatkozik. és megjelent az USA -ban , Kínában , Lengyelországban , Csehszlovákiában és más országokban. A Szovjetunió Tudományos Akadémiájának elnöke , G. I. Marchuk a következőket írta erről a könyvről: „A. I. Kitov 1956-ban megjelent „Elektronikus digitális gépek” című könyve valójában sok kutató fejében forradalmasított. Egy kiváló modern tudós, V. M. Glushkov megjegyezte: „A. I. Kitov a kibernetika elismert úttörője , aki lefektette a nemzeti programozási iskola alapjait, valamint a számítógépek katonai és nemzetgazdasági problémák megoldására való alkalmazását. Jómagam is, mint több tízezer más szakember, az "Elektronikus digitális gépek" című könyvéből – az első hazai számítógépekről és programozásról szóló könyvéből – szereztem kezdeti számítógépes ismereteimet. A Michigani Egyetem professzora , John Carr (John Carr, USA) " Lectures on Programming " ( 1958 , USA) című monográfiájában azt írta, hogy a világban akkoriban a vizsgált témában megjelent mintegy 150 könyv elemzése után a kérdések mind a kézi, mind az automatikus programozást Anatolij Kitov könyve tárgyalja a legjobban.
Hat hónappal később, ugyanabban 1956-ban, A. I. Kitov (A. I. Kitov, N. A. Krinitsky és P. N. Komolov ) szerkesztésében megjelent egy könyv „ Programozási elemek ” (elektronikus számítógépekhez). Ez a csaknem háromszáz oldalas könyv lett a Szovjetunió második nyilvános számítógépes monográfiája. A könyv zárásaként kijelenti: „Ezen gépek (számítógépek) széleskörű elterjedése új, soha nem látott magas szintre emeli hazánkban a termelés minden típusát, drasztikusan növeli népünk anyagi jólétét és jelentősen megnöveli. erősítsük meg Szülőföldünk védelmi képességét." Ez a két könyv a Szovjetunióban akkoriban fennálló óriási hiányt fedte le a számítógépes és programozási irodalomban.
Az 1959 -ben megjelent Electronic Digital Machines and Programming (Kitova A.I. és Krinitsky N.A.) című könyv volt a Szovjetunió első hivatalos számítógépes és programozási tankönyve, amelyet a Szovjetunió Oktatási Minisztériuma hivatalosan jóváhagyott egyetemeken és egyetemeken való oktatásra . Erről a könyvről a Szovjetunió Tudományos Akadémiájának elnöke, G. I. Marchuk ezt írta: „1959-ben megjelent A. I. Kitov másik alapvető munkája, amelyet N. A. Krinitskyvel közösen írt - „Elektronikus digitális gépek és programozás”. Valójában a számítástechnikai enciklopédiája volt . Ennek a csodálatos könyvnek a segítségével az ország egyetemein és egyetemein tanulók sok generációja kapott alapképzést, és számos tudományterület első osztályú tudósává vált. Nem szabad elfelejteni A. I. Kitov könyveit, amelyeket hazánkban a számítógépek korszakának kezdetén írt.” Ez a könyv Romániában , Magyarországon , a Német Demokratikus Köztársaságban és számos más országban jelent meg. Az Electronic Digital Machines and Programming második sztereotip kiadása 1961 -ben jelent meg . A külföldi és két szovjet kiadvány összforgalma meghaladta a 130 000 példányt. Erről a tankönyv-enciklopédiáról emlékirataiban a Moszkvai Energetikai Intézet Számítástechnikai Tanszékének veteránja (az ország első számítógépes osztálya), a műszaki tudományok doktora, A.K. N.A. Krinitsky professzor "Elektronikus digitális gépek és programozás" ( 1959) akkoriban a világ legjobbja volt. .
A programozók munkájának nagy része forráskód íráshoz , programok teszteléséhez és hibakereséséhez kapcsolódik valamelyik programozási nyelven . A programok forrásszövegei és végrehajtható fájljai szerzői jogvédelem alatt állnak, és azok szerzőik és szerzői jogtulajdonosok szellemi tulajdonát képezik. .
A különböző programozási nyelvek különböző programozási stílusokat támogatnak ( programozási paradigmák ). Az algoritmus egyes részeihez a megfelelő programozási nyelv kiválasztása lehetővé teszi a programírási idő csökkentését és az algoritmus leírásának leghatékonyabb megoldását. A különböző nyelvek megkövetelik, hogy a programozó különböző szintű figyelmet fordítson a részletekre az algoritmus végrehajtásakor, ami gyakran kompromisszumot eredményez az egyszerűség és a teljesítmény (vagy a " programozói idő" és a " felhasználói idő" között ) között.
A számítógép által közvetlenül végrehajtott egyetlen nyelv a gépi nyelv (más néven gépi kód és gépi utasításnyelv ). Kezdetben minden program gépi kódban íródott, de ma már gyakorlatilag ez nem történik meg. Ehelyett a programozók egy adott programozási nyelven írják a forráskódot , majd egy fordító segítségével egy vagy több lépésben lefordítják azt gépi kódra, amely készen áll a célprocesszoron való végrehajtásra , vagy egy köztes reprezentációra , amelyet egy speciális program hajthat végre. tolmács – egy virtuális gép . De ez csak a magas szintű nyelvekre igaz . Ha a gépi utasítások és az egyes memóriacellák szintjén teljes, alacsony szintű vezérlésre van szükség a rendszer felett, akkor a programokat assembly nyelven írják , amelyek mnemonikus utasításait egyenként konvertálják a cél megfelelő gépi nyelvi utasításaivá. számítógépes processzor (ezért az assembly nyelvek fordítóit a legegyszerűbb fordítók algoritmikusan kapják meg) .
Egyes nyelvek a gépi kód helyett értelmezett "virtuális gép" bináris kódot generálnak, amelyet bájtkódnak is neveznek . Ezt a megközelítést a Forth , a Lisp , Java , Perl , Python egyes megvalósításai használják a .NET-keretrendszerhez .
A programozási környezet szövegszerkesztője rendelkezhet olyan speciális funkciókkal, mint a névindexelés , a dokumentáció megjelenítése (pl . Doxygen ), a szintaxis kiemelése , a vizuális felhasználói felület -létrehozó eszközök . A programozó egy szövegszerkesztő segítségével gépeli és szerkeszti a készülő program szövegét, amelyet forráskódnak nevezünk . A programozási nyelv határozza meg a forráskód szintaxisát és kezdeti szemantikáját .
A programozási folyamatban jelenleg széles körben használják az integrált fejlesztői környezeteket [9] [10] , amelyek általában a következőket tartalmazzák:
![]() | ||||
---|---|---|---|---|
|
Az informatika főbb irányai | |
---|---|
Matematikai alapok | |
Algoritmusok elmélete | |
Algoritmusok , adatstruktúrák | |
Programozási nyelvek , fordítók | |
Párhuzamos és párhuzamos számítástechnika , elosztott rendszerek | |
Szoftverfejlesztés _ | |
Rendszer Felépítés | |
Távközlés , hálózatok | |
Adatbázis | |
Mesterséges intelligencia |
|
Számítógépes grafika | |
Ember-számítógép interakció |
|
tudományos számítástechnika | |
Megjegyzés: A számítástechnika az ACM számítástechnikai osztályozási rendszerének megfelelően különböző témákra vagy ágakra is felosztható . |
Programozási nyelvek | |
---|---|
|
Szoftverfejlesztés | |
---|---|
Folyamat | |
Magas szintű koncepciók | |
Útvonalak |
|
Fejlesztési módszertanok | |
Modellek |
|
Figyelemre méltó alakok |
|