4 ms·
C imparts a very specific architecture onto your code. Scheme is more of a blank slate upon which many different paradigms can be taught.
by garmaine 5y ago
C imparts a very specific architecture onto your code. Scheme is more of a blank slate upon which many different paradigms can be taught.
- b5n 5y agoI've never looked under the hood of a `cdr` implementation but I feel pretty confident in saying that it's likely to be an incremented pointer most of the time. Learning C (and even a little ASM), gives a better understanding of the underlying layers. I think that provides a great foundation for learning a scheme, and then branching out from there.
- mhuffman 5y ago> Scheme is more of a blank slate upon which many different paradigms can be taught. reply Also, for a lot of first-time programmers, Scheme and other lispy languages, can come with heavier cognitive friction. Unlike procedural languages where you can think about what you want to do, break it down into steps, and then make those steps, there is a higher-level (or deeper-level, if you like) of thinking that needs to goes into functional development, where one thing feeds into the next which feeds into the next. If you already have a very strong background in mathematical theory, this might not be so bad (and might make a lot more logical sense), but it is a shift in thinking from how many people do day-to-day tasks, which is more similar to procedural programming.
- garmaine 5y agoWhile this is true of, say, Haskell, I really don’t think it is true of scheme. You can write procedural, stateful scheme.