4 ms·
Our university teaches C as the first language and even first time coders manage. The problem with python and most other languages is that you'll just end up co
by kebsup 4y ago
Our university teaches C as the first language and even first time coders manage. The problem with python and most other languages is that you'll just end up confused about references while C forces you to understand them.
Just a recently my 14 yr old brother came to me super confused about why does his python code change all the values in the list when he is only changing one, and explaining that one object "lives" in some memory space and the list just points to it multiple times is quite difficult without more low level knowledge.
- Koshkin 4y agoStill, C is probably the worst way to introduce someone to programming - even though (or maybe because) it looks like the middle road between learning the principles of how computers work and learning, say, JavaScript. It is much more enlightening if you start with a machine language (assembler) of a simple model of a computer or, at the other extreme, with a high-level (computer science-y) language like Scheme or JavaScript where you are not forced to think of details of the hardware.
- unsafecast 4y agoBut then you'll be too far from a higher-level language like python to be able to make the connection, I think. It's quite easy to make analogies between python and C snippets, but to do that with assembly you have to understand calling conventions, system calls, stack frames, and so so much more.