Računalniško programiranje: od strojnega jezika do umetne inteligence

Avtor: Robert Simon
Datum Ustvarjanja: 23 Junij 2021
Datum Posodobitve: 13 Maj 2024
Anonim
Računalniško programiranje: od strojnega jezika do umetne inteligence - Tehnologija
Računalniško programiranje: od strojnega jezika do umetne inteligence - Tehnologija

Vsebina


Vir: carloscastilla / iStockphoto

Odvzem:

Ko se je računalniška moč povečala, so se razvijali programski jeziki, da bi izkoristili prednosti izboljšanih računalniških virov.

Programski jeziki so bili uporabljeni še pred izumom računalnikov. Na primer, drsenje klavirja igralca, ta dolgi zvitek kodiranega papirnatega traku, velja za zgodnjo obliko programiranja, ker vsebuje navodila, potrebna za igranje klavirja v napevu.

Prvi računalniki so bili programirani s preklapljanjem stikal in spreminjanjem konfiguracije strojne opreme. Zato so morali zgodnji programerji dobro poznati računalniško strojno opremo. Vendar smo že daleč in programski jeziki na visoki ravni zahtevajo malo ali nič znanja o osnovni strojni opremi.

Oglejmo si, kako smo to dosegli tako, da smo pokrili pet generacij jezikov računalniškega programiranja. (Poiščite nekaj osnovnih informacij o nekaterih ključnih podatkih na tem področju v Pionirjih računalniškega programiranja.)


Prva generacija - programiranje na strojni ravni

Programski jeziki prve generacije (1GL) so pogosto znani kot strojni jeziki ali strojna koda. Delujejo na najnižji ravni abstrakcije (najbližja strojni opremi) vseh jezikov. Jeziki prve generacije se ukvarjajo neposredno z binarnimi ničlami ​​in tistimi, ki se uporabljajo za shranjevanje in obdelavo informacij v računalniku. Programi v jezikih višjega nivoja morajo biti sestavljeni ali sestavljeni v strojno kodo, da se lahko izvajajo.

Jeziki prve generacije so bili uporabljeni za programiranje računalnikov prve generacije, kot sta UNIVAC I in IBM 701. (Če želite izvedeti več o zgodnjem programiranju, glejte The Women of ENIAC: Programming Pioneers.)

Druga generacija - potrebna je nekaj montaže

Jeziki druge generacije (2GL), pogosto znani kot skupinski jeziki, so bili razviti predvsem zaradi težav pri programiranju jezikov prve generacije. Čeprav so jeziki na nizki ravni še vedno, so jeziki za sestavljanje uvedli uporabo simboličnih kod (imenovanih mnemonika) za predstavljanje navodil računalniku. Program v jeziku sestavljanja se prevede v strojno kodo s pomočjo pripomočka, znanega kot monter.


Ker delujejo na najnižji ravni abstrakcije, jeziki druge generacije ponujajo prednosti hitrosti in minimalne velikosti kode. Programerju omogočajo tudi, da neposredno manipulira s komponentami strojne opreme, kot so pomnilniške lokacije in registri. Nekoč so bili jeziki za sestavljanje uporabljeni za programiranje operacijskih sistemov in aplikacij, ki zahtevajo manjše, hitrejše delovanje kode, na primer video igre. Primeri iger, napisanih v sestavnem jeziku, vključujejo konzole za platformo Sega Mega Drive / Genesis in platformo Super Nintendo Entertainment System.

Čeprav so jeziki na višji ravni v veliki meri izpodrinjeni, se jeziki za sestavljanje še vedno uporabljajo v primerih, ko je potrebna interakcija strojne opreme ali pa je treba izboljšati delovanje. Nekateri prevajalniki za jezike višje ravni sestavijo izvorno kodo v sestavni jezik, preden skličejo sestavljavca, da se sestavi v strojno kodo.

