Hacker News new | ask | show | jobs
by geofft 2261 days ago
I thought the person that you're replying to made a very good point about Esperanto. Why do we teach linguistics with messy real-world languages instead of conlangs that most clearly distill the principles we want to teach?
3 comments

One of the chief concerns in introductory linguistics programs is introducing students to the great typological diversity of the world's languages. There are a number of different ways in which languages can inflect (or not), structure word order, derive new words from existing vocabulary, etc. Conlangs, however, tend to choose a very limited set of approaches, for example agglutinative inflection is popular because creators feel it makes the language easier to learn. Just as some North American departments have been mocked for doing all their theoretical work purely on the basis of English (or other European languages), using a conlang would make students miss out on the full range of human linguistic expression.

All human languages have at least some irregularities, and the way in which speakers deal with those irregularities is an interesting series of phenomena in itself, but most conlangs aim to be fully regular. A similar situation holds for phonology in which most languages have a developed system of allophony and sandhi, but conlangs typically don't aim to represent those phenomena at all.

Right. And doesn't that apply to programming languages too? Aren't the ways that Python is irregular to support real-world needs (the Zen of Python even says "Practicality beats purity") worth CS students studying?
No, because this is computer science and not software engineering. The best introductory language is the one that allows to express the concepts that are presented in the cleanest way possible. If you want "real-world needs" then drop out and work for a software company. The purpose of universities is not to cater to the needs of industry - to pump out code monkeys.
Just to make sure I understand you correctly - you're arguing that it is not the place of universities to address real-world needs? History and economics faculty should have nothing to offer to politicians? Biologists in universities should study model organisms, leaving the study of humans to the medical industry, and biology degree programs should not pump out health monkeys? Law professors should discuss specially-constructed legal systems that are not used by real-world jurisdictions so that concepts can be presented in the cleanest way possible? Music programs should avoid teaching actual Bach chorales because his real-world music sometimes included parallel fifths?
I didn't say anything about areas whose research focus coincides with 'real-world needs', I specifically talked about programming languages and concepts. And no, universities should not teach micro services, enterprise Java code, or the latest frontend frameworks. But yeah, keep twisting my words around.
Sorry, I'm still not sure I understand. You're saying that computer science is one of the specific areas whose research focus does not and should not coincide with "real-world needs," in contrast to history, economics, biology, law, and music? Or am I misunderstanding you badly?

What other fields of study are like computer science in that they shouldn't be about real-world needs? For a given discipline, how do you tell which of the two categories it falls into?

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...

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.

> Why do we teach linguistics with messy real-world languages instead of conlangs that most clearly distill the principles we want to teach?

Because we're not teaching language science in that case, we're teaching proficiency in an actual language.

An industry language is fine for a software engineering degree, or a technician degree of some sort.

Just to make sure I understand you right - you're claiming that the academic discipline of linguistics is not "language science," it's "proficiency in an actual language", and a school with a "language science" program instead of a linguistics program would teach introductory language science in a conlang?

https://en.wikipedia.org/wiki/Linguistics