English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
All categories

Why can't we humans talk to computers in the natural language like English? Why do we have to use an artificial language like Cobol, Fortran, C, C++ or Java ? Why can't we give instructions in the English language we speak everyday ?

If we already have a language like English, why did Dennis Ritchie do the painstaking work of developing a new language called C, building a translator (compiler) for C, and also make all of us learn these new languages ? What is the specific reason? All you programmers and computer scientists, put on your thinking caps and start thinking!

2007-11-09 18:28:00 · 6 answers · asked by Quasar 2 in Computers & Internet Programming & Design

6 answers

We don't need to put on the thinking caps and figure this out. The answer is obvious to any scientist/mathematician. English in particular is not based on logic. It is completely nonsense and illogical. There are no universal rules.

Explanation - spoken languages in general throughout human history are invented, used, and then evolve according to need. They are not systematically invented and then modified. All the spoken languages are like that but English in particular is not very coherent and stable. For example, if I gave you a singular noun, how do you find its plural?

Do you just add a -s at the end (star => stars)?

Do you change the last letter and then add -es at the end (knife => knives)?

Do you add -ia at the end (medium => media)?

Do you add -i at the end (syllabus => syllabi)?

Or do you leave it the same (fish => fish)?

If there are multiple rules, how do you determine where to use which rule?

What about spelling rules? They make no sense? Why i before e except after c? What is so special about c? Why must u always come after q?

The rules for negation and the past tense for verbs work the same way. If I give you a verb, how do you find its past tense?

Do you just add a -t at the end (spend => spent)?

Do you add -ed at the end (learn => learned)?

Does it stay the same (set => set)?

Does it completely change the spelling (do => did)?

What about the meaning of the words? The words mean something but then when I put them together, they mean entirely something else. Why do we drive in a parkway and then park in a drive way?

How would explain to a machine the concept of idioms and expressions? How would you explain that words have more than one meaning? How do you know when a word means what it does?

How can I chop down a tree and then chop it up?

How can you be too close to the door to close it?

Can you really bend over backwards if I ask you to do something difficult?

How can you polish the Polish furniture?

And the fact is obvious when you observe a complete foreigner trying to master English. There are too many rules and then there are more exceptions than the rules. The rules don't even make sense. They are not even consistent.

Isn't it just easier (and more logical and sensible) to invent a whole new language that makes sense and can be taught easily to someone or something else? It will make perfect sense to a machine. In C++, the word main means one and only one thing. It will never be confused whether the programmer means a "main course" or "might and main" or "mainland".

You should study English a bit more and see what a poor language it is.

2007-11-09 18:35:47 · answer #1 · answered by The Prince 6 · 2 0

Computer are really idiots. They only understand two things : 0 and 1.

So you have to use instructions to make computer understand what you want it to do.

C, C++, and other computing langages are used to simplify orders.

Using human language ? You'll have to make a computing language which translates english, spanish, chinese (1st language spoken with more than 1 billion people), french, german, so around 200 differents languages.

Can you imagine the work it need ?

2007-11-09 19:29:26 · answer #2 · answered by Frederic B 7 · 0 0

Prince, Your answer is beautiful! Thank you!
-
To add to this:
Look at the questions: 70% of them are full of spelling mistakes, grammatical inconsistencies and unknown acronyms.
I have difficulties understanding some of them (when they ARE questions).
HOW would you make a machine to understand "that" kind of language?
Give me C anytime!
(MAYBE, if, instead of learning English, French, German or any other language, we were all speaking "C", we could express ourselves better and be understood by anyone...)

2007-11-09 20:51:34 · answer #3 · answered by just "JR" 7 · 1 0

what you're describing is artificial inteligence.
programming languages are only called languages because there was no better word. they're not the same as languages like english. english is enterpretted by our brains. current computers have the intelligence of a goldfish. right now it would be impossible to convert english to binary. if you look at some code it's not describing what to do, it's a set of commands. these commands correspond to binary opperations like addition, subtraction, storing files, etc. by comparison to english, c is very primative and simple.

2007-11-09 19:07:29 · answer #4 · answered by Anonymous · 0 1

Because computers (digital computer, that we use now) don't understand anything without 0 and 1. What we write write in c, c++ or any language are converted to this binary format. 0 means low and 1 means high. Example: If we give input as 25, it will converted to 11001 before it reach to computer

2007-11-09 18:39:23 · answer #5 · answered by Nahid Hossain 3 · 1 1

Very clever. Brilliant

2016-04-03 05:13:06 · answer #6 · answered by Anonymous · 0 0

fedest.com, questions and answers