Mi a különbség a programozási nyelv és a szkriptnyelv között?

Legjobb válasz

A Python egy szkriptnyelv, bár teljes mértékben objektum-orientált is programozási nyelv. A szkriptnyelv és a „program” között az a különbség, hogy a kódot tolmács futtatja-e vagy sem. Valószínűleg ez a legegyszerűbb módszer a gondolkodásra.

Tehát ha python szkriptet írsz, akkor egy .py fájlod lesz. Amikor futtatni kívánja a fájlt, akkor futtatná a python-t, és argumentumként továbbítaná a .py fájlt. Valami ilyesmi:

/usr/bin/python /Path/To/MyScript.py

Ezután a Python futtatja a parancsfájlt. Mint mások említették, beírhat egy shebang sort a szkriptbe, de ez csak azt mondja meg a gépének, hogy hol találja meg a tolmácsot a szkript futtatásához. A tolmács megközelítésnek vannak előnyei és hátrányai. Fő előny a könnyű használat. Az alábbi sort betöltheti egy .py fájlba, és futtathatja a pythonon keresztül:

print("Hello world!")

Olyan nyelvvel, mint a Swift Például a C ++, a C # vagy a Java programot valójában gépi kódba fordítaná le, és az ennek a fordításnak az eredménye a programja vagy a program része. Készen állna a terjesztésre, ahogy van, és nincs szüksége más futtatáshoz szükséges programra. Az értelmezett nyelvek különféle okokból kifolyólag nem túl gyorsak. Ezt valószínűleg érdemes megemlíteni.

Abban igazad van, hogy a Python nem igazán hasonlítható össze a Bash-szal. Bár sok mindent el tud érni a Bash-ban, maga a nyelv nem túl hatékony, és nem úgy tervezték, hogy teljes egészében írjon programokra vagy megoldásokra. A Python egy teljes funkcionalitású, objektumorientált programozási nyelv, és ezzel bármit írhat. Tehát igaz, hogy mindkettő szkriptnyelv, de nem egy bajnokságban vannak. Egyrészt Bash nem objektumorientált. Ezenkívül a Bash alkalmazással elsősorban csak konzolos alkalmazásokat hív meg, amelyek más nyelven íródtak. Ezután csak elemzi az eredményeket a Bash segítségével, vagy a csövön keresztül továbbítja a következő konzol segédprogramhoz.

Íme néhány példa az értelmezett szkriptnyelvekre:

Python, Ruby, Csomópont JS, Powershell, vbScript, Javascript, Appescript, Bash, Perl stb.

Íme néhány lefordított, erősen beírt nyelv:

Swift, C, C, C, C ++, C # , Java

Remélhetőleg ez segít tisztázni.

Válasz

Az olyan szkriptnyelvek, mint a Python, a Ruby, a JavaScript, a PHP, szintén programozási nyelvek. Abban különböznek a hagyományos fordított nyelvektől, hogy értelmezik és dinamikus gépeléssel rendelkeznek – az objektum adattípusa bármikor megváltoztatható. Más szavakkal, nem szükséges előre meghatározni egy objektum adattípusát vagy egy függvény visszatérési értékét, és menet közben is kapcsolhatja.

Hagyományosan a szkript nyelveket használják az egyszerű és gyors feladatok. De ez már nem igaz. Most nagy programok és kódbázisok találhatók a Pythonban, a Ruby-ban, a JavaScript-ben és a PHP-ben. Ezen nyelvek némelyike ​​lassan teljesít a fordított nyelvekhez képest. De még ez sem igaz. A JIT technológiákkal a JavaScript és a PyPy teljesítménye jelentősen javult, és a PHP 7 is.

Végül ez csak egy terminológia, amelyet át kell fogalmazni.

Web technológiát itt: a legegyszerűbb egy statikus dokumentumkészlet, amelyet a webszerver szolgáltat a webböngészőnek, és a böngésző a HTML és CSS szerint rendereli. A HTML jelölőnyelv, a CSS pedig stílusokat ad hozzá, megkönnyítve ezzel a következetes és egyedi weboldalak írását. De a tartalom statikus, és a tartalom bármelyikének megváltoztatásához módosítania kell a meglévő vagy új HTML-tartalmat.

A webtartalom dinamikussá tételéhez kétféle megközelítést alkalmazhat: i) CGI vagy ii) beágyazás kódot a HTML oldalakon belül. A korábbi technika arra készteti a webszervert, hogy futtatható programot hívjon (olyan programozási nyelven írva, mint a C, Perl vagy bármely más, beleértve a szkript nyelveket is), amely dinamikusan generál egy teljes weboldalt (a megfelelő HTML fejlécekkel stb.), És vegye le a futtatható és küldje vissza a webböngészőbe. Ehhez olyan könyvtárakra van szükség, amelyek megértik a webkiszolgálóval való kommunikációt (HTTP). Unalmas, de a dinamikus webes tartalom legkorábbi formája így íródott. Ez utóbbi más megközelítést alkalmaz. A webszerver felismeri a beágyazott kóddal rendelkező oldalakat (általában HTML-t tartalmaz, amely be van ágyazva olyan szkriptnyelvre írt kóddal, mint a PHP, JSP, Python), és elküldi azokat egy parancsfájlmotornak, amely csak végrehajtja a beágyazott kódot, és kicseréli a kód végrehajtásának eredményével ( a HTML, CSS, JavaScript többi részét változatlanul hagyva), és küldje vissza a módosított HTML oldalt a szerverre, amely viszont visszaadja a webböngészőnek. Python, Ruby szintén hasonló, de enyhe variációt alkalmaz ennek a megközelítésnek. Ez a szerveroldali parancsfájl

A JavaScript kliensoldali dinamikus kódolási / szkriptnyelvként indult.Minden böngészőben van egy beágyazott JavaScript-tolmács. A JavaScript kód beágyazható egy weboldalba, és elküldhető a webböngészőnek, amely ezt a kódot az ügyfél oldalon végrehajtja olyan feladatokhoz, mint az űrlapellenőrzés, dinamikusan megváltoztatva a DOM-ot. De a Node.js megjelenésével a JavaScript megteheti, amit a szerveroldali szkriptnyelvek tesznek.

Ezután jött az AJAX, egy technológia, amely lehetővé teszi az ügyféloldali JavaScript-kód számára a szerveroldali parancsfájlok végrehajtását, az eredmény kiszedését a szerverről és töltse be a DOM-ot. Így dinamikusan feltöltheti a legördülő mezőket a böngészőben anélkül, hogy frissítené a weboldalt. A JavaScript könyvtárak, például a jQuery modulárisokká és egyszerűvé tették az ügyféloldali szkripteket. A HTML / CSS keretrendszerek, például a Bootstrap, ugyanezt tették a HTML5 és a CSS3 esetében.

A webalkalmazás keretrendszerei modulálják és leegyszerűsítik a webalkalmazások írását. Minden szkriptnyelv rendelkezik webalkalmazás-keretrendszer-gyűjteményével. Rubynak van Ruby on Rails. A Pythonnak van Django, Lombikja. A PHP rendelkezik Laravel-lel. A JavaScript rendelkezik AngularJS-szel és másokkal.

A webalkalmazások állandó adatbázis-tárolóként támaszkodnak az adatbázisokra. Tehát elengedhetetlen az SQL és az olyan adatbázis-technológiák ismerete, mint az adatbázis-absztrakciós réteg és az objektum-relációs leképezés. A NoSQL adatbázisok megjelenése új dolgokat hoz létre, amelyeket egy webfejlesztőnek meg kell tanulnia.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük