answersLogoWhite

0


Best Answer

You cannot. The only programming language understood natively by a machine is its own machine code. Every architecture has its own variant of machine code and for good reason. Just as the machine code for a piano player would make little or no sense to a Jacquard loom, the machine code for a mainframe would be impractical for a smart phone. Each machine has a specific purpose and therefore has its own unique set of opcodes to suit that purpose. Although some of those opcodes will be very similar and may have the same value associated with them, they won't necessarily operate in exactly the same way, so the sequence of opcodes is just as important as the opcodes themselves. Thus every machine not only has its own machine code it also has its own low-level assembly language to produce that machine code.

We could argue that we only need one high-level language, of course, but then that one language would have to be suitable for all types of programming on all types of machine. This is quite simply impossible, because some languages are better suited to certain domains than others. For instance, Java is an incredibly useful language because it is highly portable, but it is only useful for writing application software. It is of no practical use when it comes to writing operating system kernels or low-level drivers because all Java code is written against a common but ultimately non-existent virtual machine. If it were possible to write an operating system in Java, the extra level of abstraction required to convert the Java byte code to native machine code would result in far from optimal performance; never mind the fact you need to an interpreter to perform the conversion in the first place.


C++ is arguably more powerful than Java because it is general purpose and has zero overhead. Other than assembly, there is no other language capable of producing more efficient machine code than C++. However, C++ isn't a practical language for coding Artificial Intelligence systems; for that we need a language that is capable of rewriting its own source code, learning and adapting itself to new information. C++ is too low-level for that.


The mere fact we have so many high-level languages is testament to the fact we cannot have a single language across all programming domains. Languages are evolving all the time, borrowing ideas from each other. If a domain requires multiple paradigms for which no single language can accommodate, we can easily interoperate between the languages that provide the specific paradigms we need, possibly creating an entirely new language in the process. That's precisely how languages have evolved into the languages we see today.

User Avatar

Wiki User

9y ago
This answer is:
User Avatar
More answers
User Avatar

Wiki User

11y ago

fffyuf

This answer is:
User Avatar

User Avatar

Wiki User

6y ago

None.

This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: What arguments can be made against the idea of a single language for all programming domains?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Continue Learning about Engineering

What are the application domains of programming languages?

various area of application in computer application in business


Why C programming language can be used to solve different problem domain?

in case of the c languages we are very flexible to to solve the problems in the step by step order (because of using the c-functions,other variables,other operators), debugging also so very easy because trace the exact steps which are given in the problem domains.


What disciplines of engineering are the least programming intensive?

The umbrella answer is that any field of engineering which does not deal with computers or automation will have the least programming. This includes civil and structural engineering (building bridges and other infrastructure) and geotechnical and mining engineering. However, you should expect to use programs as a user in all engineering domains, i.e. Autocad, etc.


The magnetic field or force seems to be associated with the lineup of?

Domains inside the magnetic


What are the Main differences between object oriented programming and generations 1-4 programming language?

Object oriented computer programming and design methodology has become popular as a way of modeling and solving many programming problems. Traditionally, the implementation of such systems has been performed using an object oriented programming language such as C++. Those skilled in the art know that object oriented programming languages share at least five unique and defining concepts or notions. These concepts, which are discussed fully in the relevant literature pertaining to object oriented programming, are known as: CLASSES, OBJECTS; INHERITANCE; POLYMORPHISM, and ENCAPSULATION. Objects communicate with one another via "message passing." A "message" is texts string such as "redraw you". When an object receives a message, a corresponding class method is executed. It is well-known that in object oriented programming, different objects of an object oriented programming language will respond to messages differently.Shift from top-down to OOP could be called going from fourth to fifth generation, in that what it enables programmers to do better or more conveniently than they could with the more primitive languages resembles what the higher generation languages enabled them to do over the lower generation ones. OOP, however, is a paradigm shift as significant as that from first to second or, arguably, from second to third -- but far more radical than the from third to fourth. Of course, it is impossible to quantify this, but in terms of ease of programming and what OOP enables, it might be fair to say the leap from fourth-generation languages to OOP, especially what OOP has now become, can be likened to the span between binary code and BASIC. OOP supercharges the program environment.At each generational jump from binary to assembly language, to third-generation, to fourth-generation, the leap made programming easier and enabled more complex tasks by adding layers around the central core of binary code and its next outer layer, assembly. All programming languages including the advanced OOP iterations that are out now, are parsed down to binary to be executed by the computer. It's all fundamentally the same.OOP packaged the laborious and error-prone systems of calling subroutines with variable parameters we used in the old days with a very slick interface, an envelope of error-checking and ease of use.Object Oriented Programming organizes programming logic around objects instead of processes (as is the case with non-OOP). Some widely used third generation, object-oriented programming languages include C++, Java, and Smalltalk. In OOP, data, and the processes that can be performed on the data, are combined into an object. In addition, objects with similar characteristics may be combined into something called a class. So when an OOP programmer creates a class and wants to categorize certain files they are able to create a sub-class. Sub-classes inherit all the characteristics and processes from the original class file that it is derived from. Inheritance is one of the most powerful features of OOP. Once a programmer creates the subclass, he can add to or change the characteristics and processes to meet the precise needs of the subclass. An example of an OOP is Microsoft Office Suite products (Word, Excel, PowerPoint, Access). First Generation Programming is a machine language. It only understands zeros and ones, so we say machine languages are binary. Second Generation Programming is also called assembly languages; it uses simple words in place of zeroes and ones. The programmer associates each assembly language statement with a specific machine language command. Third Generation Programming uses source codes that could then convert into machine language. A special computer program, called a compiler, would handle the conversion. A compiler is a computer program that translates a specific third generation language (3GL) into machine language. Forth Generation Programming languages are closer to natural language. People who have little or no programming skills can use them to write simple programs. One example of a 4GL is structured query language (SQL). Structured query language is a standard language for manipulating databases. Users can write simple SQL programs to create a database, enter data, retrieve data, and delete data. How are they similar? All programming languages still go back to the First Generation Programming language, Each generation has become more advance, with better tools and features. But each language resorts to machine language.

