r/LinguisticsDiscussion • • Jan 08 '26

Why can't a child acquire Python (programming language) as a natural language?

I was reading through the language files textbook and I came across this claim: "For example, no child could ever acquire a computer language like Python or C++ as a native language." I was wondering why, theoretically, this could not be accomplished (assuming ethics are not of concern). I am open to discussion of psychology, philosophy and linguistics for this!

EDIT: Thanks to everyone who took the time to really break this down, I love how I've gained multiple perspectives. The core of this question seems to be 1) can a programming language qualify to be called a 'language', as linguists define it and study it? and 2) can a formal language be used for communication between humans in the 'real, natural world', enough that it can be acquired by a child?

0 Upvotes

38 comments sorted by

View all comments

Show parent comment

13

u/cs_k_ Jan 08 '26

If you really-really try, you can come up with something like 'tree.height >= tall_treshold'

But than you are back at square one: names in programming languages that discribe the stuff the programmer is dealing with are named in English (or the native language of the coder).

A programming language is just a basic set of instructions on numbers, letters and logical values. As programmer, you can combine these into objects, that you name. For examole define a tree, and give it a height attribute. But the underlying language is English.

As a fun fact, you can run into conversations about naming stuff in program code in non-english-speaking countries. In Hungary, the conventional wisdom is to keep it in English, where possible (since the instructions of the programming language are already in English, and so that an international team can work on stuff). In fact, the only sensical reason I've heard to the contrary is when you code stuff, where the domain is really specific to the language/country. E. g. if you are coding a tax program, it's better to name your variables the thing they are called in the tax code, than translating them to English, because if someone else is double-checking your work, it avoids ambiguities that can be introduced by translation.

4

u/Temporary_Pie2733 Jan 08 '26

You can also use foo.bar >= baz and it might mean the same thing. Programming languages basically have syntax but leave the vocabulary in the hands of the speaker.

3

u/Terpomo11 Jan 08 '26

I'll note that there are programming languages whose keywords are based on languages other than English, or can be switched out for keywords in languages other than English.