Why are there so many computer languages?

  • Thread starter Thread starter mech-eng
  • Start date Start date
  • Tags Tags
    Computer
AI Thread Summary
The discussion centers around the proliferation of computer programming languages and the rationale behind it. Key points include the notion that no single programming language can address all needs due to varying strengths and weaknesses; thus, multiple languages have evolved to cater to different applications. The conversation highlights commonly recognized languages such as C, C++, Java, and Visual Basic, while also acknowledging the significance of MATLAB and Assembly Language, particularly in specialized fields like mechanical engineering and embedded systems programming. The complexity of modern programming tasks necessitates diverse languages that accommodate larger teams and more intricate problems, leading to the development of object-oriented and functional programming paradigms. The evolution of programming languages mirrors that of human languages, adapting to new challenges and technologies. The thread also touches on the idea that while many languages may seem excessive, they serve specific purposes and are gradually being streamlined as some become less common. Overall, the discussion reflects a shared curiosity about the necessity and future of programming languages in an ever-evolving technological landscape.
mech-eng
Messages
825
Reaction score
13
Why are there too much computer language? I think 3 or 4 are the most important ones.

Thank you.
 
Last edited:
  • Like
Likes ISamson
Computer science news on Phys.org
mech-eng said:
I think 3 or 4 are the most important ones.
Which 3 or 4 exactly? And why?

Which ones would you recommend dropping from the long list?
 
berkeman said:
Which 3 or 4 exactly? And why?

Which ones would you recommend dropping from the long list?

I don't know but it was just a feeling. Most people mentions C, C++, Java and Visual Basic.

Thank you.
 
mech-eng said:
Most people mentions C, C++, Java and Visual Basic.
But being a Mechanical Engineering major, I would have expected you to mention MATLAB in the list of most important computer programming languages.

(Quiz Question -- Why?) :smile:

And surely Assembly Langauge must be pretty important, no?
 
  • Like
Likes mech-eng
mech-eng said:
Whye are there too much computer language? I think 3 or 4 are the most important ones.
Maybe we should only have 3-4 spoken languages too? How do you feel about being restricted to english, spanish, and mandarin?
 
  • Like
Likes ISamson and StoneTemplePython
mech-eng said:
Whye are there too much computer language?

That's awfully judgemental, don't you think?

mech-eng said:
but it was just a feeling.

Particularly without evidence.
 
Greg Bernhardt said:
How do you feel about being restricted to english, spanish, and mandarin?

Better than, um, xhosa, hmong and navaho!
 
Vanadium 50 said:
Better than, um, xhosa, hmong and navaho!
Actually those sound quite fascinating! :smile:
 
  • Like
Likes Stavros Kiri
Greg Bernhardt said:
Maybe we should only have 3-4 spoken languages too? How do you feel about being restricted to english, spanish, and mandarin?

They are very different things. Human languages based on nations they were alreayd existed but requirement of too much computer language for development or technology seems to me very different. They are artificial and there is only one artificial human language. With respect to foreign human languages most of the world learn English, Spanish, German, Italian and nowadays might be Mandarin which is somehow similar what I said in #1.
 
  • #10
berkeman said:
But being a Mechanical Engineering major, I would have expected you to mention MATLAB in the list of most important computer programming languages.

(Quiz Question -- Why?) :smile:

And surely Assembly Langauge must be pretty important, no?

Can Matlab be classified as a programming/computer language because isn't it already written by C or C++, not it a mathematic packed program? (I don't know the difference C and C++and if there is C+?)

Assembly Language? I had never heard of it until you have introduced here. Do you mean engineering drawing or techical drawing or engineering graphics (there are several names)? It might be assumed as a language with some respects.

Thank you.
 
  • #11
mech-eng said:
Can Matlab be classified as a programming/computer language
Of course! We use it all the time for some very complicated work. As an ME, you should learn it.
mech-eng said:
Assembly Language? I had never heard of it until you have introduced here. Do you mean engineering drawing or techical drawing or engineering graphics (there are several names)?
https://en.wikipedia.org/wiki/Assembly_language
 
  • Like
Likes mech-eng
  • #12
mech-eng said:
Assembly Language? I had never heard of it until you have introduced here.
This CLEARLY indicates that you do not know enough about computers to make a meaningful judgement about how many languages there should be.
 
  • Like
Likes NTL2009, Asymptotic and berkeman
  • #13
phinds said:
This CLEARLY indicates that you do not know enough about computers to make a meaningful judgement about how many languages there should be.

I had heard of it literally as "machine language" in my native but I haven't seen nobody interested in it. I might open a new thread based on it and its importance to some fields. I don't have too much info about programming languages and their importance and their use.

