Skip to main content
deleted 3 characters in body
Source Link

I spent couple of months learning Scala and got overwhelmed by number of different constructs it had, After looking at partial functions, partially-applied functions, pattern matching, actor syntax, I gave a thought to learning Clojure which doesn't have too much in terms of syntax but looking at the how Java inter-operability is handled, it looks very difficult to get use to.

for example: things like doto, new and .

Every time I start typing a function, there are times I write (1 + 2) instead of (+ 1 2).

It looks like I will have to completely forget how I write imperativeregular programs to get use to this syntax.

Also finding it difficult to deal with side-effects that do and let form have. ThingsAren't they similar to what functions with void type are ?

Things like registering a callback,things normal I?/O, how can such things be side-effects free.

Till now all I really liked about Functional Programming is that, immutability makes concurrency easier when dealing with shared data, functions as first class objects and having higher-order functions, apply,map and reduce with functions and lists .

I wanted to know, are there practical benefits I will get once I am use to this syntax ? I f I continue to learn Scala and avoid using var, and always use recursion instead of loops. I can do all the above things and still write understandable code.

I spent couple of months learning Scala and got overwhelmed by number of different constructs it had, After looking at partial functions, partially-applied functions, pattern matching, actor syntax, I gave a thought to learning Clojure which doesn't have too much in terms of syntax but looking at the how Java inter-operability is handled, it looks very difficult to get use to.

for example: things like doto, new and .

Every time I start typing a function, there are times I write (1 + 2) instead of (+ 1 2).

It looks like I will have to completely forget how I write imperative programs to get use to this syntax.

Also finding it difficult to deal with side-effects that do and let form have. Things like registering a callback,things normal I?O, how can such things be side-effects free.

Till now all I really liked about Functional Programming is that, immutability makes concurrency easier when dealing with shared data, functions as first class objects and having higher-order functions, apply,map and reduce with functions and lists .

I wanted to know, are there practical benefits I will get once I am use to this syntax ? I f I continue to learn Scala and avoid using var, and always use recursion instead of loops. I can do all the above things and still write understandable code.

I spent couple of months learning Scala and got overwhelmed by number of different constructs it had, After looking at partial functions, partially-applied functions, pattern matching, actor syntax, I gave a thought to learning Clojure which doesn't have too much in terms of syntax but looking at the how Java inter-operability is handled, it looks very difficult to get use to.

for example: things like doto, new and .

Every time I start typing a function, there are times I write (1 + 2) instead of (+ 1 2).

It looks like I will have to completely forget how I write regular programs to get use to this syntax.

Also finding it difficult to deal with side-effects that do and let form have. Aren't they similar to what functions with void type are ?

Things like registering a callback,things normal I/O, how can such things be side-effects free.

Till now all I really liked about Functional Programming is that, immutability makes concurrency easier when dealing with shared data, functions as first class objects and having higher-order functions, apply,map and reduce with functions and lists .

I wanted to know, are there practical benefits I will get once I am use to this syntax ? I f I continue to learn Scala and avoid using var, and always use recursion instead of loops. I can do all the above things and still write understandable code.

Source Link

What are the practical benefits of LISP like syntax which Clojure uses over Java like syntax of Scala?

I spent couple of months learning Scala and got overwhelmed by number of different constructs it had, After looking at partial functions, partially-applied functions, pattern matching, actor syntax, I gave a thought to learning Clojure which doesn't have too much in terms of syntax but looking at the how Java inter-operability is handled, it looks very difficult to get use to.

for example: things like doto, new and .

Every time I start typing a function, there are times I write (1 + 2) instead of (+ 1 2).

It looks like I will have to completely forget how I write imperative programs to get use to this syntax.

Also finding it difficult to deal with side-effects that do and let form have. Things like registering a callback,things normal I?O, how can such things be side-effects free.

Till now all I really liked about Functional Programming is that, immutability makes concurrency easier when dealing with shared data, functions as first class objects and having higher-order functions, apply,map and reduce with functions and lists .

I wanted to know, are there practical benefits I will get once I am use to this syntax ? I f I continue to learn Scala and avoid using var, and always use recursion instead of loops. I can do all the above things and still write understandable code.