3 ms·
Totally agree on 2. "Learn a language a year" they said. "Learning new languages expands your thinking" they said. What they didn't say was that once you use
by yawn 8y ago
Totally agree on 2. "Learn a language a year" they said. "Learning new languages expands your thinking" they said. What they didn't say was that once you use ADTs to model data, Maybe/Option types to avoid null, exhaustive pattern matching, etc, you want those features in all the languages you use.
I don't ask for much. I just want a GC'd Rust (one of the few modern languages that has option types in the std lib) or an F# that isn't tied to the .NET standard lib. Please?
- mastax 8y agoOCaml? ReasonML?
- masklinn 8y ago> F# that isn't tied to the .NET standard lib. Please? F# is basically OCaml on .Net, so… OCaml?
- mlevental 8y agoI just made this choice (learn fsharp or oval). initially I was leaning ocaml for the same reason as gp but then I tried a simple scraper (make a get request and parse the HTML) and couldn't get it to compile because of cabal hell. well obviously not cabal hell but dependency hell where I had to keep changing installing and uninstalling versions of cohttp and the compiler. in the end I said screw it and installed all the .net/mono/f# stuff and it worked flawlessly the first time. I don't understand how language developers don't prioritize package management in 2018 - it's simply a deal breaker when other languages get it right. yes I realize ocaml and haksell have a different perspective on dependency resolution than other languages but then they should ensure that it works (and yes I also realize dependency resolution is np complete).
- xfer 8y agoIt can happen if you happen to install a recent compiler and that package manager has not done the work(probably changing the bounds) to update in opam repo. > I don't understand how language developers don't prioritize package management in 2018 As you already know, Ocaml already has a decent package manager opam, this same situation will happen in any language where the packages get stale(e.g. in rust you installed something used nightly features that didn't make it mainstream).
- yawn 8y agoThe tooling around OCaml is nowhere near F#, let alone Rust. The standard library situation is less than ideal and they're still working on getting multithread support.
- ernst_klim 8y agoWhat tooling is absent?
- mickronome 8y agoI actually stopped learning new languages with these features because I started to get so frustrated they weren't available. Or I implemented then am everyone got weirded out by their 'strangeness'
- mercer 8y agoIn regards to 2: I find it difficult sometimes to work with a language that doesn't have Elixir/Erlang's pattern matching, and sometimes I wish I hadn't learned about it... (the pipe operator is another favorite I miss often)
- mchahn 8y agoThere are proposals to add |> (pipe) to JS.
- how_to_bake 8y agoI think Swift is the closest thing to a GC’d Rust. However, since Windows isn’t a first class platform for Swift, I’d recommend checking out Scala. I think they’re doing a compiler rewrite that steals the good ideas from Rust (like good error messages).
- remoteorbust 8y agoTerrible idea: could you write a transpiler for rust that basically auto-wrapped everything in a Gc<> type and auto-dereferenced?
- noncoml 8y agoOCaml?