Main > Free Download Search >

Free object oriented programming tutorial software for linux

object oriented programming tutorial

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 4293
KDE Simple Programming Tutorial 1.2

KDE Simple Programming Tutorial 1.2


KDE Simple Programming Tutorial is a tutorial for developing a KDE application. more>>
KDE Simple Programming Tutorial is a tutorial for developing a KDE application.

With the only requirement of a little C++ knowledge, and using the latest KDE snapshots, the reader will learn how to build his/her first KDE application from a simple "Hello world" button to a Web browser with a DCOP interface that communicates with a bookmark application running in a separate process.

Theres also a spanish and a romanian version of the documentation.
<<less
Download (MB)
Added: 2006-10-04 License: GPL (GNU General Public License) Price:
1121 downloads
Intro to Bash Programming HOWTO 0.8

Intro to Bash Programming HOWTO 0.8


Intro to Bash Programming HOWTO is a bash programming tutorial. more>>
Intro to Bash Programming HOWTO is a bash programming tutorial.
The Intro to Bash Programming HOWTO is meant for newbies who wish to learn how to write shell scripts for bash, the GNU Boure-Again shell.
It contains several samples. It is very early in its development, but it is hoped that some people might find it useful.
Enhancements:
- New translations included and minor correcitons.
<<less
Download (MB)
Added: 2006-10-03 License: (FDL) GNU Free Documentation License Price:
1123 downloads
The Object Oriented Database Kit 0.5.8.1

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
Php Object Generator 3.0

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.
<<less
Download (1.0MB)
Added: 2007-07-26 License: BSD License Price:
516 downloads
AspeCt-oriented C 0.7

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.
<<less
Download (19.7MB)
Added: 2007-08-07 License: GPL (GNU General Public License) Price:
810 downloads
The Qu Programming Language 1.21.10

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
<<less
Download (1.3MB)
Added: 2007-04-11 License: GPL (GNU General Public License) Price:
928 downloads
Luban programming language Beta 2.1

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.
<<less
Download (0.37MB)
Added: 2006-04-20 License: Freely Distributable Price:
1283 downloads
AFNIX programming language 1.5.2

AFNIX programming language 1.5.2


AFNIX is a multi-threaded functional programming language with dynamic symbol bindings that support the object oriented paradigm more>>
AFNIX is a multi-threaded functional programming language with dynamic symbol bindings that support the object oriented paradigm. AFNIX programming language features a state of the art runtime engine that supports both 32 and 64 bits platforms.
AFNIX is distributed with several clients and a rich set of libraries that are designed to be platform independent. For a short description, you can look at the contents or for a short introduction, you can look at the tutorial.
A flexible license has been designed for both individuals and corporations. Everybody is encouraged to use, distribute and/or modify the AFNIX engine for any purpose. You can register on our mailing list. We issue news once a month. Your email address is covered by our strict privacy policy.
AFNIX is a powerful engine associated with a rich set of libraries. The interpreter is written in C++. Its modular architecture makes the installation and maintenance an easy task.
AFNIX has a rich syntax which make the functional programming a pleasant activity. AFNIX is ready for use on various UNIX platforms. A rich documentation is also provided as a guide and reference material.
Enhancements:
- This is a minor release that fixes the build process with GCC 4.2.
<<less
Download (1.5MB)
Added: 2007-06-08 License: BSD License Price:
881 downloads
Object Relational Membrane 2a5

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.
<<less
Download (0.17MB)
Added: 2007-01-23 License: GPL (GNU General Public License) Price:
1005 downloads
Keystone Application Framework 0.9.6

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.
<<less
Download (0.74MB)
Added: 2006-04-26 License: LGPL (GNU Lesser General Public License) Price:
1276 downloads
Task::Catalyst::Tutorial 0.03

Task::Catalyst::Tutorial 0.03


Task::Catalyst::Tutorial is a Perl module that installs everything you need to learn Catalyst. more>>
Task::Catalyst::Tutorial is a Perl module that installs everything you need to learn Catalyst.

SYNOPSIS

Installs the example "MyApp" described in Catalyst::Manual::Tutorial, and all its dependencies.

<<less
Download (0.073MB)
Added: 2007-03-26 License: Perl Artistic License Price:
945 downloads
The Complex Language 0.1

The Complex Language 0.1


The Complex Language project is an object oriented programming language intended for scripting or rapid apps prototyping. more>>
The Complex Language project is an object oriented programming language intended for scripting or rapid prototyping of applications.
The design goals were to have very few simple but powerful concepts and to be easy to use and easy to learn. The project provides a working interpreter along with a complete specification of the language.
Enhancements:
- This is the first release of the specification and the corresponding interpreter.
- The corresponding library is very poor, and there are probably still bugs in the interpreter.
<<less
Download (0.13MB)
Added: 2007-07-02 License: GPL (GNU General Public License) Price:
844 downloads
Undisposable Clients 0.3

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.
<<less
Download (0.004MB)
Added: 2007-01-23 License: MIT/X Consortium License Price:
1006 downloads
InSilicoSpectro::InSilico::MassCalculator 1.0.19

InSilicoSpectro::InSilico::MassCalculator 1.0.19


MassCalculator is a Perl module that implements common mass computations in mass spectrometry. more>>
MassCalculator is a Perl module that implements common mass computations in mass spectrometry.

SYNOPSIS

use InSilicoSpectro::InSilico::MassCalculator;
InSilicoSpectro::InSilico::MassCalculator::init(insilicodef.xml);

MassCalculator Perl library is intended to support common mass spectrometry-related computations that must be routinely performed by bioinformaticians dealing with mass spectrometry data.

To accommodate as many as possible user requirements, we decided to both support a classical procedural programming model and an object oriented model. Per se MassCalculator is not designed as an object oriented code but we provide a series of elementary classes for modeling proteins, peptides, enzymes, etc. which MassCalculator is compatible with. Moreover, the latter classes are rather simple and neutral in their design such that they should fit, after further derivations eventually, a large range of code design.

We decided not to use Perl object oriented programming to stay with relatively naive and simple code and to allow everybody to decide how to include it in its own project. Nonetheless, MassCalculator is able to deal with Perl objects we provide additionally to represent protein sequences, peptides, enzymes, mass lists, and fragmentation spectra, see their respective documentations.
MassCalculator is released under the LGPL license (see source code).

<<less
Download (1.4MB)
Added: 2007-07-03 License: LGPL (GNU Lesser General Public License) Price:
843 downloads
Net::DBus::Tutorial::ExportingObjects 0.33.4

Net::DBus::Tutorial::ExportingObjects 0.33.4


Net::DBus::Tutorial::ExportingObjects is a Perl module that contains tutorials on providing a DBus service. more>>
Net::DBus::Tutorial::ExportingObjects is a Perl module that contains tutorials on providing a DBus service.

This document provides a tutorial on providing a DBus service using the Perl Net::DBus application bindings. This examples in this document will be based on the code from the Music::Player distribution, which is a simple DBus service providing a music track player.

CREATING AN OBJECT

The first step in creating an object is to create a new package which inherits from Net::DBus::Object. The Music::Player::Manager object provides an API for managing the collection of music player backends for different track types. To start with, lets create the skeleton of the package & its constructor. The constructor of the super type, Net::DBus::Object expects to be given to parameters, a handle to the Net::DBus::Service owning the object, and a path under which the object shall be exported. Since the manager class is intended to be a singleton object, we can hard code the path to it within the constructor:

package Music::Player::Manager;

use base qw(Net::DBus);

sub new {
my $class = shift;
my $service = shift;
my $self = $class->SUPER::new($service, "/music/player/manager");

bless $self, $class;

return $self;
}

1;

Now, as mentioned, the manager with handle a number of different player backends. So we need to provide methods for registering new backends, and querying for backends capable of playing a particular file type. So modifying the above code we add a hash table in the constructor, to store the backends:

sub new {
my $class = shift;
my $service = shift;
my $self = $class->SUPER::new($service, "/music/player/manager");

$self->{backends} = {};

bless $self, $class;

return $self;
}

And now a method to register a new backend. This takes a Perl module name and uses it to instantiate a backend. Since the backends are also going to be DBus objects, we need to pass in a reference to the service we are attached to, along with a path under which to register the backend.

We use the get_service method to retreieve a reference to the service the manager is attached to, and attach the player backend to this same service: When a method on DBus object is invoked, the first parameter is the object reference ($self), and the remainder are the parameters provided to the method call. Thus writing a method implementation on a DBUs is really no different to normal object oriented Perl (cf perltoot):

sub register_backend {
my $self = shift;
my $name = shift;
my $module = shift;

eval "use $module";
if ($@) {
die "cannot load backend $module: $@" ;
}

$self->{backends} = $module->new($self->get_service,
"/music/player/backend/$name");
}

Looking at this one might wonder what happens if the die method is triggered. In such a scenario, rather than terminating the service process, the error will be caught and propagated back to the remote caller to deal with.

The player backends provide a method get_track_types which returns an array reference of the music track types they support. We can use this method to provide an API to allow easy retrieval of a backend for a particular track type. This method will return a path with which the backend object can be accessed

sub find_backend {
my $self = shift;
my $extension = shift;

foreach my $name (keys %{$self->{backends}}) {
my $backend = $self->{backends}->{$name};
foreach my $type (@{$backend->get_track_types}) {
if ($type eq $extension) {
return $backend->get_object_path;
}
}
}

die "no backend for type $extension";
}

Lets take a quick moment to consider how this method would be used to play a music track. If youve not already done so, refresh your memory from Net::DBus::Tutorial::UsingObjects. Now, we have an MP3 file which we wish to play, so we search for the path to a backend, then retrieve the object for it, and play the track:

...get the music player service...
# Ask for a path to a player for mp3 files
my $path = $service->find_backend("mp3");
# $path now contains /music/player/backend/mpg123
# and we can get the backend object
my $backend = $service->get_object($path);
# and finally play the track
$backend->play("/vol/music/beck/guero/09-scarecrow.mp3");

<<less
Download (0.092MB)
Added: 2006-11-13 License: Perl Artistic License Price:
1075 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5