Have you come across any *new* programmers who think in terms of bit twiddling? I agree with Mark - this tends to be intuitive once you've learned that that is all there is. This might have been the case long ago when people started programming by learning about how CPUs work, but computers are so complex now that very few people start out that way any more.
On 18 March 2016 at 10:03, Val Waeselynck <val.vval...@gmail.com> wrote: > Really depends on how the brain of the programmer is wired IMHO. To some > people, the intuitive part of programming is fiddling with bits, to others > it's all about abstraction. > On Mar 17, 2016 9:32 PM, "Mark Engelberg" <mark.engelb...@gmail.com> > wrote: > >> On Thu, Mar 17, 2016 at 11:12 AM, gvim <gvi...@gmail.com> wrote: >> >>> Better to get a foundation in Javascript, Python/Ruby and Java first >>> then add Clojure later. >>> >> >> Disagree. It's easier to go from functional programming to imperative >> programming than vice versa, so it is better to teach functional >> programming first. >> >> The reason is that imperative programming can be thought of as a small, >> added layer, an extra mutation capability beyond writing pure functions >> that can be used judiciously to achieve certain effects. Grounded in >> functional programming, it's easy to go to imperative programming, because >> you are *adding* a capability. You can still write pure functions in an >> imperative language (although the language gives you less support for doing >> so), so your prior knowledge applies. >> >> On the other hand, if you learn imperative programming first, you learn a >> way of writing code that uses mutation in everything. You develop no >> awareness of the boundary between the set of things you can compute with >> and without mutation. From your perspective, everything requires >> mutation. When you try to make the move to functional programming, you >> feel completely lost and completely hamstrung, because a capability you >> imagine is essential for writing any code is now missing. You have to >> completely relearn how to think about coding, figuring out how to write >> code without mutation. You are subtracting a capability from your >> language, which is much, much harder, because all your instincts about how >> to code no longer apply. >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clojure@googlegroups.com >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+unsubscr...@googlegroups.com >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to a topic in the >> Google Groups "Clojure" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/clojure/i1CUQKROJ5U/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> clojure+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.