Che linguaggio imparare nel 2024?

E’ che siamo pieni di programmatori frontend che conoscevano il JS, che poi hanno imparato TS e adesso si vendono anche come backend per fare API etc… ma su progetti di una certa entità preferisco che il backend sia Go piuttosto che TS che hai la massima flessibilità / affidabilità / potenza di gestirti il tutto senza le puttanate di node

Io per backend/API in TS oggi scelgo la combo
https://bun.sh + https://hono.dev

Una valanga di vantaggi rispetto ai classici setup node

il cancro :asd:

Buttiamoci con Rust, let’s go

Puoi sempre virare sul FORTRAN :ubersisi:

quindi rust o go?

77 però eh, niente fufferie moderne.

Rust aggiudicato :smile:
Un amico mi ha suggerito di partire da A half-hour to learn Rust che il tutorial sul sito ufficiale e’ piu lento e verboso

Madonna addolorata crocifissa al palo della luce, ancora ricordo il FORTRAN77 dove ogni linea devi incominciare a scrivere dal carattere 7 lasciando i primi 6 liberi perche’ era lo spazio sulle schede forate…

3 Likes

:old:

1 Like

ed i canali standard (standard? no, hardcoded) per input ed output.
puoi fare write(5,culo), certo. però stai mandando l’output al buffer di memoria della tastiera.

puoi anche fare read(6) ma stai leggendo il buffer del canale i/o di output :love:

ed anche: già nel 77, nel caso si superassero i … 40 (non mi ricordo, vado a memoria) caratteri complessivi di linea, la si poteva rompere e mettere + al carattere boh 6 della riga dopo per farla proseguire?
oppure è una delle feature degli anni '90? questo non me lo ricordo

Io suggerisco Go e Python. Go e il più usato in cloud native products incluso l’ecosystem di Kubernetes, ma e molto usato per tante altre cose. Preferisco Go a Rust perché ottiene l’80-90% della performance ma è molto, molto più semplice.

Python è molto versatile. Come sai è molto usato per ML ma anche tantissime altre cose. Lo usiamo moltissimo anche in infosec (moltissimi tools sono scritti in Python).

Il mio languaggio preferito però è Ruby. Lo adoro perché è una gioia lavorare con lui. Anche quanto ho bisogno di max performance spesso uso Crystal, che ha performance simile a Rust ma syntax simile a quella di Ruby.

Al momento sto creando una piattaforma per recon activities per pentesters e bug bounty hunters come me. E’ scritta con Rails per web app ma molte components che richiedono max performance sono in Crystal. Ma ho dovuto usare anche Go per scrivere un operator per Kubernetes perché il supporto per K8s è il migliore.

suggerisco anche io Go e Python

Python figo anche per tutta la parte Ansible per farti i moduli custom

Il problema e’ che a quel punto uso direttamente Typescript e con Bun ottengo performance simili a Go (in alcuni casi), con ulteriore guadagno enorme in semplicita’.

Rust invece permette di ottimizzare tutto all’osso a quel punto vedo piu sensato impararlo come linguaggio complementare a TS.

Se voglio fare qualcosa velocemente che e’ veloce “il giusto” scelgo TS.
Se voglio fare qualcosa con la massima velocita’, minor consumo di memoria e stabilita’, scelgo Rust.

Go mi sembra veramente una via di mezzo a questo, mi offre relativamente “poco” di piu’ rispetto a TS, tranne in alcune nicchie come appunto kubernetes/networking

Io son da 6 anni su scala e go, prima ho fatto 14 anni di .net e continuo ad aiutare un sacco di persone in c#. Fortunatamente hai già deciso qualcosa di carino, però passo per spezzare una lancia a favore di Kotlin, che con Arrow diventa un linguaggio tanto chiaro e tanto carino. E per dire che Python puttana la meritocrazia sarà una benedizione quando sparirà dalla faccia della terra, lui e javascript.

arrivo tardi a dire il finlandese.

1 Like

Si ma per TS ti porti dietro quel merdaio che è npm, giuro che ogni volta che lavoro in quell’ambiente bestemmio ad un rateo oltre soglia.
Con Go fra standard library (golosissima) e poche lib a supporto fai una montagna di cose in maniera pulita ed efficiente, hai un singolo eseguibile che ti porti dietro e fai enormi favori anche ai devops che te lo devono far girare.

Rust non è in sovrapposizione a Go, è in sovrapposizione a C++ principalmente (per come la vedo io), vedi anche le ultime mosse sia Microsoft che del kernel linux.

2 Likes

nella mia esperienza è sempre stato il contrario :asd:

devo fare uno stupido cronjob che mi chiama una serie di api e mi salva tutto su file? certo aspetta mi importo il tipo di api1 ah no non esiste il tipo devo crearmelo però dai api2 sarà meglio. EH NO non c’è aspetta faccio anche quello. salvo su file ah vuoi il tipo anche per salvare su file perché è diverso giustamente dai due usati dalle api? ok facciamolo e intanto se lo facevo in puro js l’avevo già finito :asd:

mi dirai puoi usare any ma tanto vale allora usare js e skippare anche l’uso di tsc :dunnasd:

io lo odio dal profondo del cuore mi spiase ma non riesco proprio a farmelo piacere :asd:

edit: prima che arrivi l’argomento “eeeh ma la tipizzazione eeeeh ma poi la mantenibilità la documentazione!11!” basta usare jsdoc e siamo tutti felici
edit2: parlo di robe più di backend, api, middleware e cazzibuffi simili. non metto becco sulla parte client/FE perché non so na sega :asd:

???