[rust-dev] on quality & success

Palmer Cox palmercox at gmail.com
Wed Jan 1 22:13:58 PST 2014


Everyone is entitled to their own opinions. However, those opinions should
be expressed in a polite manner. Phrases such as "Choice he (since its
mostly men)" and "mentally masturbate" do not seem to foster a welcoming,
inclusive environment. Quoting from
https://github.com/mozilla/rust/wiki/Note-development-policy#conduct:

* We are committed to providing a friendly, safe and welcoming environment
for all, regardless of gender, sexual orientation, disability, ethnicity,
religion, or similar personal characteristic

Thanks,
-Palmer Cox




On Tue, Dec 31, 2013 at 6:56 AM, spir <denis.spir at gmail.com> wrote:

> Holà!
>
> [This is a rather personal and involved post. Press del if you feel like
> it...]
> [also, it is long]
> [copy to rust-dev mailing list: actually the post is inspired by a thread
> there "Thoughts on the Rust Roadmap"]
>
> There is a point obvious to me; apparently most people including many
> language designers don't share it, or act as if they did not:
>
>     a language should be successful iff it is of high quality
>
> A kind of symmetric statement also holds;
>
>     let us hope low quality languages have no success!
>
> There are various reasons to hope this, the most stupid beeing that
> successful languages influence others, present & future. This is in my view
> a symptom of our civilisation's funny spirit (read: madness), and related
> to the actual points I intend to state (if, for once, I manage to express
> my thought).
>
> Apparently, many language designers proceed more or less the following
> way: there are a few key points (for them) they consider mis-designed or
> missing or wrong in some way in existing languages (not all the same for
> every language). Thus, they want to make a language that repairs these
> points, all together. Then, certainly in fear that too many changes may
> repel potential adopters of their language, in hope to maximise its chances
> of success *despite* it breaking habits on the key points more important to
> them, they won't change anything else, or only the bare minimum they can.
> They want instead to remain as mainstream as possible on everything else.
> [4]
>
> I consider this spirit bad; I mean, very bad. This is the way basic design
> errors propagate from successful languages to others, for instance. [1]
> Apparently, it takes a great dose of courage to break any existing practice
> in a _new_ language: tell me why, I do not understand.
>
> Note that I am here talking of wrong design points in the opinion of a
> given language designer. Choices he (since it's mostly men) would not do if
> programming were a new field, open to all explorations. (There are indeed
> loads of subjective or ideological design points; see also [1] & [3])
> However, while programming is not a new field anymore, it is indeed open to
> all explorations, for you, for me, if you or me wants it. Nothing blocks us
> but our own bloackages, our own fears, and, probably, wrong rationales,
> perhaps non-fully-conscious ones.
>
> Deciding to reuse wrong, but mainstream, design decisions in one's own
> language is deciding to intentionally make it of lower quality. !!! Funny
> (read: mad), isn't it? It is thus also intentionally deciding to make it
> not worth success. This, apparently, to make its actual chances of success
> higher. (Isn't our culture funny?)
> Then, why does one _actually_ make a new language? For the joy of making
> something good? To contribute to a better world, since languages and
> programming are a common good? [2] For the joy of offering something of as
> high a quality as humanly possible? Else, why? For fame, honour, status,
> money, power? To mentally masturbate on the idea of having made something
> "sucessful" (sic!)?
>
> We are not in need of yet another language trying, or pretending, to
> improve on a handful of disparate points, leaving all the rest as is,
> meaning in bad state. And, as an example, we are not in need of yet another
> failed trial for a successor to C as major low-level lang.
> Differences, thought of by their designer as significant quality
> improvements, are the *reasons* for programmers to adopt a new language.
> There are the _only_ (good) reasons to do so. Thinking that programmers may
> adopt a new language _despite_ its differences is thinking backwards; this,
> in addition to preventing oneself from working for the common good; by
> fear, probably; fear of truely thinking by oneself and/or of making one's
> true thinking public truely. (I can understand that, however: I often do
> not disclose my thinking by fear of the terrible level of violence, in my
> view, present in the programming "community" [hum!], and among geeks in
> general. This, rather than sharing and mutual help and cooperation, for the
> common wealth. Our civilisation... again.)
>
> I have recently decided to adopt possible differences even if i am not
> that convinced of their betterness; to give alternatives a try; to give
> them at least a chance to show us (or just me) how good they actually are,
> or not, in practice, maybe on the long term [3].
> This may go too far; it is a personal decision.
>
> However, deciding not to change what one sees wrong is weird for the
> least. It means removing points of quality according to one's own views,
> removing chances to contrbute to a better world, removing sources of
> personal satisfaction, removing reasons for others to judge a language
> better, thus removing motivation for programmers to adopt it. Maybe,
> certainly, many programmers do not adopt a language on the base of its
> quality, only; however, this counts; people I wish would adopt my lang, if
> ever, are those people who judge first on quality, not hype followers or
> otherwise conservatives.
> What I mean is, apart from working against the common wealth, in addition
> to preventing one's own enjoyment of doing what one does, such an attitude
> may also work against a language's potential success. Is this (a factor)
> why we have no successor to C yet, what do you think? because most
> designers kept most of its design bugs unchanged? [4] just to have a
> minimal chance, should a potential successor instead break as much as
> possible? (And not have a builtin interface to C? ???)
>
> Also note that attitudes and spirits are psycho-sociologically contagious.
> In particular, fear and lack of courage and angst are highly contagious (in
> our world, with such a close to universal high level of anxiety...) What if
> more (would-be) language designers boldly thought by themselves and boldly
> assumed their thoughts?
>
> Final note: isn't it weird that such conformism is _that_ prevalent among
> language designers? Precisely the ones who should be bearers of novelty?
> the one "milieu" which could & should be a network of interacting
> counter-cultures and individual iconoclasts (idol breakers)?
>
> I do not expect anyone shares (all of) this. I just hope it may open new
> ways of thinking or questionning to a few.
>
> Denis
>
> [1] Including the funny usage of "=" for assignment and "==" for equality,
> after at least 5 decades, lol! Still my favorite syntactic error after
> dozens of thousands of hours of programming in languages which nearly all
> use this amusing convention. Why not use "if" to mean 'try' or 'switch' or
> 'foreach', and "ifif" to mean 'if'? What do you think?
>
> [2] Actually, they are both communal and social. Better quality languages
> may contribute to a better world, at a communal level because we
> programmers share code and read others' code all the time, and at a social
> level because apps are a significant part of the world's state.
>
> [3] As you certainly know, it takes time to unlearn, especially to stop
> judging something bad while it is just different. (Think at C programmers
> and their beloved code block {} braces. I for one have better usage for
> brace ;-.)
>
> [4] As an anecdote, somewhat complementary, in the course of my
> explorations about programming languages, I often stepped on lists of C
> design bugs, at least a dozen of them. Typically endless lists that take a
> quarter of an hour to read in one go, without comments. There is space to
> works for a language lover :-). If not enough, usually such critics seems
> to agree on more than half of the points (and the remaining ones may not
> figure on some lists just because the critic not think at it or did not
> study this point) (but their solutions may diverge...).
>
>
>
>
> _______________________________________________
> Rust-dev mailing list
> Rust-dev at mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20140102/6c35a5d9/attachment-0001.html>


More information about the Rust-dev mailing list