Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

So function languages are excellent and taking very little work to model a clean abstraction. This is mainly due to the behaviour of a lamda function.

The result is that you can easily model a procedure as a series of discreet steps and abstract away clutter. Mutated state and implicit arguments (this) are also typically not used in FP (except where required by the language or for performance reasons)

Upsides to this is that code is explicit, terse, and doesn't get bogged down in the specifics of how the hardware might need to assign pointers to values, etc.

The downside to this is that some people find the mounting abstractions and endless new terms difficult to parse, since FP spends very little time working with primitive values, and since it often is so different from traditional OO languages.

Javascript in particular can be very terse because there's very little boilerplate necessary due to the type system, and because it places no restriction on side-effects, allowing very easy methods of getting things done (but also creating a lot of brittle, bug-prone behaviour)

Haskell and purescript have much more verbosity devoted to types and type manipulation, but produce much more stable/predictable behaviours.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: