Wikipedia:Reference desk/Archives/Computing/2016 April 12

= April 12 =

Most common programming language with non-English keywords?
What is the most common programming language where the keywords in the default version of the language are based on a human language *other* than English? I know there are languages where the keywords are symbolic like APL, I'm not looking for those.Naraht (talk) 16:56, 12 April 2016 (UTC)


 * Non-English-based programming languages The Quixotic Potato (talk) 17:30, 12 April 2016 (UTC)
 * A good start, but sorting claims is dicey.Naraht (talk) 19:51, 12 April 2016 (UTC)


 * The pressure to do this is really low...for several reasons:
 * Many of the reserved words in most languages are not "English" - try looking up "extern", "int" or "bool" in an English language dictionary. Some are abbreviations or truncations - others are possibly traceable back to some original English word - but it's irrelevent (eg "asm" comes from "assembly language" in the context of "a computer language that maps instructions 1:1 with machine code").
 * Those that are (eg "float", "double", "case") have meanings in the programming language that bear zero resemblance to their meanings in English.
 * Even when there is some kind of sane mapping between the programming language word and the English word (eg "protected") - knowing English or not doesn't help you in the slightest degree in understanding what "protected" means in this context.
 * Just translating the keywords doesn't impinge at all on 99% of what makes a human language. There is no English syntax or sentence structure, no concept of verbs, nouns, adverbs, etc.  All that a non-english speaker has to learn to write in (for example) C is the 32 keywords.
 * Most languages support something like "#define" that allow you to provide translations of those reserved words into your native language: eg #define retour return  (if you happen to be French).
 * The bottom line is that these are (mostly) languages like Esperanto that are completely synthetic. You don't have to understand *any* English to write in C - and knowing English doesn't help you hardly at all.
 * Let's look at the 32 keywords in C:
 * auto, double, int, struct, break, else, long, switch, case, enum, register, typedef, char, extern, return, union, const, float, short, unsigned, continue, for, signed, void, default, goto, sizeof, volatile, do, if, static, while
 * Of those - eight are NOT in an English language dictionary:
 * int, struct, enum, sizeof, typedef, extern, const, goto.
 * Of the remainder, what actually mean what the English dictionary says they do?
 * break, else, long, return, short, unsigned, continue, for, signed, void, default, volatile, do, if, while.
 * Of those, which would understanding of the English word help in any way with writing or understanding code?
 * break, return, continue, for, void, default, do, if, while.
 * So an English language speaker only benefits from being fluent in English for about nine of the 32 reserved words. On the other hand, the price of having native-language versions of a programming language is to balloon the number of reserved words from something like 32 to 32 times the number of commonly spoken languages!   This makes it harder for every programmer, no matter their mother tongue because it requires (for example) a German programmer to know that the words "return", "regreso", "ritorno", "sugrįžimas" and "retour" are reserved as well as "rückkehr".  Sure, you could add a "-language=" option to the compiler - but now bits of code written by programmers in different countries won't compile together (think especially about how #include would have to function).
 * Furthermore - are you planning to translate the names of every function call, structure name and typedef in every commonly used library? If I were to use a Spanish version of C - would a Spanish speaker be able to call "escribir(...)" and "fescribir(...)" instead of "write" and "fwrite" (argh - the 'f' is short for 'file' - which is something like 'archivo' in Spanish so I suppose it'll have to be "aescribir").
 * This is a nasty minefield. Simply having reserved words in different languages doesn't scratch the surface of the problem - and doing so causes a horrific number of new problems.  I work on a daily basis with programmers who speak only Russian...and I don't speak a word of the language.  We exchange C++ code more easily than we exchange email - they have no problem writing in C++ and I have no problem reading the code they write.  It's bad enough that we have different spoken human languages and different human sign languages - let's not drag that horrible mess into computer languages too!  SteveBaker (talk) 14:00, 14 April 2016 (UTC)
 * I both agree with what you have said and wondering why you are going into such depth on this. I wasn't asking why there isn't a computer language based on non-english keywords that has a 10% worldwide penetration, I was simply asking which computer language among those that my criteria was most commonly used.Naraht (talk) 14:51, 14 April 2016 (UTC)

YouTube Videos and content at the end of a video...
Hello,

Have a look at the YouTube channel "Numberphile". This is a math based channel. At the end of their videos, they almost always have little clips of other videos they have uploaded, usually Picture In Picture style, with 2 or 3 videos showing at once, where you can click an annotation to be brought to the respective video.

My question is as follows:

I want to do something similar to this, but have a situation where i interview people on certain topics, and show that as one video. After that, i want to consider making a follow up video with responses to viewers' comments to the first video. At the end of the first video, id like to link to the second video when it becomes available. However, obviously, the first video needs to be out for a while before the second one is even made. Is this possible to achieve? If so, how? Could i delete the original video and re-upload it with the new ending section? Could i re-upload a video on YT without deletion? I want to have like numberphile where there is actual footage of the second video in the first video, not just an annotation to click.

Please let me know if this is even possible, or if i am trying in vain. Thank you in advance!

216.173.144.188 (talk) 17:22, 12 April 2016 (UTC)


 * What video editing software do you use? If you search for "video in video" (with quotes!) on that most famous of tutorial websites, YouTube, then you'll find videos that explain it. The searchquery "picture in picture" works too. The Quixotic Potato (talk) 17:37, 12 April 2016 (UTC)

I'm not looking for how to do PIP. I am asking how to include PIP footage when the video i want to include isn't made yet. Can i re-upload the first video to YT? That kind of thinking.

216.173.144.188 (talk) 18:02, 12 April 2016 (UTC)


 * You can replace a video on Youtube. I've done it. A long time ago, I had to delete the old one and upload a new one. More recently, I replaced the existing one. 209.149.113.15 (talk) 18:43, 12 April 2016 (UTC)


 * I haven't used Youtube, but "You can't replace an old video with a new one and keep the original view count, comments, or ratings" . I think you can only add a (textual) annotation linking to the response video, and/or edit the description. -- BenRG (talk) 18:57, 12 April 2016 (UTC)

Right, the "new" video would only differ in the last 10 seconds or so, showing the PIP stuff.... but if this can't be re-uploaded without losing comments etc, this is what i am worried about.

216.173.144.188 (talk) 19:01, 12 April 2016 (UTC)


 * You can trim the video (after publishing it) and add an annotation near the end asking viewers to click to view the next segment. The Quixotic Potato (talk) 19:49, 12 April 2016 (UTC)