Kopš piecdesmitajiem gadiem datorzinātnieki ir izstrādājuši tūkstošiem programmēšanas valodu. Daudzi ir neskaidri, iespējams, radīti doktora grādam. disertāciju un par to nekad nav dzirdējis. Citi kādu laiku kļuva populāri, pēc tam izbalēja atbalsta trūkuma vai tāpēc, ka tie bija ierobežoti ar noteiktu datorsistēmu. Daži no tiem ir esošo valodu varianti, pievienojot jaunas funkcijas, piemēram, paralēlismu - iespēju vienlaikus vadīt daudzas programmas daļas dažādos datoros.
Lasīt vairāk par Kas ir programmēšanas valoda?
Programmēšanas valodu salīdzināšana
Ir vairākas iespējas, kā salīdzināt datoru valodas, taču vienkāršības labad mēs tās salīdzināsim pēc apkopošanas metodes un abstrakcijas līmeņa.
Kompilēšana mašīnas kodā
Dažās valodās programmas ir jāpārveido tieši mašīnu kodā - instrukcijas, kuras CPU saprot tieši. Šis pārveidošanas process tiek saukts kompilācija. Montāžas valoda, C, C ++ un Pascal ir sastādītas valodas.
Tulkojamās valodas
Pārējās valodas ir vai nu Interpretēts piemēram, Basic, Actionscript un Javascript, vai arī abu apvienojums tiek apkopots vidējā valodā - tas ietver Java un C #.
Interpretā valoda tiek apstrādāta izpildlaikā. Katra rinda tiek lasīta, analizēta un izpildīta. Tas, ka katru reizi ir jāpārstrādā līnija katru reizi cilpā, padara interpretācijas valodas tik lēnas. Šis pieskaitījums nozīmē, ka interpretētais kods darbojas no 5 līdz 10 reizēm lēnāk nekā sastādītais kods. Interpretētās valodas, piemēram, Basic vai JavaScript, ir vislēnākās. Viņu priekšrocība nav nepieciešama atkārtota kompilācija pēc izmaiņām, un tas ir ērti, kad mācāties programmēt.
Jo sastādīts programmas gandrīz vienmēr darbojas ātrāk nekā interpretēts, tādas spēles kā C un C ++ mēdz būt vispopulārākās spēļu rakstīšanai. Java un C # abi sastāda ļoti efektīvu tulkotu valodu. Tā kā virtuālā mašīna, kas interpretē Java, un .NET ietvars, kas darbojas ar C #, ir ļoti optimizētas, tiek apgalvots, ka lietojumprogrammas šajās valodās ir tikpat ātras, ja pat ne ātrāk kā apkopotas C ++.
Abstrakcijas līmenis
Otrs valodu salīdzināšanas veids ir abstrakcijas līmenis. Tas norāda, cik tuvu noteiktai valodai ir aparatūra. Mašīnas kods ir zemākais līmenis, un montāžas valoda atrodas tieši virs tā. C ++ ir augstāks nekā C, jo C ++ piedāvā lielāku abstrakciju. Java un C # ir lielāki nekā C ++, jo viņi sastāda starpposma valodu, ko sauc par baitskodu.
Kā valodas salīdzina
Ātri sastādītas valodas
- Montāžas valoda
- C
- C ++
- Paskāls
- C #
- Java
Saprātīgi ātri interpretējams
- Perls
- PHP
Lēni interpretēts
- JavaScript
- ActionScript
- Pamata
Mašīnas kods ir instrukcijas, kuras CPU izpilda. Tas ir vienīgais, ko CPU var saprast un izpildīt. Interpretētajām valodām nepieciešama programma, kuras nosaukums ir an Tulks kas nolasa katru programmas avota koda rindu un pēc tam to “palaiž”.
Mutiskā tulkošana ir vienkāršāka
Ir ļoti viegli apturēt, mainīt un atkārtoti palaist lietojumprogrammas, kas rakstītas tulkotā valodā, un tāpēc tās ir populāras programmēšanas apguvei. Nav nepieciešams apkopošanas posms. Apkopošana var būt diezgan lēns process. Lielas Visual C ++ lietojumprogrammas sastādīšana var ilgt no minūtēm līdz stundām atkarībā no tā, cik daudz koda ir jāpārbūvē, kā arī no atmiņas un CPU ātruma.
Kad pirmoreiz parādījās datori
Kad datori pirmo reizi kļuva populāri piecdesmitajos gados, programmas tika rakstītas mašīnkodā, jo nebija cita ceļa. Programmētājiem bija fiziski jāapmaina slēdži, lai ievadītu vērtības. Tas ir tik nogurdinošs un lēns lietojumprogrammas izveides veids, ka bija jāizveido augstāka līmeņa datoru valodas.
Montētājs: Ātri skrien - lēni rakstīt!
Montāžas valoda ir mašīnas koda lasāmā versija, un tā izskatās šādi
Mov A, 45 ASV dolāri
Tā kā montāžas valoda ir piesaistīta noteiktam CPU vai saistītu CPU saimei, tā nav īpaši pārnēsājama, un tās mācīšana un rakstīšana prasa daudz laika. Valodas, piemēram, C, ir samazinājušas montāžas valodas programmēšanas nepieciešamību, izņemot gadījumus, kad RAM ir ierobežots vai nepieciešams laika kritiskais kods. Parasti tas atrodas kodola kodā operētājsistēmas centrā vai videokartes draiverī.
Montāžas valoda ir zemākais koda līmenis
Montāžas valoda ir ļoti zema; lielākā daļa koda tikai pārvieto vērtības starp CPU reģistriem un atmiņu. Ja jūs rakstāt algas dokumentu paketi, par kuru vēlaties domāt attiecībā uz algām un nodokļu atskaitījumiem, nevis reģistrējiet A uz atmiņu XYZ. Tāpēc augstākā līmeņa valodas, piemēram, C ++, C # vai Java ir produktīvākas. Programmētājs var domāt par problēmas jomu (algas, atskaitījumi un uzkrājumi), nevis aparatūras domēnu (reģistri, atmiņa un instrukcijas).
Sistēmu programmēšana ar C
C izstrādāja 70. gadu sākumā Deniss Ritče. To var uzskatīt par vispārējas nozīmes rīku - ļoti noderīgu un jaudīgu, taču ļoti viegli izlaist kļūdas, kas sistēmu var padarīt nedrošu. C ir zema līmeņa valoda, un to raksturo kā portatīvu montāžas valodu. Daudzu skriptu valodu sintakse balstās, piemēram, uz C JavaScript, PHP un ActionScript.
Perls: Vietnes un komunālie pakalpojumi
Ļoti populāra Linux pasaulē Perla bija viena no pirmajām tīmekļa valodām un joprojām ir ļoti populāra mūsdienās. Veicot “ātru un netīru” programmēšanu tīmeklī, tā joprojām ir nepārspējama un virza daudzas vietnes. To gan ir nedaudz aizēnojusi PHP kā tīmekļa skriptu valoda.
Vietņu kodēšana ar PHP
PHP tika izstrādāta kā tīmekļa serveru valoda un ir ļoti populāra sadarbībā ar Linux, Apache, MySql un PHP vai LAMP. Tas tiek interpretēts, bet iepriekš sastādīts, lai kods izpildītos samērā ātri. To var palaist galddatoros, bet tas nav tik plaši izmantots darbvirsmas lietojumprogrammu izstrādei. Balstoties uz C sintakse, tas ietver arī Objekti un klases.
Paskāls tika izstrādāts kā mācību valoda dažus gadus pirms C, bet bija ļoti ierobežots ar sliktu stīgu un failu apstrādi. Vairāki ražotāji paplašināja valodu, bet nebija kopēja līdera, līdz parādījās Borland's Turbo Pascal (Dos) un Delphi (Windows). Tās bija jaudīgas ieviešanas, kas pievienoja pietiekami daudz funkcionalitātes, lai tās būtu piemērotas komerciālai attīstībai. Tomēr Borlands bija pret daudz lielāku Microsoft un zaudēja cīņā.
C ++: klasiska valoda!
C ++ vai C plus klases, kā tas sākotnēji bija zināms, radās apmēram desmit gadus pēc C un veiksmīgi ieviesa objektiem orientētu programmēšanu C, kā arī tādas funkcijas kā izņēmumi un veidnes. Visu C ++ apgūšana ir liels uzdevums - tas ir līdz šim vissarežģītākais no šeit esošajām programmēšanas valodām, taču, tiklīdz esat to apguvis, jums nebūs grūtību ar kādu citu valodu.
C #: Microsoft lielā likme
C # izveidoja DelfiPēc pārcelšanās uz Microsoft un Delphi izstrādātāji arhitekts Anderss Hejlsbergs jutīsies kā mājās ar tādām funkcijām kā Windows formas.
C # sintakse ir ļoti līdzīga Java, kas nav pārsteidzoši, jo Hejlsbergs arī strādāja J ++ pēc pāriešanas uz Microsoft. Apgūstiet C #, un jūs labi atrodaties Java zināšanas. Abas valodas ir daļēji sastādītas tā, ka tā vietā, lai apkopotu mašīnkodā, tās tiek sastādītas bytecode (C # apkopo CIL, bet tā un Bytecode ir līdzīgas) un pēc tam tiek interpretētas.
Javascript: programmas jūsu pārlūkprogrammā
Javascript tā nav nekas līdzīgs Java, tā ir skriptu valoda, kuras pamatā ir C sintakse, bet kurai pievienots Objekti un galvenokārt tiek izmantots pārlūkprogrammās. JavaScript tiek interpretēts daudz lēnāk nekā sastādīts kodu, bet labi darbojas pārlūkprogrammā.
Netscape izgudrots, tas ir izrādījies ļoti veiksmīgs, un pēc vairākiem gadiem grūtībās nonācis jauns dzīves nams AJAX; Asinhronā Javascript un XML. Tas ļauj Web lapu daļas atjaunināt no servera, nepārzīmējot visu lapu.
ActionScript: bezgaumīga valoda!
ActionScript ir JavaScript ieviešana, bet pastāv tikai Macromedia Flash lietojumprogrammās. Izmantojot uz vektoriem balstītu grafiku, to galvenokārt izmanto spēlēm, video atskaņošanai un citiem vizuālajiem efektiem, kā arī sarežģītu lietotāja saskarņu izstrādei, kuras visas darbojas pārlūkprogrammā.
Pamata iesācējiem
Pamata ir iesācēju universālo simbolu instrukcijas kodeksa saīsinājums, un tas tika izveidots, lai mācītu programmēšanu 1960. gados. Microsoft ir padarījusi valodu savu, izmantojot daudz dažādas versijas, ieskaitot VBScript vietnēm, un ļoti veiksmīgo Visual Basic. Jaunākā tās versija ir VB.NET, un tā darbojas uz tās pašas platformas .TĪKLS kā C # un rada to pašu CIL bytecode.
Lua ir C valodā rakstīta bezmaksas skriptu valoda, kas ietver atkritumu savākšanu un korutīnus. Tas ir labi saskarnē ar C / C ++ un tiek izmantots spēļu industrijā (un arī ārpus spēlēm), lai skriptu spēles loģiku, notikumu aktivizētājus un spēles vadību.
Secinājums
Lai arī katram ir sava iemīļotā valoda un viņš ir ieguldījis laiku un resursus, lai iemācītos to programmēt, ir dažas problēmas, kuras vislabāk var atrisināt ar pareizo valodu.
E.G., jūs neizmantojat C tīmekļa lietotņu rakstīšanai un jūs nerakstāt operētājsistēmu Javascript. Bet neatkarīgi no tā, kuru valodu jūs izvēlaties, ja tā ir C, C ++ vai C #, jūs vismaz zināt, ka atrodaties pareizajā vietā, lai to apgūtu.