Thank you.
 
  • #14
mech-eng said:
I had heard of it literally as "machine language" in my native but I haven't seen nobody interested in it.
Machine language is below Assembly Language; they are not the same, IMO. And Assembly Langauge is extremely important, especially in Embedded Systems Programming, which my company focuses on...
 
  • Like
Likes Stavros Kiri
  • #15
mech-eng said:
I had heard of it literally as "machine language" in my native but I haven't seen nobody interested in it. I might open a new thread based on it and its importance to some fields. I don't have too much info about programming languages and their importance and their use.

Thank you.
Check this out:

https://www.physicsforums.com/insights/computer-language-primer-part-1/
 
  • Like
Likes Stavros Kiri, mech-eng and berkeman
  • #16
If you go to: http://rosettacode.org/wiki/Rosetta_Code, there you will find a site dedicated to showing how to do something (an algorithm is the term) in many different computer languages. Programmers still create new languages and at the same time use really old ones: FORTRAN, COBOL, C. Sometimes a new language takes off -Julia is an example. Other times they wind up in the language graveyard - Pistol is one for the Amiga back in the mid 1980's.

If a language has a codebase - meaning in this context - people wrote code that is still running now, ones like Jupiter and Ada (not all that common) still count.

Computer languages are generational - meaning that there is family tree kind of thing: Since you seem upset by the number of languages, want to get even more agitated? Try this:
https://en.wikipedia.org/wiki/Timeline_of_programming_languages
Or try this:
https://en.wikipedia.org/wiki/List_of_programming_languages
.. darn Pistol was derived from Forth.. and it is not in either list. I never used it, saw code and passed immediately. It was like postscript out on a date with C.

hmm... I used to code in some of those ancient languages. That must mean I'm really old. sigh.
 
  • Like
Likes Asymptotic, mech-eng and berkeman
  • #17
mech-eng said:
I don't know but it was just a feeling. Most people mentions C, C++, Java and Visual Basic.

Thank you.

I really don't know how VB got in there. (And if C# made it in, I would have becomes suspicious that microsoft is behind this thread)

If you look at a company like Google, you'll see its built around C++, Java and Python. I'd probably throw Javascript in there for general web functionality.

The reality is Google is a big company and various other languages have been developed or seeded by it. It does have 3 (or maybe 4) core languages though.
 
  • #18
StoneTemplePython said:
The reality is Google is a big company and various other languages have been developed or seeded by it.
Such as ?
 
  • #19
phinds said:
Such as ?
Go and Dart were developed at Google. Julia is more tied in with MIT but has gotten some seeding from Google.
 
  • #20
Greg Bernhardt said:
Maybe we should only have 3-4 spoken languages too? How do you feel about being restricted to english, spanish, and mandarin?

This was not still a basic and simple explanation for the question.

Thank you.
 
  • #21
There are general purpose languages and a wide variety of specialized languages. They have different strengths and weaknesses that arise from trade-offs made when they were designed. Some are faster, others are easier to learn and program. Some give the programmer full authority while others are very conservative for safety reasons. Some are targeted to specific applications like graphic displays, mathematics, discrete simulation, statistics, graphic design, symbolic manipulation, theorem proving, etc., etc., etc.

Because no one language can be perfect in all aspects, there are many extreme trade-offs that make some languages much better for particular applications than others. That's just the way it is with the current state of the art. Your desire to consolidate and reduce the number of languages is almost universally shared. Many languages are gradually being used less often. But there are still strong reasons for a multitude of languages.
 
  • Like
Likes Stavros Kiri, Asymptotic, symbolipoint and 1 other person
  • #22
StoneTemplePython said:
Go and Dart were developed at Google. Julia is more tied in with MIT but has gotten some seeding from Google.
Good to know. Thanks.
 
  • #23
mech-eng said:
there is only one artificial human language

And where did you get that? See https://en.wikipedia.org/wiki/List_of_constructed_languages
(Neglecting the point that all human languages are artificial - made by people, and not found lying on the ground)

Here's the thing about science. Everybody doesn't get their own opinion. It's not like "I don't like broccoli". In science, opinion has to be informed, and in tghis thread, you've written a lot of uninformed opinions.
 
Last edited:
  • Like
Likes phinds
  • #24
Vanadium 50 said:
And where did you get that? See https://en.wikipedia.org/wiki/List_of_constructed_languages
(Neglecting the point that all human languages are artificial - made by people, and not found lying on the ground)

Here's the thing about science. Everybody doesn't get their own opinion. It's not like "I don't like broccoli". In science, opinion has to be informed, and in tghis thread, you've written a lot of unformed opinions.

