Coder Social home page Coder Social logo

Comments (1)

swyxio avatar swyxio commented on May 16, 2024

I think they make sense, but are mainly going to gain traction first in the big tech firms because they can afford the devs to "play" with less mature tech. if you are the first to find an edge case in Reason, you have to be able to dive into the Reason compiler to fix your own problem, or you're in trouble.

There are 2 big trends here. Companies are investing in building more frontend software which means they want a lot of the same language features they can get on the backend, on the frontend. The big 2 are types (trade off small unit tests for the costs of specifying types up front) and real functional programming (so that async and side effects are well handled instead of mashed up like in JS. this is why they can promise "no runtime errors" because they are fully statically analyzable and move all error catching to compile time). Making a breaking change to Javascript is out of the question so it makes sense to go for a higher level language that compiles down to JS.

The reason that Typescript doesn't do this well is because it is a leaky abstraction. I have been doing typescript at work for 3 weeks and there are always issues with typing idiomatic javascript that is not valid typescript. because of the post-ES6 TC39, javascript is moving faster than typescript. this breaks the promise that "typescript is a superset of javascript".

Flow is less intrusive but still has the problems of not being purely functional so it simply cannot offer the nice DX that Elm provides.

So if TS and Flow are out, that just leaves Reason and Elm. Elm has a larger community but Reason has the backing of Facebook. The next few years will suck for Elm because I think Reason will win. but who really knows. Facebook has failed to popularize tech before (eg Relay)

I don't know anything about purescript.

bottom line: showing you can code is going to outlast the choice of any particular language. if the company needs you enough you can learn the language for the job. the abstractions and mental models don't change. the basic decentralized protocols of the internet will not change. so I would just focus on that. I will say that it did take me longer to learn FP and people are generally always impressed that I have learned Haskell. So it might be worth spending some free time going over one of the FP languages just to see how remarkably different it is :)

from ama.

Related Issues (12)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.