5 ms·
Clojure is not the most beginner friendly language. I really disagree here. My first job out of college was at a Clojure shop and it has been the easiest langu
by pr0tonic 8y ago
Clojure is not the most beginner friendly language.
I really disagree here. My first job out of college was at a Clojure shop and it has been the easiest language I've ever learned. There is a small hurdle of switching to lisp syntax when all you've ever used is C style languages, but that's about it. I also find frameworks more effort to learn than pulling in a small library that does the one thing I need.
- nepeckman 8y agoI can really only speak from my personal experience here. I learned Clojure on my own time in college, and it took some time for me to understand how to deal with things like immutability, laziness, and pure functions. After I did finally 'get' it, I was unable to convince any of my classmates that the initial effort was worth it. I love the language and its opinions, but JavaScript (another language I learned on my own time) was probably 10x easier.
- jimbokun 8y ago"I learned Clojure on my own time in college, and it took some time for me to understand how to deal with things like immutability, laziness, and pure functions." I suspect much of that time was spent "unlearning" habits from procedural languages. I know Carnegie Mellon now teaches functional programming as the introductory course, and only introduces advanced topics like "mutability" later. I think that sequence makes it easier for beginners to reason about what their program is going to do and experience less frustration.
- hombre_fatal 8y agoOne thing that makes Clojure hard for beginners is the tooling. For example, consider how a beginner can write Ruby and Python in notepad.exe while a lisp would be insufferable (and a common, awful first experience for that reason). Also, some of its best features, like cider/nrepl and Paredit, are hidden behind yet more tooling and keyboard shortcuts. It's certainly a filter.
- dragandj 8y agoIs there one single beginner that starts their programming journey with notepad.exe? I've never seen a single one, and I see hundreds of them each year.
- puredanger 8y agoI did!
- WillPostForFood 8y agoNotepad++? Textmate? Look at the first paragraph of the first chapter of Chris Pine’s Learn to Program. Now that you've gotten everything setup, let's write a program! Open up your favorite text editor and type in the following: puts 1+2 Save your program (yes, that's a program!) as calc.rb (the .rb is what we usually put at the end of programs written in Ruby). Now run your program by typing ruby calc.rb into your command line. It should have put a 3 on your screen. See, programming isn't so hard, now is it?
- goatlover 8y agoWhy not just start at the REPL or with a Notebook? Having an interactive environment seems like it would be easier to learn the language. Then they can move to a code editor when they're ready for writing more complex programs. It's this sort of thing that probably drives the likes of Alan Kay crazy when even learning a language isn't interactive by default.
- WillPostForFood 8y agoI agree, but there is also something conceptually useful in learning early that a program is code saved in a text container that is then either compiled or interpreted.
- fiddlerwoaroof 8y agoThe clojure equivalent isn't much worse: (println (+ 1 2)) Then clojure calc.clj