Hacker News new | ask | show | jobs
by StreamBright 2260 days ago
Interesting point. You are mixing up teaching language with teaching linguistics. Teaching linguistics usually includes phonetics, phonology, morphology, syntax, semantics, pragmatics, discourse, typology and semiotics. Quite similar to teaching computer science. The concepts are independent of the implementation. In this context using Python is bad because it has a very limited set of concepts that worth knowing. Racket has many more. In the context of working in the industry Python _experience_ might be more valuable, but it has nothing to do with how good it is to tech computer science.

https://ufal.mff.cuni.cz/~hana/teaching/2015wi-ling/01-Intro...

1 comments

OK, so you're saying that in universities that teach linguistics (instead of teaching languages), they do in fact strongly prefer to teach in idealized conlangs like Esperanto and avoid working with irregular real-world languages?

Can you give me an example of such a university curriculum?

No, I am saying, universities teaching linguistics are teaching concepts. They might teach how some of these concepts are in a particular language, quite often they choose the language of the country they reside in. It would be hard to teach advanced concepts in Python. That is all.
What advanced concepts are hard to teach in Python?

Also, do you generally teach advanced concepts in an introductory CS class?

> Also, do you generally teach advanced concepts in an introductory CS class?

This is also what I struggled to understand with other comments. An introductory CS class's purpose to introduce, warmup and invite students (most often w/ no background) to the world of CS. This means low barrier of entry. (which Python is well suited for).

Yes, there are other languages that offer more features and more explicitly but the point of intro CS classes is to spark the curiosity with a great feedback loop, while eliminating obstacles to learn.