Gå til innhold

INNSIKT: PHP-skaperen mente brukerne var gale [Ekstra]


Anbefalte innlegg

Videoannonse
Annonse

PHP er som annet, bra til sitt bruk. Ikke så bra om en skal lage noe digert. Da bør en helst ha noe med statisk typesjekking som gjør det lettere å finne feil compile time, gir bedre IDE støtte for å holde oversikten uten å ha alt i hodet mm. Så det er ganske gode grunner til at mange ikke liker PHP anvendt til store prosjekter hvis en må ta over vedlikehold.

Om en skal begynne å programmere så ville jeg anbefale å lære seg Javscript og node.js server side, da kan man i starten skrive Javascript uten typer bare for å lære programmering men så gjøre om til Typescript.

For de som ikke vet, Javascript er subsett av Typescript så behøvs ikke endre, bare legge til typedefinisjoner dvs "denne variabelen er et tall, denne er tekst" osv.  

Da kan man lettere gå fra å skjønne grunnprinsippene til å forstå statisk typesjekking og generics i samme koden.

Javascript er nå også det som browserne kjører (ihvertfall om ikke er f.eks C# kompilert til web assembly slik som Blazor) så da lærer man samtidig språket som browserne benytter på klientsiden for dynamiske websider. Så om en valgte PHP så måtte en lære Javascript uansett for alt annet enn statiske (ikke interaktive) websider.

Når man har lært Typescript så er ikke spranget til C# eller Java så stort. Det er disse en benytter på server siden for store prosjekter slik som i det offentlige, men nå med web assembly så kan en altså også benytte dette for klient siden.

  • Liker 1
Lenke til kommentar

Tilsvarende som TypeScript for JavaScript man man også kjøre MyPy for Python. Eks kan MyPy kjøres med --strict som et prescript til commit i Git. PyCharm har også native støtte for å sjekke type mens man skriver Python.

Usikker på om noe tilsvarende finnes for PHP.

Lenke til kommentar
  • 3 uker senere...

Som vanlig er det en artikkel med gammalt oppgulp fra folk som enten ikke har peiling eller som ikke har holdt seg oppdatert. Det er lenge siden jeg har skrevet noe særlig PHP (det går for det meste i Swift, Go og litt Rust i dag) men jeg liker å holde meg oppdatert siden man vet aldri når man kan få bruk for det. 

Jeg leste også igjennom den "fractal of bad design" (som er over 8 år gammel og utdatert) som det ble linket til og noe av det første der er jo faktisk feil. "mysql_real_escape_string" er ikke fra PHP men fra MySQL selv.

Språket er ikke perfekt men det er det heller ingen som er. JavaScript som er så populært i disse dager har jo tonnevis av rare edge-cases for å ikke glemme pakkesystemet npm hvor hver pakke har så mange dependencies at du til enhver tid har minst 10-20 critical security issues i større prosjekter.

Jeg ville heller sett rart på "utviklere" som ikke kan annet en Java som de lærte seg under studietiden siden det var det eneste språket de underviste i.

Forresten så har også PHP har også støtte for typedefinisjoner (og intersection/union types som i TypeScript)

interface Foo {
    public function a(string $string): string;

    public function b(string? $string): ?string;

    public function c(BarInterface|BazInterface $barOrBaz): void;
}

Du kan også velge om det skal være strict eller ikke ved bruk av

declare(strict_types=1)

 

Endret av nullpointer
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...