4 ms·
The downside of growing up on Commodores was their default imperative and procedural programming environment. My introductions to object-oriented and functiona
by matchagaucho 9y ago
The downside of growing up on Commodores was their default imperative and procedural programming environment.
My introductions to object-oriented and functional programming came much later in life, and I can't help but wonder how many bad coding habits I had to "unlearn" as a result of my Commodore foundation.
- u801e 9y ago> The downside of growing up on Commodores was their default imperative and procedural programming environment. That could be an upside if you wanted to learn assembly since BASIC really wasn't that far removed from it in terms of what you could do and how you did it.
- matchagaucho 9y agoGood point. The commands were really hands-on with memory and CPU.
- KMag 9y agoOne thing about non-imperative languages (functional, logic, etc.) is that they tend to encourage a much higher level of abstraction that's useful for dealing with complexity, but difficult for most novices to deal with. In particular, young children have relative trouble with abstract reasoning. If your standard library makes pervasive use of higher order functions, and you haven't yet wrapped your head around elementary algebra, you're going to have a bad time. I'm having a hard time thinking of an existing functional or logic programming language that requires a minimum of abstract thinking. You can use many languages in a functional style, but if e.g. you're using Python with a low level of abstraction, then you're likely using it as an imperative language.