object oriented programing c
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 3457
The Object Oriented Database Kit 0.5.8.1
The Object Oriented Database Kit is a set of tools to help database applications developers to handle database communication. more>>
The Object Oriented Database Kit is a set of tools to help database applications developers to handle database communication, reporting, and printing. It has a solid, stable, and easy to use API. The project is also GUI toolkit agnostic and portable.
<<less Download (0.018MB)
Added: 2007-06-23 License: LGPL (GNU Lesser General Public License) Price:
860 downloads
Business Oriented Framework 0.07
Business Oriented Framework is a Perl application server. more>>
Business Oriented Framework (BOF) is a Perl application server. It uses SOAP, optionally secured with SSL, to communicate with the client.
The client can use SOAP::Lite or the client module included in BOF, making it easy to connect to the server. User, grou
Enhancements:
- Added support for Schedules and tasks
<<lessThe client can use SOAP::Lite or the client module included in BOF, making it easy to connect to the server. User, grou
Enhancements:
- Added support for Schedules and tasks
Download (0.016MB)
Added: 2005-07-05 License: Perl Artistic License Price:
1573 downloads
AspeCt-oriented C 0.7
AspeCt-oriented C implements an aspect-oriented extension to C. more>>
AspeCt-oriented C project implements an aspect-oriented extension to C and offers one possible language design for an aspect-oriented C language.
Main features:
- an aspect-oriented extension to C, aspect-oriented software development for C, and an ACC language design option
- full ANSI-C compliance and gcc source-compatibility;
- compiler and generated code portability;
- seamless Linux, Solaris and Windows support;
- simple integration in existing builds and code transparency through source-to-source transformations;
- an open source license and compiler.
AspeCt-oriented C enables:
- modularization of crosscutting concerns for C-based software;
- research on concern separation tailored to C and imperative programming;
- research on aspect-orientation on C-based systems;
- development of highly customizable and easily configurable software in C;
- development of feature-rich software product lines in C.
Enhancements:
- set()/get() join point and pointcut support was added for global variables, and compiler options were added for manipulating join points.
<<lessMain features:
- an aspect-oriented extension to C, aspect-oriented software development for C, and an ACC language design option
- full ANSI-C compliance and gcc source-compatibility;
- compiler and generated code portability;
- seamless Linux, Solaris and Windows support;
- simple integration in existing builds and code transparency through source-to-source transformations;
- an open source license and compiler.
AspeCt-oriented C enables:
- modularization of crosscutting concerns for C-based software;
- research on concern separation tailored to C and imperative programming;
- research on aspect-orientation on C-based systems;
- development of highly customizable and easily configurable software in C;
- development of feature-rich software product lines in C.
Enhancements:
- set()/get() join point and pointcut support was added for global variables, and compiler options were added for manipulating join points.
Download (19.7MB)
Added: 2007-08-07 License: GPL (GNU General Public License) Price:
810 downloads
Object Relational Membrane 2a5
Object Relational Membrane is a Python package that provides the functionality of an object relational layer like EJB. more>>
Object Relational Membrane is a Python package that provides the functionality of an object relational layer like EJB or other persistence storage systems.
Object Relational Membrane is a thin compatibility layer between SQL table layouts and Object Oriented Python. While providing a good deal of functionality, it tries to be as small and simple as possible. It currently works with PostgreSQL and Gadfly.
Adapters for Firebird and MySQL are planed.
Enhancements:
- A number of small changes and enhancements.
- The last release previous to a "beta" release.
<<lessObject Relational Membrane is a thin compatibility layer between SQL table layouts and Object Oriented Python. While providing a good deal of functionality, it tries to be as small and simple as possible. It currently works with PostgreSQL and Gadfly.
Adapters for Firebird and MySQL are planed.
Enhancements:
- A number of small changes and enhancements.
- The last release previous to a "beta" release.
Download (0.17MB)
Added: 2007-01-23 License: GPL (GNU General Public License) Price:
1005 downloads
Php Object Generator 3.0
PHP Object Generator (POG) is a PHP code generator which generates clean and tested object oriented code for your PHP4/PHP5. more>>
Php Object Generator on short POG is an open source PHP code generator which automatically generates clean & tested Object Oriented code for your PHP4/PHP5 application.
Over the years, we realized that a large portion of a PHP programmers time is wasted on repetitive coding of the Database Access Layer of an application simply because different applications require different objects.
By generating PHP objects with integrated CRUD methods, POG gives you a head start in any project and saves you from writing and testing SQL queries. The time you save can be spent on more interesting areas of your project. But dont take our word for it, give it a try!
Main features:
- Generates clean & tested code
- Generates CRUD methods
- Compatible with PHP4 & PHP5
- Compatible with PDO
- Free for personal use
- Free for commercial use
- Open Source
Enhancements:
- POG now fetches result set arrays where possible (which provides a big performance boost).
- Data encoding is handled within the database.
- A new plugin interface is used.
- A data encoding sanity check was added to setup.
- Siblings can be deleted without deleting children.
- Getlist() accepts column names as filters.
- Getlist(), GetChild(), and GetSibling() return all results if no arguments are passed.
- A database wrapper class for PDO was added.
- The PDO performance was improved.
- The plugin API, POG base API, and database API were made uniform to prevent plugin versioning.
<<lessOver the years, we realized that a large portion of a PHP programmers time is wasted on repetitive coding of the Database Access Layer of an application simply because different applications require different objects.
By generating PHP objects with integrated CRUD methods, POG gives you a head start in any project and saves you from writing and testing SQL queries. The time you save can be spent on more interesting areas of your project. But dont take our word for it, give it a try!
Main features:
- Generates clean & tested code
- Generates CRUD methods
- Compatible with PHP4 & PHP5
- Compatible with PDO
- Free for personal use
- Free for commercial use
- Open Source
Enhancements:
- POG now fetches result set arrays where possible (which provides a big performance boost).
- Data encoding is handled within the database.
- A new plugin interface is used.
- A data encoding sanity check was added to setup.
- Siblings can be deleted without deleting children.
- Getlist() accepts column names as filters.
- Getlist(), GetChild(), and GetSibling() return all results if no arguments are passed.
- A database wrapper class for PDO was added.
- The PDO performance was improved.
- The plugin API, POG base API, and database API were made uniform to prevent plugin versioning.
Download (1.0MB)
Added: 2007-07-26 License: BSD License Price:
516 downloads
The Qu Programming Language 1.21.10
The Qu Programming Language is a full-featured object oriented programming language. more>>
Qu is a powerful full-featured object oriented programming language. It is an Open Source software. The Qu Programming Language is absolutely free (as in free lunch) and distributed under the GNU General Public License (GPL).
Qu is inspired by other languages. Most noticeably Perl, Python, Ruby and C. It mostly resembles Python except that the syntax is more flexible, the internals are simpler, and Qu allows you to use either indentation or non-indentation style.
Qu has a clean syntax designed to promote readability. There is no need for semi-colons and commas to separate items except in rare cases when the end of an expression is not obvious.
Qu is a procedural language. A program consist of statements and expressions evaluated in the order they appear.
Qu is a strong semi-dynamic (optional-static) typing language. Adding a number to a string will throw an exception. A variable can hold anything or you can attach a validator to it. Validators can be as simple as a class, a constant object (Array, Range, Struct, etc.) or even a validator function.
Arrays, dictionaries, and sets can be constrained to hold only a specific "type" of data as well.
Everything in Qu are objects, including numbers, strings, etc. The number 123, for example, is actually an instance of the builtin Int class. Classes are instances of the builtin Class class, etc. But this does not mean that you must write your programs in an object oriented manner. That is entirely up to you.
Documentation can be embedded in the source code. The compiler will skip them. The documentation builder will extract them. The builder is included as part of the standard distribution.
In fact, when you install Qu or Qu modules, the documentations are automatically built for you.
Qu is entirely written in C. Readable documentations are embedded in the C sources directly.
Writing C modules for Qu is as easy as it can get!
Main features:
- fast
- clean syntax
- strong semi-dynamic typing
- module management
- multithread
- deadlock detection
- label loops, break, continue, redo
- loop, while, for, atomic, do
- fast exceptions
- try, catch, else, finally
- nested function
- lexical closure
- accummulator
- generator
- coroutine
- type validator
- run once function
- full and safe eval
- buffered printing
- auto self
- private, public and static attributes
- read/write & read-only attributes
- class property and methods
- dynamic attribute access
- single inheritance with mixins
- multiple constructors
- super class attribute access
- finalizers
- multiple assignment
- variable and default arguments
- argument flattening
- uniform attribute access
- complex number
- big integer
- mark & sweep garbage collector
<<lessQu is inspired by other languages. Most noticeably Perl, Python, Ruby and C. It mostly resembles Python except that the syntax is more flexible, the internals are simpler, and Qu allows you to use either indentation or non-indentation style.
Qu has a clean syntax designed to promote readability. There is no need for semi-colons and commas to separate items except in rare cases when the end of an expression is not obvious.
Qu is a procedural language. A program consist of statements and expressions evaluated in the order they appear.
Qu is a strong semi-dynamic (optional-static) typing language. Adding a number to a string will throw an exception. A variable can hold anything or you can attach a validator to it. Validators can be as simple as a class, a constant object (Array, Range, Struct, etc.) or even a validator function.
Arrays, dictionaries, and sets can be constrained to hold only a specific "type" of data as well.
Everything in Qu are objects, including numbers, strings, etc. The number 123, for example, is actually an instance of the builtin Int class. Classes are instances of the builtin Class class, etc. But this does not mean that you must write your programs in an object oriented manner. That is entirely up to you.
Documentation can be embedded in the source code. The compiler will skip them. The documentation builder will extract them. The builder is included as part of the standard distribution.
In fact, when you install Qu or Qu modules, the documentations are automatically built for you.
Qu is entirely written in C. Readable documentations are embedded in the C sources directly.
Writing C modules for Qu is as easy as it can get!
Main features:
- fast
- clean syntax
- strong semi-dynamic typing
- module management
- multithread
- deadlock detection
- label loops, break, continue, redo
- loop, while, for, atomic, do
- fast exceptions
- try, catch, else, finally
- nested function
- lexical closure
- accummulator
- generator
- coroutine
- type validator
- run once function
- full and safe eval
- buffered printing
- auto self
- private, public and static attributes
- read/write & read-only attributes
- class property and methods
- dynamic attribute access
- single inheritance with mixins
- multiple constructors
- super class attribute access
- finalizers
- multiple assignment
- variable and default arguments
- argument flattening
- uniform attribute access
- complex number
- big integer
- mark & sweep garbage collector
Download (1.3MB)
Added: 2007-04-11 License: GPL (GNU General Public License) Price:
928 downloads
Luban programming language Beta 2.1
Luban is a component oriented scripting language. more>>
Luban is a component oriented scripting language. Luban is free and open source. Luban is named after a legendary ancient Chinese civil engineer and carpenter two thousand year ago whose constructions are still in use today.
The programming language spectrum seems crowded. Do we have all the tools we need? The author of Luban likes the scripting languages in general because of their usability. Though he always feels the pain for the lack of suitable component model for scripting.
And he personally considers object oriented scripting is too complicated for scripting purpose and will never compete with C++/Java. He eventually created Luban, a scripting language with a robust component model tailored for scripting purpose. Luban is an easy scripting language that is as clean and manageable as Java.
There have been numerous discussions about software component without clear definition. Lubans definition of component is property based object that is similar to Java Bean. User interacts with component by reading and writing property values, and computation could be triggered by the interactions.
The idea of Luban programming language that scripting language needs a different component model other than conventional class hierarchy to fit its scripting environment. A complete mechanism is built in Luban to define, save and categorize components, which is a fundamental feature of Luban.
Enhancements:
- This release adds the new feature to iterate through the elements in Java container objects.
- The following Java types can now be iterated in Luban: Java array, java.util.Collection, and java.util.Map.
<<lessThe programming language spectrum seems crowded. Do we have all the tools we need? The author of Luban likes the scripting languages in general because of their usability. Though he always feels the pain for the lack of suitable component model for scripting.
And he personally considers object oriented scripting is too complicated for scripting purpose and will never compete with C++/Java. He eventually created Luban, a scripting language with a robust component model tailored for scripting purpose. Luban is an easy scripting language that is as clean and manageable as Java.
There have been numerous discussions about software component without clear definition. Lubans definition of component is property based object that is similar to Java Bean. User interacts with component by reading and writing property values, and computation could be triggered by the interactions.
The idea of Luban programming language that scripting language needs a different component model other than conventional class hierarchy to fit its scripting environment. A complete mechanism is built in Luban to define, save and categorize components, which is a fundamental feature of Luban.
Enhancements:
- This release adds the new feature to iterate through the elements in Java container objects.
- The following Java types can now be iterated in Luban: Java array, java.util.Collection, and java.util.Map.
Download (0.37MB)
Added: 2006-04-20 License: Freely Distributable Price:
1283 downloads
Keystone Application Framework 0.9.6
Keystone is a cross-platform, object oriented application framework. more>>
Keystone is a cross-platform, object oriented application framework which allows applications to be written to build on the target platforms of GNU/Linux and Win32 without modification of their source.
Keystone Application Framework implements several modern Web standards, including SVG graphics and the XUL user interface description language.
Enhancements:
- A significant development in this release is the optional use of the GDI+ (Win32) and CairoGraphics (Linux) rendering backends to render SVG content.
- In addition, support for SVG paths has been much improved with the ability to render bezier and elliptical segments.
<<lessKeystone Application Framework implements several modern Web standards, including SVG graphics and the XUL user interface description language.
Enhancements:
- A significant development in this release is the optional use of the GDI+ (Win32) and CairoGraphics (Linux) rendering backends to render SVG content.
- In addition, support for SVG paths has been much improved with the ability to render bezier and elliptical segments.
Download (0.74MB)
Added: 2006-04-26 License: LGPL (GNU Lesser General Public License) Price:
1276 downloads
Undisposable Clients 0.3
Undisposable Clients provides easy-to-use API kits for using Undisposable.org in various programming languages. more>>
Undisposable Clients project provides easy-to-use API kits for using Undisposable.org in various programming languages.
Main features:
- Protects site owners biggest assets; userbase and emails
- Prevents userbase contamination by fake accounts
- As critical as email validity check
- Stops people registering your services with disposable email accounts like jetable.org, pookmail
- Detects public accounts (spread from sites like bugmenot.com) and bans them
- Working principle is similar to spam blacklists like spamhaus.org; power of masses
- Totally free, your donations are welcome
How to use it
Check if there is an API kit for your programming language, if there isnt, connect to our servers manually.
Add a few extra lines to your email validation function which is called from your member registration page. The following is an example in PHP language:
..
function checkEmail($email) {
include_once("undorg/php/rest/undisposable.inc.php"); // include the API kit
if(!undorg_isDisposableEmail($email)) { // check if disposable email
.. // old procedures remain here
} // add this line to close the conditional statement
}
..
?>
Thats all. Very simple...
API kits:
PHP
Supports XML-RPC, REST and PHP serialiation. Stable
@TODO: make it object oriented, test PHP5
Python
Supports XML-RPC. Stable
@TODO: make it object oriented, more protocols
Perl
Supports XML-RPC. Beta
@TODO: test it, make it object oriented, more protocols
Java
Supports XML-RPC. Alpha
@TODO: test it, make it object oriented, more protocols
We need your support for clients in other languages.
Enhancements:
- The isValidEmail function was added for PHP and Python.
- Valid RFC and TLD checks are made in real time, as well blacklist queries against disposable email addressing and public accounts from sites similar to bugmenot.com.
<<lessMain features:
- Protects site owners biggest assets; userbase and emails
- Prevents userbase contamination by fake accounts
- As critical as email validity check
- Stops people registering your services with disposable email accounts like jetable.org, pookmail
- Detects public accounts (spread from sites like bugmenot.com) and bans them
- Working principle is similar to spam blacklists like spamhaus.org; power of masses
- Totally free, your donations are welcome
How to use it
Check if there is an API kit for your programming language, if there isnt, connect to our servers manually.
Add a few extra lines to your email validation function which is called from your member registration page. The following is an example in PHP language:
..
function checkEmail($email) {
include_once("undorg/php/rest/undisposable.inc.php"); // include the API kit
if(!undorg_isDisposableEmail($email)) { // check if disposable email
.. // old procedures remain here
} // add this line to close the conditional statement
}
..
?>
Thats all. Very simple...
API kits:
PHP
Supports XML-RPC, REST and PHP serialiation. Stable
@TODO: make it object oriented, test PHP5
Python
Supports XML-RPC. Stable
@TODO: make it object oriented, more protocols
Perl
Supports XML-RPC. Beta
@TODO: test it, make it object oriented, more protocols
Java
Supports XML-RPC. Alpha
@TODO: test it, make it object oriented, more protocols
We need your support for clients in other languages.
Enhancements:
- The isValidEmail function was added for PHP and Python.
- Valid RFC and TLD checks are made in real time, as well blacklist queries against disposable email addressing and public accounts from sites similar to bugmenot.com.
Download (0.004MB)
Added: 2007-01-23 License: MIT/X Consortium License Price:
1006 downloads
Tree::Binary 0.07
Tree::Binary is a Object Oriented Binary Tree for Perl. more>>
Tree::Binary is a Object Oriented Binary Tree for Perl.
SYNOPSIS
use Tree::Binary;
# a tree representaion of the expression:
# ((2 + 2) * (4 + 5))
my $btree = Tree::Binary->new("*")
->setLeft(
Tree::Binary->new("+")
->setLeft(Tree::Binary->new("2"))
->setRight(Tree::Binary->new("2"))
)
->setRight(
Tree::Binary->new("+")
->setLeft(Tree::Binary->new("4"))
->setRight(Tree::Binary->new("5"))
);
# Or shown visually:
# +---(*)---+
# | |
# +-(+)-+ +-(+)-+
# | | | |
# (2) (2) (4) (5)
# get a InOrder visitor
my $visitor = Tree::Binary::Visitor::InOrderTraversal->new();
$btree->accept($visitor);
# print the expression in infix order
print $visitor->getAccumulation(); # prints "2 + 2 * 4 + 5"
# get a PreOrder visitor
my $visitor = Tree::Binary::Visitor::PreOrderTraversal->new();
$btree->accept($visitor);
# print the expression in prefix order
print $visitor->getAccumulation(); # prints "* + 2 2 + 4 5"
# get a PostOrder visitor
my $visitor = Tree::Binary::Visitor::PostOrderTraversal->new();
$btree->accept($visitor);
# print the expression in postfix order
print $visitor->getAccumulation(); # prints "2 2 + 4 5 + *"
# get a Breadth First visitor
my $visitor = Tree::Binary::Visitor::BreadthFirstTraversal->new();
$btree->accept($visitor);
# print the expression in breadth first order
print $visitor->getAccumulation(); # prints "* + + 2 2 4 5"
# be sure to clean up all circular references
$btree->DESTROY();
This module is a fully object oriented implementation of a binary tree. Binary trees are a specialized type of tree which has only two possible branches, a left branch and a right branch. While it is possible to use an n-ary tree, like Tree::Simple, to fill most of your binary tree needs, a true binary tree object is just easier to mantain and use.
Binary Tree objects are especially useful (to me anyway) when building parse trees of things like mathematical or boolean expressions. They can also be used in games for such things as descisions trees. Binary trees are a well studied data structure and there is a wealth of information on the web about them.
This module uses exceptions and a minimal Design By Contract style. All method arguments are required unless specified in the documentation, if a required argument is not defined an exception will usually be thrown. Many arguments are also required to be of a specific type, for instance the $tree argument to both the setLeft and setRight methods, must be a Tree::Binary object or an object derived from Tree::Binary, otherwise an exception is thrown. This may seems harsh to some, but this allows me to have the confidence that my code works as I intend, and for you to enjoy the same level of confidence when using this module. Note however that this module does not use any Exception or Error module, the exceptions are just strings thrown with die.
This object uses a number of methods copied from another module of mine, Tree::Simple. Users of that module will find many similar methods and behaviors. However, it did not make sense for Tree::Binary to be derived from Tree::Simple, as there are a number of methods in Tree::Simple that just wouldnt make sense in Tree::Binary. So, while I normally do not approve of cut-and-paste code reuse, it was what made the most sense in this case.
<<lessSYNOPSIS
use Tree::Binary;
# a tree representaion of the expression:
# ((2 + 2) * (4 + 5))
my $btree = Tree::Binary->new("*")
->setLeft(
Tree::Binary->new("+")
->setLeft(Tree::Binary->new("2"))
->setRight(Tree::Binary->new("2"))
)
->setRight(
Tree::Binary->new("+")
->setLeft(Tree::Binary->new("4"))
->setRight(Tree::Binary->new("5"))
);
# Or shown visually:
# +---(*)---+
# | |
# +-(+)-+ +-(+)-+
# | | | |
# (2) (2) (4) (5)
# get a InOrder visitor
my $visitor = Tree::Binary::Visitor::InOrderTraversal->new();
$btree->accept($visitor);
# print the expression in infix order
print $visitor->getAccumulation(); # prints "2 + 2 * 4 + 5"
# get a PreOrder visitor
my $visitor = Tree::Binary::Visitor::PreOrderTraversal->new();
$btree->accept($visitor);
# print the expression in prefix order
print $visitor->getAccumulation(); # prints "* + 2 2 + 4 5"
# get a PostOrder visitor
my $visitor = Tree::Binary::Visitor::PostOrderTraversal->new();
$btree->accept($visitor);
# print the expression in postfix order
print $visitor->getAccumulation(); # prints "2 2 + 4 5 + *"
# get a Breadth First visitor
my $visitor = Tree::Binary::Visitor::BreadthFirstTraversal->new();
$btree->accept($visitor);
# print the expression in breadth first order
print $visitor->getAccumulation(); # prints "* + + 2 2 4 5"
# be sure to clean up all circular references
$btree->DESTROY();
This module is a fully object oriented implementation of a binary tree. Binary trees are a specialized type of tree which has only two possible branches, a left branch and a right branch. While it is possible to use an n-ary tree, like Tree::Simple, to fill most of your binary tree needs, a true binary tree object is just easier to mantain and use.
Binary Tree objects are especially useful (to me anyway) when building parse trees of things like mathematical or boolean expressions. They can also be used in games for such things as descisions trees. Binary trees are a well studied data structure and there is a wealth of information on the web about them.
This module uses exceptions and a minimal Design By Contract style. All method arguments are required unless specified in the documentation, if a required argument is not defined an exception will usually be thrown. Many arguments are also required to be of a specific type, for instance the $tree argument to both the setLeft and setRight methods, must be a Tree::Binary object or an object derived from Tree::Binary, otherwise an exception is thrown. This may seems harsh to some, but this allows me to have the confidence that my code works as I intend, and for you to enjoy the same level of confidence when using this module. Note however that this module does not use any Exception or Error module, the exceptions are just strings thrown with die.
This object uses a number of methods copied from another module of mine, Tree::Simple. Users of that module will find many similar methods and behaviors. However, it did not make sense for Tree::Binary to be derived from Tree::Simple, as there are a number of methods in Tree::Simple that just wouldnt make sense in Tree::Binary. So, while I normally do not approve of cut-and-paste code reuse, it was what made the most sense in this case.
Download (0.027MB)
Added: 2006-10-14 License: Perl Artistic License Price:
1108 downloads
Turtle3D 3.0
Turtle3D project is a scheme implementation of the Turtle, in 3D. more>>
Turtle3D project is a scheme implementation of the Turtle, in 3D.
It is object oriented, so you can have many turtles in the drawing window.
A test program is included.
<<lessIt is object oriented, so you can have many turtles in the drawing window.
A test program is included.
Download (0.015MB)
Added: 2006-11-01 License: GPL (GNU General Public License) Price:
1093 downloads
Porcupine 0.1
Porcupine is a web application server that provides an object oriented framework for developing web applications rapidly. more>>
Porcupine is a web application server that provides an object oriented framework for developing web applications rapidly.
Many of the tasks required for building web applications as you know them, are either eliminated or simplified. For instance, when developing a Porcupine application you dont have to design a relational database. You only have to design and implement your business objects as classes, using the building blocks provided by the framework (datatypes). Porcupine integrates a native object database, no mapping required.
Another tedious task for web applications is the interface design, and the constraints imposed by HTML. QuiX, the servers integrated XUL motor, simplifies the interface design process. All you have to do is describe your applications interface in XML and write the appropriate event handlers. You dont have to waste time and money on widget implementations. QuiX comes with a variety of ready to use widgets, accelerating the development process.
Generally, every Porcupine application consists of three distinct layers. The first is the business layer consisting of the business objects which encapsulate the business logic.
The second layer binds the HTTP protocol with the first layers business objects. This layer is implemented using Python Server Pages or Servlets. If using XML-RPC, one common approach is to directly map an XML-RPC method to a business objects method.
The third layer, the presentation layer, usually consists of XML UI definitions and JavaScript event handlers.
The first two layers are executed server side and the third layer is executed on the client (browser).
<<lessMany of the tasks required for building web applications as you know them, are either eliminated or simplified. For instance, when developing a Porcupine application you dont have to design a relational database. You only have to design and implement your business objects as classes, using the building blocks provided by the framework (datatypes). Porcupine integrates a native object database, no mapping required.
Another tedious task for web applications is the interface design, and the constraints imposed by HTML. QuiX, the servers integrated XUL motor, simplifies the interface design process. All you have to do is describe your applications interface in XML and write the appropriate event handlers. You dont have to waste time and money on widget implementations. QuiX comes with a variety of ready to use widgets, accelerating the development process.
Generally, every Porcupine application consists of three distinct layers. The first is the business layer consisting of the business objects which encapsulate the business logic.
The second layer binds the HTTP protocol with the first layers business objects. This layer is implemented using Python Server Pages or Servlets. If using XML-RPC, one common approach is to directly map an XML-RPC method to a business objects method.
The third layer, the presentation layer, usually consists of XML UI definitions and JavaScript event handlers.
The first two layers are executed server side and the third layer is executed on the client (browser).
Download (0.26MB)
Added: 2007-05-28 License: LGPL (GNU Lesser General Public License) Price:
880 downloads
JDOInstruments 2.9.2
JDOInstruments is an embedded object oriented database programmed in java. more>>
JDOInstruments is an embedded object oriented database programmed in java, it is also an implementation of Suns Java Data Objects (JDO) specification for the transparent persistence of Java objects.
Because of this, it doesnt need a JDBC driver or a relational database. JDOInstruments uses its own object store thus it allows storage and retrieval of persistent data with little work from you.
It is integrated with Netbeans IDE (via Plugin module) allowing developers to build pure object-oriented systems.
It is free and Our license is GNU LGPL providing the code and executables (JARs) free of charge. You are free to use JDOInstruments in your projects.
Main features:
- Byte-Code Enhancement of classes
- Byte-Code Compatibility
- Datastore identity
- Optimistic Transaction
- Nontransactional Read
- Retain values
- Restore values
- Second Class PersistenceCapable objects
- J2EE Integration
- Query (JDOQL)
- Index
- Schema Evolution
<<lessBecause of this, it doesnt need a JDBC driver or a relational database. JDOInstruments uses its own object store thus it allows storage and retrieval of persistent data with little work from you.
It is integrated with Netbeans IDE (via Plugin module) allowing developers to build pure object-oriented systems.
It is free and Our license is GNU LGPL providing the code and executables (JARs) free of charge. You are free to use JDOInstruments in your projects.
Main features:
- Byte-Code Enhancement of classes
- Byte-Code Compatibility
- Datastore identity
- Optimistic Transaction
- Nontransactional Read
- Retain values
- Restore values
- Second Class PersistenceCapable objects
- J2EE Integration
- Query (JDOQL)
- Index
- Schema Evolution
Download (6.3MB)
Added: 2006-12-08 License: LGPL (GNU Lesser General Public License) Price:
1050 downloads
Java embedded SQL(unix) 1.08
Subset of SQL for specifying non-procedural queries for Java objects more>> Subset of SQL for specifying non-procedural queries for Java objects, index access based on T-Tree, parallel excecution of requests
JSQL is subset of SQL languages, which can be used to select objects instances according to selection condition. JSQL can be used for implementing personal minidatabase, as tool for dynamic compilation and execution of user requests. JSQL uses notation more popular for object-oriented programming then for relational database. Table rows are considered as object instances and the table - as class of these objects. Unlike SQL, JSQL is oriented on work with objects instead of SQL tuples. So the result of each query execution is a set of objects of one class. The main differences of JSQL from standard SQL are:
There are no joins of several tables and nested subqueries. Query always returns set of objects from one table.
Standard C types are used for atomic table columns.
There are no NULL values, except null references. I am completely agree with C.J. Date critics of three-value logic and his proposal to use default values instead.
Arrays can be used as record components. Special exists quantor is provided for locating element in arrays.
User methods can be defined for table records (objects) as well as for record components.
References between objects are supported including automatic support of inverse references.
As far as query language is deeply integrated with Java language, case sensitive mode is used for language identifiers as well as for keywords.
No implicit conversion of integer and floating types is done to string representation. If such conversion is need, it should be done explicitly.<<less
Download (166KB)
Added: 2009-04-02 License: Freeware Price: Free
204 downloads
Metastorage 2006.11.22
Metastorage is a PHP data access object generator compiler tool. more>>
Metastorage is a PHP data access object generator compiler tool.
Metastorage is an application that automatically generates code for an Object Oriented API to store, retrieve and manipulate the persistent objects of classes described in a high level data model definition.
Metastorage provides a much more efficient development process for medium or large size applications that store and retrieve data from SQL based databases or other types of storage persistence containers, like XML files, flat file databases or LDAP servers.
When storing objects in SQL databases, Metastorage generated code performs efficient object-relational mapping. Metastorage antecipates static storage optimization decisions at compile time, so applications gain in performance, code size and memory usage by avoiding evaluating static decisions at run time.
Main features:
XML definition format
- Easy to write and understand component definition format in XML
Database schemas
- Automatic generation of (database) schema definition of the persistence container
Automatic generation of all classes
- Generates all the code for the data classes, factory class and (database) schema installation class
Self-contained code
- The generated code is self-contained and does not depend on MetaL or libraries of code that are not supplied
Object Query Language
- Provides an Object Query Language (OQL) to define expressions to filter objects in search queries
No SQL
- All code is generated without the need for the developer to write SQL code manually
Forms
- Generation of classes to create, validate and process Web forms to manage objects of the data classes.
Reports
- Generation of classes to execute queries to retrieve data from many objects to elaborate reports or to execute another kind of bulk processing
UML Diagrams
- Automatic generation of Entity-Relationship graphs in UML of the component class diagram
<<lessMetastorage is an application that automatically generates code for an Object Oriented API to store, retrieve and manipulate the persistent objects of classes described in a high level data model definition.
Metastorage provides a much more efficient development process for medium or large size applications that store and retrieve data from SQL based databases or other types of storage persistence containers, like XML files, flat file databases or LDAP servers.
When storing objects in SQL databases, Metastorage generated code performs efficient object-relational mapping. Metastorage antecipates static storage optimization decisions at compile time, so applications gain in performance, code size and memory usage by avoiding evaluating static decisions at run time.
Main features:
XML definition format
- Easy to write and understand component definition format in XML
Database schemas
- Automatic generation of (database) schema definition of the persistence container
Automatic generation of all classes
- Generates all the code for the data classes, factory class and (database) schema installation class
Self-contained code
- The generated code is self-contained and does not depend on MetaL or libraries of code that are not supplied
Object Query Language
- Provides an Object Query Language (OQL) to define expressions to filter objects in search queries
No SQL
- All code is generated without the need for the developer to write SQL code manually
Forms
- Generation of classes to create, validate and process Web forms to manage objects of the data classes.
Reports
- Generation of classes to execute queries to retrieve data from many objects to elaborate reports or to execute another kind of bulk processing
UML Diagrams
- Automatic generation of Entity-Relationship graphs in UML of the component class diagram
Download (0.88MB)
Added: 2006-11-22 License: BSD License Price:
1066 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above object oriented programing c search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed