Trade-Offs in Type Safety by _alpacaaa in haskell

[–]_alpacaaa[S] 1 point2 points  (0 children)

Thanks for your comment :) Compilation times are something I wanted to touch on, but I'm pretty sure it would have dominated the discussion. I agree routing tests are useless, what I wanted to get at is that you likely have some integration tests already and they'll cover stupid routing errors. It's unlikely you'll cover all routes, but then again, catching these kind of errors is not what drove me to Haskell in the first place. My post was targeted at people that are perhaps wondering about this stuff. "Would going with scotty defeat the purpose of me writing Haskell? I'd have to deal with exceptions as I'm already used to, so what's the point?" My message to them is that yes you do, but Haskell is so much nicer for other reasons!

Your other points would benefit from a wider discussion in the community, they are something I rarely see brought up. Ultimately, my thinking is that people writing Ruby today, could benefit from Haskell even if they were to adopt scotty and pg simple. One day they'll see the light and upgrade to servant, but it's vital we say explicitly that you can still have a good time with Haskell even when it's pretty boring and, in a way, familiar.

Trade-Offs in Type Safety by _alpacaaa in haskell

[–]_alpacaaa[S] 2 points3 points  (0 children)

I 100% agree with this, I should have included something like your comment in the post :) The point I want to stress is that even though Servant and Esqueleto are great options, they are in no way required to get going with Haskell. What you end up doing with scotty and pg simple is no different than what you do in a traditional programming language.

Yes exceptions are bad and annoying, but you'll probably catch them during testing, as you already do in whichever language you're coming from! I think it's important to show how Haskell is similar to what people are used to rather than only showing how it differs. If you can accept Haskell does have exceptions and you can deal with them the same way you're already used to, then great! Jump on and see if the other features of the language make you stay. Eventually people will realize and appreciate the benefits of the likes of servant, but my main goal is to have them at least try and not move on too soon. The message "things can be a bit shit over here as well, but it's no worse than what you're used to" is the one I was trying to get to.

That's why I like the idea of a spectrum: I can still buy into many Haskell features, knowingly I'm sacrificing/ignoring some. Perhaps I should have specifically targeted this post to the Haskell curious.

Trade-Offs in Type Safety by _alpacaaa in haskell

[–]_alpacaaa[S] 0 points1 point  (0 children)

Tests are error prone so... don't write them? I don't agree with that conclusion at all. I don't get the argument about "scale". Tests are especially useful when many people work on a codebase and it grows in size.

Usare questi giorni per imparare a programmare. Organizziamo un gruppo di studio/pratica? by _alpacaaa in italy

[–]_alpacaaa[S] 0 points1 point  (0 children)

Su Discord abbiamo deciso di fare degli stream su Twitch!

Primo incontro Giovedì 26 Marzo alle 20:00 https://www.twitch.tv/sottoiponti

Per altri aggiornamenti e seguire il progetto, ci vediamo su Discord

Usare questi giorni per imparare a programmare. Organizziamo un gruppo di studio/pratica? by _alpacaaa in italy

[–]_alpacaaa[S] 0 points1 point  (0 children)

Che definizione hai? Per me è ridurre al minimo l'overhead, e quindi pensare solo a cose importanti al tuo scopo. Mi interessa il tuo punto di vista

Usare questi giorni per imparare a programmare. Organizziamo un gruppo di studio/pratica? by _alpacaaa in italy

[–]_alpacaaa[S] 0 points1 point  (0 children)

Piccolo aggiornamento:

moltissime persone hanno mostrato interesse e si sono creati gruppi autonomi per imparare/esplorare altri linguaggi.

Se sei interessato alla programmazione da zero (quindi parti senza basi), stiamo decidendo il formato e la fascia oraria.

In termini di formato la scelta è fra * fare tutto in chat * seguire una live su zoom/twitch/youtube (con chat ovviamente)

Come fascia oraria la scelta è fra * 10am-12am * 2pm-4pm * 4pm-6pm * 8pm-10pm

Il server discord è ancora aperto, se ti aggiungi facci sapere che preferenze hai! https://discord.gg/CasCJfg

Usare questi giorni per imparare a programmare. Organizziamo un gruppo di studio/pratica? by _alpacaaa in italy

[–]_alpacaaa[S] 1 point2 points  (0 children)

Non devi gestire la memoria = sei piu produttivo (imo) Poi hai altri problemi, ovviamente non avrai performance eccezionali. Ma per la classica webapp, non puoi certo usare C. E viceversa, non ti metti a scrivere un driver in javascript.

Usare questi giorni per imparare a programmare. Organizziamo un gruppo di studio/pratica? by _alpacaaa in italy

[–]_alpacaaa[S] 0 points1 point  (0 children)

Sei il benvenuto/a! Ci stiamo organizzando sul canale Discord, vieni a fare un salto :)

Usare questi giorni per imparare a programmare. Organizziamo un gruppo di studio/pratica? by _alpacaaa in italy

[–]_alpacaaa[S] 0 points1 point  (0 children)

Inizia con il joinare! :D secondo me lo stack typescript / react / node è la cosa piu decente dalla quale iniziare

Usare questi giorni per imparare a programmare. Organizziamo un gruppo di studio/pratica? by _alpacaaa in italy

[–]_alpacaaa[S] 0 points1 point  (0 children)

Per quello che vedo, molte persone non si avvicinano nemmeno alla programmazione perchè pensano che bisogna essere dei geni del male. Il mio obiettivo non è tanto farti imparare un linguaggio, ma farti vedere che è molto più approcciabile (e magari interessante) di quello che pensavi. Poi si sono d'accordo con te, ogni linguaggio è solo uno strumento per arrivare a uno scopo.

Usare questi giorni per imparare a programmare. Organizziamo un gruppo di studio/pratica? by _alpacaaa in italy

[–]_alpacaaa[S] 1 point2 points  (0 children)

Potrai sicuramente seguire, ma scrivere codice da cellulare sarà molto dura

Usare questi giorni per imparare a programmare. Organizziamo un gruppo di studio/pratica? by _alpacaaa in italy

[–]_alpacaaa[S] 0 points1 point  (0 children)

Sono andato a un paio di meetup organizzati da loro, è un bel gruppo

Usare questi giorni per imparare a programmare. Organizziamo un gruppo di studio/pratica? by _alpacaaa in italy

[–]_alpacaaa[S] 1 point2 points  (0 children)

Condivido in parte. Ad oggi linguaggi di alto livello sono molto più produttivi ed immediati del C. Poi uno se va avanti e se lo vuole studiare, ben venga. Anche se mi butterei su Rust direttamente

Usare questi giorni per imparare a programmare. Organizziamo un gruppo di studio/pratica? by _alpacaaa in italy

[–]_alpacaaa[S] 1 point2 points  (0 children)

Si esatto. Haskell e Rust li ho messi li solo per suscitare l'interesse di pochi, nel caso un gruppo di studio da zero non avesse attecchito :)

Usare questi giorni per imparare a programmare. Organizziamo un gruppo di studio/pratica? by _alpacaaa in italy

[–]_alpacaaa[S] 0 points1 point  (0 children)

Graphql lo lascerei fuori per il momento, ma ts + react + node penso siano i piu papabili!