Related questions

Why does the programming domains affect the concept of programming language?

The domain affects the way we express solutions to problems. A language that closely reflects the problem domain makes it much easier to express the solution.


What are the different programming domains?

The different programming domains are text processing, expert systems, Theorem proving, General purpose applications, Rapid software prototyping, Financial time series analysis, Natural language processing, Artificial Intelligence reasoning, Relational database querying, Theorem proving, Systems design and implementation, Application scripting, Domain-specific applications, Programming education, internet, Numerical mathematics, Statistical applications, Symbolic mathematics, and Matrix algorithms, There are a few other types of domains but these are the ones that are always used.


What are the task domains of AI?

Some task domains of Artificial Intelligence (AI) are perception, speech, and vision. Other task domains for AI are natural language and translation.


What are the application domains of programming languages?

various area of application in computer application in business


What did eclid do?

Eclid or the European Cultural and Linguistic Internet Domains aims to give language and cultural websites high level domains. It is used to promote culture and linguistic studies online.


What is the UM L of Trading Systems?

Taken from wikipedia: The Unified Modeling Language (UML) is a general-purpose modeling language for software-intensive systems that is designed to support mostly object oriented programming. Consequently, in contrast to DSM languages, UML is used for a wide variety of purposes across a broad range of domains. The primitives offered by UML are those of object oriented programming, while domain-specific languages offer primitives whose semantics are familiar to all practitioners in that domain.


What has the author Abraham Berman written?

Abraham Berman has written: 'Cones, matrices and mathematical programming' -- subject(s): Convex domains, Matrices, Programming (Mathematics) 'Nonnegative matrices in the mathematical sciences' -- subject(s): Non-negative matrices


What are the 3 Domains of language?

form, content, use Phonology, grammar and semantics.


How do you interpretations in observation by there domain and theiries?

how do you do interpretation in a observation by their domains and theories through physical,social,cognitive, and language development.


What has the author Roberto M Amadio written?

Roberto M. Amadio has written: 'Domains and lambda-calculi' -- subject(s): Lambda calculus, Semantics, Programming languages (Electronic computers)


Why C programming language can be used to solve different problem domain?

in case of the c languages we are very flexible to to solve the problems in the step by step order (because of using the c-functions,other variables,other operators), debugging also so very easy because trace the exact steps which are given in the problem domains.


What is python not as in snake and what does it do?

Python is a programming language. On the python.org website, it is described as:Python is a remarkably powerful dynamic programming language that is used in a wide variety of application domains. Python is often compared to Tcl, Perl, Ruby, Scheme or Java. Some of its key distinguishing features include:very clear, readable syntaxstrong introspection capabilitiesintuitive object orientationnatural expression of procedural codefull modularity, supporting hierarchical packagesexception-based error handlingvery high level dynamic data typesextensive standard libraries and third party modules for virtually every taskextensions and modules easily written in C, C++ (or Java for Jython, or .NET languages for IronPython)embeddable within applications as a scripting interfaceIf you're looking to start programming, it's a very friendly introductory language to start with.