5
Technology, Platform and Language are terms used to characterize various "aspects" of the "world of programming".
What exactly does each of them refer to?
What unites and/or separates them?
5
Technology, Platform and Language are terms used to characterize various "aspects" of the "world of programming".
What exactly does each of them refer to?
What unites and/or separates them?
5
I’ll tell you more about programming language, but there are other languages that we use in computing.
The language itself is just one specification. Usually it can only be used when an implementation is made, typically with a compiler and a code of Runtime, which may include a specific basic library. See How a programming language is developed?.
Language is what allows you to express algorithms and data structures so that the computer can then know what to do. It is a formalization of syntax (spelling and grammar) and semantics of instructions that will determine the execution of an algorithm.
Language is too abstract. You don’t install language, you just use it. I imagine some people might think, wrongly, that the compiler is the language. Besides being only the implementation, it alone cannot be considered the language, needing other parts, so I also imagine that in the context the term is being used almost as platform.
The language is a technology, the compiler is a technology, several other components used together are technologies. In short, almost everything human beings have created to solve problems is technology. It is a set of techniques, skills, methods and processes to produce something with some goal. It is knowledge. Technology is what gives you the ability to do something.
It is a very broad and abstract term, which means little or nothing in our area. We usually talk about tools in general, software or hardware that perform some specific task, but technology is much more than that. We use the term to reference products that have been created to help in creating our software.
A language is a technology, a platform is a technology, a compiler is a technology, a *Runtime is a technology. Each of them is full of specific technologies alone or together.
Specific technologies receive other more specific names.
Taxonomy is hierarchical, everything has several names depending on the degree of specificity you want to designate it. When we call something an object is a taxonomy at a high level.
Platform is something that supports a number of things to achieve a goal. Anything that is used as a basis for running software within certain rules that the software needs to conform to is a platform. It may be hardware or software (usually virtual machines or even systems or operating environments or even a library, or web browsers or other standard browsers with similar goals).
No software runs conforming to multiple platforms directly. Either it needs another layer, which turns out to be another platform on a higher level or it needs to be checking the platform and making decisions about what to run to conform to what’s running on top (has several techniques for this, all with performance penalty).
But we also use the term at a higher, more "administrative" level, which I don’t think is the focus. But some platforms of this type also end up being execution platforms as well.
It is possible to have some platform levels (from the most concrete to the most abstract). In general you just need to worry more about the highest level that is closest to your software. You do not use the web platform having to know how to solve the access to a file, the platform abstracts it. You don’t make a native code worrying about how you access the keyboard.
Not to be confused with a framework. A framework is a technology that runs on top of a platform and usually in conjunction with a language. It is a concrete way to access the platform.
As an example we have the Common Language Infrastructure (CLI). It is a platform, and usually we call her . net. But this is just one of the implementations of this platform. May be useful.
Do not consider this as an absolute answer, I do not know formal definition of terms for our areas. Each person can sort things differently.
In addition, it is not possible to pass all the complexity of classification of this here, the person has to go getting various information to form a basis that allows him to understand correctly.
It is often the case that even the creators of certain products call something the wrong way, either because they do not know or use another definition, or for pure marketing. What often creates confusion.
I intend to change the title of the question to "Technology, Platform and Language, what are they and how do they relate?". The amendment expresses better what I want to ask. Although I believe that your reply goes in that direction I did not want to make the amendment without it expressing its support.
You can do yes, I hope already give an improved or finish it, then with the change already hit something to suit.
Browser other questions tagged terminology computer-science
You are not signed in. Login or sign up in order to post.
Related: After all, Java is a technology or a programming language?
– vinibrsl
@It was that question that led me to ask this.
– ramaral
Platform is very ambiguous, but it’s definitely responsive :)
– Guilherme Nascimento