Tietotekniikan tutkijat ovat 1950-luvulta lähtien suunnitelleet tuhansia ohjelmointikieliä. Monet ovat epäselviä, ehkä luoneet tohtorintutkinnolle. opinnäytetyö, jota ei ole koskaan kuullut siitä lähtien. Toiset tulivat suosittuiksi hetkeksi, jolloin ne häipyivät tuen puutteen tai koska ne olivat rajoittuneet tiettyyn tietokonejärjestelmään. Jotkut ovat muunnelmia olemassa olevista kielistä, lisäämällä uusia ominaisuuksia, kuten rinnakkaisuus - kyky suorittaa useita ohjelman osia eri tietokoneilla samanaikaisesti.
Lue lisää aiheesta Mikä on ohjelmointikieli?
Ohjelmointikielten vertailu
Tietokonekieliä voi verrata monella tapaa, mutta yksinkertaisuuden vuoksi vertaa niitä kieliversiomenetelmän ja abstraktiotason mukaan.
Kokoonpano konekoodiin
Jotkut kielet vaativat ohjelmien muuntamisen suoraan konekoodiksi - ohjeiksi, jotka CPU ymmärtää suoraan. Tätä muutosprosessia kutsutaan kokoelma. Assembly Language, C, C ++ ja Pascal ovat käännettyjä kieliä.
Tulkitut kielet
Muut kielet ovat tulkita kuten Basic-, Actionscript- ja Javascript-ohjelmat tai niiden sekoitus käännettynä keskikieleksi - tämä sisältää Java ja C #.
Tulkittu kieli käsitellään ajon aikana. Jokainen rivi luetaan, analysoidaan ja toteutetaan. Tulkittujen kielten tekeminen hitaaksi edellyttää rivin uudelleenkäsittelyä joka kerta silmukassa. Tämä yläpinta tarkoittaa, että tulkittu koodi kulkee 5-10 kertaa hitaammin kuin koottu koodi. Tulkitut kielet, kuten Basic tai JavaScript, ovat hitaimpia. Niiden etuna ei ole tarve kääntää uudelleen muutosten jälkeen, ja se on kätevää, kun opit ohjelmoimaan.
Koska koottu ohjelmat melkein aina ajaa nopeammin kuin tulkitaan, kielet kuten C ja C ++ ovat yleensä suosituimpia pelien kirjoittamiseen. Java ja C # kääntyvät tulkittuun kieleen, joka on erittäin tehokas. Koska Java: ta tulkitseva virtuaalikone ja C #: tä käyttävä .NET-kehys on optimoitu voimakkaasti, väitetään, että kyseisten kielten sovellukset ovat yhtä nopeita, elleivät jopa nopeammat kuin käännetyt C ++.
Abstraktin taso
Toinen tapa verrata kieliä on abstraktion taso. Tämä osoittaa, kuinka lähellä tietty kieli on laitteistolle. Konekoodi on alin taso, ja kokouskieli on juuri sen yläpuolella. C ++ on korkeampi kuin C, koska C ++ tarjoaa paremman abstraktion. Jaava ja C # ovat korkeampia kuin C ++, koska ne kääntyvät välikieleksi, jota kutsutaan tavukoodiksi.
Kuinka kielet vertaa
Nopeasti kootut kielet
- Kokoonpanokieli
- C
- C ++
- Pascal
- C #
- Jaava
Suhteellisen nopea tulkinta
- Perl
- PHP
Tulkittu hitaasti
- JavaScript
- ActionScript
- perustiedot
Konekoodi on CPU: n suorittamat ohjeet. Se on ainoa asia, jonka CPU voi ymmärtää ja suorittaa. Tulkitut kielet tarvitsevat sovelluksen nimeltä an Tulkki joka lukee jokaisen ohjelman lähdekoodirivin ja "suorittaa" sen.
Tulkkaus on helpompaa
Tulkittuna kielellä kirjoitettujen sovellusten lopettaminen, muuttaminen ja uudelleenkäyttö on erittäin helppoa, ja siksi ne ovat suosittuja ohjelmoinnin oppimisessa. Kokoonpanovaihetta ei tarvita. Kokoonpano voi olla melko hidas prosessi. Suuren Visual C ++ -sovelluksen kokoaminen voi kestää minuutteista tunteihin riippuen siitä, kuinka paljon koodia on rakennettava uudelleen, sekä muistin ja prosessorin nopeudesta.
Kun tietokoneet ensin ilmestyivät
Kun tietokoneet tulivat ensimmäistä kertaa suosituksi 1950-luvulla, ohjelmat kirjoitettiin konekoodina, koska muuta tapaa ei ollut. Ohjelmoijien piti vaihtaa kytkimet fyysisesti arvojen syöttämiseksi. Tämä on niin työläs ja hidas tapa luoda sovellus, että piti luoda korkeamman tason tietokonekielet.
Kokoonpanija: Nopea juosta - hitaasti kirjoittamista!
Kokoonpanokieli on konekoodin luettavissa oleva versio ja näyttää tältä
Mov A, 45 dollaria
Koska Assembly-kieli on sidottu tiettyyn suorittimeen tai siihen liittyvään suorittimien perheeseen, kokoonpanokieli ei ole kovin kannettava, ja sen oppiminen ja kirjoittaminen on aikaa vievää. C: n kaltaiset kielet ovat vähentäneet kokoonpanokielen ohjelmoinnin tarvetta paitsi silloin, kun RAM-muistia on rajoitetusti tai tarvitaan aikakriittistä koodia. Tämä on tyypillisesti ytimen koodissa käyttöjärjestelmän ytimessä tai näytönohjaimen ohjaimessa.
Kokoonpanokieli on alin kooditaso
Kokoonpanokieli on erittäin alhainen; suurin osa koodista siirtää vain arvoja CPU-rekistereiden ja muistin välillä. Jos kirjoitat palkkalaskentapakettia, jonka haluat ajatella palkkojen ja verovähennysten suhteen, et rekisteröi A: tä muistipaikkaan XYZ. Siksi korkeamman tason kielet, kuten C ++, C # tai Jaava ovat tuottavampia. Ohjelmoija voi ajatella ongelma-aluetta (palkat, vähennykset ja kertymät), ei laitteisto-aluetta (rekisterit, muisti ja ohjeet).
Järjestelmäohjelmointi C: llä
C: n suunnitteli 1970-luvun alussa Dennis Ritchie. Sitä voidaan pitää yleiskäyttöisenä työkaluna - erittäin hyödyllinen ja tehokas, mutta erittäin helppo päästää läpi virheitä, jotka voivat tehdä järjestelmistä epävarmoja. C on matalan tason kieli, ja sitä on kuvattu kannettavaksi kokoonpanokieleksi. Monien komentosarjojen kielten syntaksi perustuu esimerkiksi C: ään, JavaScript, PHP ja ActionScript.
Perl: Verkkosivustot ja apuohjelmat
Erittäin suosittu Linux-maailmassa, Perl oli yksi ensimmäisistä web-kielistä ja on edelleen erittäin suosittu. "Nopean ja likaisen" ohjelmoinnin suorittamiseksi verkossa se on vertaansa vailla ja ajaa monia verkkosivustoja. Se on tosin hieman hämmentänyt PHP Web-skriptikielenä.
Kotisivujen koodaaminen PHP: llä
PHP on suunniteltu web-palvelimien kieleksi ja on erittäin suosittu yhdessä Linuxin, Apachen, MySqlin ja PHP: n tai LAMP: n kanssa. Sitä tulkitaan, mutta esikäännetty, joten koodi suoritetaan kohtuullisen nopeasti. Sitä voidaan käyttää pöytätietokoneissa, mutta sitä ei käytetä niin laajasti työpöytäsovellusten kehittämiseen. Perustuu C-syntaksiin, se sisältää myös esineet ja luokat.
Pascal kehitettiin opetuskieleksi muutama vuosi ennen C: tä, mutta hän oli hyvin rajallinen huonojen merkkijonojen ja tiedostojen käsittelyllä. Useat valmistajat laajensivat kieltä, mutta yleistä johtajaa ei ollut ennen kuin Borlandin Turbo Pascal (Dosille) ja Delphi (Windows) ilmestyivät. Nämä olivat tehokkaita toteutuksia, jotka lisäsivät tarpeeksi toimintoja, jotta ne sopisivat kaupalliseen kehittämiseen. Borland vastusti kuitenkin paljon isompaa Microsoftia ja hävisi taistelun.
C ++: tyylikäs kieli!
Alun perin tunnettu C ++- tai C plus -luokka tuli noin kymmenen vuoden kuluttua C: stä ja esitteli objektiorientoidun ohjelmoinnin onnistuneesti C: lle, samoin kuin ominaisuudet, kuten poikkeukset ja mallit. Koko C ++: n oppiminen on iso tehtävä - se on ylivoimaisesti monimutkaisin täällä olevista ohjelmointikieleistä, mutta kun olet oppinut sen, sinulla ei ole vaikeuksia minkään muun kielen kanssa.
C #: Microsoftin iso veto
C # on luonut DelfoiArkkitehti Anders Hejlsberg muuton jälkeen Microsoftiin ja Delphin kehittäjät tuntevat olonsa kotoisaksi Windows-lomakkeiden kaltaisilla ominaisuuksilla.
C # -sintaksi on hyvin samanlainen kuin Java, mikä ei ole yllättävää, koska Hejlsberg työskenteli myös J ++: n parissa, kun hän muutti Microsoftiin. Opi C # ja olet hyvin matkalla Java: n tuntemiseen. Molemmat kielet on osittain käännetty siten, että konekoodiksi kääntämisen sijasta ne kääntyvät tavukoodiksi (C # kääntyy CIL: ksi, mutta se ja tavukoodi ovat samanlaisia) ja tulkitaan sitten.
Javascript: Ohjelmat selaimessasi
javascript ei ole mitään Java-tyyppistä, sen sijaan se on skriptikieli, joka perustuu C-syntaksiin, mutta johon on lisätty esineet ja sitä käytetään pääasiassa selaimissa. JavaScriptiä tulkitaan ja paljon hitaammin kuin koottu mutta toimii hyvin selaimessa.
Netscape: n keksimällä se on osoittautunut erittäin menestyväksi ja useiden vuosien jälkeen lamakannoissa nauttii uudesta elämänvuokrasta johtuen AJAX; Asynkroninen Javascript ja XML. Tämän avulla verkkosivujen osia voidaan päivittää palvelimelta piirtämättä koko sivua uudelleen.
ActionScript: Salamaton kieli!
ActionScript on JavaScriptin toteutus, mutta on olemassa vain Macromedia Flash -sovelluksissa. Vektoripohjaista grafiikkaa käytettäessä sitä käytetään pääasiassa peleihin, videoiden toistamiseen ja muihin visuaalisiin tehosteisiin sekä kehittyneiden käyttöliittymien kehittämiseen, jotka kaikki toimivat selaimessa.
Perustiedot aloittelijoille
perustiedot on lyhenne aloittelijoille tarkoitettuja yleisiä symbolisia ohjeita koskevasta koodista, ja se on luotu ohjelmoinnin opettamiseen 1960-luvulla. Microsoft on tehnyt kielen omaksi monilla eri versioilla, kuten VBScript verkkosivustoille, ja erittäin onnistuneilla Visual Basic. Tämän uusin versio on VB.NET ja tämä toimii samalla alustalla .NETTO kuin C # ja tuottaa saman CIL-tavukoodin.
lua on ilmainen C-kielellä kirjoitettu kieli, joka sisältää roskien keräyksen ja sirkut. Se on hyvin rajapinta C / C ++: n kanssa ja sitä käytetään peliteollisuudessa (ja myös muissa kuin peleissä) pelin logiikan, tapahtumalaukaisimien ja pelinhallinnan komentosarjoihin.
johtopäätös
Vaikka jokaisella on suosikkikielensä ja hän on investoinut aikaa ja resursseja sen ohjelmoinnin oppimiseen, on joitain ongelmia, jotka ratkaistaan parhaiten oikealla kielellä.
E.G et käyttäisi C: tä verkkosovellusten kirjoittamiseen etkä kirjoittaisi käyttöjärjestelmää Javascriptiin. Mutta minkä kielen valitsetkin, jos se on C, C ++ tai C #, ainakin tiedät, että olet oikeassa paikassa oppiaksesi sen.