Thanks to Johan I’ve discovered this first announcement of the Wolfram Language, a general-purpose knowledge-based language.
What does this mean? Well, not exactly clear at this point. Let´s start by reading an excerpt of what they say in the announcement:
In a sense, inside the Wolfram Language we have a whole computable model of the world. And it becomes trivial to write a program that makes use of the latest stock price, computes the next high tide, generates a street map, shows an image of a type of airplane, or a zillion other things. We’re also getting the free-form natural language of Wolfram|Alpha.
So, we could say the language is a programming language that comes with a huge set of predefined types (and operations on them). Thanks to their knowledge engine, these types represent any existing concept in the world so we can just focus on describing how we would like to combine these concepts in our program instead of explaining the computer what are the attributes and operations we should be able to use on them. Like if you had an almost infinite set of predefined libraries for your language but covering all kinds of real-world objects and not only programming abstractions.
We need to wait to see how this unfolds but so far it looks very promising. It could be the next step up in the abstraction ladder. To know more refer to the original announcement or this other review post and let me know what you think!
FNR Pearl Chair. Head of the Software Engineering RDI Unit at LIST. Affiliate Professor at University of Luxembourg. More about me.
This work is interesting indeed.
I wish to point to some research we recently published that is close to this topic (although we didn’t reach the point of defining a full-fledged language for that).
The work I’m referring to is titled: A bottom-up, knowledge-aware approach to integrating and querying web data services (I co-authored it with Silvia Quarteroni and Stefano Ceri).
We present a bottom-up, semi-automatic process that maps Web APIs and Services to an external, general purpose knowledge base. We use simple text processing techniques in order to minimize and possibly avoid the contribution of domain experts in the annotation of APIs. As a result, developers get annotated APIs available for invocation.
Although in our work we mainly focused on data-driven query services, the approach can be applied to any kind of service. This is a first step towards making knowledge-base aware programming possible.
You can read more here:
http://www.modeldrivenstar.org/2013/10/knowledge-aware-approach-to-web-data-source-integration.html
Interesting area.
Notice that the problem is not only to refer to ‘things’ in such a language, but rather to refer to VIEWS on things.
E.g. referring to a piano from the viewpoint of a pianist or a furniture mover etc. is a pretty different thing. Will be interesing to see, how a predefined type system can handle that on such a general level.
So long
|=