3 ms·
Wow, I actually think you are trolling. I never thought that trolling HN about obscure technical concepts would be a worthwhile use of someone's time. Just in
by haberman 13y ago
Wow, I actually think you are trolling. I never thought that trolling HN about obscure technical concepts would be a worthwhile use of someone's time.
Just in case you're not, and in case anyone else is following along at home, here is my position.
The Chomsky Hierarchy draws three distinctions or boundaries between grammars:
1. type-0 (unrestricted, recursively enumerable) vs type-1 (context-sensitive)
2. type-1 (context-sensitive) vs type-2 (context-free)
3. type-2 (context-free) vs type-3 (regular)
Distinction 3 is a deep and practical concept that all programmers should know. Distinction 1 is practically useless. Distinction 2 is actively misleading.
Also, when Chomsky developed this hierarchy it was in the context of natural language. He was trying to generate English sentences, not programming languages (which were still rather primitive in 1956 when Chomsky wrote his paper). It is not surprising that most of Chomsky's hierarchy is of limited use to Computer Science, since it was never intended to be.