Daca PHP n-ar fi fost inventat

prefer php-ul de acum decat ala de acum 20 de ani :slight_smile:

1 Like

“Ruby e o mizerie de limbaj care…” cum te face sa te simti pe tine, ca programator Ruby care stii sa-l folosesti corect si in care programezi curat ? Sa stii ca si in PHP, ca in orice alt limbaj, “omul face locul”. Nu cred ca e mai mizerie decat JS, de ex, si cu siguranta exista cod PHP mai bine scris decat cod Java. Eu nu as pune etichete asa dure (exceptie pe politicieni) pe un limbaj.

7 Likes

Sunt de acord cu tine aici.

2 Likes

JS e mizeria cea mai mare, dar fără nici o vină, efectiv nu a fost construit pentru a fi folosit la ceea ce e folosit azi.

1 Like

PHP a devenit atat de popular din pricina faptului ca era ridicol de simplu sa iti gazduiesti un site cu el. Ai luat wordpress, phpbb, l-ai pus intr-un folder si iti lua din index.php toata aplicatia.

Din acelasi motiv era trivial ca cineva sa te sparga. Daca s-a gasit un exploit la un vecin pe shared host erai compromis indiferent ce faceai. Wordpress/Joomla nu ajutau mai deloc cu extinderea dinamica din plugin-uri. La fel si phpbb. Dar codul in sine la aceste proiecte era de un nivel foarte ridicat, chiar si in ziua de azi putini oameni isi scriu un sistem de plugin-uri. Plugin-urile in schimb erau scrise de random people si normal ca nu erau de o calitate foarte buna. Cpanel si tot tacamul de solutii pentru shared hosting foloseau Apache, care se putea compila cu tot felul de extensii cgi si chestii pe langa htaccess de care foarte putina lume stia. Am vazut shell care abuza de ceva feature vechi din Apache ca sa ruleze un script perl, era rulat cu un mic truc (fara cgi activat) si dadea access de write la fiecare fisier la care apache avea acces, deci degeaba ai securizat tot ce tinea de php. Trebuia sa compilez cu flag-uri nedocumentate ca sa scap de functia cutare.

PhpMyAdmin e inca unul din cele mai bune tool-uri pentru mysql, aproape oricine il poate folosi sa modifice o baza de date.

JS cu setul de functii pe care le ai in ES6+ nu e un limbaj rau, mai deloc, dar trebui sa ai grija cu el la fel ca si cu orice alt limbaj. Poti alege sa il folosesti direct, cu obligatia sa scrii teste care sa acopere si bug-urile pe care le-ai avea daca ai avea type checking. (putini fac asta)

TypeScript in schimb e un mic dezastru, proiectul in sine e un singur fisier pe care doar Microsoft il intelege, cel putin type checker-ul inca n-a fost rescris de nimeni. E si incet, unii vor sa il rescrie in rust dar e munca de sisif. (Microsoft nu va face niciodata asta)

Daca ai TypeScript nu iti garanteaza nimic la runtime (nici n-ar putea, e foarte foarte incet), cand rulezi unit testele, jest, by default nu iti va verifica type-urile, va rula testele daca TS reuseste sa iti compileze codul fara sa ruleze tsc inainte ca sa dea fail daca ai erori de type-uri. Deci ajungi sa ai teste la care datele pe care le dai la functii sa nici nu semene cu ce ar trebui sa fie si testul tot iti trece daca nu testeaza ce trebuie.

Daca iti trebuie live reload la un proiect mai mare, TS practic te omoara ca ia 20-30 de secunde sa retranspileze codul. Daca mai faci si type check inainte o sa ia un minut pe fiecare schimbare. O solutie e sa folosesti de exemplu esbuild/swc in paralel cu tsc dar ajungi la situatia ridicola in care iti merge aplicatia si eroare la type-uri vine dupa ce ai aplicatia incarcata.

https://rescript-lang.org e o solutie mult mai buna ca TS, dar mai nimeni nu il va folosi la proiecte mari.

In ziua de azi e ridicol de simplu sa gazduiesti orice, doar sa n-ai 10 servicii in kubernetes care depind unul de altul.

1 Like

Corect. Doar ca in Java pentru un semicolon uitat sau un typo nu risti sa iti crape tot site-ul / toata aplicatia web.

Dar da, cu php poti sa pui pe picioare foarte repede un site.

Ce a dus la multe oferte de ieftine hosting PHP? Ma gandesc ca popularitatea crescuta, dar cum a ajuns popular inainte sa existe multe oferte de hosting ieftine? In primii ani, sa compilezi din surse Apache, PHP si sa le legi necesita niste cunostiinte.

Modelul sandbox care a permis foarte usor sa faci share hosting.

1 Like

Sandbox asa se chema, cred ca modelul e mai degraba serverless, adica nu exista context ca sa poate fi “poluat” de un vecin / process etc.