Register|Login Home| Monday, September 06, 2010
Log In 
 

 
Site Map
 

<H1>The Philosophy Behind CULE</H1>

The Philosophy Behind CULE

 

One of the biggest challenges for today’s software developers is figuring out how to rapidly assemble a solution to a given business problem from so many different sources of software.  Since software reuse is the only economy of scale the software industry has, developers continue to try and find ways to reuse the source code from their (and others') previous projects to avoid reinventing the wheel.  But with software coming in so many different forms these days—class libraries, ActiveX/COM components, Web Services, scripts, stored procedures and operating system/third party APIs, just to name a few—it is not easy to realize true software reuse.

It used to be that “object” was the most over used term in the software development literature.  Now the term “component” is becoming a strong challenger.  These days in the world of software development it seems everything is being called a component, and Component Based Development (CBD) has become the dominant programming paradigm in the industry.  And just as the object-oriented programming paradigm required specially designed object-oriented languages to capture its essence, so too does the component-oriented programming paradigm require special language support in order that all of its tenants be conveyed, and its promise of true software reuse be fully realized.

CULE (pronounced “Cool”) stands for Component Unification Language Everywhere.  The acronym conveys the design goals of the language in a way that is easy to remember.  The CULE language specification has been designed to embrace this new component-oriented paradigm.  It aims to unify software components regardless of origin, by representing them to the programmer in a consistent and elegant way. 

But today software must run on multiple devices under varying environments.  So the CULE language specification has been carefully designed to be platform agnostic.  No aspect of the language specification assumes a given operating system or hosting runtime environment.  CULE source code is designed to run in any environment for which a CULE compiler has been implemented.  Moreover, the CULE design provides for this run “everywhere“ design goal without requiring the developer to code to the lowest common denominator feature set of all possible targeted environments.  That is, the design of the CULE language ensures that developers can exploit the richness of any one platform for a specific feature of their program while retaining truly platform independent code for the rest of it.

The deign of CULE attempts to provide the developer with an elegance of expression that will maximize software reuse across a broad range of platforms.  It does this by specifying one of the most modern and semantically rich computer languages in the world, that is easy to learn yet extremely powerful.

Learn more about CULE.Net - the CULE implementation for the .Net platform...

 

CULE Design FAQ 

Q.  Why is CULE considered a Component Unification Language?
Q.  Is CULE really available Everywhere?
Q.  How can CULE claim to support both platform independence and rich platform integration?