3 ms·
I have an explanation why, but regardless I observe that complex environments, advanced abstractions and weakly typed or dynamically typed languages work worse
by pshirshov 3y ago
I have an explanation why, but regardless I observe that complex environments, advanced abstractions and weakly typed or dynamically typed languages work worse than primitive systems with tiny strictly typed languages and minimal abstractions.
I haven't personally seen LISPs in action as environments and languages for programmiag beginners, but personally I think that they are way too abstract for the purpose. And it might be lot harder to explain the ideas behind the loop with substitution rules than manipulations with bytes of video memory directly represented on the screen.
- eimrine 3y ago> way too abstract for the purpose. I see my teacher's mission/purpose as making my students as flexible as possible. This and my personal dedication to Lisp and the fact that my students are too young to bother about looking for job right now makes me teaching Lisp but not JavaScript/Python. > And it might be lot harder to explain the ideas behind the loop with substitution rules than manipulations with bytes of video memory directly represented on the screen. I have some C skills but my choice is to teach all the bit-jogging tricks on paper while real coding sessions are mostly on Lisp. This is my first group ever, but at least I proud that the teenagers are happy with my lessons and their number is not decreasing.
- pshirshov 3y agoI guess you are using Racket? Anyway, it's good to know that your approach works.
- kazinator 3y agoVideo memory directly represented on the screen now requires you to understand considerable abstractions: opening some framebuffer device using some operating system calls, then using some other calls to map it to memory. Then knowing the parameters of the framebuffer: what is the pixel representation. What is the stride: how many pixels per row. This could be in some record from an ioctl or whatever. This is not 1984 where you're on some 8 bit micro or IBM PC with a video buffer at a fixed address, and hard-coded format such that POKE(12345, 15) is all you need to have something show.