Where to start. First of all, let me make a nod to (http://www.swig.org/) a tool that makes binding C and C++ to other languages easier. The technology to provide code to many languages is a largely solved problem. Write what you can in C and bind it to the world.
The notion that you can have an abstract programming language that just maps into a bunch of platforms is quite a ways off. The demand for it just doesn't exist. UML tried this in the late 90s, and it mostly failed (there was some traction in real
UML is abstract, but it is in no way a programming language.
On the other hand: As soon as you have implemented your components in the language you use, you can use them as a higher level abstraction and compose your system out of those components. And yes, you need some experience to decide how a component has to look and function like, to be fit for reuse.
Well there are concepts for being even more abstract than say C# or Java. For example Domain Specific Languages. But I don't really like them, you introduce the next layer above all other. More over there is the possibility of model to model transformations, so you can automatically translate from one language to another. But again this is so complex, I haven't seen a working implementation yet.
Reuse not a matter of will... (Score:4, Informative)
Where to start. First of all, let me make a nod to (http://www.swig.org/) a tool that makes binding C and C++ to other languages easier. The technology to provide code to many languages is a largely solved problem. Write what you can in C and bind it to the world.
The notion that you can have an abstract programming language that just maps into a bunch of platforms is quite a ways off. The demand for it just doesn't exist. UML tried this in the late 90s, and it mostly failed (there was some traction in real
Re:Reuse not a matter of will... (Score:1)
UML is abstract, but it is in no way a programming language.
On the other hand: As soon as you have implemented your components in the language you use, you can use them as a higher level abstraction and compose your system out of those components. And yes, you need some experience to decide how a component has to look and function like, to be fit for reuse.
Well there are concepts for being even more abstract than say C# or Java. For example Domain Specific Languages. But I don't really like them, you introduce the next layer above all other. More over there is the possibility of model to model transformations, so you can automatically translate from one language to another. But again this is so complex, I haven't seen a working implementation yet.