2 ms·
Yes but this is also how it works in assembler, and nobody in their right mind would say knowing assembler would make you a worse programmer. We can all agree t
by goto11 8y ago
Yes but this is also how it works in assembler, and nobody in their right mind would say knowing assembler would make you a worse programmer. We can all agree that BASIC is a crappy language by modern standard, but it did have a repl and was interpreted which gave it a quick turnaround, ideal for experimenting and learning.
Dijkstra on the other hand believed programming students should be forced to prove the correctness of their programs.
- okl 8y agoYou agree that "BASIC is a crappy language by modern standard". Why is Dijkstra not allowed to make that point? > Dijkstra on the other hand believed programming students should be forced to prove the correctness of their programs. I did that in my CS homework like many others and I consider being able to reason about the properties of a program/algorithm a core competence of a CS graduate. Why do you think it's a problem?
- goto11 8y ago> You agree that "BASIC is a crappy language by modern standard". Why is Dijkstra not allowed to make that point? But...that is not the point he is making. He is not saying BASIC is a crappy language - he is saying programmers which have learnt BASIC are bad programmers, even if they learn other languages and techniques. That is a pretty arrogant and not particularly clever thing to say.
- AnimalMuppet 8y ago> Dijkstra on the other hand believed programming students should be forced to prove the correctness of their programs. This is why Dijkstra wrote his newsletter by hand - he couldn't find a word processor that had been proven correct, nor a proven correct OS to run it on. I'm kidding, but it illustrates the problem with Dijkstra's approach. If not just students but actual working programmers had to prove the correctness of their programs, we'd have much less software - say, 5% as much. But that other 95% does some actually useful things, even though it can still break. Would you rather have a word processor that crashes every once in a while? Or would you prefer a typewriter?
- mcguire 8y agoHave you ever tried to teach the right way of doing something to someone who has been doing it the wrong way for a long time and wants to argue that there's no difference?
- goto11 8y agoSure. I usually approach it by showing why I think the better way is better, rather than just calling them idiots. It have also often happened to me I have reconsidered something I had considered "the right way" for many years, due to a convincing counterargument or example. For example I considered Dijkstra-style single-entry single-exit the right way for years, until I realized that early exits in many cases made functions a lot simpler and more straightforward.