f



Yet more about my projects...

Hello....


Yet more about my projects...

The four major components of efficiency are:

1- User efficiency:

The amount of time and effort users will spend to learn how to use
the program, how to prepare the data, and how to interpret and use the 
output.

2- Maintenance Efficiency:

The amount of time and effort maintenance programmers will spend
reading a program and its accompanying technical documentation
in order to understand it well enough to make any necessary
modifications.

3- Algorithmic complexity:

The inherent efficiency of the method itself, regardless of wich
machine we run it on or how we code it.

4- Coding efficiency:

This is the traditional efficiency measure. Here we are concerned
with how much processor time and memory space a computer program
requires to produce correct answer.

Twenty years ago, the most expensive aspect of programming was computer 
costs, consequently we tended to "optimize for the machine." Today,
the most expensive aspect of programming is the programmers costs, 
because today programmers cost more money than hardware.

Computer programs should be written with these goals in mind:

1- To be correct and reliable

2- To be easy to use for its intended end-user population

3- To be easy to understand and easy to change.

Here is among other things the key aspects of end-user efficiency:

1- Program robustness
2- Program generality
2- Portability
4- Input/Output behavior
5- User documentation.

Here is the the key points in achieving maintenance efficiency:

1- A clear, readable programming style
2- Adherence to structured programming.
3- A well-designed, functionally modular solution
4- A thoroughly tested and verified program with build-in debugging
and testing aids
5- Good technical documentation.

You have to know that i have used a Top-Down methodology to design my 
projects.. the Top-Down methodology begins with the overall goals of the 
program- what we wich to achieve instead of how -, and after that it 
gets on more details and how to implement them.

And i have taken care with my objects and modules of the following 
characteristics:

- Logical coherence

- Independence:

It is like making more pure functions of functional programming to avoid 
side-effects and to easy the maintenance and testing steps.

- Object oriented design and coding

- and also structure design and coding with sequence , iteration and 
conditionals.

And about the testing phase read the following:

Alexandre Machado wrote:

 >Hi Amine,
 >You have published some very interesting code. However a
 >few things I noticed, which makes difficult for anyone to
 >use your code:
 >- You don't have both, unit and performance tests
 >Have you ever considered this? I'm sure that it would make
 >make it easier for other Delphi devs to start using it, no?

You have to know that i have also used the following method of testing 
called black box testing:

https://en.wikipedia.org/wiki/Black-box_testing

This is why i have written this:

I have thoroughly tested and stabilized more my parallel archiver for 
many years, and now i think that it is more stable and efficient, so i 
think that you can be more confident with it.

This also true for all my other projects, i have followed the black box 
testing also with them...

For race conditions , i think for an experienced programmer in parallel 
programming like me, this is not a so difficult task to avoid race 
conditions.

For sequential consistency i have also written this:

I have implemented my inventions with FreePascal and Delphi compilers 
that don't reorder loads and stores even with compiler optimization, and 
this is less error prone than C++ that follows a relaxed memory model 
when compiled with optimization, so i have finally compiled my 
algorithms implementations with FreePascal into Dynamic Link Libraries 
that are used by C++ in a form of my C++ Object Synchronization Library.

So this is much easier to make a correct sequential consistency with 
Delphi and Freepascal because it is less error prone.

Other than that you have to know that i am an experienced programmer in 
parallel programming also, so i think that my projects are more stable 
and fast.

You can download all my projects from:

https://sites.google.com/site/aminer68/



Thank you,
Amine Moulay Ramdane..
0
Ramine
12/16/2016 11:30:28 PM
comp.lang.pascal.misc 1854 articles. 0 followers. eng (34) is leader. Post Follow

0 Replies
291 Views

Similar Articles

[PageSpeed] 11

Reply: