Re:Computer Science Curriculum in 1000 YouTube Videos
by jeffe on Wednesday January 13, 2021 @12:32PM
(#25765275)
To be fair, python has many robust features beyond gc. For example, dicts, which are bread and butter for python abstract away 1000s of lines of C, which leads to very confused students when they first see errors like 'unhashable type: list'. Encountering leaky abstractions always made me uncomfortable when I took my first classes, but for a very first class its still probably better than dealing with memory allocation in C depending on what one expects from an intro class.
Re:Computer Science Curriculum in 1000 YouTube Videos
by chii on Wednesday January 13, 2021 @07:14PM
(#25769930)
But when you start using dicts at the beginning, you would be learning about hash maps and what hashing is, etc. This is basically computer science 101 stuff, with which python makes an environment much easier to learn with.
it doesn't - python hides the unimportant aspect of the computer; namely, it abstracts the memory allocation and resource process. You treat the computer, under python, as an abstract machine which has unlimited memory, and don't worry about its use. you focus on algorithmic understanding and fundamental data structures.
Once you grasped the computer science fundamentals, then you tear open the box and learn the underlying impl. of a computer - such as memory allocation, and assembly, etc (ostensibly, by making your own operating system using C, and/or writing a compiler using C).
you can replace python with haskell, which imho, does an even better job as a first language.