Az 1950-es évek óta a számítógépes tudósok több ezer programozási nyelvet dolgoztak ki. Sokan homályosak, valószínűleg Ph.D. értekezésem, és azóta soha nem hallottam. Mások egy ideig népszerűvé váltak, majd a támogatás hiánya vagy azért, mert egy adott számítógépes rendszerre korlátozódtak. Néhány változat a létező nyelvek, új funkciókkal bővül, mint például a párhuzamosság - a program sok részének párhuzamos futtatása a képessége a különféle számítógépeken.
További információ Mi a programozási nyelv?
A programozási nyelvek összehasonlítása
A számítógépes nyelvek összehasonlítására többféle lehetőség van, de az egyszerűség kedvéért összeállítási módszer és absztrakciós szint alapján hasonlítjuk össze őket.
Összeállítás a gépkódhoz
Egyes nyelvek megkövetelik, hogy a programokat közvetlenül gépi kódmá alakítsák - az utasításokat a CPU közvetlenül megérti. Ezt az átalakítási folyamatot nevezzük összeállítás. A Assembly Language, a C, C ++ és a Pascal fordított nyelvek.
Értelmezett nyelvek
Más nyelvek is
értelmezhető mint például a Basic, az Actionscript és a Javascript, vagy ezek keveréke egy köztes nyelvre fordítva - ide tartozik a Java és a C #.Az értelmezett nyelv feldolgozása futási időben történik. Minden sor olvasásra, elemzésre és végrehajtásra kerül. Az, hogy valamely ciklusban újra kell dolgozni egy sort egy hurokban, az teszi az értelmezett nyelveket ilyen lassúvá. Ez a felső rész azt jelenti, hogy az értelmezett kód 5-10-szer lassabban fut, mint a fordított kód. Az értelmezett nyelvek, például az Alap vagy a JavaScript, a leglassabbak. Ennek előnye, hogy nem kell újrafordítani a változásokat, és ez nagyon hasznos, ha programozni tanulsz.
Mert összeállítva programok szinte mindig gyorsabban fut, mint az értelmezés, például a C és a C ++ nyelvek általában a legnépszerűbbek a játékok írásakor. A Java és a C # egyaránt értelmezett nyelvre fordul, amely nagyon hatékony. Mivel a Java-t és a C # -et futtató .NET-keretrendszert értelmező virtuális gép erősen optimalizált, állításuk szerint ezekben a nyelveken az alkalmazások ugyanolyan gyorsak, ha nem gyorsabbak, mint a fordított C ++.
Az absztrakció szintje
A nyelvek összehasonlításának másik módja az absztrakció szintje. Ez jelzi, hogy egy adott nyelv milyen közel áll a hardverhez. A Machine Code a legalacsonyabb szint, az Assembly Language éppen felette. A C ++ magasabb, mint a C, mert a C ++ nagyobb absztrakciót kínál. Jáva és C # magasabb, mint a C ++, mert összeállnak egy közbenső nyelvre, amelyet bytecode-nak hívnak.
Hogyan hasonlítják a nyelvek
Gyorsan összeállított nyelvek
- Assembly nyelv
- C
- C ++
- Pascal
- C #
- Jáva
Ésszerűen gyors értelmezés
- Perl
- PHP
Lassan értelmezve
- JavaScript
- ActionScript
- Alapvető
A Machine Code az utasítások, amelyeket a CPU végrehajt. Ez az egyetlen, amit a CPU képes megérteni és végrehajtani. Az értelmezett nyelveknek an Tolmács amely leolvassa a program forráskódjának minden sorát, majd azt „futtatja”.
A tolmácsolás könnyebb
Nagyon könnyű leállítani, megváltoztatni és újraindítani az értelmezett nyelven írt alkalmazásokat, ezért népszerűek a programozás tanulásában. Nincs szükség összeállítási szakaszra. A fordítás meglehetősen lassú folyamat lehet. A nagy Visual C ++ alkalmazás percekből órákba veheti a fordítást, attól függően, hogy mennyi kódot kell újraépíteni, valamint a memória és a CPU sebességétől függően.
Amikor a számítógépek először jelentek meg
Amikor a számítógépek az 1950-es években váltak népszerűvé, a programokat gépi kódban írták, mivel nem volt más út. A programozóknak fizikailag át kellett mozgatniuk a kapcsolókat az értékek beviteléhez. Ez egy unalmas és lassú módszer az alkalmazás létrehozására, hogy magasabb szintű számítógépes nyelveket kellett létrehozni.
Szerelő: Gyorsan fut - lassan ír!
Az összeszerelési nyelv a Machine Code olvasható változata, és így néz ki
Mov A, 45 USD
Mivel egy adott CPU-hoz vagy a kapcsolódó CPU-családhoz van kötve, az Assembly Language nem nagyon hordozható, és a tanulás és az írás időigényes. Az olyan nyelvek, mint a C, csökkentik az Assembly Language programozásának szükségességét, kivéve ahol korlátozott a RAM vagy időkritikus kód szükséges. Ez általában az operációs rendszer középpontjában lévő kernelkódban vagy a videokártya illesztőprogramjában található.
Az összeszerelési nyelv a legalacsonyabb szintű kód
A közgyűlés nyelve nagyon alacsony; a legtöbb kód csak mozgatja az értékeket a CPU-regiszterek és a memória között. Ha bérszámfejtési csomagot ír, akkor a fizetések és adókedvezmények szempontjából gondolni szeretne, nem pedig az A regisztrálása a memória helyére az XYZ. Ez az oka annak, hogy magasabb szintű nyelvek, például a C ++, C # vagy Jáva termelékenyebbek. A programozó a problématartomány (fizetések, levonások és elhatárolások), és nem a hardvertartomány (regiszterek, memória és utasítások) alapján gondolkodhat.
Rendszerprogramozás a C
A C-t az 1970-es évek elején dolgozta ki Dennis Ritchie. Általános célú eszköznek tekinthető - nagyon hasznos és erőteljes, de nagyon könnyen átadható hibákat, amelyek a rendszert nem biztonságossá teszik. A C alacsony szintű nyelv, és hordozható összeszerelési nyelvnek nevezték. Sok szkriptnyelvek szintaxisa például C-en alapul, JavaScript, PHP és ActionScript.
Perl: Weboldalak és segédprogramok
A Perl nagyon népszerű a Linux világában, az egyik első internetes nyelv volt, és ma is nagyon népszerű. A „gyors és piszkos” programozáshoz az interneten páratlan marad, és sok webhelyet vezet. Ezt azonban kissé eltakarította A PHP mint webes szkriptnyelv.
Webhelyek kódolása PHP-vel
PHP a webkiszolgálók nyelveként fejlesztették ki, és nagyon népszerű a Linux, az Apache, a MySql, valamint a PHP vagy a LAMP együttes használatával. Értelmezik, de előre összeállítják, így a kód ésszerűen gyorsan végrehajtódik. Asztali számítógépeken futtatható, de nem olyan széles körben használják asztali alkalmazások fejlesztésére. A C szintaxis alapján magában foglalja tárgyak és osztályok.
Pascal-t néhány évvel a C elõtt tanító nyelvként fejlesztették ki, de nagyon korlátozott volt a rossz szöveg- és fájlkezeléssel. Számos gyártó kibővítette a nyelvet, ám addig nem volt általános vezető, amíg meg nem jelentek a Borland Turbo Pascal (Dos számára) és Delphi (Windows). Ezek nagy teljesítményű megvalósítások voltak, amelyek elegendő funkcionalitást adtak ahhoz, hogy kereskedelmi fejlesztésükhöz alkalmassá váljanak. Borland azonban a sokkal nagyobb Microsoft ellen állt és elvesztette a csatát.
C ++: Klassz nyelv!
Az eredetileg ismert C ++ vagy C plus osztályok tíz évvel a C után jöttek létre, és sikeresen bevezették az objektum-orientált programozást a C-be, valamint olyan funkciókat, mint a kivételek és a sablonok. Az összes C ++ elsajátítása nagy feladat - ez itt a programozási nyelvek messze a legbonyolultabb, de ha elsajátította, akkor nem lesz nehéz más nyelven.
C #: A Microsoft nagy fogadása
A C # létrehozója Delphiépítész, Anders Hejlsberg, miután a Microsoftba költözött, és a Delphi fejlesztői otthon érezhetik magukat olyan funkciókkal, mint a Windows űrlapok.
A C # szintaxisa nagyon hasonló a Java-hoz, ami nem meglepő, mivel Hejlsberg a J ++-on is dolgozott, miután Microsoftba költözött. Tanulja meg a C #-t, és máris jól halad a Java ismerete felé. Mindkét nyelvet félig fordítják úgy, hogy a gépi kódra történő fordítás helyett bytekódra fordulnak (C # fordítja a CIL-re, de ez és a Bytecode hasonlóak), majd értelmezik őket.
Javascript: Programok a böngészőben
Javascript nem olyan, mint a Java, inkább a C szintaxisán alapuló szkriptnyelv, de a tárgyak és elsősorban a böngészőkben használatos. A JavaScript értelmezése sokkal lassabb, mint a összeállított kódot, de jól működik egy böngészőben.
A Netscape által feltalált, nagyon sikeresnek bizonyult, és több év után a lebegő államokban új életet kölcsönöz a következők miatt: AJAX; Aszinkron Javascript és XML. Ez lehetővé teszi a weboldalak egyes részeinek frissítését a szerverről anélkül, hogy az egész oldalt újrarajzolná.
ActionScript: Villanó nyelv!
ActionScript a JavaScript megvalósítása, de kizárólag a Macromedia Flash alkalmazásokban létezik. Vektoros grafikák felhasználásával elsősorban játékokhoz, videók lejátszásához és egyéb vizuális effektusokhoz, valamint kifinomult felhasználói felületek fejlesztéséhez használják, mind a böngészőben futva.
Alapvető kezdőknek
Alapvető A kezdők általános célú szimbolikus utasítások rövidítése, amelyet az 1960-as években hoztak létre a programozás tanításához. A Microsoft számos különféle verzióval, többek között a webhelyek VBScriptével és a nagyon sikeres verziókkal készítette a nyelvet Visual Basic. Ennek legújabb verziója a VB.NET, amely ugyanazon a platformon fut .HÁLÓ mint C #, és ugyanazt a CIL bájtkódot állítja elő.
Lua egy C nyelven írott ingyenes szkriptnyelv, amely magában foglalja a szemétgyűjtést és a csöveket. Jól kapcsolódik a C / C ++ -hoz, és a játékiparban (és a nem játékokban is) használják a játék logikájának, az eseményindítóknak és a játékvezérlésnek a szkripteléséhez.
Következtetés
Bár mindenkinek megvan a kedvenc nyelve, és időt és erőforrásokat fordított a programozás megtanulására, vannak olyan problémák, amelyeket a legjobb nyelvvel lehet a legjobban megoldani.
E.G, ha nem használja a C-t webes alkalmazások írására, és nem írna operációs rendszert Javascript-ben. De attól függetlenül, hogy melyik nyelvet választja, ha C, C ++ vagy C #, akkor legalább tudja, hogy a megfelelő helyen van a tanuláshoz.