Earlier quoted context omitted.
Java as a language might be not so difficult to learn and understand, but using it for writing real applications can become convoluted pretty quick. Siding with Java in arguments against it, today is like arguing against printing press in the 15th century - "This devilish machine takes the soul out of divine process of copying a book by re-writing it by hand." non-Java JVM languages popping up every few years for goo…
I can see where you're coming from, but for the area that I work in (finance) I can't help but feel the features of the JVM are a net gain rather than a loss. I'll absolutely agree that it's not good for applications that don't need it's complex machinery. Half my side projects are written in java, and probably could be easier in python. I'm not sure your metaphor really works here, as you're implying that Java is in…
Java is confusing, Clojure is simple
21–25 of 25 posts
Re: Java is confusing, Clojure is simple
#22Earlier quoted context omitted.
The reason others prefer immutable constructs is due to a permanent and stable cognitive blockage. [About half of programmers are incapable of understanding mutable state]( https://blog.codinghorror.com/separating-programming-sheep-f... ). Functional programming solves this problem by removing mutable state (almost) entirely. Functional programming is like speed controls for trucks. It enables people who have cogniti…
Functional programming is a concept, not a magic cure-all for bad programmers. Java also supports functional elements (though I'm not implying it's a functional language in the slightest). I could have an optimistic view of programmers, but I feel like that article is heavily slanted towards CS education, which is taught by people who intrinsically understand computer science. I work with people who are definitely no…
Re: Java is confusing, Clojure is simple
#23The article focused on confusion among students learning the language. First, imperative programming is important to learn. Understanding the stack/heap and calling conventions is important. Yes, those things are hard to learn. But once you learn them, they are not that confusing. These are significant pedagogical concerns, but I'm not sure they are so important beyond the classroom. Second, FP is also confusing to n…
I agree that imperative programming is important to learn but java is in my opinion shouldn't be the language to do so. I think learning should be fun and java is the exact opposite of fun. It's wordy, full of boilerplate and enterprise code. Java, in contrast to other major languages, doesn't have an inspiring narative or a reason to be.
I also think teaching some course in Java is somewhat reasonable, if only because Java is so pervasive and so important in the history of programming that it's good for properly trained software engineers to have seen it.
Re: Java is confusing, Clojure is simple
#24The author forgot to mention that you can have immutable collections in Java but then praises Clojure's immutable collections. The Java coded provided will produce warnings due to the mixing of generics and raw types and actually I had no idea about what the output of the Clojure code would be because the author assumes that you have no questions "once a Clojure learner gets used to Clojure syntax". Once you learn th…
a) category error: The simplicity in the example is due to immutability, not language choice.
b) familiarity bias: I've learned X therefore it's simpler than Y. (It might be true, but you'd need a lot more supporting evidence than relying on point a.)
... anyway.
Re: Java is confusing, Clojure is simple
#25Earlier quoted context omitted.
I can see where you're coming from, but for the area that I work in (finance) I can't help but feel the features of the JVM are a net gain rather than a loss. I'll absolutely agree that it's not good for applications that don't need it's complex machinery. Half my side projects are written in java, and probably could be easier in python. I'm not sure your metaphor really works here, as you're implying that Java is in…
I do work for a Fintech startup as well. We use Clojure and Clojurescript - it simply makes sense for us. It is extremely pragmatic choice that allows us to move fast safely. Seeing and experiencing all three sides - in all honestly I have to admit: yes, Java and Javascript are inherently less efficient languages for writing software than Clojure/Clojurescript. Java and Javascript are good, sorta "low-level" language…
There's a huge difference between startup culture and corporate culture.