Hvad er forskellen mellem et programmeringssprog og et skriptsprog?

Bedste svar

Python er et skriptsprog, selvom det også er et fuldt blæst, objektorienteret programmeringssprog. Forskellen mellem et skriptsprog og et program er, om koden køres af en tolk eller ej. Det er sandsynligvis den nemmeste måde at tænke på.

Så hvis du skriver et python-script, vil du have en .py-fil. Når du vil køre den fil, kører du faktisk python og sender din .py-fil som et argument til den. Noget som:

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

Python kører derefter scriptet. Som andre har nævnt, kan du sætte en shebang-linje i dit script, men det fortæller bare din maskine, hvor du skal finde tolk, der skal bruges til at køre scriptet. Der er fordele og ulemper ved tolkemetoden. En største fordel ville være brugervenligheden. Du kan placere linjen nedenfor i en .py-fil, og du kan køre den gennem python:

print("Hello world!")

Med et sprog som Swift , C ++, C # eller Java, for eksempel, ville du faktisk kompilere dit program til maskinkode, og den fil, der resulterede fra denne kompilering, ville være dit program eller en del af dit program. Det ville være klar til at blive distribueret som det er og behøver ikke at have andre programmer nødvendige for at køre det. Tolkede sprog har en tendens til ikke at være så hurtige af forskellige årsager. Det er sandsynligvis værd at nævne.

Du har ret i, at Python egentlig ikke er så sammenlignelig med Bash. Selvom du kan opnå meget i Bash, er selve sproget ikke særlig stærkt, og det er ikke designet til at skrive fuldt ud på programmer eller løsninger med. Python er et fuldt udstyret, objektorienteret programmeringssprog, og du kan skrive næsten hvad som helst med det. Så det er rigtigt, at begge er script-sprog, men de er ikke i samme liga. For det første er Bash ikke objektorienteret. Også med Bash påberåber du dig primært bare konsolapps, der er skrevet på et andet sprog. Derefter analyserer du bare resultaterne med Bash eller sender dem videre til næste konsolværktøj via røret.

Her er et par eksempler på fortolkede script-sprog:

Python, Ruby, Node JS, Powershell, vbScript, Javascript, Appescript, Bash, Perl osv.

Her er et par kompilerede, stærkt indtastede sprog:

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

Forhåbentlig hjælper det med at rydde det op.

Svar

Scriptingsprog som Python, Ruby, JavaScript, PHP er også programmeringssprog. De er forskellige i forhold til de traditionelle kompilerede sprog, da de fortolkes og har dynamisk typning – datatypen for et objekt kan ændres når som helst. Det er med andre ord ikke nødvendigt at definere datatypen for et objekt eller en funktions returværdi på forhånd, og du kan skifte det med det samme.

Traditionelt bruges scriptsprog til enkle og hurtige opgaver. Men dette er ikke længere sandt. Nu er der store programmer og kodebaser i Python, Ruby, JavaScript og PHP. Nogle af disse sprog har langsom ydeevne sammenlignet med kompilerede sprog. Men selv det er ikke længere sandt. Med JIT-teknologier har JavaScript og PyPy vist stor forbedring i ydeevne, og det samme gør PHP 7.

I sidste ende er det bare en terminologi, der skal omformuleres.

Webteknologi på det enkleste er et sæt statiske dokumenter, der serveres af webserveren til webbrowseren, og browseren, der gengiver det i henhold til HTML og CSS. HTML er et markup-sprog, og CSS tilføjer typografier, hvilket gør det nemt at skrive ensartede og tilpassede websider. Men indholdet er statisk, og for at ændre noget af indholdet skal du ændre det eksisterende eller skrive nyt HTML-indhold.

For at gøre webindhold dynamisk kan du tage en af ​​to tilgange: i) CGI eller ii) indlejring kode inden for HTML-sider. Tidligere teknik får webserveren til at ringe til en eksekverbar (skrevet på et programmeringssprog som C, Perl eller andre, inklusive script-sprog), der genererer en hel webside (med passende HTML-overskrifter osv.) Dynamisk, tag det resultat, der genereres eksekverbar og returnere den til webbrowseren. Dette kræver brug af biblioteker, der forstår, hvordan man interagerer med en webserver (HTTP). Kedelig, men den tidligste form for dynamisk webindhold blev skrevet på denne måde. Sidstnævnte tager en anden tilgang. Webserver genkender sider med indlejret kode (normalt indeholdende HTML indlejret med kode skrevet på et script-sprog som PHP, JSP, Python) sender den til en scripting-motor, som kun udfører den integrerede kode og erstatter den med resultatet af kodeudførelsen efterlader resten af ​​HTML, CSS, JavaScript uændret) og returnerer den ændrede HTML-side til serveren, som igen returnerer den til webbrowseren. Python, Ruby bruger også en lignende, men en lille variation af denne tilgang. Dette er serversidescripting

JavaScript startede som et dynamisk kodningssprog på klientsiden.Hver browser har en indlejret JavaScript-tolk. JavaScript-kode kan integreres i en webside og sendes til webbrowseren, som derefter udfører denne kode på klientsiden til opgaver såsom formvalidering og dynamisk ændrer DOM. Men med fremkomsten af ​​Node.js kan JavaScript gøre, hvad script-sprog på serversiden gør.

Derefter kom AJAX, en teknologi, der gør det muligt for JavaScript-kode på klientsiden at udføre scripts på serversiden, trække resultatet fra serveren og udfyld DOM. På denne måde kan du udfylde rullelister i browseren dynamisk uden at opdatere websiden. JavaScript-biblioteker som jQuery gjorde scripting på klientsiden modulært og let. HTML / CSS-rammer som Bootstrap gjorde det samme for HTML5 og CSS3.

Webapplikationsrammer modulerer og forenkler skrivning af webapplikationer. Hvert script-sprog har sin samling af webapp-rammer. Ruby har Ruby on Rails. Python har Django, Flask. PHP har Laravel. JavaScript har AngularJS og andre.

Webapplikationer er afhængige af databaser som vedvarende datalagring. Så det er vigtigt at kende SQL og databaseteknologier som Database Abstraction Layer og Object Relational Mapping. Fremkomsten af ​​NoSQL-databaser tilføjer nye ting, som en webudvikler skal lære.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *