1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
ElenaW [278]
2 years ago
9

How each programming language differs in terms of constructs, techniques, use and requirements?

Computers and Technology
1 answer:
Anuta_ua [19.1K]2 years ago
6 0

Programming languages are (designed to be) easily used by machines, but not people.

Natural languages (like English) are easily used by humans, but not machines.

Programming languages are unambiguous, while natural languages are often multiply ambiguous and require interpretation in context to be fully understood (also why it’s so hard to get machines to understand them). Natural languages are also creative and allow poetry, metaphor and other interpretations. Programming does allow some variation in style, but the meaning is not flexible.

Lojban (Wikipedia) is an artificial language designed to try to bridge the gap between these two types of languages. It is specifically unambiguous yet something that a human can pronounce and even speak meaningfully. It can be considered a somewhat successful experiment yet limited in functionality in some ways in both domains (and not a real substitute for a normal programming language, but perhaps useful as an interface).

Natural languages consist of sentences, usually declarative sentences expressing information in a sequence. Programming languages typically are not declarative but procedural, giving instructions to the machine to do something (like commands in natural languages). Rarely, programming languages are declarative, such as Prolog, where statements are given to the computer, then the evaluation consists of finding possible solutions that match those statements (generate a list of words based on possible combinations of letters as defined just by letter-combining rules, for example).

The vocabulary of natural languages is filled with conceptual terms. The vocabulary of programming languages is generally only ‘grammatical’/functional ‘words’ like basic comments, plus various custom-named things like variables and functions. There are no words like you’d look up in a dictionary to express something like ‘love’ or ‘happy’ or ‘sing’.

The grammatical structures vary in more ways than are easy to list here. But some of the most obvious factors are that words don’t have separable parts in programming languages (like English cat-s to form a plural) [=no morphology], and that via brackets, line breaks or other markers, embedding tends to be overtly and clearly marked on both sides for the parser in programming languages, whereas spoken languages usually only have one word (like “that”) linking embedded sentences, and sometimes no word at all. This is another reason that parsing human languages is so hard on a computer.

You could also look at Hockett’s design features and see which apply to programming languages: What is the difference between human and animal language?

In a very general sense, programming languages aren’t used for bidirectional communication and may not properly be considered “languages” in the same sense as natural languages. Just looking at Hockett’s features, they’re completely distinct in being written only, do not involve interchangeability between the speaker and hearer, do not have ‘duality of patterning’ meaning multiple layers of structure as sounds vs. phrases (phonology vs. syntax), and are not transmitted culturally (well, maybe). It’s just very hard to even try to make the comparison.

Most fundamentally, it is worth asking if programming languages even have meaning, or if they are just instructions. This is similar to the Chinese room thought experiment— given a book of instructions for how to translate Chinese, but without actually understanding it, would a human (or computer) with that book be considered to “know” Chinese? Probably not. A computer doesn’t “know” anything, it just does what the instructions tell it to. Therefore, programming languages have no semantics/meaning. They just are instructions, which translate into electronic signals, nothing more.

You might be interested in
How do online note-taking tools support students’ academic goals? Check all that apply.
MakcuM [25]

Answer:

all but 3

Explanation:

3 is strange and I need points sorry

5 0
3 years ago
Read 2 more answers
Consider the recursive method myprint in this code snippet: public void myprint(int n) { if (n < 10) { system.out.print(n); }
valkas [14]
What the method does, is it takes the rightmost decade and prints it, then divides by 10 and repeats. Effectively this means the number is printed backwards, so the output is 128.
7 0
3 years ago
The filter feature in excel allows you to look at what Data?
madam [21]

For applying the filter you need to select the data on which you want to apply it so it will allow you to look at only data you select from the filter options.

4 0
2 years ago
How to remove special formatting from a table in word.
ch4aika [34]

Answer:

Clear Format

Explanation:

7 0
1 year ago
Any song recommendations, pls dont say 6ix9ine or lil pump
gogolik [260]

I actually do have one tho. Try Megan Tha Stallion.

8 0
2 years ago
Read 2 more answers
Other questions:
  • GenXTech is a growing company that develops gaming applications for military simulations and commercial clients. As part of its
    9·1 answer
  • Which of the following is 1000 of a second​
    15·1 answer
  • What short (two letters!) but powerful boolean operator can check whether or not one string can be found in another string?
    12·1 answer
  • what key aspects did you learn regarding the creation, analysis, and management of information systems? How will this impact you
    5·1 answer
  • What is the purpose of application software policies?
    12·1 answer
  • Your boss is very skeptical about the idea of storing his files up in the cloud rather than on a local storage drive. He asks yo
    7·1 answer
  • What is something that can be done to help stop teen teen crashes
    8·1 answer
  • Unconformities develop when new sedimentary layers accumulate atop old, eroded layers, resulting in a geologic hiatus. Which of
    9·1 answer
  • LaShawn would like to post photos in a social media app, but the program needs to be modified in order to display a greater vari
    12·2 answers
  • True or False? The background color block should be inserted after all the images are added.
    7·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!