2 ms·
I think that you've misinterpreted my original comment. My argument is that C is a poor language for teaching computing theory. There will be classes where st
by ynniv 17y ago
I think that you've misinterpreted my original comment. My argument is that C is a poor language for teaching computing theory. There will be classes where students will learn C, certainly any hardware oriented class. The question at hand is, "Do students benefit from learning concepts in languages other than C", and I think that you'll agree the answer is "yes".
- haberman 17y agoYour initial claims were much broader than that ("I think that people talk about C as an important language because it is difficult to write programs in.", "Every year that goes by, C becomes less useful. How is this a good language to teach students?"), but let's go with your current claim. Part of me sees the benefits of teaching computational complexity using a high-level language like Python. But part of me still can't buy into it, because what is the computational complexity of this excerpt of Python, in terms of n? strings = ["X"] * n concatenated = "" for s in strings: concatenated += s The answer is that it depends on the implementation of Python!
- foldr 17y agoWell yeah, and the computational complexity of a program which calls a function in the C standard library depends on the implementation of C.
- haberman 17y agoYou don't need the C standard library to write algorithms in C. Therefore you can do computational complexity analysis that is independent of the C language implementation. (I don't actually think you could name a function from the ISO C standard library that differs in complexity across implementations, but it's besides the point).
- foldr 17y agoYou don't need malloc, then? Please explain.
- haberman 17y agoIf you're analyzing complexity and your algorithm needs malloc(), then you implement and analyze malloc(). For example, see Knuth section 2.5. By the way, do you have a point to make, or do you just enjoy being brusque?
- foldr 17y agoI don't understand you here. If you write an algorithm in C that uses malloc, it will perform differently on different C implementations. This is exactly parallel to the fashion in which your python program will perform differently on different python implementations.