English Language And Its Effect On Programming?
jasno asks: "I've been wondering lately about the effects that the English language has had on programming languages. Have the limitations/ambiguities/peculiarities of the English language changed how we might have created, for instance, C if we spoke, perhaps, Swahili? Since English is my only language I'm curious to see what my multilingual companions have to say about this." Interesting thought. What would Perl be like if it was coded by a native Japanese speaker?
"It's a good day to die. Let's ship it"
Well, K&R always gets me hot...
And now the same in Finnish...
As you can see from the stupid example, the structure is intact. What we have changed are the symbols used to represent the semantics of the code. As it just happens that English is the lingua franca of the world right now, why not use it...
Besides, learning the small subset of symbols (or reserved words more likely) is not so much of a task. They can simply be memorized without grokking the the meaning in English, as long as the idea behind the words is understood: "to represent a program which loops, I have to do this and this and the word for it is so and so".
But very often people invent new names for things which already exist. They call same concepts with different names. Now, I ask you this: is it possible to come up with a "nonsymbolic" programming language (or any language)? Or are symbols always inherent in a "language"?
If this is explained in Shannon's paper, my apologies, I've only skimmed it true. It's a bit heavy for me to grasp from one sitting. I'm working on it.
In the programming language case, the functionality (or the meaning meaning of the code) would just "exist" in some abstract level. Indeed, I'd name such language zen, programming through non-programming
you code without honor!
ie Europeans read left to right, top to bottom.
Most computer languages (other than Forth, hah!) emulate this.
Are there any that scan bottom to top? right to left?
Also, 99% of computer languages imply a sequntial time sequence : this then that. Although you do have some specialized variants that allow for simultaneaty (sp?).
Hmmm, what other cultural and biological assumptions do we make in our computer languages (like everything else?).
This is the latest in a long line of easily researched and otherwise boringly mundane Ask Slashdot topics. C'mon questions like this and:
are really beneath this community.What happened to enlightening topics like those surounding supercomputing? Or how about stimulating conversation in an unexplored application of technology?
What's the problem guys, hurting for content?
Posted anonymously to keep the karma alive. Oh wait, CT SEES ALL!
I harbor the notion that Japanese Perl would bomb.
Have you ever heard of the Whorf-Sapier Hypothesis? What it basically states is that the structure of a language basically determines what we can express. Notice I said "what we can" - implying that we will have great difficulty in doing something if there is no description for it in English. Implications? Maybe our failure in creating a true AI is partially because we have no language that can describe it. Of course, this may be a bunch of crap. The english language has adapted to such a extent to new word & concepts that it hard to believe that it's not flexible enought to describe any concept. If you're really interested in this kind of stuff, I suggest you read Noam Choamsky works on linguistics or take a linguistics calls at your local college (the only English class that I took that was worth a damn).
"I want to program in Hawaii"
-------
-------
"It was people! People soiled our green!"
Microsoft have Visual Basic for Applications translated I believe... At least in Excel, if you have the french version all the reserved words are in french. If you open the same document in the english version of Excel, everything is magically translated in english. Unfortunately you cannot code in french with the english versions, which makes it hell to move from one environment to the other!
Perl programmers will often create functions (subs) that take a hash-ref as an argument (or one of them). This allows you to explicitly name the arguments.
e.g
&somefunction({id => 3067, name => 'bob', title => 'bossman'});For a real example , look at DBI. Most (if not all) functions allow various error-handling flags to be set in a hash-ref as a last optional argument.
Ya gotta love perl... :) /. marks, I'll also mention that debian rules :P)
(and for extra
Then there's the grammer used in the vim editor, where adjective-verb-object, and verb-adjective-object mean the same thing ( 15dw == d15w ). With the keyboard, it's always verb-object, but with the mouse in GUI mode, it's always object-verb (Select object, then hit verb key.)
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
I wonder if they call serial ports "he" or "she" depending on if they have pins or holes. Sorta brings a whole new meaning to the "gender" of the port.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
I've recently read through that whole series. It was kind of neat because it was from a personal perspective - "I did this", and "I got a letter from so-and-so". But anyway, I don't remember seeing the part where Churchill said what you say above. I do remember him talking about how difficult it was for the Japneese to use cryptography to make secure transmissions in their language, but that's not quite the same thing.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
One of the interesting similar words that keeps coming up is "water". It seems like there's an awful lot of languages that use a "wah" sound somewhere in their word for water. I'm guessing that it's a word that evolves from a sound-effect. "wah" is kind of a "watery" sound, like water dripping, or like opening your mouth wide to drink. Also, notice how many languages use a word starting with a harsh "N" sound to mean "no". I'm wondering if there is some sort of reason for this. Perhaps it's just that those types of words are so basic and simple that they date back to way before recoreded history, and as such have common roots. (Kind of like the way all humans make the same facial expressions. Even when they grew up in isolated seperate cultures, a smile and a frown always mean the same thing. Perhaps these simple signals are so old that they date back to before humans started migrating around the world.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
I believe that most of the world is using roughly the same notation in mathematics. Perhaps I should say instead that there is no more notational variation between countries than there is within a country, for any particular math subject.
-Paul Komarek
To say that it would not matter because it would
need those elements, that may well come from the cultural context, doesn't make sense. Many language don't have loop, conditions or function calls. </I>
Then, however, these languages aren't turing complete.
<P>
The problem is not function calls and the posts that emphasized logic and mathematics were quite right in my opinion.<BR>
A programming language has to be designed to match certain restricted grammars for lexical and syntactical analysis to ensure an acceptable performance of compilers and interpreters. Usually you use a regular grammar for lexical analysis (to recognize the tokens) and a context-free grammar for the syntactical analysis (a regular grammar would be better but you couldn't express a block structure with that). <BR>
Additionally, the grammars are often restricted so that you only need a certain lookahead to determine the next parsing step. (a typical example are LL(1) parsers: left-to-right, leftmost derivation, one symbol lookahead).<BR>
These are the main things that influence the structures of programming languages. Most languages (imperative, logic, functional) languages follow this principle.
<P>
Additionally, there is certainly some influence from the real machines that only provide sequential information processing (even if this influence becomes minmal in logical or functional programming).
<P>
<I>My intuition would be that the history of programming languages would have been quite different if programming would have emerged
from another cultural block than the english one.</I>
<P>
In history, programming languages didn't resemble the English language very much, they were very close to the way the machine worked. This was just to avoid complex compilers. When theoretical computerscience provided the base for modern high-level programming languages, it didn't have much to do with English, but with automaton theory and logics.
<P>
BTW, there have been languages that were not designed by English-speaking people: PASCAL is perhaps the most prominent one (developed at the ETH Zürich), also very popular is PROLOG (developed in France).
<P>
Sebastian
I wish I spoke Japanese. I think it is the coolest language. Cool sounding, anyway. Right now I am studying Mandarin because I plan to live there next year ... Mandarin isn't nearly as pretty. Sign.
That would also make instant security enhancement - 'root' has high social status and can use commands, while ordinary user has low social status and can only ask to do something, and better not forget to bow and appologize. Would look something like Windows user trying to delete a file :)
-- Si hoc legere scis nimium eruditionis habes.
Well, English here is not ideal too. For example, I can remember about 10 ways of saying "young boy" in Russian, differing in "feeling" towards that boy, but I can't do it in English. That's because Russian is flexive language, so I can add suffixes to nouns to form "flavor words". Most of these suffixes don't translate well to non-flexive languages, you have to explain them. English words have many meanings, but they are "rigid" - you cannot really modify them.
-- Si hoc legere scis nimium eruditionis habes.
There was an excellent sci-fi story about this concept, called Babylon-17 (not sure about the number, but not Babylon-5). There was the language (with the same name), which allowed one who thought in it to achive almost supernatural powers, but it enslaved the mind of one who was using it and made it controllable by the language creator. Pretty good sci-fi, too bad I've forgotten who wrote it.
-- Si hoc legere scis nimium eruditionis habes.
Japanese is inflected on average only a little more heavily than English, so word order tends to obey convention rather than rules. Both "shigoto ni dencha de itte shimasu" and "dencha de shigoto ni itte shimasu" mean the same thing, but AFAIK a native speaker would prefer the first construct. (It means "I'm going to work on the train".)
Wade.
Though one of the biggest trends in computing is to try to abstract the math and bits away to an extent that straddles the line between performance and high-level semantic expressivity.
VM-based languages like Lisp and Smalltalk (and Python or Java to a lesser extent) are ways of trying to make the computer more "conceptual" and less "bit-oriented" while still staying realistic in terms of the necessity of terseness in order to eliminate ambiguity.
So while, yes, under the covers it's all math and logic, we can sometimes map logic to more humanistic concepts. i.e. the notion of an "object" in OOP is a real mind-twisting one - under the covers it's just a data structure with pointers to functions and a table to dynamically dispatch function calls. And for some programmers, that's ALL oop is.
But the point of OOP (at least for the Simula and Smalltalk people) was to create a whole new paradigm of "message passing entities" to perform responsibilities... That pushes software from the computing domain more into the problem domain. Though what's interesting is that even though we though OOP apparently carries more "human" concepts, it still takes programming skill to make that "paradigm shift". I think Stephanson really was right, that some people have a natural intuitive feeling for logic and programming, while others have a much harder time of it.
-Stu
Maybe they would have arrived at OO theory earlier, but I doubt they would have done it that way from the start: early programming languages were heavily influenced by what was easy for the machine to parse and process rather than what was easy for the human to write. Even these days, for the most efficient code, low level languages such as C and ASM must be used. When the cost of development is much higher than the cost of hardware (for example, in certain branches of financial services) languages like Smalltalk (easy for the humans, difficult for the machines) are used.
Well how do you expect "Egocentral Americans" to learn any other language when they can travel THOUSANDS of miles and still speak the same language with the same dialect and spend the same cash.
Do you think I don't WANT to know another language? That'd be cool as hell.. and I bet I'd get a few ladies with it too. But alas, it's impossible to learn a new language preoperly because every freakin place I go people are trying to speak to me in english.
-- Object known as a camera. Vintage uncertain, origin unknown. - Twilight Zone
Remember, you can't spell "Forth" with a "u".
--
* And remember, it's spelled N-e-t-s-c-a-p-e, but it's pronounced "Mozilla."
My girlfriend tried to show me some Vietnamese grammar once... all I brought away from it was an idea of how object-oriented it seemed :-)
--
* And remember, it's spelled N-e-t-s-c-a-p-e, but it's pronounced "Mozilla."
from the would-C-be-different-if-it-WERE-in-German dept.
Welsh has pretty short words, in general. Llanfair PG (as it's generally known locally) was made up as a tourist attraction.
:)
Welsh does look daunting, though, because it has more vowels than english (w and y are full vowels), but it's much more regular in pronounciation than English - it takes about half an hour to learn.
Incidentally, all the Celtic languages put the verb at the beginning of the sentence, essentially making them forward Polish languages
...so conceivably you could name your variables in any language, but the keywords are still in English.
the syntactic etomology of a programming language
Now this could be one of Lewis Carroll's "portmanteau" words. Ya know, two words in one, to wit: "etymology" (the root derivation) and "entomology" (the bugs)!
as many computer languages stem from math notations.
So INTERCAL came from an old HP calculator?
I can't believe "programming style" and 4th Dimension are being mentioned in the same breath. It's such an ugly language and an equally bad environment.
Sounds like item editing in Diablo II. =)
- billn
What, you think $foo and $bar are reserved words?
- billn
As a Swedish citizen I have to second that.
Because of all the english in computer manuals, computer magazines and programs I learned English much faster and easier than I otherwise would have done. It complemented and motivated my English classes in a very symbiotic way.
A fun detail is also that many European Atari ST/STE/TT/Falcon users learned quite good German since the Atari was very big in Germany compared to the rest of the world, leading to a flood of good literature and programs in German that only got translated to English as an afterthought, months later.
Even The Netherlands had a large and active userbase. Since written Dutch to a large extent is a mixture between English, German, French and the Scandinavian languages, making it very easy to get a grip on if you allready understand a few of those, a few of us also learned some Netherlands at the end of the Atari era, when programs and documentation got scarce due to the decreasing marketshare.
Directions are easy in any language. Simple if then loops with street names and addresses as variables can get you anywhere.
You forgot the obvious:
Wouldn't you use Perl for oysters?
And of course, to wash it down, a bottle of Olde Fortran Malt Liquor.
I lived there for about 8 1/2 years, you get used to it. I can't wait to go back there. Right now I'm on the mainland for college and want to go back to live there afterwards. Learning names like Kalakaua, Kapiolani, and Liliuokalani wouldn't bother you if you could live somewhere as beautiful as Hawaii. =)
A company I used to work for was the American distributor of some Finnish software. By the time I got there a lot of it had been translated , but there were still large chunks where all the variable names and comments were in Finnish! You just didn't touch those sections, and hoped that wasn't where the problem was...
Search first, ask questions later.
actually german isn't latin based. The latin based tongues are the romance languages: French, Italian, Portugese (sp?), Spanish, etc. Modern german comes from an older germanic root, which also gave forth Danish, Norwegian, Swedish (but not Finnish), Dutch, and others.
Modern English is originally based on Saxon which is also a germanic tongue, but then the Danes conquered most of England in 800 or so, and again from France in 1066. Modern English is a largely an amalgamation of various germanic tongues (Saxon and Danish) and French (which was based on Latin).
--sam
--sam
Any technology distinguishable from magic is insufficiently advanced.
You guys have all completely missed the point. Perl is like English - ambiguous, flexible and all over the place. Whereas the Japanese language was written much more consistently. Ie: What if you took people of those sort of consistent language skills and tried to get them to write a language in the spirit of perl.
Believe with me, my saplings.
No ... I was listening to some Tropicalia last night, Brazilian music from the late '60s, and you can't tell me you can't rock in Portuguese.
--
Ben "You have your mind on computers, it seems."
llanfairpwllgwyngyllgogerychwyrndrobwllllantysilio gogogoch
This is the actual name of a village in Wales. They have their own website. http:// www.llanfairpwllgwyngyllgogerychwyrndrobwllllantys iliogogogoch.co.uk
English looks relatively tame comparatively...
Hooptie
"Heavens, it appears that my weewee has been stricken with rigor mortis!" -- Stewie Griffin
As a native French speaker, I can tell you that while speaking French makes me a well rounded person, being an ex-architecture student and ex-musician helped me more.
Except for a visceral understanding that literal expressions all belong in an internationalizable dictionary and that my code should only contain symbolic links to entries in that dictionary.
Also that presentations (aka screens, windows, dialogs, maps, layouts etc.) should never be laid out with information carved into it. (Actually if you're laying out content instead of programming the rules and letting objects lay themselves out, you're doing it, uh, unscalably and creating maintenance headaches for later.)
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
If there as different as French and the language spoken in Quebec, then you could have a problem.
I thought about the topic several years ago.
About 10 years?
Well, what I notice is that the order of parameters and functions.
If a Korean native speaker with enough time to orgznize structure of his/her programming language makes one, noun based programming language can be made.
It would look like the OOP, though. Unlike traditional procedure based langauges, OOP based ones are noun based. Aren't they?
But there are something which can be change.
At least APIs have different order of parameters.
Because, English has S+V+O style, parameters has that order. Korean has S+O+V order. Sometimes I had difficulty in getting familar with some API functions, because they are not intuitive to me.
Well, it's very interesting topic. Isn't it?
That would be Watashi wa paaru wo tsuka(u|imasu).
Well, hang on a moment, I'll tell all these silly Japanese around me that they have to switch to English...
Japanese telegraphs and their "morris code" equivalent uses exclusively katakana and is strictly phonetic, just like Japanese Braille.
Radio and telegraphic code would not have carried any of the ambiguity of the written language.
Well, you are mistaken. Orders written in katakana would be many times more ambiguous than orders written in kana-kanji. You'd have to judge every word by context alone, and while that isn't impossible (obviously), it does interfere with communication to some extent.
If you still think you're right, then tell me what this sentence means: "Kisha wa maiasa hayaku kuru ga, kesa wa osokatta".
Just another note. I have studied Linguistics, Pacific and Asian studies and Japanese during my undergraduate degree.
Well, I'd go back and retake your classes, because you obviously didn't learn much the first time round.
English does incorporate new concepts quickly, but this is mainly because it is widely used, requiring such incorporation to remain valid as a tool of communication. However, this is not limited to English; Japanese also does a fairly good job through the use of "gairaigo", which actually forms roughly the same proportion of the language as the equivalent in English does (i.e., the proportion of Old English-based words is rougly equal to the proportion of original Japanese words, rather than those which were taken from China, Portugal, etc.
English retains as many "old words with historical significance" as any other language of reasonable antiquity (including Japanese). Japanese has changed with the times just as much as any other language; try reading a classical Japanese text and you'll see what I mean.
While Japanese and Chinese have large amounts of redundancy in their characters, English has a large amount of redundancy in its vocabulary; take a look at a good thesaurus, and compare the number of words for a particular concept with the number of words for that concept in Japanese (and don't try telling me that "all the English words have different nuances"; so do the different Chinese characters. Just because you can't grasp those nuances doesn't mean that native speakers make no distinction between the different characters.
One last word of advice: Don't be so goddamned arrogant.
Well, we all know that psychologists are the bottom-feeders of the scientific world, so I wouldn't bother listening to them too much.
The Sapir-Whorf hypothesis in its strong form has been discredited many times, but every time this kind of topic comes up, someone always drags it out of its grave. Please, let it rest in peace.
TRON is still out there. See here. I believe there was a new release of the BTRON OS a month or two ago, which has support for around 130,000 characters...
Unfortunately, they don't broadcast PBS in Japan, so I can't watch the program you're talking about...
Well, it's pretty obvious that the Japanese (actually, the so-called Yamato people) came to Japan from the south, and have strong links with Korea. The "no evidence" thing is total bullshit - there is evidence, but the Kunaicho (the branch of the government responsible for the Imperial Family) keeps burying it, because almost all of it points to Korea as being the birthplace of the Emperor's ancestors, and God knows we couldn't have something like that being brought out into the open... :(
The Swahili word for "onanism" literally translates as "to punch one's own genitals." And, according to suck.com's /. parody, onanism is more important than coding to slashdot users, anyway.
~wog
PS- this is supposed to be funny, not a flame
Those of you who might scoff at mentioning such an ancient language may be interested to know that this idea of separation between abstract and concrete syntax (as part of a development environment) is an important part of Intentional Programming, which is a very new research direction. It all comes full circle.
Maybe someday we'll even have some language which grants its users the capacity to be as productive as Lisp hackers were in the early 70s. :-)
~wog
Perhaps the proper term is 'subtle', or 'terse', rather than ambiguous. Any language that reaches past a certain point of complexity can be used to say anything (and therefore be absolutely non-ambiguous). Non-germanic (read: not german or english) languages tend to leave a lot of stuff out that make a sentance absolutely and braindead-easy to understand.
There's nothing ambiguous about any of:
x * x + 1 * 7 -- (infix)
(x * x) + (1 * 7) -- (paren'ed infix)
x x * 1 7 * + -- (postfix)
( + ( * x x) ( * 1 7)) -- (elisp ? )
+ * x x * 1 7 -- (prefix).
But the varieties with parentheses make it absolutely clear what is meant. Neither is Japanese any more ambiguous than English. It's just that Japanese leaves out the parentheses (and the operator when you're multiplying, and encourages you to to mix postfix and prefix, and...).
Thus the equivalent of goto in German or Spanish C would be gehnach and vapara. Ugh! Better stick to writing spaghetti code in C.
Then again, all of the above is just MHO and IANAL (not a certified linguist, that is, just a diletante).
--
Information wants to be beer, or something like that.
The nightmare would really begin when someone from the German branch woul send you an Excel macro in German VBA that would bomb in Portuguese VBA. Shudder...
--
Information wants to be beer, or something like that.
I have just one thing to say (and please, don't take it personally): you are very naïve about linguistics and the above sentencs only show some common misconceptions that are more realted to prejudice and ignorance than to knowledge of other languages/cultures,
All languages are capable of expressing the whole spectrum of human emotions/thoughts/impressions. It may be expressed in somewhat different shades of orange, so to speak, but the essence of the picture is the same. That's the first lesson of Language 101.
--
Information wants to be beer, or something like that.
And it all shows in the end result.
--
Information wants to be beer, or something like that.
I would venture to warn you that most American shows are translated and dubbed in the local languages when aired abroad, but I bet you already knew that, didnt't ya?
--
Information wants to be beer, or something like that.
Not to mention those darn cartoons! Eww! Did I mention I hate anime?
--
Information wants to be beer, or something like that.
no, india has an usually high density of people, period. i would actually posit that the percentage of computer literate or skilled to non-skilled in india is much, much smaller than say, northern europe.
i browse at -1 because they're funnier than you are.
"Jambo Bwana."-- don't ask me about Swahili -- I only ever got 10% in my Swahili test in school. :-(
Just because the japanese use that grammar structure dosen't mean it would affect things. One of the reasons a function header is in front is for indentification purposes. Makes it conveniant to have a nice tag at the start of a block.
Besides, wouldn't compilers have a problem with languages that required that much lookahead? Fast compilers and interpreters usually use predictive parsing and similar stuff for translation. I don't think it would work very well.
Watashi wa Perl ga sukurimas (I use Perl) (I think it's sukao for use, isn't it?) probably isn't the best example anyways. If you look it actually follows a regular pattern that reminds me, at least, of programming. You specify what something is, then what is being done with it.
- Paradox
Man of the C!!!
Slashdot. It's Not For Common Sense
Take a look at this. :-)
--
Unselfish actions pay back better
Ruby?
I have enough trouble keeping the syntax errors at bay that I would be in a world of hurt if I had to keep track of whether my variables are masculine or feminine.
You could check out Ruby. Ruby is essentially Python designed in Japan (with, of course, a different author).
I think we've pushed this "anyone can grow up to be president" thing too far.
The absence of parens is not a cause of the RPN, but of the unexistence of operator priority. Order does matter. Consider the following, both without operator priority (calculated from the left to the right):
2 + 3 * 4 == 20
2 3 4 + * == 20
The problem is these damn operator priorities. And they even make the syntax of programming languages more complex. Operator priorities are from hell!
--The knowledge that you are an idiot, is what distinguishes you from one.
--The knowledge that you are an idiot, is what distinguishes you from one.
Actually I have thought about the whole subject of how language impacts upon coding (every now and then I pick up a basic language text from something from a totally different linguistic family - usually chinease or Japanease but I'm meaning to get around to russian and maybe look at some american indian languages).
And while I agree with other posters who have said that a language does not completely shape the way people view the world I do think that the subtlties associated with any given linguistic family do have a strong impact upon the eligance of the solution.
This has two clear implications for language design:
1) In 1984 newspeak is a deliberatly restricted set of language components designed to make it impossible for people to express certain opinions. This can be taken forward into language design to prevent people from constructing "unsafe" constructs - i.e. removing GOTO's as a command, possibly hiding dynamic memory allocation (ala Java) or maybe enforcing extreamly strong static typing. These changes often make coding a solution a bit more difficult but can lead to more provable and reliable code.
2) You can take the other approach and allow many different constructs all with similar but subtly different meanings. This is predominalty the approach which Perl takes with its mixture of very high level constructs (grep, et al.) and very low level (interupts, if's,etc...). This leads to a language which is very easy to express yourself in but has the problem of being quite hard to read.
None of this of course has touched upon any of the functional languages (haskal, gopher, PROLOG and to a certain extent SQL) which try to do away with any notion of considering the flow of control and move simply to specifiying the required solution.
In short I think that the languages which the developer of a program has an appreciation of does shape the solution which they eventually arrive at - and the language which they are working in determines how clean the implemenation of that solution is.
just random musings.
Tom
It isn't so much the thought of a foreign vocabulary that is intertesting, but the idea of foreign grammar!
:= else else else := fi fi;
ALGOL-68 had a slew of english functions... and then there was entier() which meant floor() but was expressed in French because the Frogs decided it wasn't fair that all the functions were in English (I ask you!).
But the structure of the various statements followed an english-like gramatical syntax.
if if = then then then
Yes, the keywords were not reserved; they had to be bold to be recognised as keywords! (Or underlined, or single-quoted.)
But no matter how confusing the choice of names; even if they are in the Russian alphabet, the grammar is essentially english: if condition then action else alternate-action fi But perhaps in some other human language, condition/alternation is expressed in some other gramatical form? What about:
do action providing condition otherwise alternate-action done
Alas, I don't know any other human languages, so I'm making it up! Any stack-based human languages out there? Besides Polish, I mean...
:)
My first language is french and I learned English by myself. I don't think that programming languages would be much different if they would have been created by people speaking any occidental languages because all of these have really similar roots and mindsets.
Asian languages on the other hand are another thing. I used to work with a chinese guy and he told me that for him learning english is really hard because oriental and occidental languages have been created and developed with totally different mindsets. I guess this would have transgressed if for instance C or Perl had been developped by Asian people... I think all the paradigms and methodology that we take for granted in programming would be different. Hell we might not even have IFs statements! Who knows...
On the total opposite way I can say that programming has greatly affected the way I speak my native tongue (french). Sine I work in a professional environment I use english more and more and I sadly came to realize that sadly my french is much poorer than it was about 2 years ago. Has anyone else experienced the same kind of feeling? That you are UNlearning your own language because of your working environment?
"If liberty means anything at all, it means the right to tell people what they do not want to hear"
One of the most unique experiences I've had regarding languages was in the mid-80's, where I saw an Arabic word processor (characters go right-to-left, and the shape of characters change with the [developing] context of the sentence), written by an Egyptian national living in Montreal. The code was in MS Basic with all the comments and variable names in French. Whew!
Well, apparently, you only have to fool the majority of people for a little while.
Hey!
Watch it, buddy - That's something we take very seriously over here!
Go-ji-ra attacks are nothing to kid about. People could get hurt in the resulting stampedes...
-- My Weblog.
Plus, the compiler would never point out your errors - it would appreciate your efforts and do its best to accomodate them.
-- My Weblog.
> yes, there are more than 200,000 characters in Japanese, but that is said to be the average that you need to know to get started.
Don't you mean 2000? My understanding is that you are considered 'literate' knowing the 1,945 'daily use' kanjis, (What is taught in schools and used in newspapers.) Plus a handful of obscure kanjis used mainly in family names and classical references and such.
(At my company, we frequently have to use kanji in programming perl - one of our databases has kanji column and table names. Perl has never even blinked.)
OT funny story - I had a meeting with a vendor and he was asking what localization requirements we had for a software package they were selling us. I knew they had just jumped through many hoops to get their program to take Japanese input, so I told them with a very serious face that we needed the reports to be able to print the kanji vertically.
You should have seen the looks on their faces -
Cheers,
Jim
-- My Weblog.
>I meant to write 2000
Maybe you converted it to yen in your head - I do that sometimes with non-money things...
Cheers,
jim
-- My Weblog.
>would roughly reconfigure as, "I Perl Use."
Actually, most people would just say: "Perl use."
Perl o tsukau. ('o' is an object particle.)
Which also means:
"(I/You/he/she)(uses)/(will use)/perl."
It's all context sensitive, kind of like "$_", I think.
That word order never proved a problem in learning Japanese - what gets tricky is adjectives. For example, to say "It is delicious.", you say:
Oishii desu.
(Oishii = tasty ; desu=is)
The past tense of desu is deshita, but you would never say "Oishii deshita".
In the past tense of this construct, the adjective gets modified to:
"Oishikatta desu."
Note that the verb is still in the present tense.
Once you wrap your mind around that, you can see where the real differences could occur.
Perl is very popular here in Japan.
Perhaps it is Perl's flexibility of syntax that makes it so.
Cheers,
Jim in Tokyo
-- My Weblog.
Linguistics is a lot more than just the vocabulary. Word ordering and phrase ordering make a big part of it. Culturally, there is also issues in precision and granularity (How many names for snow does an eskimo have? Is a notion important enough to have its own word? (something makes me think there is a language that does not have the word "no"; euphemisms are required)).
anm
Once I finish fighting my way through "Latin: An Intensive Course" I'll help you out with that. Sounds cool.
Blar.
I started programming computers before I had learned the English language. I think this is an advantage rather than a disadvantage. The words (of the programming language) you learn are not occupied by a meaning of daily life.
I think this is true generally working in a special field: use foreign words and they mean exactly one sharp defined thing.
Another pleasant effect: I have learnt quite a few English words due to my occupation with computers (not only programming languages).
Other than variable name choosing and source code comments, probably nothing.
I'm a south korean and I am native speaker of Korean. I am not a skillful speaker of english so please allow me if there are some serious bugs in my posting. :)
:)
:)
There has been some tryout to build a programming language based on Korean. Yes. it would be easier if children can learn their first programming language in Korean. The most successful programming language based on Korean was 'Ssi-Aht.', the meaning of which is 'seed' in english. It was beautifully designed and some schools had tried on the 'Seed' language. The original designer built fairly good compilers, some libraries. It was about 7 or 8 years ago but it's now totally gone. What had happened?
First, programming language is to describe 'logical' procedures.(or concepts) As Koreans use the Mathematical variable names written in Alphabet and Greek letters, so does programming language. It does not matter much if anyone write 'for i = 1 to 10 do' as 'i = 1 booteo 10 kkaji banbok'. (note that banbok is the word for for in Korean but attached at the tail, and to was converted to two words.)
So even as children who doesn't know the English language do not feel it very difficult to understand the basic grammar of any programming language. I myself began to learn BASIC language when I was 11. Of course the child should learn how to read alphabets, but he doesn't need to learn the English language to do a real programming.
Furthermore, 'Seed' language does not have large audience. It's design was very good reflecting the main feature of Korean language, but it was optimized for Hangul (Korean alphabet) and Korean language. Korean population is at best 70M (including South and North). It is surely a minority compared to US and EU, the people of which use alphabet-derived letters and speak languages similar to English in grammatical sense. However hard the Koreans try, they cannot catch up the large resources of computer languages already written in English.
I don't know what would happen if China try to build their own computer language, but I don't think chinese letters are easier to type in than alphabet.
This is my personal thought, but CJK language is not very useful to describe logical concepts. They are all ambiguous in a sense. For example, the chinese word 'Tao' means virtually everything. The Tao of physics, The Tao of Perl guru, The Tao of learning, and so on. Tao cannot be described exactly. Only the wizards know it, like Yoda in StarWars knows it.
Personally I prefer math books written in English: Of course many good Korean math books are available but English Math is written more clearly and crisp than Korean Math books.
It's already enough to program in English. The cost for learning programming in English is learning how to read alphabets and how to type alphabet letters on keyboard.
The problem with various language with programming is not the programming language itself, but how to deal with different language in any application: Internationalization (I18N) is very important. English speakers tend not to care about multibyte character cultures. It is better than the past, but I always have to recompile many packages with the options for 2-byte characters. That is just a minor chore, but there are still many applications that should be modified and localized. I18N is very important: If a programmer adopts I18N feature, then everything will go fine.
Most western people tend to know too little about other cultures. Well, I admit that the need for learning other languages than English is very low for them. This is my opinion, but it can be a rewarding experience if one has knowledge on other cultures, especially the different language.
Are there any? [non-English programming languages]
Sure. The Russians had and have a bunch of programming languages in pure Russian. Some are just translations (e.g. Pascal) and some are true originals, unavailable in anything but Russian.
Kaa
Kaa
Kaa's Law: In any sufficiently large group of people most are idiots.
One very important thing to remember is all the modern computer languages can be expressed with rules using BNF(Backus Normal Form). These computer languages are called Context Free languages. None of the known spoken languages are can fit into the definition of a structured language except Sanskrit.
Panini was a Sanskrit Grammarian from India in 6th century BC. Panini's grammar provides 4,000 rules that describe the Sanskrit of his day completely. This grammar is acknowledged to be one of the greatest intellectual achievements of all times. What is remarkable is that Panini set out to describe the entire grammar in terms of a finite number of rules. Frits Staal
has shown that the grammar of Panini represents a universal grammatical and computing system. From this perspective it anticipates the logical framework of modern computers.
Read more about Panini Panini Grammer
Unix is simple. It just takes a genius to understand its simplicity. -Dennis Ritchie
I think you're missing his point. It's not about interpretation it's about observation. You and someone from China would have the same 'mentalese' way of describing the scene. Female: subordinate, angry, shouting at male. Your internal language to describe the scene would be the same only verbalized differently. Each of your interpretaions of the scene are a completely different matter.
SeanYou're correct, normally I compose my posts a word processor it catches most of my spelling...
It's called Fourth
Eiffel (French)
Prolog (French)
C++ (Danish)
I'm sure there are many others.
"But it is clear evidence of Slashdot's decline, and I'm not trolling or flaming. In the past when questions like this came up, there were always linguists around who would have shot the original question full of holes within the first 50 posts."
I fully expected to see all kinds of linguists pop out the woodwork--I really meant my post to kick that off and get us past the "C uses the word 'if' therefore Americans are imperialist dogs" phase of the discussion.
"Now, thank God for him, we rely on an IANALinguist who has read Pinker's book at least."
Make that "Pinker's books". It sounds like you might be in the know--what other books are good? (I'm not up for full-frontal Chomsky yet...)
--
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
Pinker (presumably not alone, but I didn't read the bibliography) totally demolishes the Sapir-Whorf hypothesis that language shapes/creates thought. So don't claim that VB creates bad programmers. (I'm not going to argue that they may be correlated, though...)
--
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
Let's face it. Americans, we're, well... stubborn and lazy. Most of us won't even learn another language... Do you think we would actually write in a programming language that required us to first learn a foreign language then learn to program based on it?
;-)
I REALLY don't think so.
Besides, since everyone else is so accomodating as to learn English, why should we bother to learn other languages?
I'd have to disagree with most of the posters that spoken / written language doesn't have much impact on computer language. I don't think you can narrow it down to English, but programming languages have definitely been influenced by western languages. Two examples off the top of my head:
Most computer code reads left to right, top to bottom. If modern computers were developed primarily for Chinese or Hebrew, there likely would be a different approach.
Most programming languages rely heavily on punctuation to define syntax, just as it defines sentence structure (albeit much more loosely) in some human langages. Convenient, because these symbols already exist on our keyboards. What would our computer langages look like if they were created by a culture that doesn't use punctuation?
I'm sure there are a LOT more, as long as you consider romance / germanic / etc... languages as a group, and look outside of them for more radically different forms of written communication.
An interesting piece of trivia about Sanskrit was that its grammar apparently can be expressed in BNF. I can't remember the details, but the Dragon Book mentions that in the late 1800s, a scholar studying Sanskrit characterised its grammar in that form.
You're a suburbanite.
I live in Mexico. About 15 years ago, my parents sent me to a computing introduction course. Like any good course in the mid-80s, it started where it should start: Teaching the kid to think, to program. Most of us knew little or no English, so the staff at that school took the job of translating all (at least, most of) Logo to Spanish. It was quite usable... I don't remember Logo's syntax anymore, but it was more or less:
:x :y
:x
:y
:x
:y
:)
:)
para Caja
camina
derecha 90
camina
derecha 90
camina
derecha 90
camina
derecha 90
Of course, Logo had a very limited syntax... Although, of course, it was very fun and easy to use for kids... All my best wishes to Dr. Seymour Papert, who made me what I am today
A few years later, at a local expo, I recall seeing a BBC computer (don't remember the name, they were pretty popular back then in Europe), with EBASIC in a cartridge - A translation of BASIC to Spanish. You could switch between BASIC and EBASIC. Of course, an EBASIC program would not run on BASIC, the commands were completely different.
However, they both were educational programs. I doubt a similar thing has been done (successfully) in any serious language... for kids, anyway, languages did not have to be THAT confortable
Umm, I think you mean COBOL in the second paragraph.
C++ in finnish? What a horrible idea.
luokka PeliOhjaimenAkselinTarkkailija
{
julkinen:
tyhjä aseta_herkkyys(
liuku aste);
liuku hae_herkkyys(tyhjä);
suojattu:
liuku herkkyys;
};
Brr. There was, once upon a time, a FINBASIC hack for the C64 that would alter the tokenization thingy in the RAM copy of the C64 ROM so that the commands would look vaguely like finnish. That was even less pleasant than C64 basic by itself.
Programming languages are borne out of mathematics rather than natural languages. This is a very stupid question. Mathematics however, *is* a natural language, and you may question what would happen if mathematics were conceived otherwise.
Period
--exa--
Hoc ei propinabo!!
("I'll drink to that!!" for those non-Latin-speaking folks.)
I'm sure it would beat the pants off of plowing through Wheelock's. (Agricola, agricolae...)
English and German are not based directly on latin. German is a germanic(don't know the correct spelling;) language and english too but english has been hevely influenced by french that is mostly a latin language with just a little influence for germanic languages. Thay all are indo-europeean though. I have studied (but not in collage) latin ancient greek, spanish, frensh english and live in Sweden. My experience is that the more languages you get in contact with the easier it gets, althogh I don't master any of these languages 100%. And a final thought, programing lanuages remind me of logic formalization more than of english p q r
De lyckliga slavarna är frihetens bittraste fiender, legalisera!!!
Code review would involve dancing through the code instead of walking through it...
We'll need several gigabytes of disk space for the compiler "localization" file collections...
But thanks to Japanese FORTRAN we'd all know that variables containing the symbol [NUMBER] are only for integers. (Yes, I know there are several Japanese writing systems. For computers, the ideograms are the most different from the common ASCII codes.)
We get a lot of software from Germany, particularly from HP. (I work in Canada). I can say that there seems to be a very definite, uhh.., "German flavour" to the programming style.
Though I am fluent in English, I also grew up with another language, and my style seems subtly different from my peers who are "English-only".
I can certainly imagine there might be cultural effects on the programming style.
> language constrains thought
I would certainly agree with this. The thing is, the language doesn't necessarily have to be recognised as such: it could be a highly individualised, highly specific "language" that don't even get fully consciously expressed.
Thought *is* language: it's just manipulation of symbols, whether that manipulation is conscious or subconscious.
> if a language doesn't change the way you think about programming then it isn't worth learning
Kind of obvious, really. The only reason for using different languages is that they're good at solving different problems; and therefore that they cause you to think about problems in a way that makes those problems; and therefore that it changes the way you think.
There are some good French alt-rock groups, Autour de Lucie to name one. Also, hip-hop works pretty well in French. I concede that I have not heard the French equivalent of Zeppelin or the Sabbath.
The menumonics in say, Perl, have never really helped me (e.g. $/ has something to do with poetry I think). But mov ax,3 would be pretty damn hard to remember if MOV meant something other than MOVE. Or how about jumps? JNE, JZ, et all are already pretty difficult to remember even for an English speaker.
--Last Exit To Babylon
Actually it would be worse. The issue is repetive tasks. The larger the character set the better.
>English is very good at compounding words, which >makes it easy to express new concepts such
:)
>as "astronaut" or "e-commerce" (blech)
>or "batmobile". Whether that has had an
> influence on technological development or not,
> I couldn't say.
I have to agree here ! I view this as the main strength of English and more generally all the anglo-saxon languages.
When French use a "periphrase" or a sentence to mean a new concept, Eenglish often invent a new "word" which is associated with the concept, this is much stronger. I admit this linguistic and sociologic. When you do that you extend the vocabulary ! The Word and the Concept interact in very powerful way stregthening each other. This what "buzz word" is all about. I believe that English is much more subject to "Buzz words" than other languages I practice, for this same reason.
Something else, when I am programming I find it easier to name my functions or procedures in English than in French, because of this same concept thing. The meaning is easier to understand and is more concise if it's writen in English (for someone who speak both languages of course).
Here an example : In French you will call a function which fetch a value chercher_la_valeur, notice the pronoun, this a sentence ! while in English you will naturally call it : get_value, this closer to a concept than the French form.
Well maybe I am subjective too
Just to add something from my experience of working here in Germany:
I'm a native English speaker, and I often see my German colleagues struggling with things like "SET CONCAT NULL YIELDS NULL OFF" (from sql). It's easy to learn simple keywords for normal programming-language flow, but complex things like that are more difficult - how do you explain the meaning of 'yield' in that context?
To a lesser extent, the same kind of thing can happen within English: I remember, many years ago, seeing my uncle proudly demonstrating a language that was written almost in plain English and thus was very easy to understand, supposedly (it was the scripting language for HyperCard). But imagine this fragment:
"for i from 1 through 8".
That's only 'natural' to an American, to an Englishman it might as well be formatted more like "(i=1;i==8;i++)" as far as ease-of-use is concerned.
As my mother tongue is German, I find it very interesting to imagine how e.g. the C language would look like if it would be based on the German language.
Some constructs, such as while() would have equivalents that sounded kind of ridiculous, I think - just because there is no literal translation of certain circumstances.
Just my $0.02, don't waste too many thoughts on them.
> c++ was constructed by some danish guy called stroustrup!
Yes, but the keywords that C++ uses are based on the English language, aren't they?
I am an American and I speak five languages, or at least at various times I have. So, what does that make me?
Answer: A polyglot
--Somewhere there is a village missing an idiot.
I assume you're implying it would destroy it because you'd be typing the same cramped characters over and over and over again...
plus, don't hawaiians use longer words because they have fewer sounds to work with? It would make variables incredibly long...
It would have been obfuscated.
Oh wait...
If I say "She berated his ideas" You can get lots of different mental pictures. This is the inherent ambiguity of all natural languages. When I hear people talk about unambiguous languages I laugh cause people always bring baggage to the table but what Pinker was saying I believe is more like all people think in similar ways fundamentally and more importantly the specific language someone uses doesn't hinder expressing ideas. You might have to coin new words but all languages are equally expressive. The reason for this is the children demand it but that's another story.
Also I saw another poster say modern languages are simpler than old ones. This is false they're just different. (to be was regular in Proto-Indo-european for instance)
Back on the topic of computer languages I think they might look different if inspired by other languages but math notation also had a hand in things (3 + 5 not 3 5 +) but then we have lisp so I don't think natural language prevented us from over turning every rock either. (or maybe the inventor of lisp spoke welsh or some other VSO language)
As a side note, Chevrolete had a hard time selling the Chevy Nova in Latin America. Someone finnaly realised that Nova or "No Va" means "It Doesn't Go".
I used to think that as well, but I found out recently that it's an urban legend. The Chevy Nova sold well in Latin America, and "Nova" has a colloquial meaning as "new" (think "bossa nova," whatever that means).
For more information, click here.
Most English sentences are subject, verb, direct object. English verbs are quite different than the Roman derived languages like French and Spanish. In English the verb is conjugated with a subject word. In Spanish and French, the subject are verb are combined into one word.
For example, in English one would say "I Go", "You Go" and "It Goes" for the verb "To Go". But in Spanish, the same would by "Voy" (I go), "Vas" (you go) and "Va" (it goes). As a side note, Chevrolete had a hard time selling the Chevy Nova in Latin America. Someone finnaly realised that Nova or "No Va" means "It Doesn't Go".
Most programming languages in the C, Java, fortran, or basic paradigm are dumbed downed versions of English written in second person singular. English also has an Implicit Subject feature for second person singular. "You (the machine in this case) loop or begin or write".
Changing all the verbs in a computer language to a dumbed down version of Spanish or German or Russian could be done. But to be complete you would also need to change the function names like print, open, fetch and others.
There are character set issues, of course, which are important, but beyond what I want to talk about now.
Cheers
This is a boring sig
I think I've seen a version of LOGO with Russian keywords. Probably because it's primarily for children. Of course that was mostly a translation of keywords, with little or no change in syntax.
But I don't know of a language that was written in Russian initially, though there could've been one or several.
"Teachers of English" isn't any less ambiguous, because it could be interpreted as meaning "teachers who teach English folk". Perhaps you should try "teachers of the English language", which is far more verbose than doing a prefix construction: "English-language teachers".
"If one is really a superior person, the fact is likely to leak out without too much assistance" -- John Andrew Holmes
oh my god that's hilarious, i'm so sorry
i think you should be able to get Hazardous Work Condition pay for that..
...dave
Think different? I'd be happy if most people would just think...
This is right, the word was mokusatsu, and the definition is correct. The japanese linguist however explained that a man of the Prime Ministers stature might have meant to use the word in the following context: Say you want to buy my shoes, you offer $50 for them, but they are clearly worth $500, instead of insulting you I would simply say nothing in hopes that you would realise your error and adjust your offer. Truman didn't accept this possibility however, and went forward with the bombings.
-- iCEBaLM
Can you imagine C after it "borrows" a few verbs (function calls) from say smalltalk?
Objective C?
In what way is the hardware we have (closely related to software of course) related to our language.
If you are familiar with the hamer (our language) then the answer is going to be a nail (our hardware/software). Which might be the best fit, for us. Otoh, other languages like Japanese/Chinese have other characteristics (that could be usefull in semantics/new computer paradigms?).
nosig today
Maybe Perl in Japanese would let you create its own characters out of existing ones, then use the new characters in the programs. And you think Perl is compact and hard to read now.
Hmm... Wouldn't this be a cross between Perl and Forth -- and maybe APL?
die unless $everythingOk;
though it's maybe just a matter of taste.
Basically programming-languages in other languages would follow the same syntax as they would have in English, you'd still need loops, variables, etc. etc. The only thing the foreign language adds is that less people will get it. Take for example MS-Excel, they've translated the all the spreadsheet-commands into native language, which is terribly confusing.
I know what count.if() does in the English version but how on earth should I know that it's Dutch equivalent is aantal.als()?? Or what if I ever were to sit behind a Spanish Excel? It'll read the files I made with my Dutch version without any difficulty but still it's impossible to use either count.if() or aantal.als().
As does German. In fact, usually _all_ the verbs go at the end. Which can be quite painful in a compliacated sentence (at least for this very bad German student).
... You can put verbs at the end in longer sentences, you don't have to. It is a commonly used practice by Germans when trying to confuse exchange students, though :-)
...
Not really
Als ich (<-subject1) mit meiner Freundin, nachdem wir im Theater (<-subject2), das erst neulich mit Geldern aus der EU-Hilfe komplett renoviert und restauriert wurde (<-verb2), zu ihr nach Hause in die Parkallee ging (<-verb1),
Rather to math majors. Lamba-calculus had some interesting back-door analogs to Goedel's theorem, unless I dreamed that one...
Boss of nothin. Big deal.
Son, go get daddy's hard plastic eyes.
Expanding a vast wasteland since 1996.
- String firstName;
- String middleName;
- String lastName;
Instead, how about:When you look at these names, your brain immediately clues into the fact that they are related - it is able to compress the information a little better, and the code becomes a little easier to read and therefore maintain. This is my experience at least. I try to organize my thoughts in an object-oriented way, and naming variables in this way is a natural consequence of that -- first, middle, and last names are just specializations of the name concept, and I think top-down much of the time. It makes the names seem more awkward at first (because they are less English), but I suggest you try it. I think that trying to make code look as much like English as possible is a horrible mistake anyway.
Names have a bigger impact than most people realize. Good names help us organize the information in our brains. Poorly chosen names reflect disorganized thought, and they can have long-term ill effects.
-Adam
I thought the joke was:
...
Q: What do you call someone who speaks one language?
A: English
Q: What do you call someone who speaks no language?
A: American
Actualy, the Japanese communication security was
very good. Most of the comm traffic relating to the
Midway operation was not decrypted. This was because
the Japanese Navy changed codes, even though they
never suspected that JN65 had been cracked. The
only indication that the apperant operation was to
target Midway, was one referance to MI. Basicly
the US gambeled that Midway was the target. Yamamoto
actually wanted to engage a serious portion of the
weakened US Navy in order to crush it. The major
factors leading to the Japanese Naval defeat were
a reduction in available strength ( Orders from
on High to split the force for a Aleutian operation,
and to shore up problems in the South Pacific) and
evolving air tactics. All in all the US Navy was
very very lucky.
There are multiple kanji characters (and therefore meanings) for the same vocal sound. It is not uncommon for Japanese conversationalists to have to resort to drawing the kanji characters on the palms of their hands for clarity.
This would indeed prove to be somewhat inconvenient from a tactical standpoint.
Perhaps you see bigotry where there is but fact.
"It is precisely this sort of pedantry up with which I will not put." -- Winston Churchill
~REZ~ #43301. Who'd fake being me anyway?
``Can you imagine C after it "borrows" a few verbs (function calls) from say smalltalk?''
Uh, have you ever heard of Objective-C?
FWIW, this sort of discussion is pretty standard in the linguistics community, Chomsky, et. al.
William
--
Lettering Art in Modern Use
http://members.aol.com/willadams
Sphinx of black quartz, judge my vow.
I had a friend in college who grew up in India, and she said they were taught english since they were 6 years old. She said English was much better for technical and analytical detail, but that Hindi was better for more descriptive things like cursing people out ;)
This reminds me of the interpreted basic on the Apple, where, due to a quirk/feature of the interpreter (I don't believe this was an actual feature of the language, although I could be wrong), most keywords had a symbol equivalent. The most common was to use '?' for "print", although sometimes I saw a few others.
#!/bin/perl -sp0777i$/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1. .)*)$/)
lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((
Doesn't ENGLISH perl look like line noise to begin with?
Linguists aren't really interested in orthography at all. What ultimately define a language are the structures that represent it in our minds... evidence about those structures can be found (for this case) by looking at things like stress and hyper-articulated speech. Spelling isn't very useful at all.
MSK
q: What do you call a person who speaks 4 languages?
a: A polyglot
q: What do you call a person who speaks 5 languages?
a: A showoff
That woman speaks eight languages and can't say "no" in any of them.
-- Dorothy Parker
Well for sure it would have -Y- instead of $.
There are only so many sounds humans can make, chances are pretty good two languages will have some semantic overlap, especially given that people tend to mold what they hear to their own understanding.
Cheers,
Rick Kirkland
Reverse polish notation anyone?
Cheers,
Rick Kirkland
No matter what language it was developed in, lisp/scheme/derivatives will still be 90% parentheses ;)
His real name was Strudel...
God Damnit Katz, is it so bad that you have to post your shit under AC ?
University Psych. courses (University of Alberta, Canada), will teach that language and thought patterns go hand in hand. For example: Chinese speaking children (mandarin/cantonese) understand mathmatics more readily because there language supports a base 10 number system. Instead of counting ...nine, ten, eleven, twelve..., they will count ...nine, ten, ten and one, ten and two....
"...European language..."
You know that English is a European language, right?
Mike van Lammeren
Mike van Lammeren
It will challenge your head, your brain, and your mind.
"rabu" is a typical Japanization of the English word "love" - you find it in "rabu hoteru" (love hotel) and other phrases spelt with Katakana rather than Hiragana characters.
"ai" means love in "real" Japanese.
Is it not the case that highly inflected languages tend to have less rigid word order? There is very little inflection in English, and it has a fairly rigid word order. Yes, you can put the words in a different order, but it usually changes the meaning of the sentence.
Ever see a pointer?
EagerEyes.org: Visualization and Visual Communication
The answer is: European! ;-)
...)
(yes, I am European myself
EagerEyes.org: Visualization and Visual Communication
A course requirement was to find the resource online. I only knew I was looking at the right algorithm because it looked similar to one from the books available to me at the time. Cut me some slack, amigo... :)
DO NOT LEAVE IT IS NOT REAL
The BeOS is Unicode compliant. From the ground up. UTF8 is very useful.
tasty and delicious
I like the idea of writing a C compiler that will only compile code that reads as a haiku:
int a = 3;
if (a < 200)
printf("Sushi Rules!");
Mmmmmm, warm fuzzy feeling inside.
***** Ooops, forgot to preview, sorry!
MIT???
I thought chomsky was a harvardite...
I've had people in SF try to sell me on his "geinus" before with pamphlets and book excerpts, and he comes off to me as one of those snotty, holier-than-thou (ultra)liberal arts types, as you would expect to spawn from Harvard... but MIT??? What the hell would he be doing *there*?
Certianly, he's no techie.
john
Resistance is NOT futile!!!
Haiku:
I am not a drone.
Remove the collective if
Imagine all the people...
>usually _all_ the verbs go at the end. Which can
>be quite painful in a compliacated sentence (at
>least for this very bad German student).
Then it should be quite easy for all of us who have had to get used to useing Hewlett Packard calculators!
I used to curse HP daily for useing postfix notation (easier on the CPU, harder on the person than the normal (infix) way to represent an equation). But now that I'm used to it, I realise that Yoda must be the bastard offspring of Dave Packard. foo
john
Resistance is NOT futile!!!
Haiku:
I am not a drone.
Remove the collective if
Imagine all the people...
Even in the center of Chinatown, everyone (or most everyone) speaks enough English to make knowing chinese unnecessary.
It isn't like a foreign country, where finding an english-speaker might be difficult.
The cake is a pie
Well, I don't take offense, but I wouldn't have moderated it funny, mostly because I've heard it about 50,000 times.
But what people fail to do is to examine why most Americans rarely speak more than one language. It is one thing for a Belgian to be multilingual. There are likely five native languages spoken within 200 miles. Me, I live over 800 miles from the nearest place a foreign language might actually be useful. So obviously the need just isn't as high.
When you look at it, a dairy farmer in Iowa has no need to speak French. Speaking French is as useful to him as knowing perl. Sure, it might be edifying, but is there really any point to calling him ignorant for not knowing something that is mostly useless to him.
I, like a lot of Americans, took a foreign language in high school. But my German has dropped away, mostly because there just isn't much use for German in the San Francisco Bay Area. Had I grown up in, say, France, it is a pretty good bet that I'd speak German well with the exact same education in the language.
The cake is a pie
Yes, and ever notice how rock works in German and English but sounds really lame in any romance language?
The cake is a pie
Hey, I grew up in San Diego, and took German...
But yeah, a lot of it has to do with economic conditions. Countries in Europe are fairly equivalent in power and affluence, so the languages meet as equals. On the US-Mexican border, the power is lopsided. You can do pretty much anything you want speaking English in Tijuana because of that power disparity.
The cake is a pie
What about in the middle of Russia or China or Saudi Arabia?
In a word: TV.
A lot of this has to do with the fact that for good or ill, English speakers rule most media.
The cake is a pie
Yeah, I was thinking of the hard stuff, not hip-hop. I think it is all the gutterals.
The cake is a pie
Why the heck did you go on Yahoo, instead of just picking up a textbook on sorting algorithms?!!! You really trust what some unknown Argentinian posts on his web page better than a textbook that has presumably been carefully edited? Learn to use a library, for God's sake!
Sometimes I wish Slashdot had a -1 Moron moderation.
OK...fair enough. Though the choice of course requirement sounds moronic. :-)
Wouldn't you use Ada(r) for Lemon-ada?
Wouldn't you use C for fruit punch? Specifically MetaWares Hi-C?
Wouldn't you use LISP for a Peanut Butter and Jelly Sandwich?
Wouldn't you use Basic for Spaghetti? (somebody had to say it!)
Wouldn't you use Python for Rattlesnake Chili?
Wouldn't you use SNOBOL for Hostess(tm) snack cakes?
General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
I think Sanskrit and Finnish might be distant relatives.
:-)?
Are you sure? IANALinguist, but I would assume both of the following:
1) Sanskrit is Indo-European,
2) Finnish is Finno-Ugric.
Totally different families.
Just out of curiosity, who were the Finno-Ugres
General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
Ada (shudder)
procedure F(foo : in integer; bar : in integer; baz : in out integer);
--...
F( bar => 3; baz => the_result ; foo => 7);
or Visual Basic (shudder again), which also has a variant on named parameters.
General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
That's when you analyze the program, and then re-write the afflicted section. Surely everyone can do that? :-)
Deliver yesterday, code today, think tomorrow.
For ages AppleScript has had localized dictionaries of keywords. The interpreter consults a lookup table that translates localized keywords into the default English dialect. This means that you can open ScriptEditor and type:
por chacun feuille in cahier "Untitled"
ouvrir avec "SimpleText"
fin de por
and it would execute just the same as:
for each file in folder "Untitled"
open with "SimpleText"
end for
I think they did this because AppleScript was billed as such an "English-like", as opposed to natural language, scripting system. I don't personally know anyone who has used this feature and found it helpful, but I always thought it was interesting.
Apologies in advance for poor French and/or AppleScript syntax. Both are languages I don't use a whole lot anymore.
Well I am French , work for an Irish company
and English is pretty bad because it's very limited in the amount of character used to start with (how many times have i seen us programmer using 7bit code page...) also the grammar is to simple I guess Latin would be a nice option.
My drinking team has a Rugby problem
The Whorf-Sapif Hypothesis is much stronger than what you state. Basically it states that language constrains thought and this is rejected by pretty much all linguists
Except, that is, proponents of Loglan/Lojban.
Trees can't go dancing
So do them a big favor
Pretend dancing stinks!
If you move west a bit, you get into languages like Vietnamese, where as far as I could tell from my 100 or so hours of field work on the subject, there is no difference between a compound word and two words. At all. They even leave spaces in the middle of what they call "compound words". Vietnamese is what is called an "isolating analyitic language" - that nothing smaller than a word has any meaning at all (as opposed to an agglutinative language like English, where prefixes and suffixes and what-not all carry small bits of meaning).
Trees can't go dancing
So do them a big favor
Pretend dancing stinks!
let's get something straight. Perl was written in C, not english ;)
The language you speak at home or with your friends is usually better for cursing people out.
For instance, when I lived in Taipei, people would use Mandarin for a lot of communications, but when it was time to get down-and-dirty, only the native Min-Nan dialect would do.
In Beijing (where Mandarin IS the local dialect), they didn't seem to have this restriction!
When you ask what the impact of english in computer languages is on the industry, you most naturally have to defer to COBOL as the highest-impact example.
Trillions of lines of code have been written in programming languages designed for the use of english-speaking accountants. COBOL programs (at their wordiest) read like an Introduction to Accounting textbook written for idiot-savants.
MULTIPLY SUB-TOTAL BY PROVINCIAL-SALES-TAX-PERCENT GIVING PST-TOTAL. MULTIPLY SUB-TOTAL BY GOODS-SERVICES-TAX-PERCENT GIVING GST-TOTAL. ADD SUB-TOTAL, PST-TOTAL, GST-TOTAL GIVING TOTAL-COST.
At least with C, Perl, etc., the influence of the English language is mininized.
"values of beta will give rise to dom!"
Pronouns weren't introduced until C++ and then we still only get 1. (this)
________________
I don't want free as in beer. I just want free beer.
IRC, it has more something to do with *BSD.
The "/etc/init.d" way is the "linux-way" whereas
"/sbin/init.d" is the BSD-way.
Please correct me if I'm wrong.
"Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
In the early 90's, something called Tron came out in Japan. Named after the movie, I think it was created at Tokyo University. It was an operating system, and it had it's own programming language. I think the programming language used hiragana characters, but it also used pretty straight-forward translations of English words (for example, it used the hiragana characters for moshi the Japanese translation of if. Tron was a small operating system, and may still be found in some embedded systems.
Maybe because programming languages use such simple words fairly devoid of context, the verbal language in which it was created doesn't really matter.
Don't forget that Friday is Hawaiian shirt day.
As a previous reply stated, I've heard this from a number of people I in my Japanese class. This was certainly a problem for the American millitary intelligence when they were decrypting the Japanese declaration of war (Kahn, "Code Breakers"). However, the lack of security in there communications probably had more to do with millitary defeats than the languages. They sacrificed Midway and tons of merchant convoys (literally) to the god of bad security.
From what I've seen in my studies, there's a lot you can get across with implications in Japanese. I can't imagine designing a language that uses phrases like:
to open a file. But then, I'm not even semi-fluent in it.
"One man can change the world with a bullet in the right place."
- Mick Travis, "If..."
The maths in the middle ages when Europe was stuck in a relative downturn was done by the Persians - but due to rules of culture it was not acceptable to use symbols. Thus they were forced to write mathematical calculations in natural language.
Their language (now Farsi) is Indoeuropean like the Germanic (English, German etc) and Romance languages (French, Italian etc) and Sanscrit derived ones (I believe most Subcontinental languages) (- but not like Finish, Hungarian, Turkish, Arabic, Hebrew, Swahili or Basque for example).
Perhaps writings from this period could be used to formulate more natural language programming?
According to Mark Twain, a German-influenced programming language might look something like this:
...statements...
..statements..
whi {
} le (condition)
and
if x 5 {
} >=
I read something interesting which stated that the language of an American Indian tribe (can't remember which) had a future and past tense of verbs, but no present tense (I may be misremembering, here. Suffice it to say they were missing a tense that Enlglish has.) In any event, imagine how a native speaker of said language would work in physics. Just the alterring of his/her conception of time would affect the way s/he approaches a given problem.
So, take that to programming. If the above is taken as accurate, one's logic could conceivably be vastly effected if one has to translate keywords, operators, and function calls from one's native language to English.
I don't know. It sounds good to me, but I'm sleepy.
- Jonathan
How about a mod that lets you code in h4x0r? How about that for obfuscated code?
- Jonathan
I am a programmer in Tokyo and think much of the richness and draw of Perl is lost on young Japanese programmers. Advanced programmers are just that, there is no problem, and they read English well. Advanced languages and AI apps make more use of language, but it seems that new paradigms are not necessarily coming from language but from study of semantics and dynamics, which are universal. Some might take off better in other countries, for example toontalk is easy to undestand by Japanese.
Some of the draws of Perl are "There Is Always More Than One Way To Do It" and of course the amazing CPAN multiplexed archive and module search/installation system. TIAMTOWTDI doesn't just mean writing verbs in a different order. Where it comes from flexible thinking English may help but certainly has no monopoly.. but there is also more vocabulary and more ways to say something in English than in other languages, which may affect programming.
Of course people who don't read English well are either unaware of the CPAN system or have difficulty making use of it.
One response may have been the development of Ruby in Japan, which borrows from several different languages including Perl, but is at first seems to have confusing operators and syntax. It is highly object oriented, looking more like C or ASP than Perl, though it is meant to be used as Perl and relies heavily on external modules of which there are few.
One good landmark is legal writing in Japan. When well done it is much like a program, and does not suffer much of the archaic nature of American legal writing. It is crisp, and when well written rings like a bell, like most well written Japanese text (style is why it is hard to write well, the characters are not so bad).
Perl might not have been developed at all, or developed in the same way, if it had been done by Japanese speakers or by people brought up in Japanese culture.. but there is no problem with qualityamong serious programmers, the main loss is the fun English readers get.. like understanding the meaning of "State of the Onion" and the hilarity of jolly code writing which uses terms like bless or die in semi poetic context.
Some more on Ruby - since this is probably the answer to what a Perl type language would look like if written by Japanese speaking programmers.
The big draw of Ruby as I understand it is that it is very easy to write network utilities, is highly object oriented, and programs are short and sweet. The network module has gotten much stronger, the initial weakness of which kept me away in the beginning (and of course I am more comfortable with Perl). Every string for example is an object with built in methods you can call after the dot. It also works with GTK which might interest Slashdot readers. The Brave GNU World article (translated itself into several languages) mentions it just before covering a Bonobo component.. The article does mention that Ruby was designed to be a successor of Perl, and borrows from Perl, Python, Lisp and Smalltalk, and Eiffel, and also runs on a number of platforms. Hence the name Ruby, which makes sense if you read Perl as a pearl.. also brings up another good point that there is a ruby Apache module, and that ruby supports multithreading even on MS-Dos?!?! This I did not know!
A recent Japanese magazine I bought introduced web programming by using Ruby exclusively, going through the RFC documents for HTTP, and building protocol sniffers. Fun stuff! Ruby people are looking for help in spreading the language around the world so this might be more reason to check it out. In fact that magazine (OpenDesign, in Japanese, by CQ Shuppan) was entirely about that and also I-Mode telephone protocols and programming.
Brave GNU World article 8/14/00:
http://www.gnu.org/brave-gnu-world/issue-18.en.
English homepages:
http://www.ruby-lang.org/en/index.html
http://ruby-lang.jaist.ac.jp:8000/en/doc.html
http://kt-www.jaist.ac.jp:8000/~ttate/lang/ruby
The 19th-century view of all-conquering Aryans is no longer considered accurate. There is no good evidence for a violent end to the Indus Valley's Harappan civilisation. It probably disintegrated after destroying its environment, as so many others did in the Middle East and North America.
The later 'Aryanisation' of the subcontinent's language & culture seems to have coincided with the clearance of new land for farming. Cities, writing, et cetera came with them. In this respect the Indo-European speakers were indeed successful (and probably aggressive).
Incidentally, the meaning of the Vedic term 'Arya' is very obscure, but it definitely did not denote a race, nationality or culture. A later Persian state did take the name, whence the modern 'Iran'.
Ask me if I've been required to disclose any crypto keys.
The problem was that the early linguists who did written Hawai'ian weren't that good, unlike the French linguists who went to other parts of Polynesia. So there are words like "kapu" and "kapa" in Hawai'ian that are "tabu" and "tapa" in Polynesian, and traditional pronunciation does use the other sounds even though the writing doesn't capture them.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
I've always been very curious about how language shapes the way that we think and the efficiency thereof. Would it be possible to create a more efficient "thinking" language?
Does anyone have any easy (or complex) answers about thought and how it is effected by speech? Can anyone recommend a good book?
"Share your knowledge. It's a way to achieve immortality." -- Dalai Lama
or how about chinese? If my lame ass recalls correctly, they use symbols that translate to whole sentances, or grops of words. Maybe this could be well suited for OOP?
Examples:
/* int array */
e ll)=teileauseinander(/:/,$zeile);
:)
/* ea (Eingabe/Ausgabe) stands for io (Input/Output) */
#inkludiere
ganzzahl haupt(ungueltig){
ganzzahl feld[100];
ganzzahl i,j;
fuer(i=0;i;
schliesse(DATEI);
fuerjede $zeile (@zeilen){
($benutzer,$passwort,$uid,$gid,$gecos,$heimat,$sh
drucke "Benutzer $benutzer mit HOME $heimat benutzt die Shell $shell.\n";
}
A little insight into how programming would be if DMR and Larry Wall were
Germans.
Andreas Krennmair
A monkey is doing the real work for me.
I worry about this of late. Look around at how common this is. Turn the focus to law for a min. Do laws get written in normal english? No...they get written in a kind of sub language, by people of another culture, a legal culture. Perhaps their thinking has been shaped by their language, and their patterns of operation? Could that be the link to the reason that those in power and the common man don't seem to understand eachother? Different cultures, different languages (similar but different in usage and somewhat in definitions).
Very interesting thought... With possibly disasterous consequences. As society tends to specialize more and more, we could end up with such distinct sub-classes and such different viewpoints that we end up in constant battles. In fact, look around. Is it any coincidence that with more specializing we're seeing culture clashes leading to outcast children bringing guns to school? Or that we're seeing relentless protesting against everything and everyone?
Addlepated - punk & metal
The same sentace whould be "ja(I) ide(am going) do parku(to the park)" - you can leave "ja" ("I") out, and rearrange it any way you want ("do parku ide", "ide do parku ja"). The forms where "I" stands after the "am going" sound unusual, though.
Read you...
Martin Sojka.
I've taken a year of Japanese and plan to take many more. Japanese can be as vague or clear as you want. In normal polite conversation, yes, you tend to use somewhat vague, nonassertive language. I'm sure that in battle a commander could make a clear statement. Remember that WWII wasn't their first war. They were quite fond of fighting the Russians and Chinese before, and won frequently.
I did mention hiragana and katakana (though I first mentioned roma-ji because he was tlaking abotu difficulty between ideogramatical languages and ASCII based ones)...
I used to have an app to run other apps using katakana and hiragana characters within windows... Don't remember what I ever did with it though...
we are all invisible unless we choose otherwise
hmm... Then I guess they like singing a word that doesn't sound like someone with a japanese accent saying the word 'love' in english within a song that is all in japanese... I could be wrong, but that just doesn't make sense...
we are all invisible unless we choose otherwise
you know it's strange, but I've noticed that the word 'love' in english and japanese sounds very similiar (I happen to collect j-pop even though I dont' actually speak japanese, which is hwo I noticed this)... Now I doubt the English word and the same in japanese roma-ji or katakana, but it's kind of interesting to note in passing that two completely different languages could come up with similiar sounding words for the same concept...
Btw this has nothign to do with the post, but I thought of it while reading them, so I'm commenting here...
we are all invisible unless we choose otherwise
Well french does have one problem compared to english when dealing with technology (at least it did when I tried to learn it in HS)... It has no pronouns or words that lack a gender such as 'it' or 'thing' (ok those were the only two that came to mind, though it's been awhile since I thought about it). Since most technology doesn't have by deafult a gender I wousl think that would make it at least... err more 'interesting' to translate to/from french...
we are all invisible unless we choose otherwise
Well I'm glad you decided to mention the limited roman character set (all eroupian, which includes english, languages use roman characters)... Those 4000+ (how many katakana are their for japanese? or worse Kanji for Chinese...) character keyboards would be killer... Using a language with a limited number of characters to make up words just makes things more compact (in fact I love compactness and my english teachers hated how I could take something that should be long and compact it to be tiny during school)...
English has a certain ease of use though which is why it became (among other reasons like major work done in computers happeneing in the US) the best choice among the roman character using languages...
we are all invisible unless we choose otherwise
Just an FYI:
Well you can write japanese in roma-ji (romanized japanese script, so it is in roman characters and can then be used in ASCII form). Natively they use katakana and Hiragana which are ideogramatical.
Chinese people use Kanji which is also ideogramatical.
I don't know Korean...
Btw I think while unicode is a goodthing I would still doubt it's ability to handle Kanji since their are over 6000 characters which in certain cases can be combined (some Kanji are words, some are sounds, etc). 2 bytes isn't going to be hard pressed to get them all and even if it did the shear complexity to actual code in soemthing like that is incredible...
we are all invisible unless we choose otherwise
Q: What do you call somebody that makes false jokes about Americans. .
A: Insecure
Not that it matters, but .
I'm an american through and through. I heard this joke for the first time from a japaneese engineer visiting our little company here in the states and I thought someone from another country might like this commentary on our attitude in the states and, might find it as funny as I did.
I tend to think of programming languages as a sort of "universal language"... it really does not matter which language you choose (Java, Perl, C, FORTRAN, whatever)... you can pretty much follow the logic and ultimately "understand the message". Obviously, this does not make an effective means of communication for many situations, but it can be effective for communicating scientific or mathematical information.
I've worked with programs written by non-english speakers and with a bit of effort have been able to understand them. The variable names were words from the native language of the author, but since the keywords were, of course, English, I could figure out what the application was doing.
To provide an answer to your question, if Rome had not fallen, we'd probably be programming in languages that use Latin keywords rather than English. I think that programming languages are a reflection of the language that is, for lack of a better adjective, the most prominent. For better or for worse, English is probably the closest thing the world has to a universal spoken language. For example, I've worked with several people from India- who all spoke different languages, when they were together they would communicate in English- because they did not understand each other's native language. I think that programming language keywords are a reflection of this.
Latin typically puts the verb at the end of the sentence too.
As does German. In fact, usually _all_ the verbs go at the end. Which can be quite painful in a compliacated sentence (at least for this very bad German student).
In complex sentences can the second verb last only go.
Oh, right, forgot about that. However, in a complex sentence you can get several at the end (plus modifiers and such-like), plus the one at the beginning (which, if it is a modal, like mogen, doesn't actually tell you what the subject is doing, just that they like doing whatever it is). So I don't see it as really helping the situation too much. <g>
So I guess I will.
Godzilla is attacking the city!!
Thank you very much. Mike
Love
Well, no, it's not unique to Japanese at all. In fact, it is extremely common for languages to put the verb at the end of the sentence. The most common group of these languages are "SOV" languages, or Subject-Object-Verb languages. "OSV" languages are EXTREMELY rare.
Many languages, even languages in our own Indo-European language family (Farsi, Hindi/Urdu, Bengali) have this syntax. German almost does, but the truth is that it's only verbal particles that end up at the end: the actual verb in the sentence is still in the right place for an "SVO" language like English.
Chinese is even more positionally determined. In fact, there is no inflection in the language and a word could be a verb, noun, adjective, or adverb depending on it's position in a sentence.
However, most computer languages (C for example) are based entirely on mathematical and set concepts. It really wouldn't matter if I used an arrow to indicate if or a circle to indicate return.
Churchill's comments that appeared in his book are indeed correct. There are many historians who have backed this up and it is very well documented. I suggest reading about history before insulting a great former leader that kept the world free. As far as specific evidence, you need to look no further than Battlefield which airs regularly on PBS. They discuss this communication problem the Japanese had at length.
As far as English itself is concerned, which has little to do with the semantics of programming languages, it is by far the best language available for communication. While it is highly irregular, it is has room to accomidate new things. Other languages don't boast this feature to the same extent.
While English is based in European culture, it doesn't dominate it. English no longer is structured like Kings spoke it in the 1700's; it has changed with the times. I can't say the same about Japanese it is still retains many old words that have historical significance.
But that is isn't single greatest feature of English. The best feature is our alphabet which has little redudancy. Languages like Chinese and Japanese have too many characters that share meaning. This excessiveness clearly presents itself as English requires 26 characters and Kanji,Mandarin, Cantonese,Fuji are in the tens of thousands of characters. Because of this problem, I have found Japanese hard to learn and study.
Just another note. I have studied Linguistics, Pacific and Asian studies and Japanese during my undergraduate degree.
I normally don't reply to people who swear but I have to as you message wasn't just flamebait.
Not all languages were created equal and I am just pointing out some of the very compelling points of English. You did make some good points. However, ending your message with lame advice that I would never follow hurts your cause rather than helps it.
The jury is still out on Japanese, so neither of us is right. If you would like to see what I am talking about in my message, watch Battlefield on PBS. It very interesting and gives and unbiased picture of WWII.
The message that I responsed to contained some incorrect so-called facts and implications that Winston Churchill was an arrogant snob. If the person who wrote message had read any of his books, he would know that Churchill knew a lot about many parts of the world through his service with the British government. I felt that I had to defend a great contributor to the 20th century.
Note: this message doesn't end with putdowns.
Actually, for the Japanese, being blunt is extremely rude.
:-).
I understand this is true. However, one can be precise and exact without being blunt (unless, perhaps, if you're an American
// TODO: fix sig
Never take anything you here about other armies too seriously. Especially if they are present/former/potential future enemies.
Alternatively, there's a risk in assuming other cultures are just like your own. Japanese culture (civilian and military) is quite different than American or European.
// TODO: fix sig
My current job is to translate a bunch of access databases and the VBA behind them from Japanese to English. (I am not a native speaker, but have a lot of experience with the language)
So, what are my thoughts? I have to agree with the poster above who said that programming is based on logic and not language. There are a lot of places where I have to translate nouns or verbs into English, but I never have to change the program structure.
If Microsoft was a Japanese company (or VBA was created in Japan) would things be different? I honestly can't say. If...Then would probably be the same, but I could see an argument being made for Object.Method ending up as Method.Object due to differences in the language structure. Are there any programming languages out there tailored to specific languages other than English?
Anyway, fun stuff to ponder.
No-one realistically advocates the "strong" version of the Sapir-Whorf Hypothesis, but I wouldn't say it's out of favour. Actually, most contemporary literary theory takes as read that people's perception of the world is somehow shaped - if not 'determined' - by language.
Think about it: what binds together a community like /.? A big part of it is the shared language, and that translates into some level of shared culture as well - for better and worse...
"For instance, the acting verb in a sentence almost always occurs at the end of a sentence."
Sorry, I can't resist being nitpicky, but that's not unique to Japanese: Latin typically puts the verb at the end of the sentence too.
We're not the center of the world??
I could be way off the map here, in which case I apologise, but I thought that Hebrew had no explicit vowels?
At any rate, I'm not sure if you can speak without vowel sounds: isn't it the air in the vowel production that makes the consonant sounds distinct?
Type without vowels, sure. But...
I should take offense to this, but I understand where you are coming from. For the record, I enjoy learning other languages, as do other people I have met. I was semi-fluent in French, but its been a few years. I am currently learning Italian as well.
Now that that is established, I will help you out my friend. Spell "speeks" as "speaks", and you shall be taken a bit more seriously.
nahtanoj
> The language of Shakespeare is so different from
> standard English as to have virtually no
> intersection. Yet we somehow recognize it as
> English and can (fairly easily) read it. And it
> is not only the result of the age, thing about
> modern poetry.
Actually shakespearan english is fairly similar to modern in alot of ways. Its fairly easy for any english speaker to read shakespear.
The question is...how many REALLY understand him? Once you have read him a bit, you start to understand the language and man...even the most tragic of his tragedies have some VERY comedic parts. Hamlet makes me bust a gut at times...for most people, thats simply not true.
-Steve
"I opened my eyes, and everything went dark again"
... http://www.wall.org/~larry/natural.html
Let me get this straight... First I go out and read all those Perl books and try and learn the language, and I don't understand it in english. Now you're want to make it harder to read?? Is it just me or does this seem a little TOO sadistic? Or maybe I should just actually learn the language insted of just using it for web-stuff.
Borges wasn't a linguist, he was a novelist. You know, fiction , the stuff they don't sell at O'Reilly ? The point of the story wasn't to demonstrate a working language anyway, but to raise the idea (and many others) of "languages without nouns"
More geeks should read Borges, he's just what many of us always wanted from Ballard, but somehow never found.
As for Forth (as RPN is less codified as a written language), then "2" certainly isn't a noun. The state of the stack is modified to contain the attribute of "2-ness" as its top value, but nowhere is there a concrete instance of "the ur-2".
Possibly Forth does have a noun, but it only has one of them and it's called "stack".
Real Programmers can write FORTRAN in any language.
So it really wouldn't make any difference what language the rules were in
That's a very interesting point, because BNF doesn't really describe the "rules" of a language, but merely the syntax. As the syntax is relatively trivial, then it's entirely possible (as you describe) to replace the "English" serialization with a "Russian" serialization. This is equally easy for C (which uses many punctuation symbols as lexical elements) as it is for Pascal (which uses words). Each "word" is simply a lexical marker for a token.
It's also why C and Pascal programmers can cross-train very easily, but C and Lisp programmers find it much harder. The words are different, but (apart from passing by reference) C and Pascal are very similar. Lisp needs whole new concepts, not just syntactic fiddling.
AFAIK every programming language can be set down, albeit long and complex, in a set of rules in BNF
Not every one, although those that can't (and why) are themselves a fascinating subject (start finding out by reading Godel Escher, Bach)
(Bacchus-Naur Form)
That's just used for pissed-up CS geeks to design new languages on beermats 8-)
Naturally.
I just meant that one should think about what purpose is served by stressing one difference or another.
All opinions are my own - until criticized
Now, there may be a lot of stupid americans, but until these people can honestly tell me things like "everyone in my country has an IQ of 150 or higher, and we all speak five languages, and absolutely everyone is literate about geography", then they can bite me.
----------
Stupid sexy Flanders.
So once again, I take offense at the stereotypical world view of Americans. Yes, there's lots of ignorant, arrogant Americans. Who's going to claim there's no ignorant people in their country? Who's going to claim there's no arrogant people in their country? Just posting a like this is arrogant and rude, and cheap shot, and completely off topic, and certainly NOT funny.
I accept being the target of jokes when there's some validity, but I don't think their is, here.
----------
Stupid sexy Flanders.
Bah, only to a CS majors. Only EEs know what the first-level programming languages are. ;)
Whaddya mean different?
Anybody who has ever watched any television knows that foreign languages use the same English words, just with funny accents and an occasional hilarious pronounciation.
That might his point?!
Sounds like something out of a mircosoft programmer handbook.
God, root, what is the difference?
si a = b entonces
comienzo
escribir('Hola Mundo');
fin;
It wasn't any different to normal pascal, just the keywords.
Big mistake, because they don't have a compiler for this thing (that would be _very cool_ to teach to younger kids), so you spend 4 months writing this useless code on a piece of paper.
--
--
Stay tuned for some shock and awe coming right up after this messages!
--
--
Stay tuned for some shock and awe coming right up after this messages!
That Churchill guy is nuts.
--
--
Stay tuned for some shock and awe coming right up after this messages!
I am not sure if they would be that different to be honest. Speakers of inflective languages have the freedom to create computer languages as they please. Would they not have done so (expect your example) long ago if there had been an advantage?
I'm not claiming the superiority of one language over another. However, it's pretty interesting to see how most languages are being torn down by the casualization of modern society. For some reason, human languages are becoming more and more ambiguous. People decide that certain grammatical constructs are a pain, and stop using them - even though they are needed to communicate precise ideas. Is this democratization of linguistical/syntactical/semantical decisions a good thing? Basically - are we going to see a move back to Latin as English becomes to imprecise it would no longer be of real use? There might be a reason why there was a need to create legalese beyond their feel to be special and exclusive.
Stop the brainwash
Q: What do you call somebody that makes false jokes about Americans.
A: Insecure
Pity the poor parser! "Hmmm.. Is it a number? Is it a variable?" We'd be back to using prefixes to specify whether a token is an identifier or a 'number'.
Weapons of Mass Analysis
What this means to you is that if I teach you C, to the point that you become good at it, I can teach you perl, APL, and several other languages in very little time.
No. No. No.
Just because a pair of languages are compatible does not mean that a person can learn the second one quickly. I can translate LISP to C, but this doesn't mean that having written LISP for fifty years will make learning C easy.
We're not simple turing machines that can take one language in our input tape and spit out the other.
Such ambiguity is difficult to judge by a person whose native language is something other than Japanese. For instance, English speakers find the use of definite and indefinite articles (the, an , a) incredibly important. This is why new speakers of English with a Russian or Japanese background fail to include "the" when referring to "the book."
....
See http://www. japanfile.com/culture_and_society/language/Ambigui ty-1.shtml.
According to Noam Chomsky of MIT, there are fundamental elements of language structure that are innate to human beings in general (hence "universal grammar"). This allows people to learn many different languages and function relatively competently in more than one language society. One would think (I may be wrong here) that a society would avoid ambiguity and produce a language that worked well for their purposes.
Anyway, I blah blah blah drag it on
It would be nice for you to write both french and english, to include some people that might have trouble with english.
Is there a french slashdot? Quebec is far enough north, with long enough winters, to be as productive as Finland. If you want to read french, write it.
English has started to bore me.
Friends don't help friends install M$ junk.
French, besides having considerable direct influence on English, also uses rigid word order to convey meaning. The influence on programing should be apparent, and has been pointed out by several other posters. Don't ask me about Arabic.
The differences seem to come from attitude. The French language has several embeded circumloquations, their subjunctive seems vauger than the English, and most sounds are softer. Should, would, and could, have very specific meanings that can be lost in a single subjuntive without help from an imperative. It sounds more polite, not that french people can't be rude or direct! French Punk just never made it on the world stage and I'd blame soft sounding words. "mange moi" just does not have the same impact as "eat me."
What do you think, Quebecqois, and why don't you write in french here?
Friends don't help friends install M$ junk.
It would probably be in haiku form.
Cherry blossoms fall?
Pound bang usr bin perl first.
Now you can code it.
You know you've got a nice, tight joke when you get moderation like this:
Moderation Totals:Offtopic=1, Flamebait=1, Funny=5, Overrated=2, Total=9
Free Software: Like love, it grows best when given away.
pour chaque feuille dans cahier "Untitled"
ouvrir avec "SimpleText"
fin pour
Free Software: Like love, it grows best when given away.
That said, the basic structure of a sentence is S-V-O-I
- Subject - who is acting
- Verb - what action
- Object - what are they acting on?
- Indirect object - what is the object acting on?
For example, Bob(S) cooked(V) the apple(O) over the fire(I)Well, something like that. The only other information we convey is TENSE (when and how we acted) and modifiers (adverbs for modify the verb, adjectives for modifying the S, I, O), as in
- big Bob(S) quickly cooked(V) the red apple(O) over the hot fire(I).
IMHO, an optimal language would use the same word for all situations, so I would restate the sentence as- Bob cook past apple over fire
rather than complicate things with irregularities like endings (cook-ed) and hand motions (Italian anyone?).Now, how does this relate to programming? Basically, programming is algorithmic (do this, then do this, then do this). Whether the algorithms are linear, parallel, massively parallel, the syntax of the "code" needs to describe what is to be done. Abstractions and abstracted languages (anyone remember APL?) tend to do three things: (1) make it easy to do hard things, (2) make it hard to do easy things, and (IMNSHO)(3) make for longer learning curves. Life is tradeoffs, and the more complex languages trade off longer apprenticeship periods for faster development later. It's essentially a form of re-usability (when is the last time you coded a SIN() function?).
All that said, I doubt that any human language gives a programmer any leg up in understanding the C++ sytnax for a counter-based incrementing loop.
Mr. Churchill's notion is just your standard, run-of-the-mill rascism.
Both military communication and Perl would have some differences from English speakers, but I imagine it's not much.
perl uses almost English like syntax with syntax as:
:)
x unless y
or
x if y or die;
By the way, this is not a property of English, but all languages which use a similar scheme for building sentences. All Germanic languages come to mind, and the Latin languages too. It's always surprising how far one gets by translating a sentence word by word and winding up with a sentence-construction that isn't even way off in the other language.
Conclusion: perl by a Japanese guy would be different from the current perl, but perl by a Dutch guy would have come out the same, although with "of" instead of "if" and "behalve" instead of "unless"
Ivo
<grub> Reading
You have code that reads:
tell application "Finder"
select file "Internet Preferences" of disk "foo"
end tell
In theory, there are other dialects of AppleScript besides English, but I haven't used a non-English Mac OS to check.
Paul
Many branches of science (most notably Biology) have profitably used Latin and Ancient Greek in the areas of classification and for clarity of communication. The very fact that they are "dead" languages eliminates the possiblity of ambigutiy arising from changes in modern vernacular. While I realize that few programers know much if any Latin, it has roots in so many European languages (Spanish, French, Italian, and even to an extent in English) it would not be too dificult to learn enough to be an efficent programer/hacker.
"I'm making perfect sense, you're just not keeping up."
Take a look at the lyrics of a Japanese pop CD (every one I own includes a book of lyrics) if you get a chance. The English-sounding words are usually written in English and not katakana (Japanese-ized foreign words). "Love" is a very very common added word.
--
dman123 forever!
--
dman123 forever!
Filtering out the -1s and 0s since 1999.
I may wrong, but I think you misunderstood what was said. In the example you used, in both situation, different IDEAS are visualised. HOWEVER, the "mentalese" that was refered to wasn't refering to specific ideas, but to the GRAMMAR in which the ideas were expressed in the mind. In other words, while your american and japanese persons might get different ideas, the method of expression in the mind would have the same structure.
"I'm not a procrastinator, I'm temporally challenged"
But you could imagine someone inventing notation like (x:arg1, f:funcName, z:arg3, y:arg2) in which markers identify the roles of variables rather than their position in the sentence.
You can reorder the arguments in Python (though, the function name still comes first), and perhaps in other languages.
He who knows not, and knows he knows not is a wise man
What would COBOL look like if it was in Japanese?
Despite that, the language is similar enough for the modern reader (who might have never seen a lot of the words spelled or used like that before) to understand it reasonably well.
That is precisely the reason why a lot of people believe that a natural language parser should assign probabilities to the corpus. However a simpleminded statistical approach works very poorly since a most bigrams occur once or just a few times even in a very large corpus, and (say) 4-grams are more or less unique (so-called sparse data problem).
There are a few methods to deal with that but none entirely satisfactory.
I looked at a couple of your posts, you must have knowledge of linguistics. While I am not a linguist, I am quite interested in natural language processing. The variety and numbers of constructions one encounters make any comparison to between computer and natural languages almost laughable. As far as I know no complete (or close to complete) grammar exist for any natural language.
--
About 25 years ago, I had the privilege of sitting next to Capt. Grace Hopper at dinner. (Capt. Hopper is, for you youngsters, one of the inventors of COBOL, which was the second or third high-level language ever invented.) The topic turned to why COBOL was designed the way that it was. She said that her team had looked at several options, and decided that (at least in every language that they were familar with) commands were the most portable. E.g., in COBOL the programmer tells the computer to do things: "add sales-tax to total." Translate the words "add" and "to" to any European language, and you'd get something that native speakers would understand. In fact, the COBOL implementors did just that, but the DOD didn't persue the possibilities. That said, it is interesting to wonder how things would be different if something other than "command" form had been used. Commands (in English anyway) are "verb object" (i.e. "Drop that gun"), which emphasises the verb over the noun. I don't know if such a language exists, but what if there were one where the object preceeded the verb (i.e. "That gun, drop!")? If so, Object Oriented programming may have been invented in the sixties!
Nothing for 6-digit uids?
You just described ABAP/4 (the programming language built into SAP) perfectly. Most of the tables in SAP have column names that are only 5 character abbreviations. Of German words. The comments in the source code that ships with SAP are mostly in German, too.
Also: All the standard tables in SAP have names of the form T###L, where the T is a literal, #'s are digits, and the L is a letter. This annoyed me a great deal until I realized that had they actually given the tables descriptive names, those names would have been in German, and thus less friendly to non-German-speakers than the terse numeric names used now.
Here's the kicker: there are a lot of Americans along the Mexican border who deal with Spanish speakers every day and still don't bother to learn Spanish, not to mention the startling number of Hispanics who don't bother to learn English.
Hell, I live in a town where Hispanics are the largest minority, and I took French as a foreign language.
--
If you want to know what influence other languages would have on software systems, look no farther than the big multinational corporations and the new systems they create. These companies, because of their size, pay much closer attention to non-Westerners than most open-source hackers ever will.
Virtually all new systems created by IBM, MS, Sun, Oracle, etc. are Unicode based, and have been for several years. Languages like Java and C# use 16-bit Unicode chars. All of Java's text widgets are designed to accept a Unicode string containing an arbitrary mix of any set of languages and to display them correctly (each version gets a little closer, but the proper foundation was laid from the start). IBM was the main driver behind that, but Sun readily agreed. Oracle would be happy if every database from now on were Unicode.
Contrast that to the brand new systems produced by the "enlightened" open source community of primarily Western hackers. Released several years after Java and other Unicode systems, GNOME 1.0 was once again based on the obsolete notion that char == byte. Unbelievable. KDE did the same thing. While KDE could mostly paper over it by using the features of C++ (they just upgraded the string class implementation to Unicode and relied on automatic type conversion), the C-based GNOME will have programmers falling into single-byte traps for years to come. This is the same problem that haunts Win9x developers that pure NT or pure Java developers don't have to worry about.
I can't help but think that if more developers of programming languages were Asian, for example, the concept of a real string class (multiple bytes per char) and truly multilingual text widgets would be given, not awkwardly grafted on in version 4 of everything.
I think the actions of multinationals (as compared to open source hackers who never venture far from home) demonstrate my point.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
Normaly go they second.
All german sentences have a verb as the second element.
Little Brother, watching the watchers
"I happen to work with a woman from Thailand"
Ah you don't need to know their language for that: 'knock knock', 'hi', 'how much?' will do just fine.
Sorry couldn't resist
Bingo!
What would our programming styles be if the bulk of computer science research had been done in, say, China? I'm not interested in how a language is going to effect keywords - that's obvious. What's interesting is how the language structure translates into programming structure ( object oriented, functional, or something else our english minds don't think of ).
http://www.masturbateforpeace.com/
parent->score = (-1,Flamebait);
<O
( \
XGNOME vs. KDE: the game!
Will I retire or break 10K?
Hes not mad? (Doesnt look like a question, but it is!)
Hey, dont let this lot let hear you call C a high level language!
http://hcs.harvard.edu/~igp/oldglass.html has some computer languages. Also has klingon!
string *string
looks suspect to me, although i know thats not what you meant...
;)
I had a french friend who spoke perfect english but would `think` his maths (which he was extremely good at) in french.
But maybe that was just him, maybe the fact he was v good at maths AND thought in word/symbols is what makes him good, and me pants.
gl = generation language? I thought he meant the high/lowness - ie how far abstracted the language is from the hardware. Low level = move 1 here, add it to that.... high level = go to this site and download the jpg file.
i think that was lifted from Chomskys `deep language` stuff that you`ll find if you search on the net a little while...
And don't forget that the US-ASCII character map wouldn't have been the default, allowing the use of special characters and/or other writing systems.
G.Roma-ji wouldn't be a good choice, because there are several different types of roma-ji ("sha" or "sya"? "cha" or "tya"? "tsu" or "tu"?), which means you would have to parse for multiple, variable letter formations to find a keyword.
In addition to the pictoral kanji letters, Japanese also consists of two additional alphabets; hiragana (used in Native Japanese words) and katakana (used mostly for foreign loanwords) Both are under 128 characters each, so while it wouldn't be ASCII, you could program in Japanese using a one-byte character system.
First, people don't think in the language they speak in.
I don't quite agree with this theory. Perhaps ideas and such are formed in a non-lingual "mentalese", but a lot of thinking is actually being done using a language.
I was once more or less bilingual, although my English is not what it used to be anymore. If I am confronted on the street by an English-speaking tourist asking for directions, I have no problem understanding and replying in English. However, I will almost certainly be unable to use words or grammatical constructs without a Swedish equivalent, as in my head all the work is being done in Swedish. Catch me while reading an English novel, and my English will be at a completely different level.
Perhaps the brain works in several layers?
...ceterum censeo Carthaginem esse delendam.
I stayed a few years in Brasil. While I was there I had a friend who knew I knew some programming so he asked me to fix his Excel SpreadSheet. I never knew Excel had so much scripting capabilities.
.. it was like a nightmare comming true.. =)
The hardest part of the whole thing was that the scripting language was portuguese excel scripting. Very interesting match..
so like 'if' statements were like 'se'
The German version of Barbie Girl also sounds different from the English version :)
What the original poster meant was everyone sounds the same when singing the same song in the same language. Obviously it would sound different in different languages.
But it would be a harder to pick out a Japanese singing in English or vice versa.
I agree with you. I find Americans the most closed minded group of people on the surface of this planet. Perhaps its because of their arrogance, but if it wasn't the continuous inflow of immigrants, this country would most likely be dead last in the world, and would probably be infested with rednecks.
its a pity you're parents couldn't resist too, you pathetic idiot
Sure, but you can't easily tell the nationality of the singer, just of the composer. It's somewhat eerie hearing Japanese singing German music and sounding indistinguishable from native German speakers.
There's no point in questioning authority if you aren't going to listen to the answers.
Shouldn't that really be SPQR? I know that it would be a bit more difficult to come up with a good excuse for doing so, but it would obviously be a lot funnier.
There's no point in questioning authority if you aren't going to listen to the answers.
This might be slightly off topic as it isn't about programming per se, but look at the differences between different linux distrobutions. For simplicity's sake, I'll compare RH and SuSE. (or at least a couple of points... I am, after all, at work)
/etc/init.d whereas SuSE keeps them in /sbin/init.d - is this because of a language difference? What about SuSE's /etc/rc.config, that controls all of those rc scripts (the SuSE way is to put all of the RC scripts in the dirs (/sbin/init.d/rc[S,0-6]) and then control them from /etc/rc.config. Is this again a language difference? I think it may be. I don't speak German, but I work with many people who do (international company and my department has a sister department in Munich), and I definately feel like they have a different way of thinking, especially in the way they associate nouns to verbs. When I started using SuSE, I really did feel like I was working with one of my German counterparts. IANALinguist, but this is just the feeling that I get (hey, that just reminded me of Iron Chef - did you even notice how the Japanese tasters almost always follow every comment with "that is how I feel?" Is that more of this language stuff? Sheesh!)
RedHat has it's RC scripts in
Politics, Culture, Food?
I've heard from a good deal of (older) computer scientists, engineers, programmers, and students that their English skills have suffered slightly since they began programming, resulting in more spelling/grammer mistakes. Until recently, I thought that it was all nonsense. However, since I now probably spend more time reading code in various programming & scripting languages than I do plain old English, I've started to notice the same effect personally. Has this happened to anyone else (I'm SURE it has)?
If you celebrate Xmas, befriend me (538
Taxi drivers in LA, for instance.
--
It's a
-- Danny Vermin
i thought latin was dead...
For higher level thoughts, Language plays a very important role in how we think. "Higher level", in this case, refers to more abstract ideas. Simple ideas, such as hunger, rain, rock, etc. are fairly easy to express accross all languages, or even with no spoken language at all.
If there is any task that requires a lot of high level thought, its programing. People of diffrent language backgrounds use words in their heads to express ideas, but some words and language constructs are better then others for describing an idea. This means that people of diffrent languages, quite literaly, don't think the same way as others. The approach to solving problems will be affected accordingly. These diffrences aren't as noticable when two languages stem closely from a common root; it would be more noticeable between, say, German and Chinees.
This wide veriety of ways to solve problems could be harnessed if and only if programing becomes a multi-lingual, multi-national activity. This is certianly not to say that any language is better then another, just that the diffrent approach to solving the problem may bring a better result.
Its for these reasons that, although I was boarn and raised in the US, I am against the Internet becoming Amercianized and English dominated. It is true, though, that we need a standered language for communicating, or any benifits we may get from being a multi-lingual Internet will be lost.
I also think that English is quite possibly the worst language for this job. Its just like that one OS we all love to hate: Its bulky, inefficent, and everybody uses it :)
------
Not a typewriter
I've actually programmed in German. It wasn't very funny.
It is my observation that non-native English speakers often have a firmer grip on certain areas of the English language than a native speaker. I have also observed that given the freedom of C or PERL, they will solve problems in a much different manner than a native speaker. I believe that claiming that your language does not affect your thought patterns is foolish.
...
Your C code should be
C:
If (a==1)
{
b=2;
printf ("Hello");
}
Yours would enter the if statement for a != 0
I have come to a conclusion that one useless man is a shame, two is a law firm, and three or more is a congress -J Adams
*shiver*
> or, rather, the fact that
> there is anything external to the U.S.
Really? Oh... you mean cyberspace?
Its the RIAA feeding you anglicised singers! Thanks to them, the average American has probably never even heard any singers with serious accents or *gasp* singing in different languages. And we wonder why Americans are so insulated...
I've travelled Europe, and every language there has its own unique vocal ranges and unique sounds and styles that you can pick out a mile away. They usually sound dumb or odd in English, but in the context of that language, they are extremely beautiful. (Much of English vocal ranges sound strange to them.)
Just adding perspective to this tangent.
where there is a thousand different prefixes or suffixes you could attach to change the meaning of a word or variable? Though sometimes this gets out of hand, and causes very ugly contradictions and logical impossibilities with some words...
The obvious computing example is LISP, which engenders great amount of heat about syntax. Its my favorite, as operator presecedence is never an issue, and the written form is identical to the parse tree representation, so writing stuff that walks over code is not some "normal people never do this" technique.
Anyone know of a human equivalent?
-dp-
The NERDS. New: Junyard Wars FAQ, Ten reasons why Scrapheap Challenge is better than Iron Chef, and Ten reasons why being on Junkyard Wars is better than being on Survivor
Organizer:New England Rubbish Deconstruction Society;The NERDS,first US team in the UK Scrapheap Challenge/Junkyard Wars
It seems to me that English, like many other languages, has a high degree of ambiguity, and a high degree of degeneracy as well.
Programming languages are generally designed to avoid ambiguity, since computers can't parse out meanings accurately. Yet ambiguity has been an inspiration in many languages, in the form of things like interface polymorphism, and so forth.
On the other hand, most programming languages also support few ways of doing something. Languages that support many ways of accomplishing the same task, or implementing the same feature (C++, Perl) are often thought of as being bloated by the 'purists.'
In this case, it might be because English is sufficiently 'rich' in terms of synonyms for many things, that many languages are designed with multiple paths to accomplishing the same goals.
Many of the differences between languages seem to be things that we don't implement on a computer anyhow. Things like structure are something that most languages differ in, and something that every computer language seems to reinvent. (Witness Lisp vs. TCL)
All of this, of course, applies mostly to languages that are considered relatively 'low-level'. When you start discussing Python (executable pseudocode), Perl, TCL, and Cobol, English obviously starts to have a strong influence.
(Witness the until/unless control structure, the if, until, structures that Perl implemented.)
Disclaimer: I'm no linguist, nor an expert programmer, and these are my opinions. I do, however, speak English, Chinese, German, and Spanish.
Or compile a whole new library!
--
Wooden armaments to battle your imaginary foes!
In a word: Obfuscated
--
J, Internetist
Of course, while function names and variables can be in any encoding, the syntax is still Java.
If one has a shortcut to refer to a phenomenon, such as Murphy's law, or a win-win situation, this makes such arguments more likely to come up on a discussion.
For example, if Al Gore has two unrelated proposals, and one of them can be summarized with "is a win-win situation" while the other requires a complicated Ricardian argument about the benefits of free trade, which one do you think he'll send to congress?
I don't actually use the language so I can't go deeper into the subject but AFAIK the idea is to program using relations of objects (not as in OOP), something weird about it is that there's a gray besides black and white (perhaps besides false and true ?).
Monkey sense
:-) Very true.
Picture object-oriented Forth with Unicode support.
kiku wa ittoki no haji kikanu wa matsudai no haji
Portmanteau pun, my man.
/Brian
Seems to me Java is probably the recipe language then. I'd suggest Ada, but who wants to use Ada?
/Brian
The irony of that comment is that although everyone in the Greater Boston area who's actually heard his name has adopted him as a Bostonian, Tim Berners-Lee is a Brit... /Brian
A Sanskrit language would be interesting, but as I pointed out in my comment about var'aq it would be rather difficult from a parsing standpoint.
I'm something of an amateur linguist myself (though I don't speak many languages). Sanskrit is actually very close to Latin and Greek in structure and vocabulary (though it doesn't look it) because it's an Indo-European language. The big problem with it is that you have the same problem of establishing a grammar for positional syntax. Parsing would be a bitch -- you'd have to slurp in an entire line ("sentence") and then establish what is what casewise (mercifully, you could do away with verbs since all you'd need is infinitive or imperative and gerund). Agglutinative languages like Turkish or, I don't know, Klingon, would require even more complicated parsing logic to split words into lexemes that make sense.
Vocabulary would be a different story; if that's all you're dealing with you can just base your syntax on the usual positioning of grammar elements in the base language and go from there. That's what I did with var'aq -- Klingon word order is object-verb-subject, so RPN notation became the order of the day.
ObShamelessPlug -- to see how it works, check out http://www.geocities.com/connorbd/varaq
/Brian
I wasn't trying to imply that Americans are less intelligent than the general world population, just that they tend to be less aware of things (affairs, events, cultures, etc...) external to the U.S. (or, rather, the fact that there is anything external to the U.S.
heidi
It's truly refreshing to read a comment that's so thoughtful and well-written. Thanks for an enlightening comment. (I'm being serious here... It was like a breath of fresh air.) Thanks :)
heidi
Nah, I'm still a relative newbie :) ... yet to be corrupted... though in my short time here, I've seen a lot of self-ego-boosting and noticed that many posters will go to great lengths to prove they are more intelligent than the rest of the /. community. And, yes, moderation is oftentimes... errr... interesting.... I wish more people here would realize that each person has strengths and weaknesses... Sure he may not be able to spell, but he just may know a heckuva lot about networking or GL or MacOS or whoknowswhatelse... In any case, thanks for contributing thoughtful, constructive comments. We need more thought and meaning and less carelessness due to not-well thought-out I-want-to-post-early-regardless-of-the-quality-of- my-response-so-I-can-get-modded-up-by-a- moderator-who-agrees-with-my-opinion-and-is-willin g-to-ignore-the-fact-that-I-can't-substa ntiate-anything-I-say-because-I-didn't-think-befor e-I-wrote. :)
heidi
12 letters: 5 vowels, 7 consonants (h, k, l, m, n, p, w).
heidi
North American egocentrism doesn't just manifest itself in this way, but this is a classic example of how people from the U.S. believe the U.S. to be the center of the world. (And yes, I am from the U.S. myself.)
heidi
I also happen to be multilingual... as are many of my friends... but my friends do not represent a random sample of Americans... and I'll bet yours don't either. Kudos to you and your friends for being so aware of the nuances of other languages and cultures. Too bad the whole of the U.S. is not like your group.
heidi
Sanskrit has been shown to be the optimal language when it comes to lack of ambiguities in liguistic structure iterpretation. Dunno why all the desi programmers do something with their skills..
Microsoft Word also had a locali[sz]ed version of WordBasic way back.
I know this as I worked in a software house at the time in England and was dealing with a Dutch customer trying to run some WordBasic macros that where written on an English version. The Dutch version of Word (Basic) simply didn't recognise the code. So I spent about a day sitting down with a Dutch user, translating the English WB into Dutch.
Thanksfully the later versions of Word supported the OLE model and the methods where all standardised in English (well, American).
What you've heard in J-pop probably was the English word "love," which often shows up in Japanese pop culture. I don't know of any Japanese word for "love" that sounds much like the word "love." The most commonly Japanese word work with a sort-of-similar meaning is "suki."
--------------------
WWW.TETSUJIN.ORG
- - - -
The real Tetsujin 28 is a giant robot.
since programming is based primarily on logic and, by extension, mathematics, linguistic variability shouldn't make much difference.
the more interesting question would be how would programming look if the prevelant logical system of the mid-20th century had used a different set of logical connectives and quantifiers. basically at the time we were using AND, OR, NOT, IF-THEN, EQUIVALENCY, UNIVERSAL QUANTIFICATION, and EXISTENTIAL QUANTIFICATION. you'll probably want to throw in the EQUALITY relation as well.
the cool logical result is that you don't need all these to express the same logical sentences. Of the connectives, you only need NOT and one of the others. So, for example, you could represent everything with just NOT and OR as:
A AND B --> NOT (NOT A OR NOT B)
IF A THEN B --> NOT A OR B
and so on...
similarly, existential quantification can be expressed using just universal and negation:
THERE EXISTS AN x SUCH THAT (some properties) --> NOT FOR ALL x NOT (some properties)
even funkier is that there is a logical connective that can act alone to express every logically possible sentence (though you would still need a quantifier). The SHEFFER STROKE (which symbolically is |) expresses:
A|B --> it's not the case that both A and B are true --> ~(A & B)
i'll leave figuring out the equivalences to enterprising people who are interested in this stuff.
there is another single connective, the dagger, which expresses NOR, and i think that one will do it by itself too.
imagine trying to program with just NOT and OR or even with just the sheffer stroke. it'd be a nightmare.
An English/English as a Second Language prof here once told us (his English 211X class) about an acquaintance of his, a Physicist who was a native Navajo speaker. (yeah, yeah, friend of a friend and all that) This guy allegedly claimed that Navajo is a much better language than English because it is "verbier." It supposedly (I don't know a word of Navajo, Athabaskan, for that matter, so I wouldn't know, myself) has more nuance and subtle differences in it's verbs that allowed him to think/write better physics than in English.
Even the samurai
have teddy bears,
and even the teddy bears
Even the samurai
have teddy bears,
and even the teddy bears
get drunk
Even the samurai
have teddy bears,
and even the teddy bears
Even the samurai
have teddy bears,
and even the teddy bears
get drunk
I'm no expert myself, but it should be obvious to anybody with even a superficial knowledge of the subject that the Japanese are particularly adaptable linguistically. The late Imperial Navy is a case in point. Go look at any of those ships on the bottom of the Coral Sea. All the gauges and controls are labeled in English! It's a general rule that foreign concepts are studied in their original languages. Thus English is mandatory for military and technical students, German for medical students, etc.
Actually, I get the impression that Japan is merely an extreme case of a general rule: in non-English-speaking countries, everybody is aware of the importance of foreign language skills. Many of these countries use English in their technical schools. I was particularly disconcerted to learn that the Swiss Institute of Technology (home of the Pascal programming language) does this -- Switzerland is not exactly a backward nation!
Perl sucks in any language. I mean, why not just use assembler if you want readability? Fuckn'kidzthese days.
Living Legacy of Consumption Culture
very little, but none at all?
Let me see you make this little bit of Perl simpler in German:
$name = $ARGV[0];
die if not defined $name;
print $name unless $name eq "Mythological Beast";
print "loser skipped..." if $name eq "Mythological Beaster";
exit;
How Now! Must every bit be spiced with a cross? Nay then, Take that! - Dr Faustus
How now! Must every bit be spiced with a cross? Nay then, take that! - Dr Faustus
it's just a matter of wanting...the human brain and t's posiblitity to learn is immense..therefore, we wouldn't be complainig, we'd be studying japanese, or whatever other language. usually, programmers are intelligent people, so i wouldn't be worried about them having a hard time learning
Your story is vaguely accurate. The word was "mokusatsu (wo suru)" which is defined by kenkyusha's new japanese - english dictionary as "to take no notice of; to treat (something) with silent contempt; to ignore (by remaining silent)" (I left out one or two).
There is no consensus that I am aware of among historians as to importance of this incident. Some think is was an unfortunate translation, others that it accurately portrayed the government's / army's position at the time. It is not known if the Emperor was interested in unconditional surrender when this happened.
--
Osugi Sakae
For a while One of our customer service guys was marketing to the chinese.
So they have me set up a Chinese writing pad. Cool no problem, but the instructions are in Chinese, that is except for the address of the importer, in Toronto. So I call 'em.
I explain that I am setting up this tablet and that I can not read the instructions. The guy @ the other end goes, "This is only good if you speak chinese" So I go "I don't speak chinese, but the guy who is using it dosn't know jack about computers." There was a silence @ the other end of the line So I say "He's in marketing"
Bubdy buys this and spends the next 1/2 hour talking me through the install. (It was a five minute install but my lack of chinese complicated the subject)
Yes I can not spell...Wait....for a second there I almost cared.
It was aimed at teaching BASIC in schools in North Wales, where there is a large anti-English movement.
I sometimes think parts of Perl were written specifically for non-english speaking programmers.
WHAT? You mean they're not?
Damn, there goes the entire foundation of my sense of self and reality, then.
PS. You really were kidding, right? *fret, fret*
--
NO TOUCH MONKEY!
Perl would look the same as it does today, ugly, non-readable, non-maintainable .....
Got Code?
Do you not think that your .sig seems to advocate moving programmers from people with equivalent status to brewery owners, to people with equivalent status to late night taxi drivers? Don't you think that this might be just a little bit of a harmful side effect of free software?
-- the most controversial site on the Web
Clearly deserves a -7
Discussion Never Hurt Anyone.
Libertarians
> What is the German word for 'compassion'?
... Other than that,
> (Its a trick question; as far as i know, there
> is no German word for compassion.)
Mitleid, Mitgefuehl, Einfuehlung, Empathie
would spring to mind
I have the impression that your expectations
about typical German behavioral traits influence your judgement of German-written software. I
certainly haven't noticed anything like it.
Oops, I meant ergative. Languages are
ergative when the case marker for the
subject of an intransitive verb is the
same as that for the direct object of
a transitive verb. All instances of "Alice" in
"Alice loves Bob", "Alice runs" and "Bob runs" have the same case marker (although one cannot
see it in English, but one could in Latin), whereas in ergative languages the "Bob"s would have the same case marker. Basque is an example of an ergative language, IIRC.
I work in a multilingual environment, mainly Asian[1] language speakers. Just in the team I work on we have native speakers of Punjabi, Hindi, English, Urdu, Indonesian, Mandarin and Zulu. Even when people are talking in, say, Urdu, a good proportion of the words they use will be English simply because there either isn't an Urdu word or the English word more precisely expresses what they want to say.
I don't speak Japanese myself but I have been told by a number of people who do that a major problem with the language is that it varies widely according to the relative ranks of the speakers. It is entirely possible that someone who lives in the Japanese court would be totally unable to communicate with someone who lived at the lower ends of society as, although they both speak Japanese, the forms they use are totally different. Apparently when the Emperor read the surrender announcment at the end of World War Two when he had finished (because he spoke only High 'Court' Japanese) the radio stations then had to bradcasst a translation into 'Common' Japanese so that people would know what he had said.
Stephen
[1] That's Asian in the UK English sense of the word not the US meaning.
"Don't write down to your readers, the only people less intelligent than you can't read" - Sign on Newspaper Office Wall
Perhaps that's why the Japanese didn't invent the computer. It's one thing to design a language from the ground up as object oriented, programing on a UNIVAC, or even a PDP-8 in an OO language would be a nightmare.
How about trying to make hardware with an object oriented paradigm? CPU design might possibly be debated, but memory is always going to be just a string of bits. I won't say the way it's been done is the only way, but for early computers, there weren't a lot of option to chose from.
my sig's at the bottom of the page.
Another thing to look at is that if some non-English language provided a particularly useful insight into programming, everyone would know it by know, since computer's are pretty much everywhere.
Granted, there are probably a few indiginous languages out there whose native speakers haven't had much access to computers, but I will assume that if they aren't using computers, they aren't a technological society.
If Sapir-Whorf is significant, and speakers of this language could provide insight into programming, it could be reasonably extrapolated that they'd have developed enough technology to be using computers. Since they're not using computers yet, they're not going to tell us anything we don't know.
Something about this argument reminds me of a popular argument for the impossibility of time travel (if it will exist, we'd know about it by now...)
my sig's at the bottom of the page.
>As long as you stay away from those gotos. ;-)
Unless, of course, you were writing a recipe for a certain pasta dish...
acroyear is mostly right, but not for his stated reasons. The written japanese language is made of three character sets: Kanji (Chinese chracters) which define words or ideas in a single character, Hiragana which uses syllables Japanese-native words and Katakana which uses the same syllables, but to define non-Japanese words. Think about the effect of this in written/coded communication. Most technology words and modern science words are written in katakana and are japanified versions of the foreign (usually English) words.
like writing a letter using "wing dings" font....
Atticka
No sig here...
I learnt a little Arabic at school... It's not such a pleasant language to write. First of all, it uses odd symbols (for example lambd + alif -> symbol la). Add all kinds of shaddas and vowels (they are written through dashes above and below letters). It also uses QUITE complicated suffix system for verbs (raaituhu -> I saw him, fatashtuhuna -> I looked for them (3rd body plural female - not male!) etc.). As to the grammar, it has 10 basic constructs (they are called vazan). It means that qaddama (double d means shadda) is different in meaning from qadima, though both are written quf-da-mim.
Since I haven't studied Arabic for already 2 months, I may be forgetting some stuff... But it doesn't seem such a good idea to program using it.
I gave up trying to fix his code after about 45 seconds.
-----------------
Kevin Mitchell
Actually, if they aren't perfect English speakers, It sounds quite different. I attended a choral festival while I was in Japan 2 months ago and it was hard to tell WHAT they were singing when they sang in English.
-----------------
Kevin Mitchell
It was hard! Just building a parser for a regular language like C++ is hard enough (you have to provide for all the different ways to write and prototype functions, for instance), but in a natural language you have to provide for dozens of ways and dialects made to say the same thing.
"a and b should equal c", "let the sum, which is a plus b, equal c" and "c should equal the sum of a and b" are all different ways of saying the above.
- I don't care if they globalize against free speech. All my best free thoughts are done in my head.
You haven't heard of Ruby? (Or for you English speakers out there, Ruby) To quote the FAQ:
Ruby is pretty dammed cool--it borrows (or maybe even just plain steals) a lot from perl, but the OO support was designed in from the beginning.
If anyone's wondering how this is done in ascii, it isn't.
I've heard the character sets described as double-byte, though that's open to interpretation. I started to teach myself JIS (an older Japanese encoding format) back before I had any word processors for Japanese. I seem to remember it was something like programming ANSI graphics by hand.
The format was something like
[esc]foo[esc][J
This is probably painfully incorrect since the last time I entered it was about 6 years ago, but basically there was a short header, characters represented by double-characters, and a closing command.
(I'd look it up, but these days everyone uses Shift-Jis which is quite undecipherable to me.)
Here's a clip of some from www.yahoo.co.jp:
fRf"fsf...[f^ÆfCf"f^[flfbfg
It says (in English, written in Katakana,) "Computer and Internet"
There are 15 characters to it in Japanese. Don't ask how it came to be 28 characters of code, I don't know.
Bingo Foo
---
taken! (by Davidleeroth) Thanks Bingo Foo!
Perl is just abstract molecules banging together.
There are several dialects, but they all use the same characters, so the symbol for man would look the same in all dialects, but could be pronounced totally differently (in the same way as 1 is the same in all western writing, but not in speech). So if you can read/write English/Chinese then you can probably communicate with most people (assuming that they can write).
Much like you, I'm also fluent is both English and Russian. I do find that programming concepts are much easier to explain in english, but if I'm talking to someone that I'm used to talking predomenately Russian with, I'll just mix the two languages together. I find that mixing languages isn't uncommon for bi-lingual people, as I have a friend who knows Serbian, Yugoslavian, and English, who talks to his family in a combination of all 3.
DJ kRYPT's Free MP3s!
Talking of thinking differently in natural langauge and programming, one think I noted is when doing X programming, I'll happily write XAllocColour(...) // allocate a pretty colour without even realising I'm spelling colo(u)r differently. It's just automatic.
This is an extremely interesting idea. Another way to phrase the question might be "If Larry Wall's native laguage were Japanese, what would the logical structure of Perl be like?"
It's not really about translated variable names, and Perl is an excellent example for this since so much of Larry's personality shows up in the language. Are there any non-native English speaking programmers who could comment on this?
-----
"I always try to avoid the term 'language', but it is certainly a complex communication system."
-Vincent Janik
A cross-platform progam language before of Java existed, but all syntaxes where in Espanol.
vinylat33
sig. mmmmmm, nice, linux is boosting lately....
I bet we would have gotten unicode support a lot quicker...
>I guess had Britain WON the Revolutionary War we would be speaking the queens english Probably not - American is more widely spoken than English because of the US's huge economic clout (it's a bigger country, more mineral resources). And as for the "Queen's English" - I've lived in England most of my life and have met maybe two people who actually spoke anything one could describe as "The Queen's English" - and one of those was from Hong Kong (although he was educated at Eton)
Not everything that can be measured matters; Not everything that matters can be measured.
>Take a simple example from HTML A correct implementaion of HTML should, in fact, parse both colour and centre correctly. :-)
"Color" and "Center" are there only because of the huge number of illiterates in the world
Not everything that can be measured matters; Not everything that matters can be measured.
>if French were the lanuage of choice...
More crashed spacecraft too (Arianne Sank...:-)
Not everything that can be measured matters; Not everything that matters can be measured.
although it's true that india has a large number of people, it's not as simple as that.
smart indian kids get pushed, scolded, and over-encouraged into utilizing their talents. this isn't to say that all indians are smart, it's just that those who demonstrate some ability are generally advised to make something of themselves.
and the two most desirable professions? why, medicine and engineering, of course. _that's_ why india has so many programmers. the culuture there is geared towards science, from early on.
london is drowning and i live by river
In my last job I had to debug a large program written in VBA (Yeech) by a german colleague.
He had never coded anything before, so there was no indentation, commenting, or even standard use of functions... Also, most of his variables were named using German words.
Most of them were easy to figure out, but there were some that actually made no sense, even to the german-speakers I asked to help translate them....
Never again...
Sort of reminds of Erich Fromm's To Have or To Be where he argues using language of possesion, rather than action, is a symptom of capitalist acquisitiveness. ("I have a cold" instead of "I am ill with a cold"). C is procedural, a language of action. C++ is OO-ish, a language of things. But then it's a language of things doing stuff so it's not all bad.
Hmm... I've always kinda thought that programming languages resembled mathematics more than written language. Granted, that's more true for some languages than others... C looks kinda math-like with it's syntax for functions and it's use of symbols, while SQL looks much more English-like. One thing that might be different is where the "verbs" go. I'm pretty sure that verbs always come last in Japanese sentences. Maybe instead of SELECT Name FROM ACCOUNTS WHERE Id=660 or printf("Hello World!\n"); we'd have FROM ACCOUNTS WHERE Id=660 SELECT Name or ("Hello World!\n")printf;
English is just what we use to represent these things (if, while, whatever function calls, etc...)
Ooooh... a whatever clause really would have come in handy last night when I was banging my head against that bug.
-b
Okay, lets take some examples...
PASCAL is easier to read, a much more verbose language and contains many more English words in it's basic language than C does.
QED.
-- The universe began. Life started on a billion worlds...
-- Except on one where stupidity was there first.
> I was told that Pascal was created by French
> programmers anf that is why "it is the way it
> is".
Lord, give me strength. Pascal was created by
Niklaus Wirth, who is from Switzerland and whose
native language is German.
Chris Mattern
The complex system of suffixes, I think, was one of the features the professors were thinking of. As you probably know, it is actually much more complex than you describe. There are case endings, which in practice are often optional but which you have to learn, that indicate the parsing of the sentence. If a word is genetive it takes a fatha, nominative it takes a dummua, etc. So you basically have to diagram the sentence dynamically in your head as you say it (on those few occasions where you actually speak in the "classical" written dialect).
Actually, writing this I wonder if what they really meant was that Arabic could be parsed by machines more easily than other human languages. In fact, that actually makes sense now that I think about it -- it's probably true.
So as Rosanna Rosanna Danna used to say: never mind.
-
-
Give me liberty or give me something of equal or lesser value from your glossy 32-page catalog.
Look at it from the point of grammer. One example would be "if-then" or "if-else" statements. In English the structure is "If X then Y". Not being multilingual, I can't say for sure that another language is structured differently, but I'd hazard a guess that it's the same. Messing around with a logical sentence structure like that isn't the same as putting adjectives in a different place.
Being quadrilingual (with a smattering of others), I can say for certain that that is certainly not the case. In most western european languages that is the case (English, German, French, Spanish, Italian), but if you consider the Oriental languages like Japanese and all the various dialects of Chinese, they have very different sentence structures.
The only reason an if-then-else structure seems solely logical is because you haven't had exposure to other languages. It's as much a cultural thing as anything else.
"Free beer tends to lead to free speech"
Windev (a windows-based RAD toolkit) supports (supposedly) all keywords and functions both in English and in French.
...) make little sense when you actually read the original English version.I think that most often the translations are made by people who are not French native speakers, non-technical people or both.
My personal experience with its French keywords has been brief and painful (though I am French) since all the other languages I had learned before were English-based.
Having lived in a world full of if-then-else blocks, I just couldn't stand the si-alors-sinon blocks.
I would guess it is because I am used to reading and writing well-structured sentences (in French at least) and am thus just horrified by the way it looks (and sounds). Add to this that their choice of function names are often twice to three time longer than the English ones...
Furthermore, most of the translations that I have seen (be they manuals, novels
And this definitely sucks.
sulli
sulli
RTFJ.
I am a software translator and tester, mainly from English to Spanish and Catalan, and three of the main problems we have with the process are:
- The user messages are shorter in English, which leads to truncation problems when displaying.
- Most words have no gender or even number, which leads to grammatically incorrect messages to the user.
- Some words are difficult to translate out of context ("open" can be translated into Spanish as "abierto", "abierta", "abiertos", "abiertas", "abrir" or "abre" depending on the context). Catalan and Italian (don't know about French) have the same quantity: six possible words each.
Fortunately Java, HTML and all this stuff solves the first one for us, but the other ones generate a fair amount of re-coding and re-testing.Strength, balance, courage and reason. If you know what's this about, contact me!
Different languages have different ways of expressing the same thing. This colours the way you look at the world.
For instance, you look out and see snow on the ground - ok, it's snow - or you may call it slush or sleet, that's about the most distinction you'll get in English.
An Inuit on the other hand, sees teh different types of snow as different things (OK - not quite, more different varieties of the same thing). He therefore can _express_ the distinction.
Luckily English is a very expressive language, but obviously someone who speaks a different language has a different view of how the world is. IMHO that taints whatever they do - including designing a language.
I think this holds for different programming languages too - when you try to code in Java, you look at teh problem one way, when you code it in COBOL, you look at it another way *because that is how the language colours your view of the world*.
whats a non-ergative language?
Q:If you are American when you go into the bathroom, and American when you come out of the bathroom, what are you when you are in the bathroom?
European
Sorry. Couldn't resist.
>ever see a pronoun in C?
void *it;
The Ruby programming language is written from native japanese speakers. (would explain the delay on those docs)
I haven't looked at it much, but the idea of comparing it to other programming languages based on the native language of it's author is interesting.
Come to think of it, Python has grown from roots in Swedish?/Dutch? (argh, forgive my ignorance)
http://www.ruby-lang.org/en/
http://www.python.org
I am a native English speaker living in Japan who spends a fair amount of time reading perl written by Japanese coders. I have the following comments. 1) Most Japanese programmers of any quality read a fair amount of English and speak at least a little. It is hard to get through the education system (7 years of English) without picking at least some English up, though God knows, some of my Japanese friends tried hard... It would thus be VERY difficult to find an "untainted" sample - Japanese programmers who have had no exposure to English at all.
2) The Japanese I deal with all code very well.
3) What is more interesting is the effect the ability to write ANY computer language has on their ability to communicate in English. I proofread a lot of comp/sci papers (Ph.d theses and the like) written by the same coders in English. When they start writing/communicating in English it is usually pretty awful - it isn't just the English that is bad (my Japanese sucks by the way) but that the original Japanese, in which the thought was expressed, often has no clear meaning even in Japanese. In such situations we tend to communicate/articualte the problem in "pseudo code" - a stripped down English based on whatever computer languages we share. I have tried this with the same people to discuss very complex non-computer related issues and it seems to work there as well. I think being able to write computer code gives people an additional resouce from which they can escape from the semantic ambiguities of their primary natural language. 2) Some people have made the point that Japanese can be very clear and explicit. True, it can be - but as a Japanese friend put it - it is like writing a low level printer driver in cobol - POSSIBLE - but neither efficient nor sensible. I often encounter a problem of Japanese friends/wife not understanding sentences because they are too logical - and for them - "overdefined". Gaijin Nihongo has this feature they tell me - a kind of semantic overdetermination which has the curious effect of reducing comprehensibility. Japanese news commentators (even the serious ones) talk in far, far, shorter sentences than their English speaking couterparts. It is POSSIBLE to speak very long sentences in gramatically correct and unambigous Nihongo - but not if you expect to be understood by a monolingual Japanese speaker. Curiously enough, I can understand western commentators speaking long sentences in Japanese on Japanese television far better than my Japanese wife can - even though she agrees that it is gramatically correct. Japanese commentators just don't do it as they fight shy of using logic glue and complex conditionals to create monster sentences.
3) I doubt any of the above applies to any native Japanese speakers reading this who has a high level of Engish (or other non-Japanese language bar korean). The ability to speak a second language changes ones relationship to ones first language.
This is interesting, because the impression that I got was that the Japanese invasion of China was basically initiated at the Lieutenant level, and was only rubber-stamped due to the overwhelming approval of the public.
Two points: 1) Canada is just another state. Nice of you to lob it in with Wisconsin like that. 2) If you're using "become:" then you're doing something wrong. It's like casting in C++.
According to some of my Japanese friends, there was a version of BASIC developed in Japan which used Japanese for keywords, variable names, etc.; if memory serves, it was called Future BASIC. (Any Japanese readers want to correct me here?) At any rate, it was apparently a fad for a little while, but eventually fell out of use--due in part to the essentially English syntax which made little sense even with Japanese words substituted in, but also in part to the difficulty of typing Japanese on a keyboard.
In order to type ideographs, you have to type in the reading of the ideograph first using the Japanese syllabary (no, they don't use 6000-key keyboards ;) ) and then convert that into the appropriate character. Which in itself takes time, but due to the small number of distinct syllables in Japanese, a single word or phrase can be converted into dozens or even hundreds of distinct strings of characters, and no matter how smart the conversion program is, it won't get things right all the time, so you may have to choose among several options for each phrase you type in. Although I'm not a native speaker, I've personally found that I can often handwrite Japanese faster than I can type it in, although my English typing speed is much better than my writing speed.
Well, semitic languages use standard suffixes and prefixes to indicate object/subject gender and plurality, so you can legally state in entire sentence with subject object and verb in one word, but C already does this. the classic ++buffA* = ++buffB* for example. It's even already backwards, like Hebrew and Arabic! that is the first thing accessed is on the right hand side and proceeds to the left. Conclusion C is not English!
The trouble with computers is they do what you say not what you mean and the trouble with people is they do what you mean and not what you say! Programs thay try to guess what you're doing (ala MicroSoft Wierd) can range from terribly helpful to terribly annoying.
Better yet, imagine COBOL in German.
Actually, to me German operas sound completely different from Italian ones :)
Snarfangel
This tagline is copyrighted material. Please send $10 for an affordable replacement.
What would Perl be like if it was coded by a native Japanese speaker? All the Perl I've seen looks like it was...
The SCO lawsuit makes me wish my company were in Utah. We need a new building.
Fuck off, JonKatz, I hate you!
pour chaque feuille dans le cahier "Untitled"
;-)
ouvrir avec "SimpleText"
fin de pour
Tu es pardonné
Many theories to the invasion of China, but even if it did start at the Lieutenant level, that event would have been an exception, not the norm.
Don't you mean 2000?
LOL, yeah. I meant to write 2000 as the base number needed, and that it could go as high as 200,000. Ah well. =p
"kiiroi sen no uchigawa..."
Super-OT, but I was shocked to hear that phrase upon my recent visit to Japan. The lines used to be white... "hakusen no uchigawa...." I wonder what made them change the colors. (shrug)
Because the Japanese language contains characters that represent multiple thoughts or alphabets, we would probably be able to put more code per page. There would probably be less line-wrapping, less concerns over indenting, and less paper used to print out code and documentation. As a native Japanese speaker and programmer, I would love to be able to write code that is 10-20 characters long, but obscure like crazy. (wait, Perl already does that, ROFL)
Chuckle...
I wonder about this, though - it would have made the learning curve horribly steep, since one would have to go from learning a 26-character set to a 200,000-character set just to start coding.
This is where we might use up more paper... writing up educational material and documentation.. hehe...
Disclaimers for all potential flamers: The Chinese language, which Japanese is based off of, would be even more complex, and yes, there are more than 200,000 characters in Japanese, but that is said to be the average that you need to know to get started.
You are confusing verbs and vowels in your example. There exist no languages without vowels, as far as I know. The language with the least known number of different sounds ("phonemes") has 11 phonemes, two of them being vowels, if I remember correctly.
Certain languages exist that draw no syntactic distinctions between nouns and verbs; one of these is the Native American language Nootka, for example (probably the one with the most research).
This is not as uncommon as it sound, though. Arabic, for example, draws very little syntactic distinction between adjectives and verbs. The sentences "The house is red" and "The house burns" could be syntactically identical in Arabic. This is just an example of where differences in natural languages may exist.
If a speaker of a language like Nootka were to devise a computer language, it would probably draw no distinction between entities (such as variables) and instructions (such as functions). The result would probably look a bit like LISP. You are perfectly right there.
Languages that have no specific concept of "yes" or "no" are really frequent. Even some Indo-European languages don't share these words; the Celtic languages, like Irish, Scottish Gaelic, Welsh and Manx don't have them, for example. That's why speakers of Hibernal English (with Irish accent) often answer questions like "Are you feeling OK" with "I am not". It's in the dialect.
As a state gets corrupt, its laws multiply; the most corrupt states have the most numerous laws. (Tacitus, Annales 3:27)
The logical structure of the Arabic grammar is indeed one of the most striking properties of that language. Among Arabists, however, it has become an accepted opinion that the rigidness was probably enforced on the language later on, so that deep down at the core of the language, it is still not very much more logical than other languages.
When reading Classical Arabic texts, one finds that the structure of the language of the Koran (seventh century), for example, is not as unambiguous as the language of later authors, such as Ibn Arabi or Ibn Taimiyya (twelfth century). This implies nothing about the beauty of the language, which, in Arabic, is indeed hardly surpassed in the Koran; nevertheless it appears that authors have agreed on a more formalized scheme in later times.
There is quite a number of cases in Arabic where regulations that cover basic aspects of the language are pretty illogical. For example, the roots "l-q-y" and "b-k-y" share the same structure, yet the past tense of the former is "laqiya", the second one is "baka" (hope you don't mind the ugly transcription), and there is no rule that covers this. Or look at the case and number congruency when combining words with numbers, which would be a real problem in a computer language environment.
In my opinion, though (being a native speaker of German and speaking a couple of other languages, including English and Arabic), Arabic would definitely be a better choice to base a programming language on than English because English has almost no notion of grammatical precision. I know of no programming language that uses it, either, but this is probably due to the problem of having to represent the Arabic script, which computers don't do very well, even by now.
As a state gets corrupt, its laws multiply; the most corrupt states have the most numerous laws. (Tacitus, Annales 3:27)
I just want to say this:
If there is one human language that has any chance of being computer understandable (=algorithmic) is Greek, because it has so strict rules and syntax that leaves nothing to guesses, and you can derive each words use in a sentence by looking at its ending/etc. in other words, Greek is a 'context-free' language- words order really doesn't matter, or anything else. Of course, this makes it very complicated, but that's the price you pay if you want total control over structural elements and stuff. If someone is really up to writting a language comprehension program, Greek is the language.
Until then, i'm off, learning to play Lack Of Comprehension...
byez
Looking for people to chat about multicopters, coding, music. skype: gtsiros
Only thing I notice when I see the code written by Japanese Programmers is the variable name. They usually put Japanese name for variables.
Here's what people are thinking when you shout:
"Yet another dumb tourist who didn't bother to learn some basic vocabulary before travelling... I haven't a clue what he's saying, but I can make a good guess of what he wants: let's give it to him before he shouts our ears off.
Pointing at things, speaking more clearly and slowly, trying different words, are all acceptable ways of dealing with this kind of situation. Shouting is just plain rude and ignorant. Just to let you know, in case you didn't already...
--
--
sig is gone.
Actually that has everything to do with adoption of English language, absolutely no career options, H1 visa and availability of dead end IT jobs. Not to forget infinite patience (and centuries of training) for taking shit and absolute sincerity to employers. Any Indian with a bit of English and expensive computer course can make it to a minimum of DBA. (as of today). However if you think anybody has a clue about 'bug' or 'pipe' or 'bus' - think again, they are as relevant as 'int i'. If Napolean had succeeded, I assure you there would be no less Indian programmers today.
English is the best !
There are translations of originally English-based languages into Russian, among them : Cobol, Pascal, Basic, Algol. There are also some originally Russian-based languages, like Yamb, Analytic,some assemblers, 1C script (old variant), and other monsters. They all look ugly, because Russian, unlike English is very sensitive to violations of grammar rules. However, it is impossible to incorporate all features like cases, genders and word forms into formal grammar. It is not true that BNF allows words from any language. BNF is English - based. For example, (in some hypothetic language) there are following statements:
Program xxx
File yyy
Write program
Write file
in russian it will be:
Programma xxxFail yyy
Pisat programmu
Pisat fail
BNF assumes that there are no word forms, like programma, programme, programmoi etc, that are context dependent.
Translations of existing languages looks even worse, because some concepts can not be expressed in Russian directly, and others are quite long and uneasy. Examples
Option - can not be translated into Russian neither by single word, nor by any combination of any words at all
Until = Do teh por poka ne
Look at it from the point of grammer. One example would be "if-then" or "if-else" statements. In English the structure is "If X then Y". Not being multilingual, I can't say for sure that another language is structured differently, but I'd hazard a guess that it's the same. Messing around with a logical sentence structure like that isn't the same as putting adjectives in a different place.
Overall, code (ideally) has a good, logical flow. One thing happens, so another thing happens. The result is this, so this other thing doens't happen. This could be described in any language, not just English (with the noted exception of whatever the language Bushmen talk in is called - unless you like programming with only . , - and *).
Does anyone know of a language that has a logic structure much different than English? Unless there is, I think English hasn't made much of a different.
Mr. Ska
My web camera lets you play games by jumping around in front of it, why not convert it to programming? "Watch out dear, I'm trying to write a for loop and I need as much space as I can get!"
What happens when you trip over the cat?
Your signature would imply a Ferengi disguised as a Klingon. If you are indeed a Ferengi dog, you dishonor your house, not to mention all of this thread, this message board, and /.
I shall be practicing with my bat'leth while I await your response.
This question is essentially the same question originally put forth by Michele Foucault and other post-modern thinkers about thirty years ago. The belief is that the language in which one speaks shapes one's thinking according to the words, actions, and ideas it conveys. English and German have both been viewed as very functional and hence scientific languages, limiting the artistic potential of them. French is often viewed as a more artistic language, as is Japanese. This case is strongly supported by the writings of geniuses such as James Joyce, who in order to completely express the brilliance of his mind would use up to fifty languages simultaneously.
Each language has a unique set of metaphors and idioms, which shapes the thinking of the speakers of that language. Does this take away from individual free will? Does our language predestine us to be certain types of people? That is a huge question, one that ties intricately into all contemporary endeavors such as programming. Most post-modernists have arrived at the conclusion that though one's language does predispose one to a certain type of thinking and that other types may be more difficult, it is possible to bridge that gap. Ultimately, fluency in multiple languages gives people a much wider range of idioms with which to think. I know I was surprised with some of the interesting new ideas that made more sense once I came to understand French and German, though I am not by any means fluent in either.
I recommend that anybody interested in such theoretical questions read the writings of Michele Foucault, and that to see an excellent case study for the usefulness of multilingualism, one read James Joyce (be sure to have lots of translation dictionaries around). Merci, Tom
I did not design this game/I did not name the stakes/I just happen to like apples/And I am not afraid of snakes-AniD
A C-Program in German: druckearg.c -------------------------------- #einschliessen leer drucke_hilfe() { druckef(" Start: druckearg argumente ...\n");
}
ganzzahl haupt( ganzzahl arga, zeichen* argv[]) {
wenn(arga>1) {
fuer ( ganzzahl i; i arga; i++) {
druckef("%d : %s\n", i, zeichen[i]);
}
kehre_zurueck 0;
} sonst {
drucke_hilfe();
kehre_zurueck 1;
}
}
--------------------------
Do you like it? :-)
Greetings from Germany
Ulli
A C-Program in German:
...\n");
:-)
druckearg.c
--------------------------------
#einschliessen
leer drucke_hilfe() {
druckef(" Start: druckearg argumente
}
ganzzahl haupt( ganzzahl arga, zeichen* argv[]) {
wenn(arga>1) {
fuer ( ganzzahl i; i druckef("%d : %s\n", i, zeichen[i]);
}
kehre_zurueck 0;
} sonst {
drucke_hilfe();
kehre_zurueck 1;
}
}
--------------------------
Do you like it?
Greetings from Germany
Ulli
AFAIK every programming language can be set down, albeit long and complex, in a set of rules in BNF (Bacchus-Naur Form) which shows exactly how any statement in the language can be derived. So it really wouldn't make any difference what language the rules were in as long as they followed the same derivation. So one could create a Russian version of C that simply replaces the english words with appropriate Russian ones, but uses the same structure.
Last I heard, the majority of the Japanese were still fascinated by the English language and use it in their culture to "label" items.
My guess is that the situation would be somewhat the same, with a Japanese coder using English to represent different commands. The name of the commands would probably be different, and could even be shorter, much like Perl is anyway.
Putting the verb at the end of a sentence in Latin is a convention, not a feature of the language. Latin is heavily inflected, so you can tell from a word's ending what job it's doing in a sentence (Subject, Object, Verb, Indirect Object, etc.) This means you can put Latin words in pretty much any order you like and still be unambiguous. English used to be inflected too, but over the centuries has moved to a system where a word's position in a sentence indicates the job it's doing. For more information, please see the "Romans Go Home" sketch in Monty Python's Life of Brian. :-)
In Latinate Perl, if such an abomination were to exist, tokens could occur anywhere in a statement. The convention of suffixing variables to indicate their type would have to be extended to commands; also, you'd need suffixes to indicate lvalues and rvalues in assignment operations... it would be More Than One Way To Do Things (tm) philosophy taken to its (il)logical conclusion!
Seriously, though, vlax is right: languages do not somehow limit people's ability to form thoughts. The logical and empirical arguments supporting this view are extensive, unlike those supporting the thoroughly discredited Sapir-Whorf hypothesis. Of course, it is quite imaginable that cultural, organizational, or other factors along those lines could underlie the difference that Churchill perceived in Japanese tactical behavior. For example, British and American military doctrine could well leave more autonomy to lower-level commanders, allowing them to "wing it" if they encountered information that required modification of their plan in order to achieve the desired end. But IANAmilitary(strategist|historian).
"Biped! Good cranial development. Evidently considerable human ancestry."
A pointer isn't a pronoun it is another reference to an object
Isn't that exactly what "he" is? In natural language you know what's being pointed at from the context. Programming languages have to be more specific.
Here's a little "half natural language" program:
For each person in USA
If he is President_of_the_United_States then him.impeach
end
Now, wouldn't you implement he/him as some kind of object pointer? (Just imagine you had to change keywords according to gender of the object...)
I think you're missing his point. It's not about interpretation it's about observation. You and someone from China would have the same 'mentalese' way of describing the scene
Speaking as someone who knows nothing about the subject, it seems to me that it depends on whether one is thinking about something concrete, such as a dog eating icecream, or about abstract matters. Looking at my own mental processes, when answering this post, for example, they are almost entirely verbal. When thinking about the latest argument with my girlfriend, the same applies. I'm practising my next verbal onslaught, for the most part. I don't even start visualising dogs or arguing women. Maybe I'm not a visual person.
The point is, you can provide more detail with the language if you want, but it is not the standard practice.
It seems to me that you can be ambiguous or simply unclear in (probably) any language. It's more the speaker's mastery of expressing himself than the language, IMO. Just think of all that technical docu you've read. How much of it was completely clear and unambiguous, regardless of the language?
due to a double-entendre, the meaning did not get through.
I'll bet it did though. No way they were going to lose the chance of trying out their new toy.
That inflexibility sounds a lot like the British in WW1 where the class ensured that the officers were simply the higher classes, rather than the most competent. The working class soldiers also held their officers in some esteem due to them being further up the class system. The carnage that resulted pretty much destroyed the class system in Britain, or at least reduced it to a mere shadow of its former self. And the working classes would never again trust the ruling elite to the extent they did before the war. So, whilst culture shapes language (and vive-verca), I suspect culture was the main factor here, not any ambiguity in the language.
I don't necessarily agree that Chinese is any picnic to read/write though, everything is characters, there is no furigana, and many characters can be read in more than one way...
I like cake
Of course, you might make the claim that because cantonese continues to use some words considered archaic in mandarin (for example, compare the way that you would say "cold" or "to eat/drink"), but that doesn't mean that Cantonese was necessarily THE classical Chinese, instead it is probably just that they have continued to use these words whereas Mandarin has adopted new ones.
I like cake
Mandarin is good stuff too, but you really have to develop an ear for it as it is a lot different from English. From the perspective of many native English speakers it sounds silly; however once you are accustomed to speaking it it really is a lovely language ^_^
I like cake
Phonologically each of these modern dialects, Mandarin or Cantonese, very loosely speaking, is a simplified and modified version of Middle Chinese. Modern dialects are sisters languages and none of them is developed from the other. There are many phonological distinctions found in Mandarin but not found in Cantonese, and vice versa.
I like cake
As if the US horny guys wouldn't do this either?
^^
The nick is a joke! Really!
GPL Deconstructed
Re:It won't matter (Score:0)
by Anonymous Coward on Tuesday August 15, @01:39PM EDT (#58)
Yes, but even the opcodes in assembler are abbreviations of english words... like ZAP for Zero Add Pack... (It's been over a decade since I did assembler on IBM mainframes in college... that's the only opcode I could remember off the top of my head!) Assembler opcodes are just symbollic names for the machine language opcodes, but very few people want to program in straight machine language (or assembler any more, for that matter). I fondly recall digging thru core dump printouts, and having to translate the hex opcodes to figure out where the problem was... -dc the ac
Re:It won't matter (Score:0) by Anonymous Coward on Tuesday August 15, @02:42PM EDT (#290) Wrong the first language is not assembly! The first language would more likely be defined by turing automata, or finite automata or Church's lambda-calculus. So you will see the language of programming is the language of mathematic.
Re:It won't matter (Score:0)
by Anonymous Coward on Tuesday August 15, @03:29PM EDT (#379)
Erm, how is this comment insightful? Obvsiouly C and Perl are just higher level abstractions. What matters is *how* they provide higher level representations of instructions. Just as language influences the way the think, programming languages influence the programs we create. -Miller Peterson
Re:it would be incomprehensible! (Score:0) by Anonymous Coward on Tuesday August 15, @10:49PM EDT (#682) We had a guy from Quebec who wrote much of the backend of our site. All his variables and all the comments were in French, for "job security reasons". Then he quit :-(
Re:latin-based programming... (Score:0)
...). Recent versions have abandoned latin, though.
by Anonymous Coward on Tuesday August 15, @03:38PM EDT (#394)
Actually there is (was) programming language in Latin: kleio. It's a query language for a hierarchically structured database. It's mostly used by historiy scientists (good for getting family relations out of ancient domuments' transscripts i.e. Gandalf is the nephew of Thorndal who sold a wineyard to
See Descripton
Re:Slavonic C (Score:0)
by Anonymous Coward on Tuesday August 15, @09:53PM EDT (#657)
Hey, "I don't have no money" means "I don't have any money" in English too!
;)
Re:Japanese Perl: syntax example (Score:0)
by Anonymous Coward on Wednesday August 16, @01:21AM EDT (#721)
German acutally allows "OVS" sentences too. For example, "Perl lerne ich" (I learn perl) is okay
Re:Japanese Perl: syntax example (Score:0)
by Anonymous Coward on Tuesday August 15, @03:54PM EDT (#420)
Would we continue to use the hungarian notation when programming? Or would we adapt that to the specific country... This could affect readability more than common syntax.
Re:Snow Crash (Score:0)
by Anonymous Coward on Tuesday August 15, @02:24PM EDT (#239)
BASIC might be okay for brownies, but when I cook a big dinner I need concurrency - steam the rice while the meat marinates and I chop salad.
Re:Snow Crash (Score:0)
by Anonymous Coward on Tuesday August 15, @05:27PM EDT (#527)
Yes, but unfortunately Chomsky formulated those theories AFTER he went mad...
Re:India (Score:0)
by Anonymous Coward on Tuesday August 15, @01:33PM EDT (#33)
Or technical education.
[ Reply to This | Parent ]
they speak English in India (Score:0)
by Anonymous Coward on Tuesday August 15, @02:00PM EDT (#154)
from the CIA's World Factbook "English enjoys associate status but is the most important language for national, political, and commercial communication"
Most people from India are DBA's (Score:0)
by Anonymous Coward on Tuesday August 15, @02:20PM EDT (#233)
...and that's the truth!
[ Reply to This | Parent ]
Most people from Africa are NEGROS (Score:0)
by Anonymous Coward on Tuesday August 15, @02:45PM EDT (#302)
..and that's the truth!
[ Reply to This | Parent ]
Re:Most people posting to SLASHDOT are MORONS! (Score:0)
by Anonymous Coward on Tuesday August 15, @09:51PM EDT (#655)
...and that's the truth!
[ Reply to This | Parent ]
Re:India (Score:0)
by Anonymous Coward on Tuesday August 15, @02:29PM EDT (#252)
how many indian athletes or artists do you know? they are technically inclined.
[ Reply to This | Parent ]
Re:India (Score:0)
by Anonymous Coward on Wednesday August 16, @01:23AM EDT (#722)
Hey Chootia, Have you ever heard of Sachin Tendulkar? Probably the worlds best cricket player. (Cricket incidently is a sport watched by nearly 2 billion people for you dumb yanks).
There are more than 25 languages in india (Score:0)
by Anonymous Coward on Tuesday August 15, @03:41PM EDT (#396)
There are more than 25 languages in india of course each with its own script. Each Script is based on sound procduced. usually the first 10 start from base of throat, next 10 start from base of tongue, next 10 from mid tongue, next 10 from tip of tongue, 10 misc sound. Each language has about 50-60 characters.
[ Reply to This | Parent ]
Every guy know a minimum of 3 languages (Score:0)
by Anonymous Coward on Tuesday August 15, @03:45PM EDT (#405)
Thats the divercity of the country.
Re:India (Score:0)
by Anonymous Coward on Tuesday August 15, @07:36PM EDT (#599)
It has do to more with the learning system than the language itself. They have to learn English and their own language. They have a lot of math and logic classes. So there are many people with excellent logic thinking plus English speaker.
[ Reply to This | Parent ]
Re:India (Score:0)
by Anonymous Coward on Wednesday August 16, @03:50AM EDT (#744)
India also has an incredible number of languages. Maybe they feel at home with so many different programming languages.
[ Reply to This | Parent ]
Re:What about slang? (Score:0)
by Anonymous Coward on Tuesday August 15, @04:04PM EDT (#440)
Where do you think Valgol's fer-sher loop came from?
[ Reply to This | Parent ]
Re:What about slang? (Score:0)
by Anonymous Coward on Tuesday August 15, @04:30PM EDT (#467)
Instead of throwing an exception, you could just bitchslap it to the next higher level pimp to catch.
[ Reply to This | Parent ]
Re:What about slang? (Score:0)
by Anonymous Coward on Tuesday August 15, @05:00PM EDT (#506)
And "this" would be "up in here."
Word.
structure of languages (Score:0)
by Anonymous Coward on Tuesday August 15, @02:35PM EDT (#267)
What about the reliance on word order vs. inflections. English grammar is very strongly word order based, to be contrasted with for instance latin (for example in any first year latin textbook it will be pointed out with some silly sentance like 'the boy gives the flowers to the girl' in the latin the word order does not effect the sense, only the emphasis, whereas that sentance in english is very different from any other ordering of it (the flowers give the girl to the boy)).
Structually, programming languages seem very much based on order as well. Of course its not at all clear that the kinds of things dealt with in programming have different roles which can be categorized into a relatively small number of categories, the way nouns can be objects or subjects, etc. but nor is at all clear that they don't. Perhaps if English were not the language that they are all based on such non-positional structure would exist
The Open-source is too consciously PC as it is. This looks like the same slippery slope argument that allows vegans to make fun of vegitarians.
www.ridiculopathy.com Tomorrow's update will concern how guilt-ridden Range-Rover-driving Democrats will protest their own convention, hoping to bring themselves to their knees.
My mom worked for NIIT, an Indian company, and they do program in English.
"..don't you eat that yellow snow."
Anyone here remember Snow Crash? The book was a fun read, but part of it relied on the fact that hackers, (real hackers, not leet kiddies) have certain "neurolinguistic patterns burned into the deep structures" of their brain. Most of that was needed for the plot, but i think it has some truth.
;-)
Haven't you ever wanted to write out your math assignments with some simple for next loops? Programming adds a whole new mass of ideas that your brain can use. Like recipes. Wouldn't they be better written in BASIC? I think so. Everyone can read it, and it is more precise. As long as you stay away from those gotos.
Doesn't India have an unusually high percentage of computer programmers? Maybe that has something to do with language?
classe publique BonjourMonde {
} }javac BonjourMonde.java
BonjourMonde.java:1: 'class' or 'interface' expected BonjourMonde.java:3: 'class' or 'interface' expected 2 errors
prompt:~/> merde
merde: Command not found.
joe:~> ta gueule
ta: can't open gueule
joe:~> 'culé!
Unmatched '.
joe:~> va voir ta mère en short sur la lune
CORRECT>v voir ta mère en short usr lp lune (y|n|e|a)? no
va: Command not found.
joe:~> ^D
Arabic is a very well defined langauge with very strict rules of grammer and strict rules of prounciation. However, modern day Arabic is some what diluted by mixing with other languages but the classical Arabic is well defined still today.
The dummah, fatha etc. are put their as a reading aid so that you know how to read the word. These are excellent for a person learning the language as you can tell, unlike English, exactly how the word should be pronounced. However, you wouldn't find the symbols for the vowles present in every day writings like the Arabic news papers. Personally, I have been learing Arabic for 4 years and can read it well with the accents but would struggle a lot with out them.You have to know the word to know how to prounounce it.
The grammer is also very strict. It reminds me of Latin sometimes. It is definately stricter than English. However, the modern day Arabs tend to speak in a very lazy and casual way. You know what I mean? Yanni....
perl -e 'print $i=pack(c5, (41*2), sqrt(7056), (unpack(c,H)-2), oct(115), 10);'
Take great care in evaluating arguments that claim one language's superiority over another on some internal basis.
Good point. Anyway it was Winston Churchill who made the following comment about split infinitives in the English language.
"This is the type of language up with which, I will not put."
perl -e 'print $i=pack(c5, (41*2), sqrt(7056), (unpack(c,H)-2), oct(115), 10);'
... we would all have to get bigger desks to fit the Japanese keyboard on ...
The dumber people think you are, the more surprised they are when you kill them.
So, would the garden change gender depending on whether it refers to a man's, um, garden, or a woman's ?
I'm still trying to figure out what people mean by 'social skills' here.
4D is a great language. It's not terribly low level, but it expands well and offers adequate flexibility.
Many thousands of programmers use it throughout the world. One of the easiest/best cross platform environments you can hope to find today.
Not for every one. I sure as heck wouldn't code a game in 4D, but for custom development, I find it very impressive.
I guess you can't please everybody.
Just being picky, but...
French is my native language. I don't feel it is a constipated language. It's the "official overseers" of the language who are constipated, slow and scared. (Sounds like many other techno-socio debates).
The language itself can evolve quickly and correctly, if left to itself. When the elite tries to manipulate it to it's liking, that's when you have problems.
I think this situation is excarbated in France, since it's the capital (so to speak) of French. To me, the situation is much different in my home of Quebec (Canada) where the French language is kind of left to itself and tends to evolve in a more realistic way than in France. But then again, we have our own misunderstanding elite.
Which brings us to the questions: who does the language serve? Who owns a language? The people who speak it, or the people who also master it's finer (and often older) details? I'm not 100% sure myself.
I code in 4th Dimension, which can be purchased in it's original French (or English, or Japanese...)
In this particular case, programming styles don't seem to change from one language to the next (as far as I know). The basic structure of the language sets the style more than the language of the programmer.
I don't think a change in language can bring on huge differences as much as a change in grammatical structure.
Which can bring on the question: are programming languages built on language rules, or various ways of thinking. If the second case is correct, then asking people from various cultures to create programming languages from scratch could help us better understand how people think differently throughout the world.
Then again, these days, you need a progammer to create a new language. And I doubt that many people are capable of forgetting what they learned about programming in order to create something truly original and not inspired by some previous language.
Oh well...
Why don't I write in French in here? Because most readers of /. probably read English, and a few might read French. I'm not sure why I'd want to post in French on an English site, anyway...
As for the punk argument, I have to agree in most parts. I used to say the same thing about rock and French. There aren't many interesting French (read: from France) rockers. At least, not in the "pure" rock sense.
But Quebec rockers seem more... traditional. I'm thinking about Corbeau, Ofenbach, etc. Quebecers often speak a much harder French than the French do, which sounds better in this musical context.
Then again, someone from France might disagree. Lookup some Quebec rock in MP3 format and I believe you'll agree with me on this point.
Example:
für a=1 bis 10
druck "Hello"
ende für
I had to program this at school. After some minutes I couldn't stop laughing and so I had to give up.
The spread of computer technology across the world has in part caused the spread of the English language. In order to understand a lot of code, you should be able to understand the english language because all of the reserved words are taken from english.
Then that makes the very notion of numbers different - instead of having hexadecimal:e ta]?"
"0123456789ABCDEF", would it be, say in Greek,
"0123456789[Alpha][Beta][Gamma][Delta][Epsilon][Z
(Any hackers from Greece or who know Greek, please confirm or deny this.)
The same would apply to any non-Roman alphabet (e.g. Cyrillic, Arabian, Hebrew, Mandarin, et. al.)
Or do non-Roman-alphabet-language-speaking (whoo!) hackers reluctantly accept the Roman letters ABCDEF as 10-15Hex?
DrQu+xum: Proof that the lameness filter doesn't work.
My worst job ever....
Rewriting, for linux, win32 perl written by a czech speaking cobol programmer, who couldn't spell.
All the variable names were in czech (as were all the comments), but, most of them wer spelt incorrectly.... made looking them up in the czech->english dictionary rather tricky.....
I guess had Britain WON the Revolutionary War we would be speaking the queens english. Just as, had the allies lost WWII we'd be speaking Hilter's German or Hirohito's Japanese? Am I right?
hex is an international system, like 0-9 (decimal) - accepted regardless of local versions. If I put the Welsh alphabet into Hex:
... so, no change there, then
globalisation may be bad, but innternational standards facilitate communication & understanding.
http://fsfeurope.org/
you've posted this one already
Lemurific!
Your logic is cyclic - because you consider the programming languages that exist and are dominant.
To say that it would not matter because it would need those elements, that may well come from the cultural context, doesn't make sense. Many language don't have loop, conditions or function calls.
Even the design of processor might have been different. Another culture might have built object oriented processors, were the control flow is based on the data, not the processing units.
You could for instance consider a language based on German that would rely on concatenating class names to build hybrid classes (inheritance?), such a language maybe also have a reverse polish notation (the verb tends to be in the end in German).
Another thing you might consider would be a language were some behaviours might be implied by some declinaison. For instance a conditionnal form would express execution in a transaction. You could maybe express parallelism by using tenses, express priority using language levels (different terms/declinaisons). You might also use diminutive forms to build shorted data structure and so on.
My intuition would be that the history of programming languages would have been quite different if programming would have emerged from another cultural block than the english one.
ThierryD asks "who owns a language? The people who speak it, or the people who also master its finer details?" Answer: neither - languages are public domain (and open source - if you're a linguist with a psychology background - which I'm not). English is just a corrupted form of dutch anyway. Back to topic: The vocab of most prog langs is english but the syntax is contrived for the purpose of expressing algorithms. I could re-write gcc and glibc and simply replace the names of primatives and library functions without altering the "language" itself. The only reason english names are used for primatives and function names is that english is so widely spoken. There are more Danes, Arabs and Germans that speak english than there are Anglo-saxons who speak Danish, Arabic or German.
You make the mistake of thinking you can educate the fundamental stupidity out of people. You can't.
Remeber the first language ever is machine code, or assembly. High level language like C or Perl are just more abstract machine code.
Together, we are strong; Apart, we are stronger.
I think there's a lot of missing the point here. It's not how the char set of a language, the form, might vary if created by a native speaker of one or another language, but rather how the language/code would reflect the system of thought of a different culture/language. Take a look at: "How culture molds habits of thought" NY Times Science 080800
It seems to me that the only thing that might change is the word order.
One case is noun + adjective. But then, we already have int x on one hand, and x : integer on the other hand.
Another case is verb + object. And again, we already have both func(x) and x.func().
Now, as for whether Wirth's native language had any effect on x : integer - that I don't know.
Forget just "English Dominance", it's about "*American* English Dominance." Take a simple example from HTML: the spelling of the word colour as "colOR", or the spelling of centre as "centER." What kind of nonsense is this? Every other English speaking country on the planet speaks the Queen's English. God save the Queen's English!
if (spilkes || farklempt) du_putz!
else if (!kosher) oy_vey!
else if (schlameil || schlamazel) chutzpah!
else mazel_tov!
**
Eskimo: 50 words for snow.
Yiddish: 100 words for idiot.
Smoke a swan, smoke a fish, smoke a Swanson's fish dinner.
As a lot of laguages have more words then others there is a very interesting case with the chinees As logic was first addressed in Greece by some philosopher the concept of the "if then" and logical math was created. The chineese didn't make this leap and they have real problem describing logical structures. I don't know if there is any chinees speaking person that can confirm my story. At least as far as it is true it definatly would have had a big impact at the basis of programming languages.
There are no stupid questions, Just a lot of inquisitive idiots. (from a good friend)
English: Syntax Error. Core Dumped. Have a Nice Day.
Japan: Most unworthy computer has failed to compile honorable source code and will now commit seppuku. Please accept this gift of core dump with most sincereful apologies.
German: Scheisskopf! Dein Syntax ist Verboten! Get in der shower! Raus! RAUS!
Esperanto: Erro sintactico. Dumpoj coro automatico en bucketoj bito.
French: Eh.
--
too sexy for my login
I include this item only as evidence of the constricting nature of being taught formal Standard English. I guess at some point or other, all of us who were educated in Zambia, were taught that it is wrong to refer to someone who teaches the English Language as an "English Teacher". Apparently, this is ambiguous because it could be mistaken to mean "a teacher of English nationality". Well that seemed like a pretty airtight argument and so off we went calling all our English teachers, teachers of English. That is, until it dawned on us that virtually no one else in the English speaking world bothers with such linguistic exactitude. To the pedants in the house, doubtless teachers of English, I say: lighten up English teachers. I mean, we have to leave something to contextual interpretation, don't we?
As you can see, there are 2 "nouns" ("2" and "3") and one "verb" ("+") RPN is hardly non-noun.
I don't think a Forth programmer would agree. The action of something like 2 is to push the value 2 on to the stack. In Forth you can even make it explict if you want;
The idea that everything is a verb, that is that every executable thing is pure action is important to the understanding of stack based machines, virtual or otherwise. At some level of execution this must be literally true for any program running on a computer but some computer languages hide the fact better.If natural language is different then natural language is just plain wrong. :)
Bruce Walzer
bwalzer@lark.NOgawdSPAM.mb.ca
But it has no meaning until it is explictly given a context (i.e. ptr = &foo | *the vehicle* is a car) unlike a pronoun which draws its meaning by contextual reference (this->foo() | *it* is a car)
A pointer isn't a pronoun it is another reference to an object.
Example:
"Bill Clinton" and "Ronald Regan" are both nouns. A "pointer" for them could be "President of the United States". The current state of "President of the United States" (vs "former President of the United States") can only refer to one of them. The pronoun "He" OTOH could be either.
Perl is much trickier from a linguistic standpoint. $_ in both it's explict and implied forms make things much trickier. I haven't spent any time seriously considering it though, so I didn't want to bring it up.
Most definately the "this" of C++ is a pronoun. I'll agree to that, but as another poster pointed out, that is the only one.
A pointer hardly counts as a pronoun. Not generic enough.
I've heard of Objective-C, but never read it. (I was at the zoo studing spider monkeys, not programming)
Drawing on my Anthropology degree, all modern computer languages are highly simplified languages.
The basic components are there (Verbs, nouns, etc.) but they are typically very limited (ever see a pronoun in C?). Also, the sentence structure is *very* ridgid. (Unlike English which allows movement of objects and adjectives or even the removal of the subject!)
Although keywords tend to be english based, structure isn't and that is just as key to learning (and using) a language as the other elements. Just hope the standards aren't "influenced" by other languages the way natural languages have been. Can you imagine C after it "borrows" a few verbs (function calls) from say smalltalk?
Even less on-topic ...
I have heard that if you speak Chinese and English, you can communicate with one out of every two people on the planet.
So I would expect that your second statement is true.
There are two main dialects of Chinese: Mandarin and Cantonese. There are, to my knowledge, many other less common dialects. But Mandarin is the mother tongue of 70% of Chinese, if memory serves, Cantonese something like 25%. The other 5% are those other dialects.
...
Anyway, Mandarin is the official language and I think that 90% of Chinese understand it at least partially, and can speak some too
This is how I understand it. I could be wrong.
As far as I am aware (I have worked with Japanese people, but never in Japan) English is used as the main language for business and engineering communication. This is common throughout the world, including parts of Europe.
At college, there were many Chinese (who would speak Mandarin) and Greeks (speaking Greek) but use English for technical terms, so it was perfectly possible to follow their conversation :0) In fact, it was common to see a lab team speaking several languages at once and still work together.
Natural languages have no bearing on programming languages. The only relationship between C and English is that C uses English keywords. These could be replaced by abstract symbols, which would erase any discernible relationship to English or any other language.
There is a huge gap between the complexity of the structure of programming languages and of natural languages.
Japanese telegraphs and their "morris code" equivalent uses exclusively katakana and is strictly phonetic, just like Japanese Braille.
Radio and telegraphic code would not have carried any of the ambiguity of the written language.
Written orders used the whole character set, but I doubt it was genuinely that ambiguous. I might understand a few errors made that way, but not systematically.
When Chomsky is dead and his linguistcs is forgotten (soon I hope), he'll be remembered for some fairly important contributions to the theory of formal grammars.
He's been at MIT since the 1950's. What leads you to think a liberal (or even a real Marxist, which Chomsky certainly isn't) can't be a tech? Serious, hardcore biology is still dominated by Marxists and far leftists. There is still no such thing as a conservative linguistics department.
Don't mix his crappy linguistics with his crappy politics. Chomsky is careful not to, and those among his detractors who have mixed them generally make asses of themselves.
Of course, the original authors of the software do not have to be the ones offering the support services; that could be done by a separate cadre of workers from a Professional Services Department. This seems to work well for things like initial installation and configuration, systems administration, maintenance and upgrades, and for problems arising from user error. Insofar as you can find competent people willing to do this work, it is a good idea, because it does save programmers' time. When you get down to bugs in the actual software, though, it really helps to get support straight from the horse's mouth. This is, of course, exactly the support model that free software projects have adopted through mailing lists and IRC channels. In my work in the industry, I've found that most hackers take pride in their creations and genuinely want to make them better, and that they do this best (and most time-efficiently!) when they can communicate directly with end-users. I'm proud to say that my company takes this approach with its BSD-licensed products. Mainly we use free, public mailing lists for this purpose.
As a software engineer, I'm willing to put my money where my mouth is. Support may not be fun, but it is vital to the usability of software, and it really does help you find bugs and fix them. I agree wholeheartedly with Eric Raymond: The software industry is a services industry that thinks it is a manufacturing industry. Support is what most people will really pay for, and it pays for free software development.
Vovida, OS VoIP
Beer recipe: free! #Source
Cold pints: $2 #Product
Riiight... everybody pretty much sounds the same while singing. Maybe that's why I keep mixing up Lemmy from Moetorhead and Christina Agulera. Not to mention the Japanese choir from _Ghost_in_the_Shell.
Causation can cause correlation
Umm no, that's false. Being Canadian, I was forced to learn French in school, and I am now anything but bilingual.
Nonsense. Mandarin is absolutely gorgeous!
:)
When it isn't being spoken by native Cantonese speakers that is.
"Reactionaries must be deprived of the right to voice their opinions; only the people have that right." - Mao
English Language And Its Effect On Programming?
I have a worse problem where programming affects my english.
I'm a french-speaking Quebecer (the term would be "francophone"). My english was mostly influenced by US TV shows and english books on all sorts of subject, but mostly technical and programming -oriented. My pronounciation was also (and probably mostly) influenced by anglophones here in Montreal (where the population is almost split equally in french and english). Eh?
I often find myself writing in english using constructs that derrive from programming languages. My syntax is also affected once in a while.
For example, while writing some non-techical text (say, a letter to a friend of mine in the states somewhere), it's not rare that I end up typing "this" as "this->"!
I like to consider myself half-bilingual. :)
"Dogs and cats, living together...it's mass hysteria!"
As opposed to the American/English approach (inherited from our German side, in spite of the French/Latin connection) of generating compound words.
Which is where our modern computer language names come from, especially when you add typists's lazyness to it (print_formatted -> printf).
"But remember, most lynch mobs aren't this nice." (H.Simpson)
-- Joe
English used to have a politeness indicator - whether you address someone as 'thou' (familiar) or 'you' (polite or plural). However 'you' got used so much that it came to take over both meanings, and 'thou' became obsolete.
:-)
It's a kind of politeness inflation
-- Ed Avis ed@membled.com
In object-oriented Perl you already can choose whether to put the verb at the beginning or the end (at least a little). For example, if you're using the IO::Handle module and you want to make standard output unbuffered:
STDOUT->autoflush();or
autoflush STDOUT;
-- Ed Avis ed@membled.com
Latin typically puts the verb at the end of the sentence too.
So does PostScript.
(sorta)
- The informal and formal forms of "you" (du and Sie). Perhaps you would use du with your PC, but I don't know I'd feel comfortable being so informal with an AS/400...
:)
- German doesn't quite have a generic "go" verb like English; one chooses a verb based on mode of transportation, which might be gehen, fahren or even fliegen or reiten, though perhaps springen would be more appropriate here...
- Most languages' distribution of default verb/preposition pairings is pretty arbitrary and not likely to make much sense to non-native speakers. The English preposition "to" gets translated to zu or nach (among others) in German depending on the verb and how it's used. Not that English is any less arbitrary, but it tends to rely on a smaller number of core prepositions.
I'm only being half-serious here, of course, but I think English, which has a less rigid word order than some other languages, is in some ways better suited as a source for the strange constructs of programming languages than a more rigid, highly inflected language. That being said, initial familiarity with the natural language on which a programming language is based probably only gains you the most minute and temporary of advantages. I'd probably be just as comfortable with C's smattering of reserved words if they were all in another language, or even just nonsense words. Where the language barrier really gets you are variable names and comments.--
Proud member of the Weirdo-American community.
It would probably look like C written by first-year CS students.
The Tyrrany Begins....
Finding God in a Dog
It's not a big deal, as a Spanish speaker, at least the character set is almost the same.
But it was good in the fact that it helped me learn English, specially in the 80s where most computer publications where only in that language.
- sigs are for wimps.
If, for example, most early CompSci was done by the Japanese many things which are US centric would most likely be different.
Where we have object oriented languages as a relatively recent phenom, I think that if the Japanese had created the languages they would have been done that way from the start.
With C/++ you have structs and classes, I think that if Japanese had created the languages you'd see things like teams. My idea for a team is an object which instead of attributes and functions would be made up of members with either abilities or data.
Take the STL string class for example. As I see it the string team would consist of two parts. The "string" portion of it would be a stand alone unit, maybe similar to a linked list of characters, with a member that consists of all of the string manipulation routines.
Since I speak very, VERY little Japanese, and can read/write NONE of it, I couldn't even guess as to what the Japanese names would be.
LK
"Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
Remember Heinlein's The Moon Is a Harsh Mistress? In it, computers were programmed using "Loglan", a "logical language". This was in fact inspired by the late James Cooke Brown's Loglan project, begun in 1955. Lojban (from the Lojban words for "logical" and "language", rather than the English ones) is an offshoot of the original Loglan project, and appears to be the more viable of the two. I just bought the book describing the grammar, The Complete Lojban Language, and I highly recommend it for anyone interested in languages. I'm just starting to learn the language, but I'm interested to see where it will lead me.
If you buy the book, I'd recommend buying it directly from The Logical Language Group, since you'll save money over the price Amazon charges (save about $6-8 with shipping), you'll probably get it sooner (that's where Amazon will get it from) and the authors get more money from the direct sale, since their wholesale cost to Amazon is less than the $39 they're charging directly... (They charged me $5 for shipping.)
Deven
"Simple things should be simple, and complex things should be possible." - Alan Kay
Come on folks. The Japanese has a very regimented military for hundreds, if not thousands of years. They established a complex caste system, a dynastic/Imperial form of government and elaborate rituals (which obviously includes verbalization).
The very idea that they need English to communicate efficiently is ridiculous. You can not run an army without efficient communication. You can not build an empire on ambiguity. Just because their culture includes cordial formalisms that put English to shame, does not mean that Japanese is in any way ambiguous. On the contrary, the language is so effective that it was perfectly acceptable to make it ornamental and courteous.
Many Americans seem to think that the whole world used to live in caves before America came into being. The world on the far side of either pond has been there a lot longer than we have, and the only thing of ours anyone out there benefits from is dollars.
-- What you do today will cost you a day of your life.
To my ears, Japanese sounds much more like a Western (Latin-based) language than most Asian languages do. Very little use of inflection (i.e. "hana" (nose) and "hana" (flower) are inflected slightly differently, but it's not that common.
Bilingual Japanese programmers I know, though, say that English is much more direct and easier to understand, even for programming manuals! Apparently the Japanese tendency to soften things and use implicit rather than explicit forms extends even to technical writing.
And Japanese writing is, IMHO, a pig. There's a reason that the Jesuit missionaries declared it to be a language devised by the devil himself!
Unlike Chinese, which usually has one sound per character, and hence about 6,000 commonly-used characters, Japanese has 2,000 common characters, each with multiple pronunciations.
"Is this character pronounced 'i' or 'o' or 'u' or 'ha' or 'ki' or 'nama' or 'na' or 'mu' or 'sei' or 'shou'"?
Yes.
Graham
The only problem is that no linguist who has done any serious experimentation on the subject has been able to support Sapir-Whorf to any reasonable degree. Furthermore, they pretty much managed to undermine their own argument: in saying that an Inuit might have one word for snow lying on the ground, and another for snow falling, for example, you can see that we don't need a specific lexeme to grok the difference between falling snow and lying snow.
With that in mind, I'm gonna go out on a limb and suggest that language ain't got much to do with it. Maybe our keyboards would look different, and we'd all having Unicode native operating systems - which, now that I think about it, would be pretty damn cool - but I don't see that programming languages would be otherwise greatly affected.
As usual, I'm one step ahead of the rest of Slashdot :) While creating an IDE for the 2-D tarpit language Orthogonal, I had some quite freaky ideas, and I'm putting them together into something I call PORTUGOL. It's based on the grid rewriting paradigm, 2-D, mostly graphical (non-ASCII, designed to be used under an IDE) and very unfamiliar altogether to those used to "orthodox" languages like C and Pascal. However, one of its many interesting peculiarities is that all identifiers and names, as well as the IDE itself, is in Portuguese. Granted, this by itself isn't much, considering that Portuguese uses the Latin alphabet just like English, but the combination of Portuguese text and comments with the language-specific glyphs that basically make up a suplementary "alphabet" in and of itself... it's quite interesting.
PORTUGOL has been focused, lately, on educational goals. Oddly, I've presented an alpha version to some (Portuguese-speaking) college kids with some advanced math knowledge but no programming experience, and they've taken it to it quite easily; with my help, they grokked most of the system in a couple of hours. This is excellent time, especially compared to the ye^H^Hmo^H^Hwe^H^Hdays it takes for one to learn rudimentary C.
Anyone interested in PORTUGOL can email me here and/or join the Cat's Eye Language List.
To the editors: your English is as bad as your Perl. Please go back to grade school.
Although it's facisnating to consider an alternative history of the computer where development took place in another language, there is a much less theoretical question we could be asking: Is English, as the standard language for programmers, holding us back? Is there another natural language which would be better for describing our concepts or which would be easily speakable yet more understandable to our machines? As for the later, Constructed Logical Languages would be a massive boon to speech input and machine translation.
Could someone point us to some research on the usefulness of certain languages for certain tasks? Obviously the less letters the smaller keyboards, but is French really better for poetry or Latin for science?
If you want a good example of the effects of the English language on programming languages, look at BASIC. The structure and syntax of BASIC is modeled after the English language, and you could read the code as if it were a recipe--practically any moron can understand it (although not necessarily program it). C is a completely different animal (since it is much lower-level), but some of the same cases exist. Another thing to consider is the name of the functions.
FOR
WHILE
DIM (dimension)
INT (integer)
LONG
SHORT
STRUCT (structure)
etc. etc. etc.
All of these keywords are derived from the English language, and I'm sure that not all of them have a foreign language equivalent that would be easily understood and translated. In short, if C or BASIC were developed in a non-English speaking country, then it's obvious that many of the keywords would be different, and (in the case of BASIC) some of the structure and syntax would be different too.
# They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety. --Fran
Yoda C: {stuff1}[OR]{stuff2}[WHEN](!expression)
Now, take COBOL. Please take it. Rigorous English appearance, but strict grammar rules. COBOL would be different simply because the grammar would have been designed for whatever language its creator used. It happened to be American. I can hardly wait for Microsoft Cobolscript web pages. [Yes, I know Cobolscript exists]
a person who asks whether you know a second language?
A: Bicurious!
---
Despite rumors to the contrary, I am not a turnip.
The other way around surely, e.g. "hallowed be thy name"...
Oops, the last half of the post was cut off:
In general, I expect that English forms a much better basis for a computer language for only one reason: Parts of speech in English are positionally determined rather than being determined by form as they would be in Japanese, Latin, or other "inflected" languages.
How would you like to write a parser where you don't know the order of the operators and/or data? My guess is that regardless of the features of the natural language, we'd end up with something like we've got just because it makes writing the laguage parsers so much easier. Whether this will change in the future is an interesting topic for speculation.
"The future's good and the present is nothing to sneeze at." - Roblimo's last
split( ',', @foo );
would become
( ',', @foo ) split;
That would make sense, since Japanese and other oriental languages are strongly verb-final. (I know Korean is for sure.)
Whether it's an advantage to first know what operation you're doing, or what you're doing it on is a topic that should bring about a lively Forth and RPN vs. the world discussion...
"The future's good and the present is nothing to sneeze at." - Roblimo's last
English has such a huge vocabulary primarily because English speakers, unlike, say, Francophones, are not at all averse to stealing perfectly good words from other languages when they address a need.
This in combination with other factors, makes English much more subtlely expressive than most other languages in use today. (Interestingly, all languages seem to be becoming simpler - most ancient languages were far more complex than modern ones!)
Given that most computer languages are only designed to communicate a very narrow set of things relative to natural languages, there's an apples and oranges relationship here: Comparing programming and natural languages is an excercise that can produce nothing of value.
Finally, Perl is quite obviously based on something other than English... [ducks behind flame shield]
"The future's good and the present is nothing to sneeze at." - Roblimo's last
I have a hard time thinking the english language is that instrumental. the truth is, you tend to use a small set of "words" in programming that are prebuilt into the system, far smaller than the number of words in any language used by humans for day to day communication!
Instead, you have less than a "Learn English in X days!" booklet would have, and most of these are concepts which are mathematical, or structure based if you will, with you making up stuff on the fly for variable names... there isn't a single fuzzy "idiom" based thing going on... which is why many programmers may write excellent code but have questionable english skills... you don't really need them.
However, the use of the Roman Alphabet, which our keyboards are mapped to, certainly is a critical difference if your native alphabet is Cyrillic or Kanji! Definitely, for a German, Frenchman or Spainard, there really isn't much to learn... however if you've been writing in Arabic script your whole life, only the numbers will look familiar... I imagine that can't be much fun.
Also, learning to type must be a struggle... it was for me and I knew all the letters already.
It might be interesting to have a programming language that used all international notation for mathematics / logic instead of English words though... it would put everyone on an even footing. Not that I'm advocating that...
I'm sure there must be "translators" that just go through code looking for key words in the other language ( if, then, else ) and change them into people's native tounges... I've never seen any of the english-is-my-second language people use them myself, but I'm assuming they must exist...
Not that, as I've said, it would be so important as there aren't many English words to learn... I can't imagine asking someone from another planet who's only encounters with English were learning C++ or PERL to ask for directions on getting to New Jersey in Times Square and expecting them to make it alive.
think of all the hundreds of characters you could use for kludgey variable names. you think bad code is unreadable now...
oi!
we should be glad that we came up with this stuff
...dave
Think different? I'd be happy if most people would just think...
Like I said, it was "back in the day" like 14 years ago or so.
The point that I failed to make was that real programmers keep telling me that the different programming languages are impacted, naturally, by the language of the creators.
Sorry for stabbing the wrong part of europe!
Visit DC2600
Eve Fairbanks says I drive a hybrid!LOL
Back in the day I was forced to take a Pascal class. I was told that Pascal was created by French programmers anf that is why "it is the way it is".
I found it to be a major pain, but some folks like it. Anyway, from what the CS majors and professors said, the language of the programming language inventor has a big impact on the way it is structured.
Sounded good to me.
Visit DC2600
Eve Fairbanks says I drive a hybrid!LOL
And conversely, since the US doesn't have an "economic necessity", we happily percieve the world revolving around us. I'm an American, but I'd imagine any person from another country who is bilingual or trilingual by necessity would percieve Americans as being arrogant and elitist (the usual American solution to someone who doesn't know English is to SHOUT LOUDER).
It's 10 PM. Do you know if you're un-American?
What about in the middle of Russia or China or Saudi Arabia? I suspect you'd find a higher percentage of people who could speak English than one could find speaking Russian or Chinese or Arabic in the middle of the US (although those figures may be slanted in the US's favor in the first place because so many people from other nations immigrate here). Since we don't have to, it's just easiest to not learn any other languages, and measure things in units of 3 and 12 instead of 10. It's also a point of leverage: other nations that deal with the US, consume American (a)culture, language and products, and become "Americanized" (France has fought this tooth and nail, and I can't say they don't have good reason).
It's 10 PM. Do you know if you're un-American?
From http://www.isss.org/primer/whorf.htm:
In other words, a person's language restricts what one can think about.
Or, as Bjarne Stroustrup puts it:
... Restrictive tools designed to prevent the worst programmers from failing often prevent the best programmers from succeeding. Conversely, unsupportive languages and tools can make average programmers unproductive.
So it's possible that a Japanese's mentalese is different from the American's, and it prohibits him from seeing the situation in the same way that an American would see it, and visa versa.
I think the Whorfian hypothesis is false, but it's an opinion held by many psychologists, so who am I to argue?
~me
Just off the top of my head, I can see at least two things that might have been different if programming languages weren't designed by English-speakers.
The most obvious difference would be word order. Conventional expression syntax (i.e. "1 + 2") is clearly SVO, like English. Function calls are SVO, too, if you remember to include the subject: "subject = verb(object);" None of those conventions had to be that way. In fact, SOV order is easier to implement in some ways. (That's why a CS student's first expression parser will always be in RPN.)
It kinda makes you wonder if VSO speakers think that LISP is perfectly natural, and C is incomprehensible... (I doubt it, though.)
Another English-biased element of programming languages is their isolating nature. If I showed you a programming language in which the return type of a function is indicated by a suffix, i.e. "strlenint foostr;" you'd be right to scream and run away. For a native speaker of Southern Tiwa, though, it might seem perfectly natural.
MSK
French and English are basically the same language. Arabic is a bit more exotic, particularly because of its wacky infixes and circumfixes, but it's still very similar to the first two. I believe it's still SVO, also, or at least mostly SVO. Coming to a conclusion about human language based on your experiences with French, English, and Arabic, is like coming to a conclusion about music based on your experiences with Brittney Spears, Christine Aguilera, and maybe Puff Daddy. There is a lot more diversity in language, and it could definitely affect programming languages... I'll post my opinions on that later if I have the energy.
Your second claim is pretty fishy too, but there is something to it: English is very good at compounding words, which makes it easy to express new concepts such as "astronaut" or "e-commerce" (blech) or "batmobile". Whether that has had an influence on technological development or not, I couldn't say.
MSK
Your english sentence "If the value of a is 1, then set b to 2 and print 'Hello' to the screen." ordered like Japanese, might look more like this:
The japanese words I put inside parentheses are japanese particles, which are kind of like English prepositions; in a programming language they'd be best represented by a form of punctuation.Anyway, if you look at the programming languages you gave in light of a Japanese-ish example, you can see that they look a whole lot like English and little like Japanese. Each of them is ordered exactly the same way as your sentence!
So, here's what your example could look like written in a (fictional) language more like Japanese:
Doesn't look very intuitive, does it? I think one of the main reasons why LISP isn't popular is because it doesn't look anything like English. Programming languages might look a lot like the example I just gave if we all spoke Japanese. It's hard to say what effect it would have on the quality of our code, though.The answer to this question is "very Little, but not none at all". Programming languages aren't really based on the English language - they are based on predicate logic. In predicate logic, you break down any statement into a relationship (sometimes an "action" relationship) between two entities with a set of qualifiers which often have defaults. For a thorough description of predicate logic, visit the Lojban site, where they have gone the other direction, creating a human language from predicate logic.
For those of you who just want a quick answer, we'll use the following example:
The processor saves the data to file X.
We have an obvious object, verb, subject, and prepositional phrase here. In predicate logic, this is broken down to the relationship (in this case, "to save") and the entities involved in this relationship (the processor and the data), with an instructional details. Japanese changes the ordering of subject, verb, etc., but they still have all of those structures.
This brings us to a possible lingual difference. In English, we have implied imperitives which obviate the use of a subject ("You Run!" is usually just "Run!"), which bleeds heavily into our use of programming languages, i.e. print("this stuff"), because we can assume that the processor is going to do the work. I couldn't tell you if this is a practice in all other languages. It is interesting that object oriented programming begins to blur this assumption with the implication that any of many objects might "do" something.
So the question is, what differences are there in the editing of predicate logic between languages?
Mythological Beast
Wake up - the future is arriving faster than you think.
http://www.geocities.com/connorbd/varaq/
DO NOT LEAVE IT IS NOT REAL
Utterly incomprehensible.
I can sorta understand Spanish, and I was just learning C++ (I'm still not fluent in either), so trying to read some weird amalgamation of the two was mind blowing. You don't really think about how all the variables influence what you're writing, and the comments were of course not much more help.
At least that was still ascii though. Is it even possible to write code in a language that requires some kind of Unicode extensions? Chinese, Japanese, Arabic, Hebrew, Russian, etc. Or for that matter, even a relatively close language like French or Swedish, when you accound for all the accent marks and such. I'm guessing that the compiler would have to be aware of the character set it was working with and adjust accordingly. Must be an absolute joy to debug though... :)
DO NOT LEAVE IT IS NOT REAL
My girlfriend keeps trying to teach me bits and pieces of Thai so I can impress her parents, but I consistantly sound like Zippy the Pinhead because I'm tone deaf. "How was the test?" "Oh, it was pretty leaning backwards."
On a semi-related note (lingustics), they did a study that found that folks that speak tonal languages develop a limited form of perfect pitch that allows them to detect changes in tone. There's a theory that everyone is born with this ability, but looses it if not exposed to tonal languages. Bad knews for us farang trying to pick up an Asian language. . .
"Sweet creeping zombie Jesus!"
I'm fairly sure I once heard of the idea of making a lojbanic syntax for Perl. This seems like quite a good idea, considering that lojban is designed to be unambiguous, and basically contains all the words that would be necessary for a programming language already. The result of this would be pronounceable Perl.
--
No more e-mail address game - see my user info. Time for revenge.
Win dain a lotica, en vai tu ri silota
I speak a little Japanese from what I took in college, and there are some unique features of the language that might effect syntactical structure
While I am sure Japanese has several unique features, the feature you mentioned (Subject Object Verb word order) is far from unique. Over 40% of languages use this form. (Turkish, Tamil, and Tibetan are a few examples) (SVO, the word order used by English, is a close second, and probably has more speakers than SOV languages (as English and Chinese are both SVO languages))
ONly kind of on topic, but.. hey. =)
Trees can't go dancing
So do them a big favor
Pretend dancing stinks!
Think about Shakespeare, for example. The language of Shakespeare is so different from standard English as to have virtually no intersection.
Your are in error. Shakespeare is considered the beginning of "modern english", which is what we speak today. 95% of his vocabulary is the same (though some spellings differ), and most of the grammatical constructs we see in Shakespeare are still used today. The biggest reasons that his writings are at all difficult are that they are use a lot of metaphors, many of which are archaic and abstruse.
Even Chaucer (pretty much definitive "middle english") is fairly similar, though a lot of the words have shifted in pronounciation and spelling since then. I frequently need to say the stuff out loud to even recognize the words. But the sentence structure is basically the same, and for the most part the vocabulary is only superfically different.
Trees can't go dancing
So do them a big favor
Pretend dancing stinks!
You are correct that Finnish and Sanskrit are completely unrelated, at least historically speaking.
They do share some features in commmon, though, such as the use of "cases" in lieu of prepositions. (I think Latin does a bit of this too, but I may be wrong.)
I don't know a whole lot about the history of the Finno-Ugric family of languages, but I can tell you that Finnish and Magyar (hungarian) are the most well-known examples, and that there are also a handfull of uralic languages (that is, spoken in the Urals) which belong to this family. (estonian, and lithuanian perhpas?).
I can also tell you a bit about the histry of the Indo-European language. From what I recall, the Aryans (the real ones, Hitler totally misclassified his own race!) brought it into india, with their miltary victory, some several thousand years back. They did a lot for the dissemination of the language family as they were a successful and aggressive people. There it evolved into Sanskrit (which has evovled into Hindi, which even today co-exists with the totally unrelated Tamil).
Trees can't go dancing
So do them a big favor
Pretend dancing stinks!
As far as I know no complete (or close to complete) grammar exist for any natural language.
Yeah, well, it's not too difficult to write a grammar for english that encompasses most of the things that we say in daily conversation, if you're not dead set on making an unambiguous context-free grammar. We can parse general context free language in O(n^3). Most programming languages parsers use LL(1) or LR(1) grammars (subsets of context-free languages, but more expressive than regular languages), which can be parsed in basically O(N). Parsing general context-sensitive languages, well, knowing how long it will take solves the halting problem.
However, I think that a simple generative grammar, even a context-sensitive turing complete one is basically doomed to failure, since "valid english sentences" is a fuzzy set. This doesn't really matter from the point of view of making a parser, though (So what if it understands things that I might not, so long as it also understands the things that I do grok)
Trees can't go dancing
So do them a big favor
Pretend dancing stinks!
However even correcting for that, if you look at bigrams (i.e. pairs of words) in Shakespeare and, say, a newspaper article there will be very few in common and even those will mostly include prepositions.
I wonder how much of that is stylistic. Do you have any data on other bigram comparisons?
Trees can't go dancing
So do them a big favor
Pretend dancing stinks!
Programming in almost any language forces a precision of thought not usually found in "human" languages. Even though the words themselves are borrowed (or made up), the constructs and concepts that are being described are well, different.
I guess a lot of the currently popular computer languages could be compared to "dialects" of C - all somewhat derived from it, and mutually intelligible. It was easy to pick up Java when I already knew C++. Then you have things like Scheme, or COBOL, or M4 that aren't necessarily immediate to understand.
"Language shapes thought" is the essence of the Sapir-Whorf hypothesis (still debated in linguistic circles AFAIK). A good question is how much it goes back and forth between the two. I learned to program in 6502 assembler (well, BASIC too, but is wasn't good for much), and using that "language" definitely shaped part of how I think. But now after 15 yrs I haven't gotten around to figuring out functional languages - different way of thinking. I've heard people complaining about not "getting" functional languages on other postings. So I guess there's something to it. It's all pretty interesting. I'm starting to ramble a bit now, huh?
Maybe take a look at the Plankalkuel
:) ) sometime in 70s, IRC.
http://www.tuxedo.org/~esr/retro/plankalkuel/
at The Retrocomputing Museum.
It's a programming language developed in 1945 by a german. I assume there is as nearly as no english-american influence. (War, Axis/Allies)
Well, I can't point out what the german influence is.
I think the greatest influence in programming is
math. (Structured Query Language aside)
A professor of mine (in cs) told me
something about a japanese cs who built the first japanese computer (a clone of a british or american computer
There was something remarkable on the machine-code
of this clone. It should be somehow related with how DNA can be read (two complementary strings, bidirectional readable).
But don't rely on this. It was only a passing comment in a short lecture about the history of computing.
Maybe someone can help me here?
"Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
I have studied Japanese, and I have heard this argument, that the Japanese language is "ambiguous" or "unspecific". It is made often, by people who are smarter than me and who have studied Japanese more than I have. Still, I don't think that it is neccessarily true. Those complaints may be more true of the implementation of the Japanese language than the language itself.
Many Japanese sentences omit subjects and objects or other sentence parts, and they are inferred by the context. Japanese can be very specific however, if the speaker chooses to use it in that socially unconventional way. Being a novice speaker, I probably pepper my sentences with more detail than a native speaker would. The point is, you can provide more detail with the language if you want, but it is not the standard practice.
However, it seems to me in a situation, such as a war, where much depends on clarity, the language could be used to communicate as clearly as neccessary.
Don't forget that Friday is Hawaiian shirt day.
The really fun thing about Slavic Languages (at least Bulgarian and Russian, I don't know about the others) is that double negatives are grammatically correct, and only reinforce the negativity of the statement. For example, saying "I don't have no money" is perfectly acceptable, and means "I don't have _any_ money". So, you could imagine Slavic C, where:
!!a is actually equivalent to !a
Then there's the whole Cyrillic character set, which has some characters in common with Roman, but they mean different things (b == v, p == r etc)
For one thing, most of the refined numerical concepts are either not present in swahili or are borrow words. So, abbreviations for "integer" and "floating point" and stuff would probably still be abbreviated from English. Or perhaps arabic, which would give it an interesting flavor.
However, swahili morphology (the way verbs change when conjugated) is totally different. The verb stem gets a bunch of prefixes and infixes for subject, direct object, and tense. So instead of stringing words together in function names, like
doProcessWithThings(thing1, thing2);
it would be more like
uvyofanye(kitu1, kitu2);
That's probably what C would look like in Swahili (and yes, I know no one really cares what it would look like, swahili is always used as arbitrary language of choice, but I just thought I'd satisfy anyone's bizarre curiosities. And no I'm not kidding; this is what it's really like).
If you think about it, the brain is acting like an interpreter when you listen to someone else's speech. Of course, if they are speaking Japanese and you only understand English - you need to get a patch. :)
"The first time I got drunk, I got married. The second time I bought a chimpanzee, after that I stayed sober" Arian Seid
I'm working on a project right now adapting a bespoke solution into a more modular and global system. nothign unusual you might think, except for the context.
:)
:)
the original program was written by a collection of serbian programmers, and was not intended at the time to be maintained by anyone else. so it is a collection of hacks, with little documentation, but the most impressive thing is the variable names - these are the only solid connection to the (natural) language, and as such are a headache to track and work out
i have seen an attempt to port a language into italian (C, i think it was), so you'd end up with something like:
se (var == Vero){
func1();
} senno {
func2();
}
(an if - else, with Vero being italian for True)
i dont think logic works too differently in other languages.
david
/* Standard I/O library we must include, hm? */
/* Do, or do not. There is no try. */
/* Mmmm, yes, finished now we are! */
#<h.stdio> include
/* Now begin we shall. */
(argc int, argv** char) main
{
("World, Hello!")fprint;
}
And the brethren went away edified.
I am neither a linguist nor a military strategist, but why should that stop me from having an uninformed opinion. :)
:) Well, ok, that's a oversimplification, but in general when things start screwing-up, low-level American troops will take the initiative and try to compensate for conditions instead of withdrawing and regrouping.
From what I've read, Japanese culture is very precise and exact. When the Japanese military issues orders, they are extremely precise and exact and Japanese soldiers are expected to obey them precisely and exactly. This is fine as long as things go as planned, but when things start screwing-up and you don't have contingency orders and your soldiers have no experience taking the initiative (indeed, are discouraged from taking the initiative), then I don't see any alternative to withdrawing and regrouping.
On the other hand, you get a bunch of American good-old-boys and there's almost no point issuing precise orders 'cause you know they're not going be obeyed precisely anyway.
I suppose there are strengths and weaknesses to each culture, but anyway, that's my uninformed opinion.
// TODO: fix sig
Just like computer languages, our "human" languages lend themselves to particular uses, i.e. they are good for some things, and bad for others.
Example: You can easily write a code parser in prolog to verify its correctness... in fact you can write a prolog compiler in prolog with little to no difficulty...
However in C/C++ writing a code parser is a huge pain in the ass. Also, when was the last time you cranked out a C++ compiler (that is correct!) in a few lines.
However prolog does not have many of the features (OO) that C++ has... so it is good for some things, not others...
My point: Some computer languages are good for some things, and not for others...
This is extremely true for human languages. Some languages such as german lend themselves very well towards technical description. Ever see technical manuals from Europe? They are mostly in German for a reason... it is very easy to describe physical aspects of machines in German.
Another example: Mainland chinese. There are many many dialects spoken in China... however they all share several common features. They lend themselves very well to poetry and literature. The descriptive capability of the language is "better" than English...
So why do we end up using English? Well, its easy. And many people don't like the answer (because Americans think thier language is superior because "everyone" speaks it) The answer is because English is terse, and weak, and unambiguous. There is some ambiguity dont, get me wrong, but we don't exactly have 2000 different words for the sun, like some languages do. We have a limited vocabulary, and the language itself is short and to the point. This is why we use it to code in.
What do other countries code in? Most romance languages are very similar to English, so in Europe it is not uncommon for there to be code in other languages (how do they compile it? I dont know). However in India, China, Japan, most people code in English, as it is significantly less ambiguous then thier own languages. Also, who wants a keyboard with 4000 symbols on it? Romance languages also feature a limited but usefull character set, which also plays an important role.
Im sure there will be flames now, but if you stop and think, how many synonyms do you know for earth? The Native Americans had several dozen. We have very few.
Just another example...
And this was almost exactly my point. English shares some nouns and verbs with others, but noone would make the case that it is the same language as french or german.
As such, programming languages are different from english and others. They are languages in and of themselves. For them, the expression of logic is of the utmost importance.
Look at PERL. It has what...2 normal ways of outputing data (print and printf..couple of other related ones....and of course the lowlevel syswrite...) but how many ways of expressing logical operations?
AND, OR, etc all have multiple "words", with different shades of meaning (|| binds more tightly than "or" does for example - but the underlying logic that is being expressed is the same)
They are thus built upon math as their foundation, much more so than english. They only borrow the alphabet and words of english....the grammar, the shades of meaning, these are not taken from english.
-Steve
"I opened my eyes, and everything went dark again"
...as the example. You can expect that for the most part all languages which are from the same family tree (e.g. English, French, Spanish, Italian etc..) would be similar. The real issue is that not all modern languages even have technology terms. Historically English does because it is the language in which all these things were "invented". But- but what do you do with a language like Navaho, where even the word "Tank" (army vehicle) is just the two words for "metal" and "turtle" put together..?!
Nothing wrong in english, but certainly in swedish (for example). Especially for a nitpicker like myself :-)
Not that everyone gets that right, though. In restaurants, you'll see signs that say "rök fritt" (smoke freely) when they (probably) mean "rökfritt" (non-smoking ie "free from smoke").
All opinions are my own - until criticized
Any officer will do his best to boost his troopers morale. That is why every soldier, from any nation facing any enemy, real or potential, will here things like:
"Yes, they may be better trained, but they are unable to act on their own initiative. Break their first attack and we will win"
"They may outnumber us but we are better trained."
"They fight for a corrupt government, they will not be motivated"
"Our airforce has smart-bombed their defences"
"Don't worry about all those bombers in the air. They are just for show. They are only hitting our decoys"
etc etc
Never take anything you here about other armies too seriously. Especially if they are present/former/potential future enemies.
All opinions are my own - until criticized
You mention "Buzz word" That is two words. A german or scandinavian would have written it as "Buzzword" (substituting "buzz" and "word" for something more native, perhaps "surrord":-)
In French you will call a function which fetch a value chercher_la_valeur, notice the pronoun, this a sentence ! while in English you will naturally call it : get_value, this closer to a concept than the French form
Why not "cherche(r)_valeur" in french or "get_the_value" in english? Your example is about simplified grammar, not linguistic difference.
On a side note, I personally use english for variable and function names, even though I'm not a native speaker. There are two reasons for this:
1) The keywords are english. It is easier to read a code that does not switch language.
2) Should I name the get_value function in my native swedish "Hämta_värde", the code would not compile. Substitutes like "Hamta_varde" or "Haemta_vaerde" are ugly and sometimes confusing.
All opinions are my own - until criticized
Because it's not really based on english - it's based on machine code, logic, and math. Don't be too certain that mathematics isn't influenced by cultural factors in turn. You may find link interesting, to say the least.
Because it is fairly simple in certain ways.
A Russian friend of mine told me that in Russia, people are very happy to program in English because in Russian, there are a lot of different ways to say "put" (or "set") and "get", according to gramattical rules involving verb conjucations. In English it's much more straighforward, so naming functions is more easy - and guessing function names is also more easy.
Of course theoretically, you can program in English and not even know the language. However, I suspect that when using 3rd party libraries and system functions, some knowledge of English comes in handy. Since English is fairly close to an international language, and, as noted above, the grammer is well suited to writing function and variable names, I think it's fair that most libraries use English.
If you read a paper on (say) math or biology the language will be sufficiently different to make the contents incomprehensible unless you happen to be a specialist. Yet again we recognize it to be English.
How the language used influences the thought process is a fascinating subject. For example, Allan Bloom in his "Closing of the American Mind" points out that a lot of the words or to be more precise the way we use them nowdays, such as lifestyle, charisma, values, superman, etc are actually a trivialization of ideas of German philosophers (notably Nietsche). He argues that very little general discourse would be possible now without using some of these words.
Compared to natural languages, as you said, computer languages seem rather uninteresting as computers are still much more primitive than humans.
Well, the other side of it is that the Japanese have an affinity for management and control systems that's far more efficient than ours.
Actually it is ours, your referring to TQM (Total Quality Mangement). This was invented by an American who was scoffed at by various American manufactures (GM, Ford, General Electric, etc) for the ludicrous nature of the idea. He went to the Japanese with his idea and they took it hook line and sinker. This combined with the arrogance of our own manufacturing base (Ford Mustang designed to start leaking oil after 66 months comes to mind), is what enabled the Japanese to become such an international powerhouse. For those who are skeptical about the TQM bit, keep in mind they /fully/ integrated TQM at all levels with a commitment from management. Something (total commitment) American companies have sometimes painfully learned really was neccasary.
Somebody must have devised a programming language with Japanese or Chinese keywords. Anyone know?
In Japanese both the object and subject are given before the verb. I think this probably makes RPN seem a bit more natural to Japanese speakers. Although humans have a very limited stack depth, before a sentence becomes difficult to follow. I can see assembly formated like:
Loc1, Loc2 MOV
Loc2, Reg1 ADD
Calvin: "I like to verb words."
Hobbes: "What?"
Calvin: "I take nouns and adjectives and use them as verbs. Remember when `access' was a thing? Now it's something you do . It got verbed."
Calvin: "Verbing weirds language."
Hobbes: "Maybe we can eventually make language a complete impediment to understanding."
- Calvin & Hobbes, by Bill Watterson
What would Perl be like if it was coded by a native Japanese speaker?
Of course Perl wouldn't be Perl unless it Larry Wall had made it, but Perl is based more on the "Unix language" than the English language. Perl is awk+ksh on steriods. With a lot of other stuff (especially from C) thrown in, just becase it could.
Language wise, Japanese is more like Forth (or Postscript). It is an almost entirely postfix language. You say some words, then say a preposition-like word (usually called a "particle") which makes them into a clause, then after a few clauses, you say the verb, which ties the clauses together. Or something like that. Everything is tied together with words at the end, rather than with words in the middle. Certainly instead of "2+3", we'd be doing "3 2 +".
Japanese has such a pure grammar because they were on an island where they were left alone for thousands of years to come up with their own primitive language. Then the Chinese came by, showed them how to write, and the Japanese were mostly left alone for another thousand years to mis-pronounce the Chinese and come up with one of the most bastardly complicated writing systems on the planet. Most kanji have more than one reading, and many times more than one reading is valid in a given context.
Hmmm... and in Perl, There's More Than One Way To Do It. Go figure.
#naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
I think Churchill's point may have been a valid one.
There are, I believe, significantly more homonyms in Japanese than there are in English. This problem is non-existant in writing, because different characters are used for most homonyms. In speaking, the problem is solved by actually ghost-writing the character onto one's hand, so someone can deduce the meaning. Often, notebooks in Japanese business meetings are used for writing characters in large print so the notebook may be turned around for others' viewing convenience.
-------------------------------
I think if Perl were written in Japanese, you'd see verbs on the tail-ends of sentences.
split( ',', @foo );
would become
( ',', @foo ) split;
(except it would be written in Japanese, not English).
Besides verbs, word order often doesn't matter, as words are followed with relationals that tell you what purpose they serve. So you could well see it written as:
@foo wo ',' ni split;
Which, due to the grammatical particles, would just as easily be written:
',' ni @foo wo split;
- cylence
You must use different miles from everyone else. There are plenty of places in the Bay Area where knowing at least one other language could be quite helpful. If you want to go a bit further afield, it's less than 400 miles to LA, where "Se Hablo Espanol" signs are so common that you nobody notices them anymore, and it could be quite useful to speak either Mandarin or Cantonese.
There's no point in questioning authority if you aren't going to listen to the answers.
Have you ever run Windows 98???
kwsNI
Thanks, I should have known that. Anyways, I have an even better idea. If Hula can be used to tell stories, why can't it be used to code? "Uh, yeah, I'd like to sign up for the hula coding class..."
kwsNI
The Hawaiian alphabet is much smaller than ours (5 vowels and 13 consonants - I believe). Think of what it could do for ergonomics...
kwsNI
As far as programmers' thought processes when programming goes... Yes, maybe most commonly used languages are Turing complete. The fact of the matter is, though, that a programmer who is writing assembly language has to think differently about the problem than one who is writing in Forth, or one who is writing in Lisp, or C or C++. Different languages cater to different ways of approaching and thinking about the problem. It seems a bit...glib to say that since all (most) languages are capable of expressing an arbitrary algorithm that they are all based on the same fundamental structures of reasoning. Was it Knuth who said that a programming language which doesn't change the way you think about programming isn't worth learning?
That said, I've been told that Russian, for instance, has interesting facilities in the language for dealing with when a "verb" is taking place. (i.e. expressing ideas about concurrency which would require a bit more work in English) The person I've talked to who spoke Russian claimed that it was difficult to grasp these alternative verb forms, in spite of the fact that he spoke English and French with a fair degree of fluency. Native Russian speakers, obviously, are quite facile with the alternative verb forms. It may be, for instance, that a Russian programming language designer would feel the need to build facilities for concurrent actions into the programming language itself. This would be somewhat different from the most commonly used programming languages, where ideas about concurrency are shunted into the layers of standard (or non-standard) libraries.
What about the effect of slang on programming languages?
--
Wooden armaments to battle your imaginary foes!
If a function is like a verb and its arguments are like subjects and objects, than C might be considered a VSO language. I imagine there must be natural languages that have VSO order, but I don't know what they are, and I have a sneaking suspicion that speakers of such a language weren't the primary designers of languages such as C and Pascal. It must be that VSO just seems more logical to designers and logicians.
The earliest electronic calculators that I remember seeing used RPN (i.e. "3 enter 4 +" instead of "3 + 4 =") -- which is more SOV-like than the more familiar math notation that modern calculators use. Of course that's because they were doing stack-based math, which doesn't have issues of precedence or need parentheses. Natural SOV languages do not share that feature; Japanese syntax can be ambiguous just like English.
chris
In building an industry, on the other hand, you generally can do a lot of planning and the on-the-spot adjustments -- esp. for good old early 20th century industry -- could be minimized. And indeed, some say this sort of programmatic industry is what Japan made itself good at.
Actually, I think the whole idea is bollocks, but that is my take on what had been said.
The Mongrel Dogs Who Teach
File this one under "That's not quite right".
My understanding of Pinker's explanation of Chomsky is that everybody has the same mentalese
I don't think this would be true in all cases. For example: imagine a scene where a female employee of a company is verbally berating a male co-worker, one that is not her subordinate.
Someone from the US, a country where the so-called "woman's movement" has lead to more open attitudes about women in positions of power, might get a "mentalese picture" very different from someone from, say, Japan, where women are still expected to be submissive to a certain extent.
I use this as an example only: not trying to start a gender/racial thread.
So it's possible that a Japanese's mentalese is different from the American's, and it prohibits him from seeing the situation in the same way that an American would see it, and visa versa.
This is really the point I was trying to convey. After all, language, at it's most basic, is simply our way of expressing our view of the world to others.
Perhaps my example was not clear enough. Going back a bit, say the hypothetical female employee is berating the male for something he did: perhaps he didn't get those sales figures like he promised for the big meeting. Jane Doe takes John to task on it: after all, it could be her ass on the line.
Again, I'm not looking to racial stereotype anyone here, but there's probably going to be a difference in how an American and Japanese person sees this situation. Both would probably see Jane's reaction as justified, but the Japanese person might view Jane as overly aggressive, or perhaps even out of place. If you later asked both individuals to describe the situation, would the description of the Japanese person reflect this supposed cultural bias? I don't know: but those links make for some interesting reading nonetheless.
This is all well-and-good, but does it apply to programming? I don't think so: when your programming, you deal mostly with logic problems, with step-by-step solutions. More black-and-white than a social situation. After all, effective programming demands certain things, like variables, pointers, counters, loops.
While I agree with the thesis that programming constructs are strongly driven by "machine code, logic, and math", I think most English speakers and, to a lesser extent, most speakers of Indo-European-derived languages have no idea of the range of variation in languages and therefore just how much out programming constructs reflect those languages.
For example, in machine languages, most opcodes are coded as OPERATOR OPERAND [OPERAND}. This reflects the common structure of English sentences - Subject Verb Direct-Object Indirect-Object, or more particularly the imperative form with the Subject implied and omitted. For example, in English, we say "Send the boy home!". Other languages always put the object(s) in front of the verb, and a machine language built by speakers of such a language might very well have operands preceeding operators. (And I suspect more likely to favor stack-oriented architectures).
Most all higher level languages (and mathematical notation systems) also tend to reflect the English "SVO" ordering, with PostScript and Reverse Polish Notation being notable exceptions, both driven by the functional elegance of a stack implementation.
English and the Indo-European languages are also hard at one end of the spectrum on dividing nouns from verbs in the language - for most words in isolation a native speaker of the language will have strong opinions on wether a word (in isolation) is a noun or verb, despite the fact that virtually all nouns can be used as verbs and vice-versa. In other languages, the distinction is not as strong, although still there (with debatably one or two languages that don't make the distinction). I suspect the early sharp distinction between program and data, the struggles some people have with passing functions as parameters, and some of the resistance to OOP are all rooted in this sharp distinction in English.
There are doubtless other small ways English has influenced programming language structure, though as the previous poster notes, a lot of structure is derived from mathematics and logic.
This is actually a fair summary of Chomsky -- at least, everything I've seen by him (and particularly, his "destruction" of Skinner) basically boils down to not much more than this.
-- the most controversial site on the Web
Personally, I find Japanese a much more algorithmic and unambiguous language than English. Not only is the language's basic syntax more structured than that of modern Anglophiles, there are pre-defined levels of respect and formality that control word choice and forms in every sentence. You can tell the respective social positions of two Japanese people by their choice of verb conjugations. I think that influences their style of management and "quality control" far more than the business courses of a conquering invader.
What they did learn from America was the allure of capitalism. It allowed their feudal heritage of the shogunate, samurai, and personal honor and sacrifice to resurface in a socially-acceptable forum. The Japanese sarariman (salary-man) of the mid- to late-twentieth century was the new samurai, who spent a lifetime owing allegience to a single corporate "house." From the time they started work -- immediately after high school or college -- to their deathbed, the same corporation gave them employment, structure and discipline, and often even their housing. Just like their language, the core structure of their lives remained unchanged from two thousand years prior.
Even their large primary alphabet, kanji, is formed of complex arrangements of a core of smaller pictographic 'primitives'. It takes a special kind of weirdness to be willing to take something more or less equivalent to our concept of words, and distill it down to the individual character level.
I don't think programming language structures rely very heavily on English. There are certain kinds of loops that are useful in programming, and we don't exactly try to define them in proper English. Let's look at the if/then loop.
English: "If the value of a is 1, then set b to 2 and print 'Hello' to the screen."
BASIC: IF A=1 THEN LET B=2:PRINT "HELLO"
C: If (a) {b=2;
printf ("Hello");}
bash: IF ($a=1)
THEN
$b=2
echo Hello
FI
None of these have a great deal in common with English, other than that we use the word "if" to declare a conditional because it's intuitive. Essentially, we need one instruction to let the computer know we're about to do a conditional (if), one instruction to let the computer know we're typing the instructions that go with the conditional (then/brackets), and one instruction to let it know we're done with the conditional (brackets, or "fi", or significant whitespace).
The words we use are irrelevent. There's just certain mathematical ways of doing loops.
"Beware he who would deny you access to information, for in his heart he deems himself your master."
I noticed in Europe that some language are very difficult to understand when they're shouted. English, and German are easier to hear over distances and through noise because of their hard consonants. French, while a beautiful language, is not easily understood when it's shouted.
I'd rather have someone respond than be modded up.
The difficult part of human communication is that we each start out with a meaning, but have to code that into some sort of text. This text could be verbal or paralinguistic. The text is then transmitted (a vocal emission, a smile, a middle finger, etc), but it is up to the receiver, not the transmitter to find the original meaning. Most of the time the receiver uses their previous knowledge and understanding to circumlocute the meaning.
In programming it's the same. The only difference is that the compiler has no idea what you mean, only what you say. It can't see your grimace when it spams your own account with process confirmation notices, so it doesn't know it's doing anything wrong.
Any language will have this problem. English, more than most, especially American "English", is a mosaic of other languages and cultures. It gets worse with digital media and competing corporations trying to put their own version of jargon across (Refresh vs. Reload).
Personally, as someone who loves to learn and speak languages, I do not feel that having another tongue dominate the tech industry would be bad. However, given our American pride, would we be as quick as, say the Scandinavian countries, to learn someone else's language so we could compete in the Technology field? (Remember when they put up kilometre signs and people shot the daylights out of them?)
I'd rather have someone respond than be modded up.
I'm not sure that any of the classic programming languages, with the sole exception of COBOL and derivitives, can claim its roots in English. Oh, the keywords used in the languages are indeed rooted in the British/American wordset, but the overall structures don't fit, not even when you talk about intransitive constructs. (BASIC is more like intransitivie English than any other language, but the Microsoft extensions send it off in a whole new linguistic direction.)
Latin, with its introducing the players before the verb, is very much in the spirit of Reverse Polish Notation. (I might add that Polish notation turns that around: you have the verb and then all the players, which for some reason works only for people who grew up with languages with similar structures. I'm not familiar with any languages that put the subject first, but I'm sure there are some.)
COBOL is structured as though it were English...because it was designed to be. "ADD A AND B GIVING C" makes perfect sense to the English writer, but not to a writer in a language like Latin.
FORTRAN, on the other hand, is based on the notation of classic mathmatics than on any particular language construct.
One thing that shows that English is not the sole contributor to computer languages is the treatment of nested modifiers. English is terrible at compactly describing modifications to modifiers -- the adjective/adverb system sucks when things get complex. Contrast that to Spanish, which sorts out what's modifying what, and far better than English ever will.
The B language (and its child the C language et al) combined assembler language with more human-readable constructs such as the assignment statement popular in ALGOL and to a lesser extent FORTRAN. Many of the "instructions" of the PDP-7 were single-character or dual-character tokens in the B language. The roots of B were in ALGOL and FORTRAN, which were in turn rooted in standard math notation. Many of the Fortran/Algol "built-in language features" were removedand relegated to functions in B/C, thus simplifying the language and also improving portability by eliminating the assumptions made by FORTRAN (unit record input-output) and ALGOL (character-stream input-output).
LISP is a pure-math thing. (All those parens can't have an analog in human language, could they? If it does, I want to see it!)
Food for thought: if Russian was the seed of computer languages, would programs be easier to debug?
But it is clear evidence of Slashdot's decline, and I'm not trolling or flaming. In the past when questions like this came up, there were always linguists around who would have shot the original question full of holes within the first 50 posts. Now, thank God for him, we rely on an IANALinguist who has read Pinker's book at least. Oh well... This poster gets many bonus points for the precise way he phrased it: even if C is close to English, it doesn't matter.
Yes, it is correct that Japanese people formulate thoughts pretty much the same way as everyone else, and they formulate what they are to say the same way also, and their language is just as capable of expressing their full range of thinking. Churchill does not have the evidence he would need to make his claim, unless it hinges on a particular phrase here or there that accidently turned out significant, something like (please forgive me in advance) "I meant Bud Right!" ;)
It is possible, though, that Japanese cultural conventions and norms might lead to less effective communication in some circumstances, but it would also need to be pointed out that they probably would have advantages in other circumstances. I'm referring to deference to authority, for example: sometimes it's good, sometimes it's not. It is also possible that slight differences in the genetics of IQ could play a role. Japanese test slightly higher overall on standard IQ tests than Europeans, but that's based on math. They actually test weaker on language skills, and yes that testing was controlled for culture.
I've had more than one Arabic professor tell me that Arabic is the best language to program computers in because of its highly logical structure. I've never encountered any programming languages based on Arabic, so I've always assumed this was a made-up factoid that got published somewhere. Has anyone ever heard of one?
The grammatical rules of written Arabic (which is profoundly different from most spoken dialects) are pretty logical and the rules do have a rigid complexity that resembles a programming language, which is why many people in the Arab world don't learn to read and write well. It's like having to learn C in addition to your native (spoken) tongue.
-
-
Give me liberty or give me something of equal or lesser value from your glossy 32-page catalog.
For those not conversant in Japanese, the particles mean:
X ni - to or into X (or indirect object)
X wo - X is direct object
X wa - X is subject or topic
X ga - X is subject
X he - to X (direction, e.g. for sending)
X de - using X
So, you could come up with a programming language that said:
"Konnichi wa" wo [mail-program] de [mailing-list] he [SPAM] suru; # Spam "Hello" to the mailing list using the mail program
Might be an interesting experiment.
sulli
sulli
RTFJ.
You know how everybody pretty much sounds the same when singing? It sorta masks the singers accent. Maybe as programming languages develop they mask the grammar of the designer, because of the simplicity and purity desired. Natural languages are messy and complex - programming languages are distilled.
_ The bureaucracy is expanding to meet
the needs of an expanding bureaucracy.
It's true that higher level languages abstract machine code and that therefore, superficially at least, one spoken language over another shouldn't matter.
But, as my subject said, there's more to it than that. English is peculiar and different from other langauages, in it's capacity (or lack thereof) to describe certain relationships and connections.
I'll admit I know only a teeny bit of Spanish and not much else aside from English, so I can't speak as an expert on language comparisons. But I do see how, at least in theory, the langauge a group of programmers interact in could influence the code they produce. From a design standpoint, high-level abstract objects in an OO project are defined with various relationships, built on top of metaphors like publish/subscribe, client/server, is-a, has-a, and so on. I'm not sure how universal these concepts are among other languages, or if there are basic relationships in other langauages that don't exist in English, that might produce a different high-level design. If there are, though, the subtly-different design scheme would of course reflect in all the underlying code.
It's a tough question. As someone pointed out, the spead of programming know-how has been very English-driven. While there are a large number of Indian programmers, they're required to learn English, they generally take all their college-level tests in English, and are essentially learning the same OO-design principles the rest of us are. So differences in their Native language may not get a chance to influence design schemas, at least not yet.
If differences in language can lead to differences in code, eventually they almost certainly will, _if_ what's different is also as good or better, and has a chance to get wide exposure. Considering how popular the idea of tapping Indian and Eastern talent for development work is getting, I think we'll see the model change very soon, if it's going to at all.
Xentax
You shouldn't verb words.
This means that English is capable of easily expressing a wide range of thoughts - some of which are difficult to express in other languages. For example: What is the German word for 'compassion'? (Its a trick question; as far as i know, there is no German word for compassion.)
The longer I live, the more that I realize that the ambiguity and imprecision of English is actually a good 'map' of the real world - which has an element of imprecision and ambiguity to it.
While the French may hate the idea, the fact that most programming is done in English is a good thing; it reduces the 'Tower of Babel' effect in the world. This results in an increase in communication.
I have noticed that people who are not native English thinkers have some certain common characteristics to their programming. For example most of the programs that I have seen from German programmers have interfaces that seem to require the user to do some clumsy things. I attribute that to the German concept of 'VERBOTEN' which is much more than the English concept of 'Forbidden'. The German concept appears to be closer to: 'That is absolutely Forbidden by the laws of God and Physics; to even consider it is unthinkable.'
It appears to me that once a German programmer has decided to do something a certain way that he follows that path - even if it leads him into a ridiculous human interface for his program. After all, to do it any other way seems to be 'VERBOTEN'. The idea that people aren't interested in the internals of a program - but want an interface that does a lot with little action on their part never seems to enter the equation.
Of course I am speaking in generalities here, and I might not be able to defend my observations very well. Since I am talking about the 'feel' of a program - what seems awkward to me might 'feel' precise and rich to another observer. YMMV.
/*(big 5)*/
#üÀ
Ö÷Ìʽ()
{
Ý"ö("ÊÀ½çÄãÃ!");
}
Even smaller than you think, 5 vowels and 7 consonants A E H I K L M N O P U W
See: http://www.geocities.com/TheTropi cs/Shores/6794//
Point of view from a native french speaker.
.2 ecus.
Once, when I was young, some hackers of this time tried to translate the "BASIC" language keywords into some french equivalent... And got a very shallow succes, not to say they failed miserably.
That guy (or team) is probably still laughed at.
I did not say it was not working. I just said that, around 20 years ago, a lot of people tried it and let it rust in some corner.
At that time, I did not know english very well, but I clearly found the french-translated basic syntax very clumsy.
This may be caused to the fact that english tend to be more concise (but maybe less accurate, no flame please) than french. I'm not sure.
my
[Pruneau
But aside from the character-set issue, I bet if Perl were in Japanese, it wouldn't seem that fundamentally different. The logic and constructs would presumably be the same (pretty much every language has if-then-else, while, etc.). You'd need to learn a new set of keywords, of course. And maybe some of the symbols that the language depends on wouldn't be on your keyboard (ouch!).
I'd think the hardest part would be using third-party modules whose names you didn't understand. Imagine going to CPAN if all those module names were in Japanese (or any other language you didn't know). And all the documentation, too!
Slightly off-topic question here: Someone once told me that the source code for SAP is "written in" German -- i.e., even though the language itself is C or something English-derived, variable names, comments, and so on are all in German. Anyone know if this is true? Anyone (either German-speaking or not) worked with that source enough to be able to comment on the implications? I'm curious...
"Biped! Good cranial development. Evidently considerable human ancestry."
A bit off topic but, Finnish works just like this. "I am going to the garden" would translate to "minä (I) menen (am going) puistoon (to the park)". You could also leave out "I" since "menen" means "I am going" while "menet" means "you are going". So we could say just "menen puistoon", or turn it around and say "puistoon menen". The latter is seldon used, a bit archaic, but it is correct and could be found in a poem or such.
Can you imagine if we still used Roman numerals rather than Arabic numerals. Imagine what vector graphics would be like:
vector_a = { IV, MX, X } + { -XI, C, 0};
Forget calculating the projectory of a rocket!
perl -e 'print $i=pack(c5, (41*2), sqrt(7056), (unpack(c,H)-2), oct(115), 10);'
Most likely keywords are becoming symbols. I've read quite a bit of code from european authors, tho the comments stretched my french, german and spanish skills, I could still understand the code.
I've been more interested in what fatigue does to coding style, say, when one, after 20 hours straight coding, writes thus:
WTF?!? What's this compiler's problem? Just work!
Often 2 hours sleep reveals the obvious...
Vote Naked 2000
A feeling of having made the same mistake before: Deja Foobar
In all natural languages, syntax is so difficult and complex that despite hundreds of years of effort, we are still incapable of creating even an adequate rigorous guideline for a single language. Yet your average computer language can be described completely, rigorously, and absolutely in somewhere between a few dozen and few hundred pages of text. This is because computer languages need to be utterly unambiguous- a sharp contrast to human languages, which are riddled with ambiguity and imprecision. This need for precision has led us to create computer languages that contain nothing but the barest minimum of syntax. Even a syntactically rich language like Perl has a fairly limited set of rules and an extremely small lexicon. For this reason, computer languages appear fairly natural-language independent. Instead, they encode the most basic logical rules needed to encapsulate a series of orders- rules that appear to be fairly universal. In some sense, a computer language appears to be what you'd get if you boiled down a natural language to it's absolute bare bones. In that sense, it's independent from any one language and instead incorporates the most basic element of all of them. But the richness- the things that make natural languages so interesting, and of course so different- that doesn't compute. A more interesting question might be to discover if anyone has in fact "translated" the lexicon of an English computer language into another natural language. I imagine this would be a fairly trivial task- a language like C has perhaps a few dozen keywords and no more than a few hundred functions in the basic libraries. The apparent simplicity of this kind of semantic transformation underscores the basic nature of computer languages. Similar tasks between natural languages are extremely complex, even for human beings.
In English, word order is much more important than Japanese, which uses case markers like 'wa' and 'o' to identify the roles of words. So you could verbalize "Mary loves John" as "Mary-wa loves John-o" or "John-o Mary-wa loves" etc, and be understood.
Most computer languages use word order in functions. So f(x,y,z) means something different from f(y,z,x). But you could imagine someone inventing notation like (x:arg1, f:funcName, z:arg3, y:arg2) in which markers identify the roles of variables rather than their position in the sentence.
mkubwa () { sema("Jambo, Dunia!\n"); }
main () { printf("Hello, World!\n"); }
Looks much the same to me.
I can't remember offhand, but a friend stayed for a few months in a certain region of Africa where the local language had no notion of vowels.
An example of a Declarative natural language? Maybe African tribesmen would have come up with Prolog or Lisp.
And, another important language issue I found was when I spent some time in Thailand... I managed to lose my phrase book a couple of times and each new one I bought had a different translation for "Yes" and "No".
I eventually found out that there really is no such thing as "Yes" and "No" in Thai! There is only reiteration of the request to confirm, or saying the request back and appending a NOT operator to it. I thought, "No binary! What the hell is going on!"
It allows the same kind of exchanges that you would expect in normal life as Yes & No allow, but is more procedural than state-based.
Actually, it's kind-of like a serial packet request-response or a checksum or somfink.
Thai also has this wacky "Politener" that ideally you should put at the end of each sentence. It changes depending on whether the speaker is male or female. Males say "Khup" and females say "Kaah". It sort of says (on every sentence!) "I'm male and I'm being polite" or "I'm female and I'm being polite". It puts you in a totally different kind of head-space saying that all the time!
This also seems to have parallels to certain serial protocols... sometimes you need to keep saying what you are to make sure that you get the right things.
As far as computer languages are concerned, an interesting language to check out might be Ruby, which was invented in Japan. I believe it is a souped-up scripting language, kind of like Python, but I hear that it has a number of unusual features.
Controlling people is something that can be done in any language
Which is preceisely why I find the Churchill argument doubtful. If the langauge is good enough to give orders on factory floors, I doubt military work requires less ambiguity.
While many Japanese industrial processes were adopted from abroad, borrowing words has nothing to do with it. Most of the English words found in Japanese non-technical dictionaries were borrowed before WWII. Furthermore, adopting English words does nothing to change ambiguity. Anything that can be accomplished using an English word could be accomplished using a Japanese one, so long as the speakers agree to that code.
You can say a lot of things in Japanese that you would think could only be parsed by a computer... For example, Japanese tolerates unusually long strings of negations, of the type: if !(i=!(!x)) like: sore wa fukanou de wa nai to wa hitei dekimasen ne. "You can't deny that it is not impossible, can you." "fukanou", "nai", hitei", and "dekimasen" are all negatives. Another interesting bit is how deeply-layered embedded phrases can get: Daisuke no heya no tonari no isu no shita no gaban no naka no hon no hyoudai wa "The Story of Ping" (desu). "The title of the book of the inside of the bag of the underside of the chair of the side of the room of Daisuke is 'The Story of Ping'".
"Reactionaries must be deprived of the right to voice their opinions; only the people have that right." - Mao
It would look like Ruby.
Ruby is written by a Japanese programmer, and to me it looks just like a kinder, gentler perl. If you read the docs comparisons to Perl are frequently made.
I wouldn't know how Japanese as a natural language influenced the Ruby language though.
By using English to describe any concept that couldn't be clearly expressed in Japanese. Keep in mind, most Japanese industrial leaders (in the 1950s), and much of their middle management, were trained in America. This is for their post-war development, and the eventual introduction of "quality" to Japanese work (which didn't exist prior to the 1960s).
As for productivity? Well, the other side of it is that the Japanese have an affinity for management and control systems that's far more efficient than ours. Controlling people is something that can be done in any language.
"But remember, most lynch mobs aren't this nice." (H.Simpson)
-- Joe
I bet Japanese coders would find a way to make it have really big eyes and/or breasts.
BilldaCat
I had the interesting experience of having my first-ever CS course when I was on a semester abroad in (then) West Germany.
The course was taught using Pascal, which gave me an advantage because, as the post mentions, it's basically English. Of course, the course was taught in German, which took that advantage away again...
I think that you'll find that it's the higher level languages that take the most content from the spoken language of their author. Assembler, while mneumonically based on English, is simple enough that that shouldn't be a problem. And, of course, machine language itself has no real influence from spoken language. Also, something highly mathematical (and abstract) like APL will probably have little language-related learning curve.
LISP is an interesting case as well. It's higher-level, but pretty abstract. It's reportedly impossible to learn if you come from a culture that doesn't have parenthesis, or one that pronounces them as a "click".
-
bukra fil mish mish
-
Monitor the Web, or Track your site!
Eloi, Eloi, lema sabachtani?
www.fogbound.net
I can see some severe problems in communicating in Japanese with lousy radio voice equipment. Often, one missed or slightly mispronounced syllable can completely change the meaning, and speaking clearly and loudly in Japanese is slower than doing the same in English (you might have heard emergency warnings in anime, and know that the very generic "ABUNAI!" (danger) tends to be used where a more specific "DUCK!", "RUN!", or "BEHIND YOU!" is likely to be used in English); it lacks some of the natural redundancy of English and the handy Anglo-Saxon selection of clear, short emergency words. Terseness in Japanese is achieved by leaving out words that are clear by context (by this method, often a rather astoundingly complicated concept can be expressed in only a few words, which is why you can sometimes read several paragraphs in English that explain a phrase used as a name for something in Japanese), and there isn't always a lot that's clear by context in short commands. Speed is achieved by abbreviating groups of syllables as rather subtle compounds that can be difficult to hear under bad conditions. Furthermore, back in the days before transistor radio and TV Japanese was strongly dialectized, which would surely have added to their problems.
I suspect that this might have added somewhat to the top-down military structure, and further restricted the ability of individual units to improvise in a coordinated manner. Of course, that's hard to say, as this was already something of a feature of the Japanese military. This isn't to say that it's strictly a negative thing, there are advantages and disadvantages to having troops either more or less willing to strike out on their own when they think they know better than their commanders (either way, any military operation usually has some spectacular screw-ups caused by this feature).
As for those other replies that dismiss Churchill's comments as wrong in principle or "just plain racist", with the implication that all languages are alike, I would insist that there are very significant differences in the capabilities of languages. This requires different amounts of training to learn the specialized sub-language of any new field. There's a reason you can't understand what the drill sergeant is yelling, or the impenetrable babble of doctors in emergency surgery ("sew up that hole", "give him some painkillers", "saw off his foot", "he bumped his noggin").
If daily Japanese speech is more different from Japanese military commands than daily English speech from English military commands, it's going to take more training to learn a large and flexible vocabulary, so this ability will tend to be restricted to higher ranks.
Churchill was exaggerating, if not flat-out wrong (after all, ambiguity is a special feature of Japanese, but it is also purely optional), but IMHO it's at least plausible that the features of the language were a factor in the organization of the Japanese military.
---
Despite rumors to the contrary, I am not a turnip.
Sanskrit is essentially a simplified form of proto-indo-european (the mother of all indo-european languages). Essentially, much of the tense structure was lost (my Sanskrit grammar is a bit rusty but I seem to remember that the optative and subjunctive hardly had any other tenses than the present), the syntax was slightly altered (for example, the genitive case has gobbled many of the uses of the other cases) and the morphology evolved (all vowels merged to 'a'; a new 'e' and 'o' were formed from vowel+sonant diphtongs, and consants multiplied by palatalization among other things).
Anyway, the point of my saying all this is not merely to brag about my knowledge of Sanskrit philology, but merely to point out that Sanskrit is a rather ordinary ancient indo-european language. Much of what you point out about it could be said of ancient Greek or even Latin. And, more importantly, being an indo-european language, it does not differ that much from English in its basic ideas. So I don't think it would bring you closer to "enlightenment" (in the sense of losing your linguistic prejudices) except perhaps in the spiritual sense of the word (Sanskrit is a "sacred" language :-).
I speak fluently arabic (native speaker), french (nearly native) and english, I can say for sure that english has absolutly no influence on programming languages. The structures used in programming languages are in rather primitives (while, repeat until, if then else, etc) and I guess might be universal. Well according to Turing and Church, Goedel and consors, "all universal, which include human languages are equal :)" what might be different is the way they express thing.
:). The difference might rather sociologic tha intrinsec in my opinion.
But I believe that the "pragmatic" nature of english has really influenced the way people think and solve computer problems. Eglish is really efficien compared to Arabic and French which tend to be much more "constipated" languages, as they feel attaqued by english, they don't tend to evolve very quickly and tend to be conservative, they don't adapt naturally to technologic evolution, as the pramatic and conquerant english
I've also heard, but it's not necessarily true, that a Japanese communiqué was dispatched that would have convinced the Americans not to bomb Hiroshima, but due to a double-entendre, the meaning did not get through.
I watched a two part documentary entitled "Hiroshima" on the nuclear bombings and the events that led up to it recently and actually what did happen was this:
1. The Emperor, the Japanese Prime Minister, and basically everyone in the Japanese Government except the Army wanted to end the war and accept the allies unconditional surrender, but the Army seemed to have a stiff control over the government.
2. The Japanese Prime Minister addressed the millitary over the radio, and when asked what he thought of the allies unconditional surrender ultimatum he used the word (if I remember correctly) Matsato, he said it to appease the troops and didn't think the allies would listen. He wanted to end the war.
3. The allies were listening and couldn't immediately translate it, they brought in a Japanese linguist who said the word meant "to silently refuse", or it could have meant "to silently refuse in hopes of a better offer", but that was unlikely, Truman accepted the first meaning, and then signed off on dropping the bombs.
-- iCEBaLM
If English language should have had any impact on the design of a structural language, the syntax would be more like.
Consider this:
old_a=a;
b=func(&a);
if (a>b)
a=old_a;
Well if the language should be more natural it would look more like this:
old_a => a. /* put old_a into a. */ /* give addr. of a to func and
execute and put the return
into b. */ /* Is a > b ? then put old_a
into a. */
&a @ func => b.
a>b ? old_a => a : .
The abstraction in the (C like) programming language comes from math more than from the natural language and is far more infruenced by math notation than English.
Even OOP is far from the natural language (maybe except Perl). If we try to write a sentence like "Peter gave his Mother the basket" would likely look like this in C++
Peter->give(basket, Mother);
But despite the order of words, the logic is quite different. What is "basket" here? it is a variable holding a reference to an object. Why is it name basket, a part from giving us a clue here? Well, it probably is a generic object pointer that could refer to anything else than the basket. How is basket related to Peter? Is it part of his "inventory"?
object = Peter->loose_item_by_name("basket");
Peter->give(Mother, object);
Now more like it, but we are now leaving the abstraction, that natural language gives. Experiments have been made to make a language less formal, but often they strand on being ambigeous, an issue we deal with in everyday communication without a thought, but if our language wasn't ambigeous, we would be very longish and convoluted in expressing even simple meanings.
Our language consists of three basic kinds of utterations: Statements ("I am hungry.", "The boy was naughty to his Mother"), questions ("Are you hungry?", "To whom was the boy naughty?"), and imperatives ("Pass the butter!", "Please be nice to your Mother!"). Even when questions are expressed like statements ("I wonder if you know how it hurts.") or imperatives like questions ("Would you mind to be more causeous?") we still destinct them quite well, and no further kinds utterations exists.
But computer languages are often separated into query languages, declarative languages and imperative languages and they don't mix well. Look at the C++ example; the imperative language cannot express a (real) statement: I have come to know, that Peter gave his Mother the basket. Even questions are not questions, they are requests for boolean evaluation.
AI is getting better and better results in simulate a conversation, but it is not suited for programming languages, because a program is not a conversation. I ask the computer a question in a program, but an intelligent answer requires an understanding of the context and can hardly be used as a condition, since the answer may be "It depends on other premises."
An idea is, that programming should within time be substituted with communicating values and wishes, that in a fuzzy way gets to actions by the computer that will make us happy, like a manager communicating with his secretary. This may happen some day.
:-) = I am happy
:^) = I am happy with my big nose
C:\> = I am happy with my OS
Not a single Perl Haiku to be found? C'mon people!
Wah!
Top 12 things likely to be overheard if you worked with a Klingon Programmer:
"The urge to fly from modern systems, instead of moving through them to even greater, fairer things is, I think, an indi
Programming languages aren't closely based on natural languages. The first thing to notice is that a programming language only has imperitive verbs (imperitive languages) or is just an absurdly long noun phrase (functional languages).
Most programing languages don't have cases. The first basic I used had two (numeric and string). Unix shells have two (assignment and reference). Perl has several, but English speakers have no more trouble with this than a native speaker of a language with cases. Larry Wall probably knew what he was doing: he studied linguistics, and probably realized that a case system makes it easier to recognize mistakes.
Spelling and phonetics don't matter in a purely written programming language, so the most important classification for natural languages that would apply would probably be word order. Most programming languages do roughly follow English's SVO word order, like "x equals 4". They tend to put modifiers like array indices at the end, like english uses postfixes.
If we read "function(x)" as "ask function x", we can read namespace::object->function(x) as "ask namespace's object's function x", but in another language, we might have to change the order to "ask the function of object of namespace x".
Consider "program arguments out_file". You can read it in english as "program arguments from in_file to out_file". In japanese, you would say, "in_file from out_file to arguments program".
But, if you look at non-imperitive languages, you would think they aren't designed by english speakers. Most assembly is VSO, and is difficult to read aloud in english. Lisp is more or less VSO, and has a complicated syntax that allows you to build phrases of indefinite length. Lisp might make more sense to a German speaker than and English speaker.
Variables and functions can be considered a type of pronoun, where any word that isn't in the language is assumed to be a pronoun.
Just some ideas.
Q: What do you call a person who speeks 3 languages.
A: Trilingual.
Q: What do you call a person who speeks 2 languages.
A: Bilingual.
Q: What do you call a person who speeks 1 language.
A: American.
Last night I was reading Jorge Luis Borges' collection of short stories, Labyrinths. One story involves (amongst other things) a language without nouns like "moon", instead using verbs to describe the action of "to moonate" or the state of "mooning".
It struck me whilst reading that this wasn't too far from a stack-oriented language, like RPN or Forth. Unusually this is a case where a concept was probably more familiar to me now than it was to Borges (famously fond of obscure references) when he wrote it.
What would Perl be like if it was coded by a native Japanese speaker?
Well, to an English speaker, it would probably look like line noise.
Rather like it does right now.
Tarsnap: Online backups for the truly paranoid
points of dispute
"There is absolutely no ambiguity."
You have got to be kidding me. Take a look at 3 or 4 translations of the same passage from the Upanishads, for example. There are often wide variations in interpretation. It its later years, sanskrit words were intentionally layered with multiple meanings, and authors used these to create richness of texture which is impossible to translate. Few translators catch all of the references, even in a common text such as the Bhagavad-gita.
Perhaps, but also with an incredible amount of irregularity. The nominal cases you are talking about are monolithic forms of what we would use combinations of connecting words for. For example, rather than having a locative case of the noun 'house', we say "in the house." There's a reason languages became more modular: modularity makes things more flexible, easier to deal with and to understand.
Note that computer languages have evolved in much the same way, especially if you view the object-oriented paradigm as an extension of modularity.
Don't get me wrong, I love sanskrit. (is it obvious?) However, I think all in all it's just as well we don't speak it much anymore.
Sanskrit is essentially a simplified form of proto-indo-european
Simplified??????
When you make generalizations about declinsions that were lost and so on, remember that there were many various periods of sanskrit, and certain cases that were more prominent earlier on got lost later on, and so forth. In this aspect, there may be more differences between early & later sanskrit than between sanskrit and another language.
what you're all missing....
Look at sanskrit, where is all the power? In the noun. Look at spanish, where is all the power? In the verb.
For example, in the entire 180-some-odd verses of the yoga sutras, there are something like 2 verbs.
Just like in computer languages, we have the Object-oriented approach, (noun) and the functional approach (verb).
I have a lot more to say about it, but this message is long enough!
check out my mp3 page
An interesting paper about this can be found here. While it doesn't address the what-ifs asked about, it's an interesting look at at least the english side of it. Not surprisingly, Smalltalk is a big example throughout.
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
http://www.geocities.com/connorbd/varaq/
Be afraid. Be very afraid.
The only real difference is that there is no compiler for the spoken language.
--
Wooden armaments to battle your imaginary foes!
I happen to work with a woman from Thailand, and her variable names are all but impossible to determine meaning from. I would have thought that Thai could not exist with only the latin alphabet, but I've been proven wrong.
As for how things would be different if the majority of code was written in a different language (that a majority of programmers understood, much like English is today), I really think it would make very little difference. True, some languages express certain emotions, situations, etc. a little more precisely than English, but usually an example can be given comparing the same language in which English has a more detailed expression in describing something.
As for Perl, show my mom a program written in Perl and a French poem, and I guarantee you the Perl will look more foreign to her than the French. It's all perspective.
Source code is a lot like a parachute; it needs to be open in order to function properly.
Programming languages were developed by English speakers, and reflect concepts represented in English.
:P) The idea of regular expressions is a good example. It's mathematical, not 'natural' (not to be confused with "Natural" in the Kleene-star sense). We all understand regexp, but how much 'natural' language did this understanding cost?
If we were able to divorce ourselves from our language, and design a language centered on computational concepts, rather than linguistic ones, then that language would likely look a lot like APL, or LISP, or those funky squiggles we saw in The Matrix.
It's a hard thing for people to do, separating ourselves from language. Even those of us who speak more than one language fluently, tend to THINK IN A LANGUAGE. Yes, we all perceive concepts abstractly, but we formalise and represent them, inside our own heads, using a language. Communicating is something we do naturally, and we communicate with sounds and printable characters. It's just a part of our biological wiring.
One interesting line from The Matrix sticks out when we think about this: The first 'Matrix' failed because, "some thought we lacked the language to represent your puny little world".. Or something to that effect. The machines considered creating a new language that would have a greater level of semantic richness to describe the problem.
This is an interesting idea, since human languages, all of them, evolved to describe the 'natural world'. We have no problem with understanding the causality of if-then, do-while or has-a and is-a... Even the concepts of OOP are 'natural'. Encapsulation, inheritance, aggregation, these are all natural concepts derived from the natural world and described with natural language. Any human language should be able to describe the world, and so any can be used for programming. The structure of programming languages would not be very different, because they are developed by beings who think in a language used to describe the natural world. {whew}
Now the neat part: What would a language be like if it were designed from the ground-up to be centered on computational concepts, and not those of the 'natural' world?
It would look like APL, with it's huge number of characters used to describe complex ideas that take many words to explain to people. If-Then is easy to explain to a newbie. How do you explain tail-recursion, or semantic closure? How do you concisely respresent a colored-tree (tertiary or more) without using the metaphor of trees and colors?
A language developed in a natural language other than English would not be all that different that what we're used to. (Not that PERL looks anything like English to begin with.
A language designed around computational concepts would look cryptic and superbly compact. The idea of programming patterns could potentially be represented as a single character, or a small set of glyphs which would require a long verbalization to translate into a human language. Such a language would likely be LISPish in structure, where instructions and data would blend seamlessly into each other.
This language would probably use coding-time translation tables and run-length instruction encoding in source, and would build complex concepts from little ones whenever needed; much like we do with functions, but from a much finer, to a much broader scale. This language would be self-referential, self-describing and self-modifying.
A langauge like this could not be designed by a human, because we are by definition prejudiced towards 'natural' languages. A computationaly centrered language could only be written by a machine which itself would have the capacity for manipulating abstract concepts. A pretty tall order.
A programming language designed by the ancient Celts, the Arabs, the Japanese or Babylonians would certainly APPEAR very different from Java, but after translating it - it would be simple to understand. A language built on un-'natural' concepts might not be comprehensible because it might include concepts we can not conceive of.
Time to re-read "Godel, Escher, Bach" one more time.
-- What you do today will cost you a day of your life.
I can imagine this conversation between two native speakers of Japanese:
"English is a really ambiguous language. It doesn't have words for politeness levels."
"Actually, it does have words like 'sir', 'madam', and 'boy', but for some reason, people don't use them. I guess they just deduce the politeness level from context."
And if this were the 1980s rather than the 2000s, the conversation could go on: "Maybe that's why Japanese manufacturing firms are kicking the Americans' butts -- since the English language doesn't mark politeness distinctions clearly, American workers don't respect their bosses as much as Japanese workers do."
--
send all spam to theotherwhitemeat@ropine.com
I speak a little Japanese from what I took in college, and there are some unique features of the language that might effect syntactical structure.
For instance, the acting verb in a sentence almost always occurs at the end of a sentence. To use English with Japanese grammer, the sentence, "I use Perl," would roughly reconfigure as, "I Perl Use."
This may have the effect on function definition and usage. Perhaps this would be the case:
{
argument++;
} function (&argument) increment;
i = 0;
((i)increment)print;
I think the one other good way to trace or guess as to the syntactic etomology of a programming language would be to look at that nation's written mathimatic syntax, as many computer languages stem from math notations.
-AP
I just finished (re-)reading Steven Pinker's "The Language Instinct" where he 1) explains Chomsky's theories and 2) expands on them with his own theories. (I'm no linguist, so expect this post to be followed by a lot of "you are an idiot", "do some research" or "that's not quite right" posts)
First, people don't think in the language they speak in. When you think about a dog eating ice cream you don't literally think the words "The dog is eating ice cream". There is some "mentalese" that you are actually using. When you decide to speak aloud, you translate this mentalese into your language of choice (English, for me). My understanding of Pinker's explanation of Chomsky is that everybody has the same mentalese.
That said, here is my addenda to Pinker's explanation of Chomsky's theory (with help from Church-Turing) would be: All programming languages are equally powerful and isomorphic. This indicates that there is some abstract "algorithmese" that all programmers (can) think in. Therefore, while it may be the case that C is especially close to English*, but if so it doesn't really matter.
*I doubt this is the case. C is very verb-oriented: printf(the_data). C++ is very noun-oriented: the_data.print.
--
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
We probably would have ended up with much the same constructs, just with different words representing things. Why? Because it's not really based on english - it's based on machine code, logic, and math. English is just what we use to represent these things (if, while, whatever function calls, etc...)
Addlepated - punk & metal
In his The Second World War (a six-volume set mainly of his memos as Prime Minister and Minister of Defense for GB during that war) he attributes the collaspe of the Japanese Navy's offensive strategy in the South Pacific (particularly the setback in the Coral Sea in 1942) to the ambiguties of the Japanese language. In substance he said the Japanese had to withdraw and regroup whenever a tactical plan met with an obstacle because of language ambiguities, while the English-speakers could communicate in clear, definite fashion to make ad-hoc adjustments as needed.
IANALinguist, but I found Churchill's comments fascinating. If some Japanese-speaking /. community-members want to refute this notion, please do. (I'm not proposing it is true, only reporting what the Prime Minister said).
Now hiring experienced client- & server-side developers
-- @rjamestaylor on Ello
One of the original design intentions of Smalltalk was to create a language which resembled english more than other programming languages of the day, but remaining terse and effecient enough. While Smalltalk doesn't look exactly like english, it follows a similar syntax as basic english sentences- noun verb and noun verb noun.
To me, I see Smalltalk as resembling the language of the Ojibwe people, a Native American tribe which lived in parts of Minnesota, Wisconsin, and Canada. While I'm not an expert in Ojibwe (having only one semester worth), I have a basic understanding of the general mechanisms of it. Ojibwe is very modular and simply sytactically, much like Smalltalk, whereas english is simple sometimes, but there are many gotchas even in simple constructs.
Ojibwe has the concepts of a pre-verb, that is, a one syllabal modifier of the verb, to change context. They declare future and past tenses, as the desire-to-perform-the-verb, the probability-the-verb-will-happen and others. It'd be an interesting idea to introduce to a language- small messages to an object to change context it's recieving it. Perhaps something like "(anObject become: somethingElse) doThis". Currently not used often, using them as a fundament of design might develop a new way of solving problems and coding the solution.
Nindigoo ojibwemong Enigoons. Giga-waabamin!
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
In my opinion, programming languages mirror natural languages only loosely. But there are certainly some things which makes programming
languages similar to natural English:
(1) English is almost inflection-free, which means
(2) that it has to have a strict word ordering
(3) which make programming languages simple to parse
German, however, has case markers and therefore
free word ordering.
So, in principle, you could exploit that feature
in a natural-language-like programming language:
ASSIGN value TO variable
WEISE der Variablen den Wert ZU
WEISE den Wert der Variablen ZU
which would be unambigious in German.
However, the case markers in German are in many cases bound to the articles, and usually, one just would have something like
ASSIGN b TO a
WEISE a b ZU
where the case markers have disappeared, so
even the German version would have to rely on a
(previously agreed upon) word order.
Thus, the strict word ordering of today's English-like language seems pretty inevitable to me.
However, if we leave the realm of Indoeuropean
languages with its "a does b to c" scheme, the
question would certainly be a different one.
Agglutinating languages? Non-ergative languages?
They probably might have developed a totally
different concept of writing down algorithms
(or might even have developed a non-von-Neumannian
machine).
Damian gave a talk on the module at the O'Reilly Perl Conference, but unfortunately neither the talk nor the module is available on-line. He said he was going to post the module to CPAN, too... Maybe it's time to bug him about that.
Anyway, a person who attended the conference faxed me his paper for the speech; if you're interested, e-mail me (after de-spam-proofing my address), and I will fax it to you.
Vovida, OS VoIP
Beer recipe: free! #Source
Cold pints: $2 #Product
If perl were written like Japanese, it would have different forms depending on the computer's relationship to the coder. If the computer were older or higher in social status than the coder, the coder would have to use elaborate formal endings on all suggestions (commands would be forbidden). If the computer were younger or lower in social status, the coder would be able to use short, direct commands, and would not have to address the computer by title, or bow after each statement.
Men and women would also have different vocabularies. It would be considered improper for a male to use "Ladies' Perl" in most computer environments (except perhaps the Mac).
---- "If we have to go on with these damned quantum jumps, then I'm sorry that I ever got involved" - Erwin Schrodinger
Of course, the opposite would happen with German Perl. You'd create new words by concatenating existing ones, so you'd have a word 4,000 characters long which would do everything related to a specific task -- change one of the component phrases and the new word does something related yet different.
The grammar of Sanskrit is very tough to learn since it is very vast and there are a lot of things to remember than in a language like English (somewhat like C++ being more complicated than C). But it's all very very logical and straightforward. The main thing is that there are a lot of forms of the same word. For example, udyanam means garden; udyanasya means "of the garden", udyanat means "from the garden" , and so on. There are several forms of the same noun. Each form has a unique meaning, and each meaning has a unique form. There is absolutely no ambiguity. Same for verbs and adjectives and other language constructs.
One beauty of this uniqueness is the fact that now the order of the words in the sentence doesn't matter at all. For example, consider that you want to say "I am going to the garden." Aham is I, udyanam is garden, gacchami is going. So I would say, Aham udyanam gacchami. Now I could also say that udyanam gacchami aham or gacchami aham udyanam or any permutation, all of which mean exactly the same thing. Taking this one step further, I could simply say udyanam gacchami since the verb gacchami implies the "I". If it was somebody else who was going to the garden, I would have to say gacchati, and if it were you, I would have to say gacchasi so the verb form implicity determines the subject.
This is just a novice example of the fact that a lot of semantic information is built into the syntax of Sanskrit in a very elegant way that would appeal to purists and compiler designers. I believe that natural language parsing of English and other European languages is much tougher than parsing Sanskrit would be. The downside to adopting Sanskrit would be the vast number of grammar rules and verb and noun forms that have to be learnt.
Professors in the few universities in India where Sanskrit is still being taught strongly advocate the use of Sanskrit for computing. I just know high-school level novice Sanskrit, so if there are Sanskrit gurus among you, speak out with more relevant details.
Anoop Iyer