Jämförelse av populära programmeringsspråk

Sedan 1950-talet har datavetare utvecklat tusentals programmeringsspråk. Många är otydliga, kanske skapade för en doktorsexamen. avhandling och aldrig hört talas om sedan. Andra blev populära ett tag sedan bleknade på grund av brist på stöd eller eftersom de var begränsade till ett visst datorsystem. Vissa är varianter av befintliga språk och lägger till nya funktioner som parallellism - möjligheten att köra många delar av ett program på olika datorer parallellt.

Läs mer om Vad är ett programmeringsspråk?

Jämförelse av programmeringsspråk

Det finns flera sätt att jämföra datorspråk men för enkelhets skull jämför vi dem med kompilationsmetod och abstraktionsnivå.

Kompilering till maskinkod

Vissa språk kräver att program omvandlas direkt till maskinkod - instruktionerna som en CPU förstår direkt. Denna transformationsprocess kallas sammanställning. Assembly Language, C, C ++ och Pascal är sammanställda språk.

Tolkade språk

Andra språk tolkas antingen som Basic, Actionscript och Javascript, eller en blandning av båda som kompileras till ett mellanspråk - detta inkluderar Java och C #.

Ett tolkat språk behandlas vid körning. Varje rad läses, analyseras och körs. Att göra upp en rad varje gång i en slinga är det som gör tolkade språk så långsamma. Denna overhead innebär att tolkad kod går mellan 5 och 10 gånger långsammare än kompilerad kod. De tolkade språken som Basic eller JavaScript är de långsammaste. Deras fördel behöver inte kompileras efter förändringar och det är praktiskt när du lär dig att programmera.

Eftersom kompilerade program nästan alltid kör snabbare än tolkade, brukar språk som C och C ++ vara de mest populära för att skriva spel. Java och C # kompilerar båda till ett tolkat språk som är mycket effektivt. Eftersom den virtuella maskinen som tolkar Java och .NET-ramverket som kör C # är kraftigt optimerade, hävdas att applikationer på dessa språk är lika snabba om inte snabbare som kompilerade C++.

Abstraktionsnivå

Det andra sättet att jämföra språk är abstraktionsnivån. Detta indikerar hur nära ett visst språk är hårdvaran. Maskinkoden är den lägsta nivån, med monteringsspråket precis ovanför. C ++ är högre än C eftersom C ++ erbjuder större abstraktion. Java och C # är högre än C ++ eftersom de sammanställer till ett mellanspråk som kallas bytecode.

Hur språk jämför

  • Snabbt sammanställda språk
  • Assembleringsspråk
  • C
  • C++
  • Pascal
  • C #
  • Java
  • Ganska snabbt tolkat
  • Perl
  • PHP
  • Långsamt tolkad
  • JavaScript
  • Action
  • Grundläggande

Maskinkod är instruktionerna som en CPU kör. Det är det enda som en CPU kan förstå och köra. Tolkade språk behöver en applikation som kallas en Tolk som läser varje rad i programkällkoden och sedan "kör" den.

Tolkning är lättare

Det är väldigt lätt att stoppa, ändra och köra applikationer skrivna på ett tolkat språk och det är därför de är populära för att lära sig programmering. Det behövs inget sammanställningssteg. Att sammanställa kan vara en ganska långsam process. En stor Visual C ++ -applikation kan ta från minuter till timmar att sammanställa, beroende på hur mycket kod som måste byggas om och hastigheten på minnet och CPU: n.

När datorer först visades

När datorer först blev populära på 1950-talet, skrivdes program i maskinkod eftersom det inte fanns något annat sätt. Programmerare måste fysiskt vända växlar för att ange värden. Detta är ett så tråkigt och långsamt sätt att skapa en applikation att högre datorspråk måste skapas.

Samlare: Snabbt att köra - långsamt att skriva!

Monteringsspråk är den läsbara versionen av maskinkod och ser ut så här

Mov A, 45 dollar

Eftersom det är bundet till en viss CPU eller familj med relaterade CPU: er, är Assembly Language inte särskilt bärbart och det är tidskrävande att lära sig och skriva. Språk som C har minskat behovet av Assembly Language-programmering förutom när RAM är begränsat eller tidskritisk kod behövs. Detta är vanligtvis i kärnkoden i hjärtat av ett operativsystem eller i en grafikkortdrivrutin.

Församlingsspråk är den lägsta nivån i koden

Församlingsspråk är mycket låg nivå; de flesta av koden flyttar bara värden mellan CPU-register och minne. Om du skriver ett lönepaket vill du tänka på lön och skatteavdrag, inte registrera A till minnesplats XYZ. Det är därför högre språk som C ++, C # eller Java är mer produktiva. Programmeraren kan tänka i termer av problemdomänen (löner, avdrag och periodiseringar) inte hårdvarudomänen (register, minne och instruktioner).

