The qDecoder Project

About qDecoder


What's qDecoder?

Being a Web Application Interface for C/C++ use, qDecoder is a solution product for developers. The Query Fetch algorithm of qDecoder based on the linked-list provides transparency with low layers by the simple library interface regardless of COOKIE/GET/POST(including File Upload). Thus, it enables the web based software to be more intuitively designed and implemented. qDecoder is developed according to the free software model and is publicly distributed.

Why C/C++ language is necessary for developing web applications?

It is true that such recent languages as JSP, ASP, Perl, and PHP make the Web programming easier. These authoring languages make the database interoperability easier through simple codes. And they also provide rich libraries through CPAN. When things are like this, we sometimes ask ourselves if we really need to develop web application using the difficult and complicated C/C++ language.

Actually in many cases, we come to develop things using handy tools like PHP that guarantees speedy development. But when critical requirements are to be satisfied, many developers still want to select C/C++ which is the industry standard language.

The processing of critical regions like file-locking techniques, the processing of communications and piping between processes, the securing of performance for bottleneck looping codes, low-level control, and the manipulation of the character/bit units under a race condition occurring due to many simultaneous processing works can be good examples. Moreover, programs constructed by C/C++ can be easily transplanted on most platforms without much dependence.

What we make reluctant to pick up C/C++ will be fears of the possible development delay and the cumbersome implementation due to its unique fastidiousness. Language is a tool for creation. And a tool is created because it is needed. And now the tool is restricting creativity. What an embarrassing situation it is!

It was 1996 when I was using a few public C/C++ libraries including "util.c" of NCSA. I did not think any of them really satisfied me at that time. And I started to compose the initial code of qDecoder. Since the version of 6.0, qDecoder reached its majority and is capable of constructing most programs with the advantages of C/C++ and with the speed of PHP or Perl that are embodied in it (This is what I think about qDecoder, and from now on, I will try to perfect it).

Handy authoring tools will be continuously developed. But the proper territory of C/C++ will persist. That's the import of the existence, the continuous development and maintenance of qDecoder.

Now, we believe that we have fully explained that we are not a defender of C/C++ and have made clear the reason why C/C++ Web Application Interface such as qDecoder are needed inspite of such convenient tools as JSP. It will be our pleasure if qDecoder can help you when your development needs the characteristics of C/C++. And we will be satisfied if the lesson of free software is disseminated through qDecoder.

Inspected Compatible Platforms

qDecoder is developed and tested under below platforms..

Copyright and License

The qDecoder version of 9 and above is distributed under BSD-like license.
Copyright 2008 The qDecoder Project. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE QDECODER PROJECT ``AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE QDECODER PROJECT BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Project Contributors (Alphabetic Order)


[Home] [About] [Examples] [Changes] [Download] [SVN Repository] [Install] [Reference]