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 time systems engineering).
The lack of code reuse is not due to a single language mindset, a unwillingness to share. Writing reusable code is just hard. It requires careful design and a lot of effort.
There no easy way around the lowest common denominator problem. Sure, it's easy to map printing a line to a console to a bunch of platforms. But, when you get past what the basic of the standard C library calls, you pretty much just end up creating yet another platform and language, compounding the problem. We just don't have the design experience or languages yet to express many programming tasks abstractly and effectively.
they tried this with something called "the last one" back in the day (70's) when CBM's And Apples ruled the roost didn't work then - dont think its going to work now
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 introd
Professional wrestling: ballet for the common man.
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 time systems engineering).
The lack of code reuse is not due to a single language mindset, a unwillingness to share. Writing reusable code is just hard. It requires careful design and a lot of effort.
There no easy way around the lowest common denominator problem. Sure, it's easy to map printing a line to a console to a bunch of platforms. But, when you get past what the basic of the standard C library calls, you pretty much just end up creating yet another platform and language, compounding the problem. We just don't have the design experience or languages yet to express many programming tasks abstractly and effectively.
Re: (Score:2)
Re: (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 introd