Systemprogrammering med C

C togs fram i början av 1970-talet av Dennis Ritchie. Det kan betraktas som ett allmänt verktyg - mycket användbart och kraftfullt men mycket lätt att släppa buggar som kan göra system osäkra. C är ett lågnivåspråk och har beskrivits som bärbart monteringsspråk. Syntaxen för många skriptspråk är baserad på C, till exempel JavaScript, PHP och ActionScript.

Perl: Webbplatser och verktyg

Perl var mycket populärt i Linuxvärlden och var ett av de första webbspråken och är fortfarande mycket populärt idag. För att göra "snabb och smutsig" programmering på webben förblir den oöverträffad och driver många webbplatser. Det har dock blivit något förmörkat av PHP som ett webb-skriptspråk.

Kodning av webbplatser med PHP

PHP designades som ett språk för webbservrar och är mycket populärt i samband med Linux, Apache, MySql och PHP eller LAMP för kort. Det tolkas, men förkompileras så att koden körs ganska snabbt. Det kan köras på stationära datorer men används inte så mycket för att utveckla stationära applikationer. Baserat på C-syntax inkluderar det också objekt och klasser.

Pascal utformades som ett lärdomsspråk några år före C men var mycket begränsad med dålig sträng och filhantering. Flera tillverkare utökade språket men det fanns ingen övergripande ledare förrän Borlands Turbo Pascal (för Dos) och Delphi (för Windows) dök upp. Dessa var kraftfulla implementationer som tillförde tillräckligt med funktionalitet för att göra dem lämpliga för kommersiell utveckling. Borland stod emellertid emot den mycket större Microsoft och tappade striden.

C ++: Ett klassiskt språk!

C ++ eller C plus klasser som det ursprungligen var känt kom ungefär tio år efter C och introducerade framgångsrikt objektorienterad programmering till C, liksom funktioner som undantag och mallar. Att lära sig alla C ++ är en stor uppgift - det är överlägset det mest komplicerade av programmeringsspråken här, men när du väl behärskar det har du inga svårigheter med något annat språk.

C #: Microsofts stora insats

C # skapades av Delphis arkitekt Anders Hejlsberg efter att han flyttade till Microsoft och Delphi-utvecklare kommer att känna sig hemma med funktioner som Windows-formulär.

C # syntax är mycket lik Java, vilket inte är förvånande eftersom Hejlsberg också arbetade på J ++ efter att han flyttade till Microsoft. Lär dig C # och du är på god väg att känna Java. Båda språken är halvkompilerade så att de istället för att kompilera till maskinkod kompilerar till bytkod (C # kompilerar till CIL men det och Bytecode är likartade) och tolkas sedan.

Javascript: Program i din webbläsare

Javascript är ingenting som Java, istället är det ett skriptspråk baserat på C-syntax men med tillägg av objekt och används främst i webbläsare. JavaScript är tolkat och mycket långsammare än kompilerad kod men fungerar bra i en webbläsare.

Uppfunnen av Netscape har det visat sig vara mycket framgångsrikt och efter flera år i doldrums åtnjuter en ny livslånga pga AJAX; Asynkron Javascript och XML. Detta gör att delar av webbsidor kan uppdateras från servern utan att rita om hela sidan.

ActionScript: Ett flashigt språk!

Action är en implementering av JavaScript men existerar enbart inom Macromedia Flash-applikationer. Med vektorbaserad grafik används den främst för spel, spela videor och andra visuella effekter och för att utveckla sofistikerade användargränssnitt, alla kör i webbläsaren.

Grundläggande för nybörjare

Grundläggande är en akronym för nybörjare all symbolisk kod för instruktioner och skapades för att undervisa i programmering på 1960-talet. Microsoft har gjort språket till sitt eget med många olika versioner inklusive VBScript för webbplatser och det mycket framgångsrika Visual Basic. Den senaste versionen av det är VB.NET och körs på samma plattform. NET som C # och producerar samma CIL-bytekod.

Lua är ett gratis skriptspråk skrivet i C som inkluderar skräpsamling och koroutiner. Det gränssnitt väl med C / C ++ och används i spelindustrin (och icke-spel också) för att skriptspellogik, händelsutlösare och spelkontroll.

Slutsats

Samtidigt som alla har sitt favoritspråk och har investerat tid och resurser på att lära sig att programmera det, finns det några problem som bäst kan lösas med rätt språk.

E.G du skulle inte använda C för att skriva webbappar och du skulle inte skriva ett operativsystem i Javascript. Men vilket språk du än väljer, om det är C, C ++ eller C #, åtminstone vet du att du är på rätt plats att lära dig det.