4 ms·
> We pretend all human languages are equal for political reasons, not because it's reality. Hmm, what is the "non-political" reality in the question of equalit
by heresie-dabord 5y ago
> We pretend all human languages are equal for political reasons, not because it's reality.
Hmm, what is the "non-political" reality in the question of equality of languages?
> the [Python] language syntax is widely known as a success.
There are other successful languages, too.
- lmm 5y ago> Hmm, what is the "non-political" reality in the question of equality of languages? Human languages aren't equal; plenty of languages have problems either in specific areas or just generally, and any academic linguist can tell you (off the record) which. > There are other successful languages, too. Python is probably the most successful teaching language; I can't think of another language with a better reputation syntax-wise. (And if another language has such a reputation, it's probably because that language is also "Pythonic").
- bjornjajayaja 5y agoJust want to point out that Rust and Python live on opposite sides of the spectrum. A systems language requires good understanding of systems (whether rust or c/c++) and also some assembly language. So Pythons “ease of teaching” actually could yield bad systems engineers, because it shields users from the system... Honestly, I would personally teach plain C for algorithms because it has the simple for loops and while loops, tail-call recursion, arrays and structures. Python has a kitchen sink.
- lmm 5y ago> Pythons “ease of teaching” actually could yield bad systems engineers, because it shields users from the system... Not necessarily. Most of what it "shields" users from is unnecessary ceremony and clutter rather than relevant system behaviour. > Honestly, I would personally teach plain C for algorithms because it has the simple for loops and while loops, tail-call recursion, arrays and structures. C's loops are not simple, C implementations do not generally have tail calls, C makes the distinction between arrays and pointers far too subtle (which not only confuses learners but also causes bugs in real code), C's structure support is bad (primitive unchecked unions, but no support for proper disjoint sum types). It may have been useful as a portable assembler at one point (back when it was compiled in simple fashion), but it's not a good language for anything these days.
- heresie-dabord 5y ago> any academic linguist can tell you (off the record) which. Hmm, once again you allude to unspoken truth. What is your understanding of this unspoken truth about which languages are "better"? I assume that if you hold an opinion, you can present it clearly without vague references to unnamed sources. > Python is probably the most successful teaching language; I can't think of another language with a better reputation syntax-wise. (And if another language has such a reputation, it's probably because that language is also "Pythonic"). In pseudocode, what you have written is: I assert P because I think P is best and prefer P; also, any other language that meets my requirements is P.
- lmm 5y ago> I assume that if you hold an opinion, you can present it clearly without vague references to unnamed sources. I don't want to get banned. > In pseudocode, what you have written is: I assert P because I think P is best and prefer P; also, any other language that meets my requirements is P. Your pseudocode has a type error. I don't much care for Python myself. But I believe languages with reputations for good syntax are Python-like. If this isn't so, it should be easy to provide a counterexample: a language that has a reputation for a good syntax that isn't Pythonic.
- heresie-dabord 5y ago> I believe languages with reputations for good syntax are Python-like. "Only syntax like P has a good reputation". That is your opinion and I uphold your right to hold it. I would however like to understand it better. Given this dependency on the "reputation" of "pythonic syntax", whom do you accept as "recommenders" for reputation? What constitutes a "good reputation" to your mind? Do the importance of project, or perhaps durability of code have any value in this reputation? Is it possible that more detailed notation has a purpose, or is it always "clutter" because it is not "pythonic" or "Englishonic"? Math notation itself is eloquent in the extreme, yet it is not "pythonic" and certainly not "Englishonic". Is it enough that millions of other people use different tools? Literally billions of other people speak and write a language that does not have the "Englishonic" properties of English, for example. Some of these languages have a notation that is superior to English. [see GB Shaw on English notation] You say quite clearly in another comment that "C" is not a good language, despite its importance as a language and its influence on several other important, long-serving programming languages. I will just cite the TIOBE index as something tangible; if imperfect, it is at least not a mysterious allusion. Take one of these languages. Javascript, for example, is a very successful language. Apart from the "ecosystems" of languages, I assume you accept that the notation of Javascript is -- by any measure other than aspersions -- a successful notation system.