Mis vahe on kõrgetasemelisel ja madalatasemelisel keelel?


Vastus 1:

Sellel on sama erinevus järgmiste vahel:

"Minge mulle ajalehte."

ja

“Liigutage oma vasakut jalga enda ees, seejärel paremat, korrake, kuni jõuate ukseni. Seejärel aktiveerige käsi ja sirutage ukselingi juurde. Liigutage sõrmi ja sulgege oma käsi selle ümber. Tõmmake seda alla, kuni kuulete klõpsatust ja näib, et käepide annab pisut sisse. tõmba uks enda poole. Liigutage vasak jalg tagasi ja tehke ruumi ukse jaoks. Kui teil on piisavalt ruumi, et mahutada, astuge üle ukseraami. Pöörake ennast 180 kraadi. Aktiveerige käsi ja sirutage käepidet väljapoole. Liigutage sõrmi ja sulgege oma käsi selle ümber. Tõmmake seda enda poole, kuni tunnete, et see on lukustatud. Pöörake 90 kraadi päripäeva. Liigutage ühte jalga teise järel, kuni jõuate kioski juurde. Küsige ajalehte. Pange raha taskusse ja makske 2 dollarit. Haarake ajalehest. Pöörake 180 kraadi. Liigutage oma jalgu üksteise ees ... ”

Saate aru, kuidas laul toimub.

Pange tähele, et mingil hetkel hakkas mul igav ja hakkasin liikumiseks kasutama „keerulisi” tegusõnu, mis esindavad muude toimingute kogumit, näiteks „haarama”, mille võib omakorda jagada jaotiseks „Liiguta kätt, kuni bla bla bla…”.

Tegelikult võiks isegi "käe liigutamine" jaguneda lihtsamateks toiminguteks ja iga kord jagunedes kaotate lakoonilisuse, st peate kasutama rohkem sõnalist keelt, kuid saavutate täpsuse, kuna võiksite määratleda, mida iga lihaskeha teeb seda täpselt.

Lõppkokkuvõttes, kui lähete kaugemale, saate kirjelduse elektriliste signaalide kohta, mida närvid peavad lihastele edastama. Ma ütleksin, et see viimane kirjeldus sarnaneb nn masinakeelega, mis on kompileerimine ja eelnevad väited on selles metafooris programmeerimiskeeled kõrgemalt madalamale.

TL; DR:

  • Kõrgetasemeline programmeerimiskeel on lühike, kuid tugineb mõnele muule tarkvarale, et laiendada lühikesi käske üksikasjalikeks juhisteks selle arvelt, kui detailsed ja kohandatud võivad olla kõik teie käsud. Madala taseme keel võimaldab teil selgesõnaliselt käsitleda toimingu kõiki detaile. teostatakse lähtekoodi suuruse ja võimaliku loetavuse arvelt.

Kui soovite näiteid, tuleb Python kõrgel tasemel meelde: see võtab teilt palju detaile, nt. mäluhaldus (saate lihtsalt muutuja lähtestada ja seda kasutada ning kui seda enam pole vaja, siis keegi sorteerib selle välja, pole vaja muretseda), mistõttu on algoritmide tundmaõppimiseks hea keel: saate oma loogikat muretsemata rakendada mõnede rakenduse üksikasjade kohta.

Teisest küljest on C üsna madala keelega keel, kuna see ei eralda teid mõningatest üksikasjadest (jällegi on parim näide mäluhaldus ja osutite olemasolu) ning see on põhjus, miks seda on hea õppida, kui teie eesmärk on mõista arvutite sisemist tööd. Muidugi saate enne masinkoodi ja elektroonilise füüsika kokkupanekut Assembly abil natuke alla minna.