Brez napak, brez stresa - vaš korak za korakom vodnik za ustvarjanje programske opreme, ki spreminja življenje, ne da bi vam uničila življenje

Ne morete izboljšati svojih programskih veščin, kadar nikogar ne skrbi za kakovost programske opreme.

Tretja generacija - Gentleman's C in drugi

Tretja generacija programskih jezikov (3GL) vključuje jezike na visoki ravni, kot so C, C ++, Fortran, COBOL, BASIC, C # in Java. Programske jezike tretje generacije predstavljajo veliko izboljšanje uporabnosti v primerjavi z montažnimi jeziki.

Za razliko od jezikov za sestavljanje, jeziki tretje generacije niso specifični za stroj. Pri programiranju z jezikom tretje generacije programer napiše izvorno kodo programa in nato uporabi prevajalnik, da ga prevede v objektno kodo (ali strojno kodo), kar lahko razume ciljni računalnik.

Razvoj programskih paradigem, kot sta strukturirano programiranje in objektno usmerjeno programiranje (OOP), je sovpadal z razvojem jezikov tretje generacije.

Četrta generacija - programerska izboljšava

Programski jeziki četrte generacije (4GL) so bili ustvarjeni za povečanje produktivnosti programerjev na določenih področjih, kot so poizvedovanje po bazah podatkov in ustvarjanje poročil.

Sintaksa jezika četrte generacije je na splošno bližje človeškemu jeziku kot skladnja iz prejšnjih generacij programskih jezikov. Posamezna izjava v jeziku četrte generacije lahko samodejno ustvari ekvivalent niza navodil v jeziku tretje generacije, kar zmanjša čas, potreben za razvoj aplikacije.

Primeri jezikov četrte generacije vključujejo strukturiran poizvedbeni jezik (SQL), Informix-4GL in ColdFusion.

Peta generacija - Watson, predpostavljam

V kraljestvu umetne inteligence se pogosto uporabljajo jeziki pete generacije (5GL).

Tradicionalna enota za računanje je algoritem, ki je v osnovi korak za korakom postopek za izračun rešitve. Jeziki pete generacije poskušajo preseči algoritem tako, da določijo pogoje (ali lastnosti) rešitve in računalniku omogočijo, da določi možne rešitve, ki ustrezajo določenim pogojem.

Primer jezika pete generacije je Prolog, ki je bil eden od jezikov za programiranje IBM-ovega Watsona v pripravah na njegovo udeležbo v televizijski kviz oddaji "Ogroženost!"

Zakaj bi me skrbelo?

Tu jih generacij programskih jezikov res ni tako težko razumeti. Dober miselni model je, če se višje dvignete, bolj ste oddaljeni od strojne opreme. To pomeni manj nadzora, a tudi manj dela za dosego nečesa s programiranjem.

Zakaj je to pomembno? Čeprav je teoretično, je ključno, da razumete, kje se prilega vašemu razvoju. Mnogi razvijalci večino svojega dneva preživijo v integriranem razvojnem okolju za jezik 3GL, zato razumevanje, da je jezik 2GL ali 4GL, daje nekaj perspektive glede stopnje podrobnosti potreben za izdelavo uporabne kode. Na splošno bo delo z jezikom 2GL bolj zapleteno kot jezik 3GL. Po drugi strani pa lahko veliko manj dosežete z jezikom 4GL, kot je SQL, kot s 3GL, kot je C.

Kam od tu?

Ali bodo na voljo dodatne generacije programskih jezikov? Nekateri računalniški strokovnjaki menijo, da so grafična razvojna okolja ločena generacija programskega jezika. S pojavom aplikacij je nova in programska oprema lažja in enostavnejša. Nekateri opozarjajo tudi na koncepte, kot je "izdelava lastne aplikacije" kot dokaz, da bodo celo redni uporabniki razvijalci na določenih področjih. V vsakem primeru je verjetno, da bodo prihodnje generacije programerjev imele nove generacije programskih jezikov, ki jim bodo pomagali.