In Erlang a function body starts after a an arrow, ends with a colon and
expressions are seperated by commas.
I profoundly dislike the Python's paternalism regarding significant whitespace. On the other hand, in Haskell you have it as syntactic sugar for braces and semicolons, with which I can live very well.
Wirth-style languages use keywords (begin, end) for denoting blocks, which I find to be a bit verbose.
Ah yeah, totally forgot about Lisps. I really like them in theory (especially from a parsing standpoint), but in practice I don't tend to enjoy writing them that much ):
Not hugely familiar with Erlang beyond writing a bit of Elixir - will look into that further!
And yeah, can't say I'm a big fan of significant whitespace myself.
it's unfortunate that all main lisps (common lisp, scheme, racket, clojure, ...) needlessly use an excessive amount of parenthesis
it gives the impression that lisp is inherently a 'syntactically verbose' language, which is totally false
take scheme:
(let ((a 1) (b 2)) (f a b))
now take a 'syntactically sane' lisp:
(let a 1 b 2 (f a b))
s-expressions were originally conceived as an internal representation for programs to be parsed by computers, not by humans, and so justifying the verbosity
but then programmers started to find s-expressions extremely convenient to use (expecially because they trivially allowed metaprogramming by treating code as data) that no one cared to build the human readable m-expression syntax that lisp were originally supposed to have
that was a fortunate accident, but the excessive parens sticked instead of being reduced to the absolute minimum which would bring lisp to a better place than most currently used languages in which parenthesis, brackets, braces and punctuation abound
I totally agree, and I think this is why Clojure is one of the only lisp-y languages I've sunk any time into. A little bit of syntax sugar goes a long way!
I also find the design of Julia very interesting - they have a Python-like syntax, but parse it into s-expressions. This gives them some of the benefits of a lisp (easy meta-programming, code-as-data, etc) without being quite as painful to write. I think Elixir does something similar, too.
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.
Lisp-style S-Expressions, make parsing very easy.
In Erlang a function body starts after a an arrow, ends with a colon and
expressions are seperated by commas.
I profoundly dislike the Python's paternalism regarding significant whitespace. On the other hand, in Haskell you have it as syntactic sugar for braces and semicolons, with which I can live very well.
Wirth-style languages use keywords (begin, end) for denoting blocks, which I find to be a bit verbose.
Ah yeah, totally forgot about Lisps. I really like them in theory (especially from a parsing standpoint), but in practice I don't tend to enjoy writing them that much ):
Not hugely familiar with Erlang beyond writing a bit of Elixir - will look into that further!
And yeah, can't say I'm a big fan of significant whitespace myself.
it's unfortunate that all main lisps (common lisp, scheme, racket, clojure, ...) needlessly use an excessive amount of parenthesis
it gives the impression that lisp is inherently a 'syntactically verbose' language, which is totally false
take scheme:
(let ((a 1) (b 2)) (f a b))
now take a 'syntactically sane' lisp:
(let a 1 b 2 (f a b))
s-expressions were originally conceived as an internal representation for programs to be parsed by computers, not by humans, and so justifying the verbosity
but then programmers started to find s-expressions extremely convenient to use (expecially because they trivially allowed metaprogramming by treating code as data) that no one cared to build the human readable m-expression syntax that lisp were originally supposed to have
that was a fortunate accident, but the excessive parens sticked instead of being reduced to the absolute minimum which would bring lisp to a better place than most currently used languages in which parenthesis, brackets, braces and punctuation abound
I totally agree, and I think this is why Clojure is one of the only lisp-y languages I've sunk any time into. A little bit of syntax sugar goes a long way!
I also find the design of Julia very interesting - they have a Python-like syntax, but parse it into s-expressions. This gives them some of the benefits of a lisp (easy meta-programming, code-as-data, etc) without being quite as painful to write. I think Elixir does something similar, too.