. . . I agree 💯 Ruby & Elm merit all the praise for their unique grammars and DeveloperX. Personally, what's reigned supreme (after 3yrs (to mere competency) of steep walling) is the Clojure/ClojureScript stack.
For concision's sake I'll share 2 reasonings why still Clojure most wows me...
Unique Homoiconic syntax - Clojure, most evidently, is a LISP (a programming language consisting grammatically of lists). As a LISP, Clojure code is substantively identical to Clojure data. This is possible thanks to Prefix (Polish) Notation where valid expressions follow the order: (( <Functor> < & Args> ). In addition, Clojure uses unique enclosing characters for various data types [ ] <- vector, { } <- map, ( ) <- list, this adds readability and simplifies conventions.
Genuine Metaprogramming - many languages incrementally added Reflection & Metaclass
protocols/interfaces that allow programmatic changes to source code attributes during runtime( Python, Ruby, Haskell, etc...). LISPs like Clojure or Racket enjoy an abstract syntax tree modeled in source and evaluation, allowing code generation with macros that relates to evaluation 1-to-1. I think features like this need to be a core aspect of a language spec, not an after thought like most other infix-notation languages.
Versatile software engineer with a background in .NET consulting and CMS development. Working on regaining my embedded development skills to get more involved with IoT opportunities.
I really want to like Elm but I am very disappointed where the creator has chosen to take the language. It really bothers me how restrictive they have made the package system and how only he and a select few are given the freedom to work with native code.
I understand his ideology, but at the same time, it seems pretty arrogant to not trust your user base to code things correctly. The reality is that you are going to have to interop with JavaScript at some point, because the entire world doesn't run on Elm, and all he's accomplished is making that experience even more painful.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
. . . I agree 💯 Ruby & Elm merit all the praise for their unique grammars and DeveloperX. Personally, what's reigned supreme (after 3yrs (to mere competency) of steep walling) is the Clojure/ClojureScript stack.
For concision's sake I'll share 2 reasonings why still Clojure most wows me...
Unique Homoiconic syntax - Clojure, most evidently, is a LISP (a programming language consisting grammatically of lists). As a LISP, Clojure code is substantively identical to Clojure data. This is possible thanks to Prefix (Polish) Notation where valid expressions follow the order:
(( <Functor> < & Args> )
. In addition, Clojure uses unique enclosing characters for various data types[ ] <- vector, { } <- map, ( ) <- list
, this adds readability and simplifies conventions.Genuine Metaprogramming - many languages incrementally added Reflection & Metaclass
protocols/interfaces that allow programmatic changes to source code attributes during runtime( Python, Ruby, Haskell, etc...). LISPs like Clojure or Racket enjoy an abstract syntax tree modeled in source and evaluation, allowing code generation with macros that relates to evaluation 1-to-1. I think features like this need to be a core aspect of a language spec, not an after thought like most other infix-notation languages.
I really want to like Elm but I am very disappointed where the creator has chosen to take the language. It really bothers me how restrictive they have made the package system and how only he and a select few are given the freedom to work with native code.
I understand his ideology, but at the same time, it seems pretty arrogant to not trust your user base to code things correctly. The reality is that you are going to have to interop with JavaScript at some point, because the entire world doesn't run on Elm, and all he's accomplished is making that experience even more painful.