5 ms·
> lesson to be learned here: any language is only as strong as its community Or maybe it's better lesson is that no one tries to force the direction of the lan
by bluejekyll 10y ago
> lesson to be learned here: any language is only as strong as its community
Or maybe it's better lesson is that no one tries to force the direction of the language. English is a bastard language, no one "controls", even as much as our grammar school teachers try to force us to use the proper form. I always find it interesting that many people who learn English as a second language often understand and know the formal rules of the language better than those of us who've spoken it natively.
The examples that the OP point out are top down choices made by "leaders" of the community. Those leaders may have created the original programming language, but then fail to realize that it is not they that control it, it is the community. And communities often don't want to be forced in one direction or another. What they like is for things to be grass roots, everyone in the community recognizes the issue, a proposal is put forward, and everyone then agrees and progress is made.
This is one reason that I'm enjoying Rust's process, example: try!(..) was a macro based bandaid over the unwieldy nature of the strong error Result type in the language, it's usage has created code which is ugly and verbose. Enter Swift with its ? syntax and everyone recognizes that this is a less verbose and cleaner way to represent the same concept. So Rust is in the process of adopting ? (It's in nightly now I believe). I don't think there is much controversy here, and the community recognizes the importance of adopting this language change (I read through the RFC and don't remember anyone against it, just differences on the scope of its meaning).
In English there have been similar things, and the controllers have always tried to stop their usage, "ain't" is a great example of that. English teachers across the US have always tried to stop its usage as a fake low class word, but it's just too good and they ain't going to stop it.
- chillacy 10y agoBut Rust is still a controlled language in that there's a language committee updating it. It's just that the committee actually listens to its community. A true bottoms-up-controlled programming language would have to allow users to redefine keywords and grammar, then allow users to drift the language over time. Eventually you'll have multiple subgroups (accents) and one person's compiler might choke on the line `if x ain't 3`
- mcguire 10y agoAnd its name would be Lisp.
- Systemic33 10y agoor SQL for that matter. Same same, but different.
- Someone 10y ago_Users_ can't redefine keywords and grammar in SQL, can they? All you can do is create data structures, and write functions and procedures. Yes, you can write code that creates functions and procedures; it might even be possible to write code that modifies itself, but that still would be essentially different from what one can do in Lisp and Forth.
- roywiggins 10y agoForth probably even more, since most things that are statements in other languages can be defined inside Forth, and you can end up easily building mutually incomprehensible DSLs even if they're technically runnable by the same interpreter.
- mcguire 10y agoForth was the other example that came to mind. And possibly Haskell and Scala. But Lisp is the one that's well known with language extensibility as an advertised feature.
- yongjik 10y ago> I always find it interesting that many people who learn English as a second language often understand and know the formal rules of the language better than those of us who've spoken it natively. I believe that's true for any natural language. To a native speaker, its rules are so natural (almost as breathing) that they hardly ever think about it. Frequently they don't even realize there's a question of picking the right form, because their brain does that job for them. It's always the foreign learners who have to memorize these rules (which are never "natural" to them).
- wolfgke 10y ago> > I always find it interesting that many people who learn English as a second language often understand and know the formal rules of the language better than those of us who've spoken it natively. > I believe that's true for any natural language. To a native speaker, its rules are so natural (almost as breathing) that they hardly ever think about it. Frequently they don't even realize there's a question of picking the right form, because their brain does that job for them. I personally rather think that most other languages have a much more complicated grammar than English. So many people learning English as second language are much more used to think of languages in terms of grammar. I, for example, also think of German (my native language) a lot in terms of grammar - OK, the reason might also be that I'm a really mathematical-minded person and heard some lectures about natural language processing (NLP), which further trained me in this kind of thinking (but I also remember that I already did so at the end of primary school). I can say that some of the more obscure grammar rules of German are also not completely natural to many German speakers. But since in Germany at least in more educated circles there is a culture that using wrong grammar (as a native speaker) leaves a bad impression, you better know some rules to be able to explain why something was right or wrong. To give a common class examples, where a wrong dative instead of a correct genitive is used: "dem Nachbar sein Sohn" (wrong, since for ownership you have to use a genitive and not a dative; roughly translated with "the neighbour his son"). Correct is "des Nachbars Sohn" ("the neighbour's son"; but this form sounds rather educated in German in opposite to English) If you want to sound less stilted than "des Nachbars Sohn", you use "der Sohn des Nachbars" (Remark: if you want to troll Germans, ask them whether "der Sohn des Nachbars" or "der Sohn des Nachbarn" is correct. Answer is: both are, cf. http://www.duden.de/sprachwissen/sprachratgeber/beugung-von-nachbar http://www.duden.de/sprachwissen/sprachratgeber/beugung-von-...). This uses the correct genitive. Less educated people again use a wrong dative combined with "von": "der Sohn von dem Nachbarn", which is somewhere between very colloquial and wrong, because for ownership you use genitive (both examples would be translated with "the son of the neighbour" in English, but the distinction between these two constructions can't be expressed in English). Another problem is that there exist some verbs that have a genitive object (these often sound very educated), among these is "gedenken" ("to commemorate"). Because these verbs are not used so often, many less educated people use them wrongly with a dative (which appears more natural, but is wrong). For example "ich gedenke den Verstorbenen" is wrong; correct is "ich gedenke der Verstorbenen" ("I commemorate the deceased", where this grammatical subtlety again cannot be expressed in English). TLDR: I rather see two reasons: 1. Other languages have a more complicated grammar than English, so that native speakers of other languages think more in terms of grammar. 2. At least in Germany in educated circles there is a culture that using wrong grammar leaves a bad impression. So you better know the rules why something is right or wrong.
- comex 10y ago> I don't think there is much controversy here, and the community recognizes the importance of adopting this language change (I read through the RFC and don't remember anyone against it, just differences on the scope of its meaning). I'd read through it again. I see various people raising fundamental objections to adding the ? syntax for at least the following reasons: - Not visually distinctive enough (easy to miss) - Too visually distinctive (noisy, ugly) - Unnecessary, try! is fine - Prevents using the ? symbol for something else - Should have a normal exception system instead (i.e. early return is implied on every call) - Should have monadic bind syntax instead, like Haskell's do Which is fine; when you invite everyone to express their opinion, you get a /lot/ of opinions. There was still a pretty broad consensus in favor. The RFC: https://github.com/rust-lang/rfcs/pull/243 https://github.com/rust-lang/rfcs/pull/243 (note for anyone using 'search in page': the issue page hides hundreds of comments in the middle unless you click a button, which even then only reveals 200 at a time; search for "not shown")
- bluejekyll 10y agoYou are right, though my reading was it that generally while those points were brought up, they were debated and there was consensus on direction. Perhaps my wording of no one "against" it was wrong, but generally the debate was good and came to a conclusive direction. It's nice to not see something stagnate.