But this is a forum and we might discuss something even though we have wrong information. This question had not been asked until this thread I hesitated to asked but I asked. I think still there is nothing wrong.

Thank you.
 
  • Like
Likes symbolipoint
  • #25
mech-eng said:
But this is a forum and we might discuss something even though we have wrong information. This question had not been asked until this thread I hesitated to asked but I asked. I think still there is nothing wrong.

Thank you.
There is absolutely nothing wrong with asking a question. That's not what Vanadium said. What he SAID, and I agree, is that you went beyond asking a question and expressed opinions that are based on little to no knowledge and that's not a great idea on a hard science forum.
 
  • #26
phinds said:
There is absolutely nothing wrong with asking a question. That's not what Vanadium said. What he SAID, and I agree, is that you went beyond asking a question and expressed opinions that are based on little to no knowledge and that's not a great idea on a hard science forum.

Yes, I assume the question was amateurish or ridiculous but are all people educated in computer science or know a lot of thing about it. This question might add something to ordinary people such as me.
 
  • #27
mech-eng said:
Yes, I assume the question was amateurish or ridiculous but are all people educated in computer science or know a lot of thing about it. This question might add something to ordinary people such as me.
Again, the issue is NOT the question, it is the opinionated formulation of the question. Had you just asked "why are there so many computer languages" all would have been well, but you didn't do that. You made an uninformed value judgement that there are too many languages.
 
Last edited:
  • Like
Likes NTL2009
  • #28
phinds said:
Again, the issue is NOT the question, it is the opinionated formulation of the question. Had you just asked "why are they so many computer languages" all would have been well, but you didn't do that. You made an uninformed value judgement that there are too many languages.

Yes, I chose wrong words. I wanted to ask actually so many but the number for me is also too many. Yes this is an opinion I didn't realized so. For somebody number might be too less. But it is whether "too many" or "so many" does not they convey very similar idea here? And there is an negative effect of being non native when using words. May I change the title?

Thank you.
 
Last edited:
  • #29
mech-eng said:
Yes, I chose wrong words. I wanted to ask actually so many but the number for me is also too many. Yes this is an opinion I didn't realized so. For somebody number might be too less. But it is whether "too many" or "so many" does not they convey very similar idea here? And there is an negative effect of being non native when using words. May I change the title?

Thank you.
Well, whatever your native language is, you speak English WAY better than I speak that language :smile:
 
  • #30
mech-eng said:
May I change the title?
You can ask a mentor to do that (you can't do it) but I think it's too late now.
 
  • #31
Another thing to consider is that computer programming is in a very early stage of development. Math and physics took hundreds of years to get where it is today. I think that the computer languages 50 years in the future may look nothing like today's languages.
 
  • Like
Likes Stavros Kiri, berkeman and StoneTemplePython
  • #32
phinds said:
You can ask a mentor to do that (you can't do it) but I think it's too late now.
No, not too late. Thread title is now "Why are there so many computer languages?"
StoneTemplePython said:
Go and Dart were developed at Google.
A friend of mine is at Google, and writes documentation for developers. He has mentioned to me that much of the example code he writes is in Go.

I would venture to guess that one reason for the large number of program languages is that, as computers have grown exponentially faster and more powerful, the scope of problems they can be applied to has also grown larger. Instead of merely "crunching numbers" to calculate the flights of artillery shells, as the first computers did, computers are now used in unimaginably more complex problems. Over time, these programs have grown larger, requiring teams of programmers instead of just one person writing the code. To accommodate programs written by many people, all sorts of complexity was built into programming languages, in part to make the large programs easier to debug. Programs written for the early computers were procedural, in which the programmer described in detail the calculations that would be done. More modern programming languages use different paradignms, such as object-oriented programming (OOP), in which entities in the problem domain are described by objects that contain their own data and have functions provided that can be used to manipulate that data. There are also functional programming languages, such as Eiffel and Haskell, and to some extent Python.

Programming languages are developed to address problems in some previous language. In this way computer languages evolve, similar to the way human languages evolve. (Latin was once spoken by many people, but it evolved into Italian, French, Spanish, Portuguese, Romanian, Romansh, and several other smaller dialects. Almost no one speaks Latin nowadays.)
 
  • Like
Likes Stavros Kiri
  • #33
berkeman said:
Machine language is below Assembly Language; they are not the same, IMO.
I agree. Paul (@phinds and I had a discussion about this some time ago, in which he maintained that there was a one-to-one correspondence between assembly and machine code). I just finished teaching a class in computer architecture with an emphasis on assembly language, MIPS in this case. In MIPS programming, there are "pure" instructions and "synthetic" instructions. For the latter type, the assembler translates one assembly pseudo-instruction into two or more lines of native instructions.

Aside from the large number of programming languages, there is also a large number of assembly languages, with at least one for each processor. Some of the ones I'm familiar with are 6502 assembly, 68000 (and 68020, 68030, 68040) assembly, 8088 assembly (with instructions added for 80286, 80386, 80486, many Pentium models), ARM (in various versions up to the currect V8), MIPS (in various versions), IBM 360, and many many more.
 
  • Like
Likes Stavros Kiri
  • #34
mech-eng said:
Why are there too much computer language? I think 3 or 4 are the most important ones.

Thank you.
Greg Bernhardt said:
Maybe we should only have 3-4 spoken languages too? How do you feel about being restricted to english, spanish, and mandarin?
The question is not a bad one. Why were so many computer programming languages developed? The goals and aims of the computer scientists should be examined and hopefully well understood in order to answer this question.
 
  • #35
phinds said:
There is absolutely nothing wrong with asking a question. That's not what Vanadium said. What he SAID, and I agree, is that you went beyond asking a question and expressed opinions that are based on little to no knowledge and that's not a great idea on a hard science forum.
"Too many languages" is very different than "so many languages".
 
  • #36
phinds said:
Again, the issue is NOT the question, it is the opinionated formulation of the question. Had you just asked "why are there so many computer languages" all would have been well, but you didn't do that. You made an uninformed value judgement that there are too many languages.
Too picky. He really wants to know, why SO MANY languages for programming.
 
  • #37
Anyone try coding a website in C++? You'll soon figure out why web languages were developed :biggrin:
 
  • Like
Likes donpacino and Stavros Kiri
  • #38
mech-eng said:
Yes, I chose wrong words. I wanted to ask actually so many but the number for me is also too many. Yes this is an opinion I didn't realized so. For somebody number might be too less. But it is whether "too many" or "so many" does not they convey very similar idea here? And there is an negative effect of being non native when using words. May I change the title?

Thank you.
Some people forget that they themselves are not machines. (Or maybe they/we are machines; just very very complicated machines).
 
  • #39
symbolipoint said:
"Too many languages" is very different than "so many languages".
I think the original title was "too many" but in any case, the content of the post was "Why are there too much computer language?"

At any rate, all this nitpicking (mostly mine) about the wording of the question is somewhat beside the point, which is that there are very understandable (and usually good) reasons why there are a ton of computer languages.
 
Last edited:
  • #40
FactChecker said:
Because no one language can be perfect in all aspects, there are many extreme trade-offs that make some languages much better for particular applications than others. That's just the way it is with the current state of the art. Your desire to consolidate and reduce the number of languages is almost universally shared. Many languages are gradually being used less often.
I'll take what @FactChecker said and extend it to PLC (Programmable Logic Controller) languages. All are proprietary although the five basic flavors have been codified as an IEC standard.
  1. LD - Ladder logic
  2. FBD - Function Block Diagram
  3. SFC - Sequential Function Chart
  4. IL - Instruction List
  5. ST - Structured Text
IL and ST more closely resemble traditional computer programming languages. IL can be thought of as "assembly language for PLCs" while ST has similarities with C, BASIC, and other high level computer languages.

LD, SFC, and FBC are strongly graphical/visual in nature. SFC isn't very far removed from computer program flowcharting. Writing in LD is similar to sketching a relay circuit schematic, and while FBD is also connection-based, programming in it resembles creating logic gate schematics from the heyday of 7400 series discrete IC logic chips.

The first generation tended to be ladder (Modicion took this route) or instruction list (Omron, and Koyo, and by extension, the GE series one and Texas Instruments PLC offerings, which were both made by Koyo). Ladder was popular among industrial electrical engineers and techs because it closely resembled the physical circuits they were already familiar with, and it tended to be easier to troubleshoot than IL. Ladder becomes progressively less well suited as program complexity increases at about the same rate as ST becomes more desirable. Several PLC languages can be edited with elements from both general themes - LD/FBD/SFC where they are more appropriate, and ST (IL is becoming increasingly vestigial) where LD/FBD/SFC don't have the necessary "heft".

Exactly how logic created in a PLC programming environment is translated to machine code running on the underlying computer hardware is often shrouded in proprietary secrecy. One exception that comes to mind were Opto 22 Mistic controllers programmed using their Cyrano flowchart-based software (BTW - Opto 22 developed the first flowchart-based PLC software thus presaging SFC). What the user created as a flowchart was converted to FORTH on it's way to becoming machine executable code.
 
Back
Top