Cel mai bun răspuns
Python este un limbaj de scriptare, deși este, de asemenea, complet orientat spre obiect limbaj de programare. Diferența dintre un limbaj de script și un „program” este dacă codul este sau nu rulat de un interpret. Acesta este probabil cel mai simplu mod de a te gândi la asta.
Deci, dacă scrii un script python, ai avea un fișier .py. Când doriți să rulați acel fișier, ați rula de fapt python și le veți transmite fișierul .py ca argument. Ceva de genul:
/usr/bin/python /Path/To/MyScript.py
Python va rula apoi scriptul. Așa cum au menționat alții, puteți pune o linie shebang în scriptul dvs., dar aceasta vă spune doar mașinii dvs. unde să găsească interpretul pe care să îl utilizați pentru a rula scriptul. Există avantaje și dezavantaje în abordarea interpretului. Un avantaj principal ar fi ușurința în utilizare. Puteți pune linia de mai jos într-un fișier .py și o puteți rula prin python:
print("Hello world!")
Cu un limbaj precum Swift , C ++, C # sau Java, de exemplu, ați compila de fapt programul în codul mașinii, iar fișierul care a rezultat din această compilație ar fi programul dvs. sau o parte din programul dvs. Ar fi gata să fie distribuit așa cum este și nu are nevoie de alte programe necesare pentru al rula. Limbile interpretate tind să nu fie la fel de rapide și din diferite motive. Probabil că merită menționat acest lucru.
Ai dreptate că Python nu este chiar atât de comparabil cu Bash. Deși puteți realiza multe în Bash, limbajul în sine nu este foarte puternic și nu este conceput pentru a scrie complet pe programe sau soluții. Python este un limbaj de programare cu funcții complete, orientat pe obiecte, și puteți scrie aproape orice cu el. Deci, este adevărat că ambele sunt limbaje de script, dar nu se află în aceeași ligă. În primul rând, Bash nu este orientat pe obiecte. De asemenea, cu Bash, invocați în primul rând doar aplicații pentru consolă, care au fost scrise într-o altă limbă. Apoi, trebuie doar să analizați rezultatele cu Bash sau să le trimiteți la următorul utilitar de consolă prin conductă.
Iată câteva exemple de limbaje de scripturi interpretate:
Python, Ruby, Nod JS, Powershell, vbScript, Javascript, Appescript, Bash, Perl etc.
Iată câteva limbaje compilate, puternic tastate:
Swift, Objective C, C, C ++, C # , Java
Sperăm că acest lucru vă ajută să îl clarificați.
Răspundeți
Limbajele de scriptare precum Python, Ruby, JavaScript, PHP sunt, de asemenea, limbaje de programare. Acestea sunt diferite în comparație cu limbile tradiționale compilate prin faptul că sunt interpretate și au o tastare dinamică – tipul de date al unui obiect poate fi schimbat oricând. Cu alte cuvinte, nu este necesar să definiți în avans tipul de date al unui obiect sau valoarea returnată a unei funcții și o puteți schimba din mers.
În mod tradițional, limbajele de scriptare sunt utilizate pentru sarcini rapide. Dar acest lucru nu mai este adevărat. Acum există programe mari și baze de coduri în Python, Ruby, JavaScript și PHP. Unele dintre aceste limbi au o performanță lentă în comparație cu limbile compilate. Dar nici asta nu mai este adevărat. Cu tehnologiile JIT, JavaScript și PyPy au demonstrat o îmbunătățire semnificativă a performanței, la fel și PHP 7.
În final, este doar o terminologie care necesită reformulare.
Tehnologia web la cel mai simplu este un set de documente statice servite de serverul web către browserul web și browserul care îl redă în conformitate cu HTML și CSS. HTML este un limbaj de marcare și CSS adaugă stiluri, facilitând scrierea de pagini web consistente și personalizate. Dar conținutul este static și pentru a schimba orice conținut, trebuie să modificați conținutul HTML existent sau să scrieți un nou conținut HTML.
Pentru a face conținutul web dinamic, puteți adopta una dintre cele două abordări: i) CGI sau ii) încorporare cod în paginile HTML. Fosta tehnică face ca serverul web să apeleze un executabil (scris într-un limbaj de programare cum ar fi C, Perl sau orice altul, inclusiv limbaje de scriptare) care generează o pagină web întreagă (cu anteturi HTML corespunzătoare etc.) dinamic, să ia rezultatul generat de executabil și returnați-l în browserul web. Acest lucru necesită utilizarea bibliotecilor care înțeleg cum să interacționeze cu un server web (HTTP). Obositor, dar cea mai veche formă de conținut web dinamic a fost scris în acest fel. Acesta din urmă adoptă o abordare diferită. Serverul web recunoaște paginile cu cod încorporat (care conține de obicei HTML încorporat cu cod scris într-un limbaj de scriptare, cum ar fi PHP, JSP, Python) îl trimite către un motor de scriptare care execută doar codul încorporat și îl înlocuiește cu rezultatul executării codului ( lăsând restul de HTML, CSS, JavaScript neschimbat) și returnați pagina HTML modificată către server, care la rândul său o returnează browserului web. Python, Ruby folosește, de asemenea, o variantă similară, dar o ușoară, a acestei abordări. Acesta este scriptarea pe partea de server
JavaScript a început ca limbaj de codare dinamică / scriptare pe partea clientului.Fiecare browser are un interpret JavaScript încorporat. Codul JavaScript poate fi încorporat într-o pagină web și trimis browserului web, care apoi execută acest cod din partea clientului pentru sarcini precum validarea formularelor, schimbând dinamic DOM-ul. Dar odată cu apariția Node.js, JavaScript poate face ceea ce fac limbajele de scriptare de pe server.
Apoi a apărut AJAX, o tehnologie care permite codului JavaScript din partea clientului să execute scripturi de pe server, extrage rezultatul de pe server și populează DOM. În acest fel, puteți popula dinamic casetele din browser fără a reîmprospăta pagina web. Bibliotecile JavaScript, cum ar fi jQuery, au făcut ca scripturile de pe partea clientului să fie modulare și ușoare. Cadrele HTML / CSS, cum ar fi Bootstrap, au făcut același lucru pentru HTML5 și CSS3.
Cadrele aplicațiilor web modularizează și simplifică scrierea aplicațiilor web. Fiecare limbaj de scriptare are colecția sa de cadre de aplicații web. Ruby are Ruby on Rails. Python are Django, Flask. PHP are Laravel. JavaScript are AngularJS și altele.
Aplicațiile web se bazează pe baze de date ca depozit de date persistent. Deci, cunoașterea tehnologiilor SQL și a bazelor de date, cum ar fi Stratul de abstractizare a bazei de date și Cartarea relațională a obiectelor, este esențială. Apariția bazelor de date NoSQL adaugă lucruri noi pe care un dezvoltator web trebuie să le învețe.