Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming.threads > #3562
| From | Ramine <toto@toto.net> |
|---|---|
| Newsgroups | comp.programming.threads |
| Subject | Yet more about all my projects.. |
| Date | 2017-01-07 17:26 -0800 |
| Organization | A noiseless patient Spider |
| Message-ID | <o4rprp$j6t$13@dont-email.me> (permalink) |
Hello.... Yet more about all 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.
Back to comp.programming.threads | Previous | Next | Find similar | Unroll thread
Yet more about all my projects.. Ramine <toto@toto.net> - 2017-01-07 17:26 -0800
csiph-web