175 karma · joined May 26, 2017
To begin with, the study measures functional numeracy: the ability to solve everyday numerical problems. This is quite different from the kind of advanced mathematics often associated with programming, such as formal logic, symbolic abstraction, or the use of formal languages (as found in denotational semantics or type theory).
These more abstract skills—not basic arithmetic—are essential for understanding recursion, type inference, or algorithm design. That functional numeracy has low predictive power in this study does not imply that deep mathematical reasoning is irrelevant to programming.
Moreover, the language used in the study is Python, which was explicitly designed to be readable and semantically close to natural language. This may give an advantage to individuals with strong verbal skills, but the results don’t necessarily generalize to languages like C, Lisp, or Haskell, where symbolic and logical density is much higher.
Finally, language and mathematics are not opposing domains. They share cognitive underpinnings, such as working memory, executive attention, and hierarchical structure processing. The key is not which one "wins," but how they interact and complement each other in different programming contexts.
Even I agree with the part in he complains about the size and complexity of the c++ standard.
And the third footnote is simply true.
My complaints are more oriented to C++ than C, often I feel that something went wrong, and we fail to try to reduce the complexity.
When I remember the following quote "A programming language is low level when its programs require attention to the irrelevant." Alan J. Pelis. I always remember modern C++ and I realized how regardless of an apparently simpler syntax, we start to think about l-value, r-value discard, contexpr, we start paying attention to details no related to our original problem.
That's why I feel you are right C++ is a low-level language, but sometimes I feel the modern C++ is not a higher level, but even a lower level.
Sometimes I ask myself if despite the lack of standard library and high-level structures if working with c and Glibc it's higher or lower level, my experience tells me that sometimes I can concentrate better on my problem I try to solve, instead of struggle with the compiler.
There are countless successful open source projects (libraries , frameworks and languages).
Open source have come to stay, besides, nobody forbidden you to put a price if you have a opensource project and you want to give a premium experience, with extra features, maintenance or even a technical support.
In this video (in Spanish) you can look in action. https://youtu.be/DDGnC3V9HFc?t=51
Its purpose isn't to teach Scheme or Lisp but it is to teach a bunch of techniques and ideas about the state, programming functional, object-oriented, compiler, and interpreters.
If you read it It will make you a better programmer.
But in reality, all advice depends, they depend on what are you doing, what you know, what is your experience....
Terrible advice and mindset, It's good to learn for pleasure or curiosity. This way, you can enjoy reading SICP, effective java, code complete... Or you can use a new system, Linux, Mac, Android, iOS. Doing it you model your thoughts and mind, learn new ways, practices, or patterns, you don’t have to use then only for having learned, but even so, they will be useful to you.
I'll read this new version too.
I think your book is very underestimated. It's a great book to beginner perhaps the best one, because It's updated and It's very practical. If I would have to recommend someone about where to start to learn Common Lisp I'll say to start with your book.
I used to love clojure, I think it has some great ideas, but I switched to Racket because of the lack of two features.
I don't think I'm the only one who did it.