5 ms·
It doesn't take 2 weeks to set up an app in a language with a big community of developers, well maintained libraries and at least decent documentation. It proba
by ritchiea 6y ago
It doesn't take 2 weeks to set up an app in a language with a big community of developers, well maintained libraries and at least decent documentation. It probably takes a day or 2. Maybe a bit more if you are venturing into a new ecosystem like switching from Java backends to a node.js backend.
I loved learning Haskell in university. It's an interesting language. I came into intro CS class thinking I could already program & the class would just be about sharpening my axe. Then my intro CS class started with Haskell which threw my brain for a loop and made me think about programming completely differently. That was a great intellectual experience and good for my long term thinking.
Haskell also seems like an incredibly impractical choice for a production language that only a stubborn purist would make. Of course the last bit is purely opinion, your experience may vary.
- yughurt 6y agoWhat intro cs class uses Haskell as its first language!
- momentoftop 6y agoThe first programming course at Edinburgh is the Haskell course, taught in the first year in the first semester.
- Symbiote 6y agoImperial College London: http://wp.doc.ic.ac.uk/ajf/the-haskell-programming-course/ http://wp.doc.ic.ac.uk/ajf/the-haskell-programming-course/ And several others listed here: https://wiki.haskell.org/Haskell_in_education https://wiki.haskell.org/Haskell_in_education
- ritchiea 6y agoReed College
- dunefox 6y agoIf you don't know the language and tools it definitely takes quite some time to setup Java, Maven, etc. All the issues with class paths, manifests, and so on, that are just completely alien and opaque coming from any other language make the experience very frustrating.
- agentultra 6y agoThis. I think a lot of people who use mainstream languages forget what it's like starting from scratch in those languages. Getting a projects setup in Java, C++, C, Rust, etc are all quite difficult. Getting a web application started in Ruby is easy because it does so much for you out of the box. There are frameworks that make similar choices for you in Haskell as well: IHP, Yesod, etc. I think taking two weeks to "set up" a Haskell project is a bit long but I read it as the author taking two weeks to learn enough Haskell to make two rather advanced libraries work together... which means they had to make all the little micro decisions that frameworks make for you, etc. With more experience that could've been done in less time. If they had started with IHP I think it would've been your usual day or two.
- IggleSniggle 6y agoThanks for mentioning IHP. I've only read its landing page, but if what is has to say about itself is all true and from what is apparent looking at code samples, it definitely deserves to be on folks' radar! It's enough to make Haskell really seem like a reasonable choice to "jump in with" without fear of never reaching some mundane goal.
- ssijak 6y agoStarting a very good starter project in Java/Kotlin is literally next->next->next while selecting what you want (frameworks, maven/gradle, jvm version, etc) in IntelliJ. And if you do not use IntelliJ you can use https://start.spring.io/ https://start.spring.io/ or other starter projects.
- hibbelig 6y agoWell, Haskell is too niche to have this... And if I was new to Java, I wouldn't know which frameworks I wanted...
- ghostwriter 6y agoStarting a Haskell project with IntelliJ Idea is the same next->next->next [1] [1] https://youtu.be/F0E0aV85GeQ?t=165s https://youtu.be/F0E0aV85GeQ?t=165s
- nouveaux 6y agoJavascript: webpack, gulp, sass, react, node, npm/yarn. The whole frontend ecosystem is consolidating but I would not consider this trivial. Experienced programmers coming into Javascript still stumble over these tools.
- sokoloff 6y agoI think the first 5 minute experience is really good in React at this point. npx create-react-app foo-app cd foo-app yarn start In ~2 minutes (10 if you had to install node/npm/npx), you have a hot-reloading live site to play with. That doesn’t make React great nor solve all of the issues that lie between minute 1 and v0.1 in production, but the startup is smooth and painless (for me who comes from C/C++/C#/SQL, and my javascript is at a level where beginners can still help me).
- ghostwriter 6y agoThe first 2-minute experience with a Haskell web service: curl -L https://nixos.org/nix/install | sh cat > ./script.sh <<EOF #! /usr/bin/env nix-shell #! nix-shell <nixpkgs> -i runghc -p "ghc.withPackages (x: [ x.yesod ])" {-# LANGUAGE ExtendedDefaultRules #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-} import Yesod data App = App mkYesod "App" [parseRoutes| / HomeR GET |] instance Yesod App getHomeR = return $ object ["msg" .= "Hello!"] port = 3000 main = warp port App EOF chmod +x ./script.sh ./script.sh