Ah, well, the human ear is a much more finely tuned instrument than your decoders and players. Think of the feelings you get when you hear the ocean waves, the birds sing, a thunderclap!
Can you turn this into mere "bits"? Of course not!
That's why it is so important to protect against sub-bit quantization errors, and this can only be done with proper interconnects. Ordinary cables allow the bits to travel willy-nilly until they jam up against each other creating a brittle, edgy soundstage. Quality interconnects are tuned, aligned, and harmonically shielded to keep those precious bits - and the all-important spaces between them - in a smooth flow.
And then, we can hear all of the things that make us human.
How is OSX's directory setup more logical than the traditional Unix one? Be careful not to confuse your familiarity with one system with it's inherent qualities.
I have switched between BSD an Linux as my main desktop OS a few times and had this "damn, this is so much clearer in x" feeling in both directions.
This is not an isolated example.
People, please. For open source code stick to english in the code. Otherwise, you needlessly exclude anyone who doesn't speak your particular language.
I was about to dive into the code thinking "this thing looks cool, maybe there's something to learn from it". This turned me away instantly.
While I do like English, the way you said 'your particular language' seemed a little off to me.
I'm no expert but that sample you gave me looks like Simplified Chinese, which should be readable by about 1.2 billion people[0]. There is no solid data on how widespread English is yet but I think if 1/6th of the earth speaks a language which is also an official language of the United Nations, programmers should be able to use it without criticism.
It might be an unpopular view on a site seemingly populated mostly by Americans but there's a big world out there and not everyone is at a comfortable level of English proficiency.
I know it's disappointing not to be able to contribute but I also think it's wrong to expect everyone who wants to build an open source project to restrict their communications and comments to English, especially when most of the world's population doesn't speak it.
Plus, 30% of developers are from the Asia/Pacific Region, comparable to developers in the Americas[1]. Familiarity with Chinese is going to be comparable to familiarity with English.
Just to add a little more, Go specifically may very well be more popular in China than it is in the English speaking countries[2].
You assume all developers from Asia/Pacific are familiar with Chinese. Speaking as one of 1.2 billion Indians, we are not familiar with Chinese, despite being firmly in Asia/Pacific. I doubt the Japanese, Koreans, Malayasians or Filipino are familiar with Chinese either. (familiar = to the point of being able to read it)
Just because a language is accepted at the UN doesn't mean everyone should be familiar with it. Even the UN needs translators for Arabic, Spanish, Russian, French and Chinese; all official languages. (Aside: the UN Secretariat uses only English and French).
Being a UN accepted language shouldn't be a criterion for programming, being popular among developers should be. And anyone writing any piece of code in any human language, be it English or Chinese, should know that by making that choice, they are also limiting the set of understanding eyes that can be laid on their code.
There needs to be a common, agreed on ("standard") intercommunication language for exchange of knowledge to happen. For computer science related things, programming in particular, this is english. This happened historically because a lot of the development took place in the US and it is also a good choice, because english is easy to learn (I'm no native speaker btw.).
Had computers been developed mainly in china I would very likely write to you in chinese at this moment (which would be a bad choice because it is badly suited as a global intercommunication language).
But they weren't and english is the lowest common denominator everyone doing CS is required to know. Hell, anything on the internet.
If you deviate from this than you hinder the free exchange of knowledge and ideas which is bad.
Do not use any language other than english in public code. It is a bad idea because it needlessly alienates the larger part of mankind.
It's not about "having it my way" or having others cater to my needs. I'm not advocating it because it is the easier choice for me, but because it is the better choice in the big picture.
> , because english is easy to learn (I'm no native speaker btw.).
OK, I guess your experience as a non-native speaker validates that claim?
I don't see how the claim "English is easy to learn" is obvious on an international level.
> I'm not advocating it because it is the easier choice for me,
But it also is an easier choice for me. Doesn't matter if you're a native speaker or not, since you're obviously comfortable with it.
(On this topic I also see a lot of "I wish everyone would just write in English/speak English in these contexts, and I'm not even a native speaker!", implying that they're an unbiased party. No, if you have a good command of the language, you're about as biased as any native speaker on this debate, really.)
Good point. What I was trying to convey is that it happened the other way round. I know english well because it is the language CS takes place in. Had it been chinese, I had learned chinese. Had it been elvish, I had learned elvish.
On the other hand, it's also possible that, for similar reasons, they wouldn't have written the whole thing if commenting in Chinese wasn't possible. I suspect that not turning people away wasn't one of their primary goals when writing those comments.
I've poked at C++ with Japanese comments once; I ended up just ignoring those comments completely and reading the code to figure out what was going on. I don't think those authors should have written the comments in a language they didn't seem to be comfortable in either; they probably never thought about who would look at their code.
It's open source; they don't owe it to you to make it easy to work with for you, and you don't owe them to work on it even if you are uncomfortable with the comment style.
With the abundance of online translators this should not be a problem. This is what Google translate makes of it:
// Editor operations (...) // TODO:.
Is currently calling liteide_stub tool
to find statement, the subsequent need to reimplement
Baidu translate:
/ / editor operation. (...) / / TODO:
is now calling the liteide_stub tool
to find the following statement,
the need to re implement
Between the two of those it is clear what this comment means. Had they written it in 'Chinglish' the result would probably be similar, but in that case nobody would know exactly what they meant, not even those who read Chinese.
I am guilty of them also. A lot of time after 6 months, 1 year and I go back to the source/document I wrote, I have hard time out my writings.
I think the reasons are a lot of sentences/paragraph we wrote are highly dependent on the contexts of author's mind and the state of that particular moments of developments. It might just make sense within those contexts. When one forgot them or other try to read sentences out of the context, it become very difficult to understand.
I have some documents on power management code related to particular SOC + linux kernel + .ko + user app + pm scripts. They are very hard to understand for myself after a few months.
I agree with you that projects using languages I don't understand is a major turn-off, I think they understand that as well, and live with the trade-off. As someone else said, many people are not comfortable using English (which is just a nice way of saying their English sucks).
I wrote a small script [1] to translate this really cool Go blog [2] from Chinese using a free Bing API.
Or you could take the opportunity to learn Chinese. After all, are you ever going to learn something if you insist the rest of the world does it your way.
I have to say, from this and your other comments ("Do not use any language other than english in public code"), you come off as extremely arrogant.
Are you intentionally misrepresenting what I said in the other comments? Quote: 'It's not about "having it my way"' (Explanation follows).
Also, is it not allowed to make statements anymore? Yes, it is my opinion that it is very bad practice to use anything but the de-facto standard intercomunication language for CS in programming code. Do I have to pre-/post-fix everyhing with humble phrases and opinion disclaimers? When was that established?
Learn Chinese?
And I suppose everyone else should learn chinese too? Just because a bunch of programmers is lazy everyone else needs to change?
And you call me arrogant.
Don't be so touchy.
I make bold statements because I have a strong opinion on this based on experience and good reasons. That is not arrogance. Insert redundand humble phrases here (IRHPH).
Tell me about this again after you debugged an old program written by the friendly (insert nationality) colleague who left the company, and wrote all his code in (native tongue) under time constrains.
The question of who should learn which language should be answered in this way:
The correct way is so that it takes the least learning effort overall (added up) while enabling maximum exchange of knowledge and ideas.
IRHPH. At the moment that means english is the way to go. IRHPH.
And just to make this clear: I'm not demanding anyone do anything in any way. I'm just pointing out that it is a bad idea. IRHPH
Then why don't you code your websites in brilliant elegant brainfuck?
The statement "It is possible to write good, or bad code, in any language" (1) might be true, but it misses the point.
Consider "With or without cancer you are going to die" which universally true for all humans (as far as we know). But it also misses the point if applied to the question of whether you want to have cancer or not.
Particularly, your statement (1) is irrelevant to the question if it is a good idea to use PHP to make any kind of software that is functional, maintainable, reliable, secure, scalable etc.
And anyone who has actually programmed in PHP knows, that just for example, it is VERY difficult to make a secure PHP program. Just because there are a thousand non-obvious ways to shoot yourself in the foot which are directly caused by weird quirks of the language. It might be possible to get this right, but if it is, it is a lot more difficult than in a language with e.g. sane rules for type conversions.
If you think all programming languages are equal, then you still have a lot to learn.
Same file -> same playback.
If you hear the same sound file twice (or two identical files) and hear something different, you software is broken or you're imagining things.