Siden 1950-tallet har informatikere utviklet tusenvis av programmeringsspråk. Mange er uklare, kanskje skapt for en doktorgrad. avhandling og aldri hørt om siden. Andre ble populære en stund og bleknet på grunn av mangel på støtte eller fordi de var begrenset til et bestemt datasystem. Noen er varianter av eksisterende språk, og legger til nye funksjoner som parallellitet - muligheten til å kjøre mange deler av et program på forskjellige datamaskiner parallelt.
Les mer om Hva er et programmeringsspråk?
Sammenligning av programmeringsspråk
Det er flere måter å sammenligne dataspråk på, men for enkelhets skyld sammenligner vi dem etter kompilasjonsmetode og abstraksjonsnivå.
Kompilering til maskinkode
Noen språk krever at programmer transformeres direkte til maskinkode - instruksjonene som en CPU forstår direkte. Denne transformasjonsprosessen kalles samling. Assembly Language, C, C ++ og Pascal er kompilert språk.
Tolkede språk
Andre språk er det heller tolket som Basic, Actionscript og Javascript, eller en blanding av begge kompilert til et mellomliggende språk - dette inkluderer Java og C #.
Et tolket språk blir behandlet ved kjøretid. Hver linje blir lest, analysert og utført. Å måtte bearbeide en linje hver gang i en sløyfe er det som gjør tolkede språk så trege. Dette overhead betyr at tolket kode går mellom 5 - 10 ganger saktere enn kompilert kode. De tolke språkene som Basic eller JavaScript er de tregeste. Fordelen deres behøver ikke å bli rekompilert etter endringer, og det er nyttig når du lærer å programmere.
Fordi kompilert programmer kjører nesten alltid raskere enn tolket, språk som C og C ++ har en tendens til å være det mest populære for å skrive spill. Java og C # kompilerer begge til et tolket språk som er veldig effektivt. Fordi den virtuelle maskinen som tolker Java og .NET-rammeverket som kjører C #, er sterkt optimalisert, hevdes det at applikasjoner på disse språkene er like raske om ikke raskere som kompilert C ++.
Nivå av abstraksjon
Den andre måten å sammenligne språk er abstraksjonsnivå. Dette indikerer hvor nært et bestemt språk er til maskinvaren. Maskinkode er det laveste nivået, med Assembly Language rett over det. C ++ er høyere enn C fordi C ++ tilbyr større abstraksjon. Java og C # er høyere enn C ++ fordi de kompilerer til et mellomliggende språk kalt bytecode.
Hvordan språk sammenligner
Raskt sammensatte språk
- Samlingsspråk
- C
- C ++
- Pascal
- C #
- Java
Rimelig fortolket
- Perl
- PHP
Langsom tolket
- Javascript
- Action
- Grunnleggende
Maskinkode er instruksjonene som en CPU utfører. Det er det eneste en CPU kan forstå og utføre. Tolkede språk trenger en applikasjon som kalles en Tolk som leser hver linje i programkildekoden og deretter "kjører" den.
Tolkning er lettere
Det er veldig enkelt å stoppe, endre og kjøre applikasjoner skrevet på et tolket språk, og det er grunnen til at de er populære for å lære programmering. Det er ingen kompileringstrinn som trengs. Å sammenstille kan være en ganske langsom prosess. Et stort Visual C ++ -program kan ta fra minutter til timer å kompilere, avhengig av hvor mye kode som må bygges om og hastigheten på minne og CPU.
Da datamaskiner dukket opp først
Da datamaskiner ble populære i 1950-årene, ble programmer skrevet i maskinkode, da det ikke var noen annen måte. Programmerere måtte vende brytere fysisk for å legge inn verdier. Dette er en så kjedelig og treg måte å lage et program på at dataspråk på høyere nivå måtte opprettes.
Montør: Rask å løpe - langsom å skrive!
Monteringsspråk er den lesbare versjonen av maskinkode og ser slik ut
Mov A, 45 dollar
Fordi den er knyttet til en bestemt CPU eller familie av relaterte CPUer, er Assembly Language ikke veldig bærbar og er tidkrevende å lære og skrive. Språk som C har redusert behovet for Assembly Language-programmering bortsett fra hvor RAM er begrenset eller tidskritisk kode er nødvendig. Dette er vanligvis i kjernekoden i hjertet av et operativsystem eller i en skjermkortdriver.
Samlingsspråk er det laveste nivået på koden
Samlingsspråket er veldig lavt nivå; mesteparten av koden flytter bare verdier mellom CPU-registrene og minnet. Hvis du skriver en lønningspakke du vil tenke på lønn og skattetrekk, ikke registrer A til minneplass XYZ. Dette er grunnen til språk på høyere nivå som C ++, C # eller Java er mer produktive. Programmereren kan tenke når det gjelder problemdomenet (lønn, fradrag og periodisering) ikke maskinvaredomenet (registre, minne og instruksjoner).
Systemprogrammering med C
C ble utviklet på begynnelsen av 1970-tallet av Dennis Ritchie. Det kan betraktes som et verktøy til generell bruk - veldig nyttig og kraftig, men veldig lett å slippe gjennom feil som kan gjøre systemer usikre. C er et språk på lavt nivå og har blitt beskrevet som bærbart forsamlingsspråk. Syntaks for mange skriptspråk er basert på C, for eksempel, Javascript, PHP og ActionScript.
Perl: Nettsteder og verktøy
Perl var veldig populær i Linux-verden, og var et av de første webspråkene og er fortsatt veldig populært i dag. For å gjøre "rask og skitten" programmering på nettet forblir den uovertruffen og driver mange nettsteder. Det er riktignok noe formørket PHP som et skriptspråk på nettet.
Koding av nettsteder med PHP
PHP ble designet som et språk for webservere og er veldig populært sammen med Linux, Apache, MySql og PHP eller LAMP. Den blir tolket, men forhåndskompilert slik at kode kjøres rimelig raskt. Det kan kjøres på stasjonære datamaskiner, men brukes ikke så mye til å utvikle stasjonære applikasjoner. Basert på C-syntaks inkluderer det også objekter og klasser.
Pascal ble utviklet som undervisningsspråk noen år før C, men var veldig begrenset med dårlig streng og filhåndtering. Flere produsenter utvidet språket, men det var ingen samlet leder før Borlands Turbo Pascal (for Dos) og Delphi (for Windows) dukket opp. Dette var kraftige implementeringer som tilførte nok funksjonalitet til å gjøre dem egnet for kommersiell utvikling. Borland var imidlertid oppe mot den mye større Microsoft og tapte kampen.
C ++: Et stilig språk!
C ++ eller C pluss klasser som det opprinnelig ble kjent, kom omtrent ti år etter C og introduserte Objektorientert programmering på C, samt funksjoner som unntak og maler. Å lære alt av C ++ er en stor oppgave - det er uten tvil det mest kompliserte av programmeringsspråk her, men når du først har mestret det, har du ingen problemer med noe annet språk.
C #: Microsofts Big Bet
C # ble opprettet av DelphiArkitekten Anders Hejlsberg etter at han flyttet til Microsoft og Delphi-utviklere vil føle seg hjemme med funksjoner som Windows-skjemaer.
C # syntaks er veldig lik Java, noe som ikke er overraskende ettersom Hejlsberg også jobbet på J ++ etter at han flyttet til Microsoft. Lær C #, og du er godt på vei til å kjenne Java. Begge språk er semikompilert, slik at de i stedet for å kompilere til maskinkode, kompilerer til bytekode (C # kompilerer til CIL, men den og Bytecode er like) og deretter tolkes.
Javascript: Programmer i nettleseren din
Javascript er ikke noe som Java, i stedet er det et skriftspråk basert på C-syntaks, men med tillegg av objekter og brukes hovedsakelig i nettlesere. JavaScript er tolket og mye tregere enn kompilert kode, men fungerer bra i en nettleser.
Oppfunnet av Netscape har det vist seg å være veldig vellykket, og etter flere år i doldrums nyter en ny leieforhold på grunn av AJAX; Asynkron Javascript og XML. Dette gjør at deler av websider kan oppdateres fra serveren uten å tegne hele siden.
ActionScript: Et prangende språk!
Action er en implementering av JavaScript, men eksisterer utelukkende i Macromedia Flash-applikasjoner. Ved å bruke vektorbasert grafikk brukes den hovedsakelig til spill, spille av videoer og andre visuelle effekter og for å utvikle sofistikerte brukergrensesnitt, alt kjører i nettleseren.
Grunnleggende for nybegynnere
Grunnleggende er et akronym for nybegynnere all-purpose symbolic instruksjonskode og ble opprettet for å undervise i programmering på 1960-tallet. Microsoft har laget språket til sitt eget med mange forskjellige versjoner inkludert VBScript for nettsteder og det svært vellykkede Visual Basic. Den siste versjonen av det er VB.NET, og denne kjører på samme plattform .NETT som C # og produserer den samme CIL-bytekoden.
Lua er et gratis skriptspråk skrevet i C som inkluderer søppelsamling og koroutiner. Det grensesnitt godt med C / C ++ og brukes i spillindustrien (og ikke-spill også) til å skripte spilllogikk, hendelsesutløsere og spillkontroll.
Konklusjon
Mens alle har sitt favoritt språk og har investert tid og ressurser på å lære å programmere det, er det noen problemer som løses best med riktig språk.
E.G du ikke ville bruke C for å skrive webapper, og du ville ikke skrevet et operativsystem i Javascript. Men hvilket språk du velger, hvis det er C, C ++ eller C #, i det minste vet du at du er på rett sted å lære det.