Korkean tason kielet vs. matalat kielet (infografia) - eduCBA

Sisällysluettelo:

Anonim

Kuvan lähde: pixabay.com

Olen kirjoittanut tämän blogin ottaen huomioon, että ihmiset, jotka lukevat tämän, ovat ehdoton aloittelija. Ihmisillä, joilla on tausta, tarkoitan, että ei juuri teknologisella taustalla olisi todella vaikea aloittaa ohjelmoinnin oppiminen, kun heitä ei ole opastamassa. Olen siis kirjoittanut tämän blogin kohteliaisuus heille. Joten mitä kielet puhuttaessa ovat tarkalleen korkean tason ja matalan tason kielet? Miksi heitä edes kutsutaan niin? Ja kuinka paljon ne eroavat toisistaan?

Sanomattakin on selvää, että olen käsitellyt ne kaikki tässä blogissa.

Korkea tai matala kieli Infografia

Mikä on korkean tason kielet?

Sinun täytyy olla asia Mikä on korkean tason kieli? mutta kerro, että ne ovat helpompi ymmärtää ja ovat käyttäjäystävällisiä. Näiden kielten avulla voidaan kirjoittaa sovelluksia, jotka ovat siirrettävissä eri alustoille (kuten Linux tai Windows) ja ovat riippumattomia kaikesta arkkitehtuurista (kuten ei-Intel-ARM tai surullisen kuuluva Intel). Korkean tason kieli Esimerkki: kirjoittamalla python-ohjelmisto, joka toimii oletuksena missä tahansa Linux-järjestelmässä, sitten vain kääntämällä se mihin tahansa exe-tiedostoon käyttämällä py2exe-tiedostoa ja ajamalla sen sitten Windowsissa.

Samanlaisia ​​esimerkkejä ovat Python, C, Fortran tai Pascal. Tällaisia ​​kieliä pidetään korkean tason kielinä, koska ne ovat lähempänä ihmisten kieliä ja paljon kauempana konekielistä. Kun sanon ihmisten kieltä, en tarkoita sitä, mistä puhumme päivittäisessä elämässämme. Se tarkoittaa, että koodi on jotain, jonka voimme ymmärtää tuntemalla joitain ohjelmoinnin perusteita. Kirjoitettu koodi on melkein luettavissa ihmisille, jota voidaan lukea ja lausua.

Seuraavassa on esimerkkejä konekielestä, jolla yksinkertainen ohjelma tulostetaan näytölle Fortranissa ja C: ssä.

Fortranissa:

program NewProgramF90

write(*, *) "This is a printed program"

end program NewProgramF90

Nyt voit kääntää sen käyttämällä:

gfortran newprogram.f90 -o newprogram -f90-gcc

Ja sitten vain yksinkertaisesti ajaa sitä.

Samanlainen ohjelma C: ssä:

#include

main()

(

printf("This is a printed program");

)

Puhtaille aloittelijoille tämä on helpoin tapa saada.

Mutta koska puhumme tietokoneista, sitä on vaikea ymmärtää tietokoneelle. Joten jotta tämä olisi järkevää tietokoneille ja korkean tason kielellä luodun ohjelman suorittamiseksi, se on käännettävä konekielelle.

Kuvalähde: github.com

Ja tässä matalan tason kieli tulee väliin. Toisin kuin aiemmin, missä oli vain muutama korkean tason kieli, nykyään on n useita korkean tason kieliä, kuten C, Cobol, FORTRAN, Pascal, Java, Perl, Python, PHP, Ruby, C ++, BASIC ja Visual Basic. .

Mitä ovat alhaisen tason kielet?

Matalat kielet kielet, jotka ovat erittäin lähellä konekieltä. Niitä kutsutaan myös edustajakokouksiksi. Lähimmät kielet kokoonpanon jälkeen konekielelle ovat C ja C ++. Jotkut ihmiset jopa kutsuvat C- ja C + + -tasoja alhaisen tason kieliksi. Konekoodia kutsutaan matalaksi tasoksi, koska toisin kuin korkean tason ohjelmointikielet, se ei tarvitse mitään muuta, kuten kääntäjiä tai jotain. Se toimii suoraan prosessorilla ja ne ovat erittäin arkkitehtuurikohtaisia.

Matalan tason kielet ovat tarkoituksenmukaisempia kehitettäessä uusia käyttöjärjestelmiä tai kirjoittamalla mikro-ohjaimille firmware-koodeja. He voivat tehdä mitä tahansa vähän kovalla työllä (itse asiassa paljon kovaa työtä, jotta voisit olla erityisiä), mutta ilmeisesti et halua kirjoittaa siihen suurta sovellusta. Samanlainen on tilanne C: ssä (itse asiassa nimeltään Cee). C on oikeastaan ​​erittäin laaja kieli aluksi. Sen avulla voit rekisteröidä suoraan ja antaa välittömän pääsyn eri muistipaikkoihin.

Mutta samaan aikaan siinä on myös paljon rakenteita, joiden avulla laitteisto voi ladata abstraktiota. Suoraan sanottuna, C ja C ++ edustavat kaksitahoisesti erilaisia ​​kieliä, koska suurin osa kielistä on ottanut kirjastot heiltä. Käytännössä sekä C että C ++ ovat matalatasoisia, kuten sanoin aiemmin, koska hakemusten kirjoittaminen yritystasolla on melko vaikeaa. Mutta teoriassa molemmat ovat todella korkean tason kieliä.

Suositellut kurssit

  • Ammatillinen tietoturvakurssi
  • Ruby on Rails -harjoituspaketti
  • Professional CSS -kurssi
  • Online HTML5- ja CSS3-kurssi

Korkean ja matalan tason kielten ominaisuudet:

Asia on nyt se, että minulta on aina toisinaan kysytty eri haastatteluissa ja muissa paikoissa, mistä pidän parhaiten - matala- tai korkeatasoinen ohjelmointi. Minusta näyttää siltä, ​​ettei ole sellaista asiaa kuin paras. Vastaus on, että molemmilla on oma erikoisuus, etkä voi korvata toisiaan. Siksi pidän todella molemmista.

Matalan tason ohjelmointi on haastavaa ja vaatii paljon kokemusta ja tietoa. Korkean tason kielten ominaisuuksissa kaikki luovat asiat tapahtuvat, toisin sanoen sovellukset, joita ihmiset käyttävät päivittäisessä elämässään, ja se voidaan debugoida paljon helpommin kuin alhaisella tasolla. Ja täällä voit työskennellä erittäin uusien tekniikoiden kanssa, koska paljon näitä kieliä päivitetään jatkuvasti yhteisön tuen ansiosta.

Jos kysyt tätä korkean tason kielikoodereille siitä, mistä he pitävät, vastaus, jonka saat, olisi kaukana tarvitsemastasi. He eivät kerro sinulle mikä on parempi.

He todennäköisesti sanovat olevansa intohimoisempia tiettyyn korkean tason kieleen eikä kaikkia niitä kohtaan. En tiedä, että näin tapahtuu. Tunnetuimpia esimerkkejä ovat Python ja Ruby, ja jos näytät heille joitain kokoonpanona kirjoitettuja ohjelmia, menee todennäköisesti hasta-la-vista.

Kuvalähde: mathworks.com

Monien korkean tason kielten kohdalla on todella hienoa, että ne kuuluvat hybridi-luokkaan. Esimerkiksi python on erittäin oliokeskeinen, mutta tukee samalla myös sulkemisia ja ensiluokkaisia ​​toimintoja. Vaikka se ei ole niin voimakas kuin Scala, mutta sillä on kyky edustaa enemmän tai vähemmän juttuja kuin puhtaasti kielen oma.

Korkean tason kielet ovat yleensä hitaita verrattuna matalan tason kieliin. Tämä johtuu siitä, että korkean tason kielillä on paljon abstraktioita ja koodikerroksia, ennen kuin ne pääsevät itse laitteistoon. Koska konekoodi on lähempänä, sen prosessointi ja palautus on todella nopeaa. Yksi koodinpala Pythonissa todennäköisesti käännetään tuhansina rivin koneisanaa.

Tietysti korkean tason kielet ovat verrannollisia silloin, kun raaka suorituskyky on tarpeeton, koska et voi kehittää yhtä vakaita ja suuria sovelluksia matalalla kuin korkeatasolla. Tämä on yksi asia, joka kannattaa muistaa.

C-ohjelmointi - Matalan / korkean tason sekavuus

Vaikka C: llä on paljon ominaisuuksia, jotka ovat samanlaisia ​​kuin Pascal-kielen, toisinaan sitä pidetään edelleen matalan tason kielenä, koska se tukee bittien, osoittimien toimintaa ja suoraa pääsyä muistiin. C on itse asiassa korkean tason kieli, johon sisältyy matalan tason ominaisuudet. Tämä on tärkein syy, miksi ohjelmoijat ovat riippuvaisia ​​C: stä kaikesta sen lyömättömien ominaisuuksien vuoksi.

Vaikuttaa oudolta, että C: tä, vaikka sitä pidetään matalan tason kielenä, on erittäin kannettava. Fanaattisesti ottaen C: tä todella laajennetaan käyttämään laitteistoa äärimmäisissä rajoissaan.

Kokoonpanokieli sitä vastoin on tuskin siirrettävissä. Siirrettävyyden yrittäminen on kuitenkin iso asia matalan tason tapauksessa, etenkin Java: n tapauksessa, joka toimii JVM: ssä eli virtuaalikoneessa. C: llä tai kokoonpanolla, joka toimii VM: ssä, ei ole koskaan puhdasta pääsyä laitteistoon.

Tarkemmin sanottuna kielestä tulee matala, jos se on erityisesti rakennettu toimimaan suoraan laitteistolla. Matalan tason kielillä on hyvin vähän syntaksia, toisin kuin korkean tason kielillä, joilla on paljon koodeja.

Matalat kielet, jotka mahdollistavat laitteistojen täyden käyttöoikeuden, olisivat huono valinta projektien kirjoittamiseen.

Milloin käyttää matalan tason?

Konekoodi näyttää noin tältä, joka toimii erittäin nopeasti, koska se on hyvin lähellä laitteistoa.

8B542408 83FA0077 06B80000 0000C383

FA027706 B8010000 00C353BB 01000000

B9010000 008D0419 83FA0376 078BD98B

C84AEBF1 5BC3

Yllä on 32-bittiselle arkkitehtuurille kirjoitettu toiminto, ts. X86-konekoodi Fibonacci-luvun laskemiseksi.

Konekoodin kirjoittaminen on kiistatta melko ärsyttävää, koska se vaatii numeeristen koodien tarkistamisen aina silloin tällöin jokaisesta suoritetusta käskystä. Kuka helvetti on aika siihen? Ja tästä syystä matalan tason ohjelmointi syntyi.

Mutta jos kysyt matalan tason ohjelmoinnista korkean tason ohjelmoijille, vastaus saat seuraavan:

Kuvan lähde: pixabay.com

johtopäätös

Matalan tason kielillä on lisäetu, sillä ne menettävät prosessorin hallinnan, mutta niiden ohjelmat ovat erittäin vaikeita ymmärtää ja ohjelmoida muiden ohjelmoijien kesken. Jokaisella muulla arkkitehtuuriperheellä on oma kokoonpanokieli, mikä tarkoittaa, että toiselle kirjoitettua koodia ei voida käyttää toisella. Mikä tarkoittaa lyhyesti sanottuna, koodia ei voi siirtää.

Korkean tason kielen etuna on, että korkean tason kielet ovat toisaalta erittäin siirrettäviä ja niitä käytetään enimmäkseen ohjelmistojen kirjoittamiseen, jotka voivat toimia useilla alustoilla ja arkkitehtuureilla. Kumpikaan niistä ei voi korvata toisiaan, koska ne ovat saman kolikon kaksi puolta.

Suositellut artikkelit

Tässä on artikkeleita, joiden avulla saat lisätietoja korkean tason kielistä vs. alhaisen tason kielistä, joten käy vain linkin läpi.

  1. Tärkeimmät vinkit Haskell-ohjelmointikieli
  2. HTML5 ja Flash - löydä erot
  3. Tekstin louhinta vs. luonnollisen kielen käsittely - 5 suosituinta vertailua
  4. 12 parasta vaihetta R-ohjelmointikielen asentamiseen (pikaopas)
  5. 8 parasta mobiilisovelluksen ohjelmointikieltä, jonka sinun pitäisi tietää
  6. Tärkeitä tietoja Haskell-ohjelmointikielestä