Softpanorama

Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
May the source be with you, but remember the KISS principle ;-)
Bigger doesn't imply better. Bigger often is a sign of obesity, of lost control, of overcomplexity, of cancerous cells

C++ Open E-books and Tutorials

Main page
and
Links

Articles

Recommended Books

Teach Yourself C++ in 21 Days

Thinking in C++ 2nd Edition by Bruce Eckel  Who's Afraid of C++?  

Optimizing C++

 Teach Yourself Visual C++ 6 in 21 Days

Other open C++ Books Chapters published books Tutorials Etc

Note: Please support the authors of open books by buying a printed copy, if you can.  Combination of a printed copy and electronic text is a nicer learning environment that just printed copy or just electronic text even with a bulky  laser printer copy in a folder). 

There are other lists of free C/C++ books, for example I can recommend to look at Free Online C and C++ Documentation, Tutorials and Books (the freecountry.com) by by Christopher Heng.

First of all, there are two pretty reasonable open e-books on C++

Although they are not the best overall, used in tandem they can serve as a substitute for better books, if you have no money to buy them.  Bruce Eckel's book is less basic and has better explanation of such topics as exceptions and inheritance. Those who like polemics might wish to add the third one: Who's Afraid of C++? (Who's Afraid Of....)   by Steve Heller. (1998) that contains some interesting dialogs of a teacher and a novice programmer.

Still if you pay for the university course ($600-$2500 in the USA) you should not limit yourself to one book recommended by the instructor and a couple of free books. As the cost of the book is a small fraction of your total course costs, it makes sense to get the best books available. C++ is a very complex language, especially for beginners and even small additional help or brilliant explanation of a complex feature makes huge difference and more then justify the purchasing price (you can always sell the book at half price after you finish the course).

Articles

2.
Combining User-Defined Inserters, Extractors, and Manipulators in C++
By Cameron Hughes, Tracey Hughes
Sep 17, 2004

 

3.
User-Defined Extractors and Inserters in C++
By Cameron Hughes, Tracey Hughes
May 7, 2004
4.
Memory Hygiene in C and C++: Safe Programming with Risky Data
By Cameron Laird
Feb 6, 2004
5.
How Do You Do? Making the Acquaintance of the C++ GUI Toolkits
By Cameron Laird
Nov 7, 2003
6.
Object-Oriented Overhead: C++ and Embedded Environments
By Linden deCarmo
Sep 19, 2003
7.
Will One Whidbey Be the Same as the Rest?
By Jacqueline Emigh
Aug 29, 2003
8.
Understanding C++ Program Structure
By Gail Anderson, Paul Anderson
May 30, 2003
9.
Introduction to Programming in C++
By Steve Heller
Feb 21, 2003
10.
Interview with Bruce Eckel
By Bruce Eckel
Sep 21, 2001

 

Teach Yourself C++ in 21 Days, Second Edition

Teach Yourself C++ in 21 Days, Second Edition

by Jesse Liberty

Table of Contents

Thinking in C++ 2nd Edition by Bruce Eckel

Thinking in C++ 2nd Edition by Bruce Eckel

This is actually a book in two volumes. the first volume is finished and the second one is still raw [as of 05/05/2002]

Thinking in C++, 2nd edition, Volume 1 Revision 13Last Modified Sept 27, 2001   Revision History
 

 5 out of 5 stars Great book, but it depends on where you are coming from, July 15, 2001
 Reviewer: A reader from Melbourne, Victoria Australia

Bruce Eckel has done a great job with the book. He clearly has put some thought into how to structure the book, and it shows with each chapter focused on one major topic. The explanations are clear (to me anyway), and greatest of all, he goes into decent amount of depth, unlike many other c++ books out there. However, I have two minor problems with the book. The order of the chapters could probably be revamped; inheritance and composition are only introduced in chapter 14, way too late IMO. If you are the type of programmer who likes to get writing code straight away, this book is not for you. Also, I think some of the examples and exercises are bit trival and boring, but that could be due to Bruce's aim to keep everything simple and understandable, and let the reader find the "real world" problems. But overall, a good book to learn c++ if you have some background in C or java. BTW, to put my review into perspective, I am a computer science student learning c++ and MFC in my spare time because my university don't teach these things.

3 out of 5 stars Good content, haphazard presentation, August 27, 2003
Reviewer: NeeDLE (see more about me) from Los Angeles, CA USA

The content of this book is definately top notch, however presentation of this material isn't ideal for a computer novice. Not to say its unreadable, but it leaves some gaps. Additionally the premise that a reader should program C before tackling C++ [while being one that most colleges believe in..ahem..more classes = more $$$] it is not one that I believe in.  

2 out of 5 stars More bad than good, July 5, 2001
 
  Reviewer: A reader from Oklahoma
Having used this book for three semesters to teach OOP and C++ programming, we are replacing it as the required reading. Feedback from the students has been dismal and most of the instructors have abandoned it except for reference, for which it serves poorly. Here's why:

The order that the topics are presented is not useful for either novices or experienced C programmers. Yes, there's a lot of material in there, but it is disconnected such that to teach a subject thoroughly requires tedious and non-intuitive jumping around in the book.

Also, the book does not cover all of the topics and language/library features that one would expect in a modern approach to C++ and OOP. To require two volumes to teach the rudiments of the language is an indication that something is wrong with the author's approach. If you have learned C++ from this book, you have not really learned C++.

Along the same lines, the author's style is long and drawn out. The two volumes probably could have been put into one (more effective) volume without all the distractions the author puts into the text. This, coupled with a change in the order of topic coverage and more contiguous focus on individual subjects, would make this a very useful book to learn C++ and OOP.

On a personal note, I have never liked the author's writing style in his previous books, though I respect his depth of knowledge and intent.

4 out of 5 stars Why no diskussion about pointers in the book?, September 18, 2001
 
  Reviewer: ukdip (see more about me) from Germany
The book is brilliant, but.... Why isn't there a comprehensive paragraph explaining the
concept of pointers? Pointers and deeper sense. Pointer as function parameters or return type:

What does Call by Reference mean?
If you use pointers as function parameters or return types the call mechanism "Call by Reference" relates to the objects the pointer points to, not to the "pointer(address)" itself if you use a pointer in the call and even not to the address of any structure/ object in memory. Inside a called function you can use pointerarithmetic to get access to structure/arrayelements or whatever.


But, you will never change the address of any storage object this way. Addresses of objects are "called by value"! Objectaddresses are copied to the stack. The objects/variables themselves are called by reference!
This way you can change their values inside of the called function and use the changed values after the function has returned. You can apply pointer arithmetic to a pointer variable inside a called function and walk through the different elements of a memory structure.

Pointer arithmetic here does not mean: - to change the address of the pointer itself neither inside the function call nor (because it is called call by reference) to reflect the change in the calling function.

Example:

void func1 ( ) {
int val = 3;
int * ptr = &val;
func2 ( ptr );
}

void func2 ( int * ptrin ) {
ptrin++;
}

a debug session would tell you:

before the func2(ptr); call:
&ptr: 0x0012ff78
ptr: 0x0012ff7c
*ptr: 3

inside func2 one step behind ptrin++:

&ptrin: 0x0012ff28
ptrin: 0x0012ff80 = 0x0012ff7c + 4
*ptrin: undefined

after the func2() call returns:

&ptr: 0x0012ff78
ptr: 0x0012ff7c

Call by reference here does not mean:

- The changed pointer value inside the called function can be used after the function call has returned
in the calling function. The objecta ddress is copied to the stack and can be used inside the function.
But, any changes of the pointer value are not reflected back to the calling function!

If you want to return a changed pointer value you can:

- return a pointer

void main(void)
{
int val = 3;
int * ptr = &val;
std::cout << *func2 (ptr ); // outputs 3
}

int * func2 ( int * ptrin ) {
ptrin++;
return --ptrin;
}

-return a reference to a "pointer":

// this is not a brilliant solution, you don't get a pointer back

  • void main(void) {
    int val = 3;
    int * ptr = &val;
    std::cout << func2 (ptr ); // outputs 3
    }

    int & func2 ( int * ptrin )
    {
    ptrin++;
    return *(--ptrin);
    }

    use a "real" call by reference, call parameter gives back changed pointer

    void main(void)
    {
    int val[2] = {3,4};
    int * ptr = val;
    func2 (&ptr );
    std::cout << *ptr; // outputs 4
    }

    void func2 ( int ** ptrin ) {
    (*ptrin)++;
    }

    -return a reference to a pointer, Bruce Eckels version, p 478 Tic2Vone.pdf Thinking in C++,
    Volume 1, 2nd Edition,

    int main(int argc, char* argv[]) {
    int val[2] = {3,4};
    int * ptr = val;
    func2 (ptr);
    std::cout << *ptr; // outputs 4
    return 0;
    }

    void func2 ( int *& ptrin ) { ptrin++; }

    Regards.
    UK

    2 out of 5 stars Looking for a Good C++ Tutorial for C Programmers?, July 26, 2000
     
      Reviewer: A Seasoned Programmer from Seattle, WA (USA)
    As a C programmer, I purchased "Thinking in C++" to learn OOP and C++, but I'm sadly disappointed. I find the book very wordy and poorly organized, and the gradeschool-style of large type makes reading it even more difficult. And you can forget about using the book as a reference, as clear definitions are difficult to find. The CD-ROM may be helpful to beginning programmers, but don't expect too much from it. And realize (arrgh) that you have to use Microsoft products exclusively to run the CD! On the plus side, the book contains lots of code examples showing how to use the language attributes, which is very helpful.

    If you like a fluffy, narrative style of writing then perhaps you'll like this book, but most readers will find the book to be like wading through molasses.

    3 out of 5 stars May be a good start for C developers, but not for 4GL folks., January 5, 2001
     
      Reviewer: tolkunb from Belgium
    First of all, I should not that I haven't get this book yet. I'am reading PDF versions of both Volume 1 and 2. If you are experienced in C but a novice developer for OO world this is one of the best books available to start with. On the contrary, if your experiences coming from a 4GL tool (PowerBuilder, Centura/SQLWindows, Delphi, VB...) you may get confused with the many recalls from C (SmallTalk and Java). Besides Volume 2 , which is not published yet, contains much more valuable stuff if your mission statement is "I know object orientation, but wanna learn how it's implemented with C++ and in STL". I probably wait for the second volume and buy that one, but use PDF for this one.
  • Thinking in C++, 2nd edition, Volume 2 Revision 4

    Should not be your first C++ book:  good  for selected topics only.  For fast download try mirror sites
     (NOTE [05/05/2002] ACTUALLY SOME MIRROR SITEs HAVE VALUE OF THEIR OWN AND DESERVE CAREFUL BROWSING. FOR EXAMPLE Ju Rao's Homepage Computer Books)

    Please beware that Bruce can be classified as an OO fundamentalist and some ideas of the book are questionable.

    Annotated Solution Guide for Thinking in C++ 2nd. ed. Vol. 1

    [7/26/2001] The C++ Volume 1 solutions in electronic form can be bought for  $12.00 via PayPal, and delivery within minutes via email. Click the above link for full details, including a sample chapter and the list of solved exercises. If you cannot afford the solution guide (typically because youíre in a country where the exchange rate is prohibitive), look here.

    Here are some Amazon reviews:

    2 of 5 stars Good Only for Those Who Know C, April 3, 2001
    Reviewer: mkj246 (see more about me) from Rochester, NY USA
    I am attempting to learn C++ with a limited background in programming and C. I purchased this book based on the high reviews it received from the contributors on this list. After reading half the book, I have concluded that it is not a good starting point for new programmers. The seminar CD on the C language was helpful in reviving the C I do know, but the latter half of the CD became too complicated too fast and hard to follow. The text examples were also weak in that they had no practical use. The concepts were important but the examples did not tie into anything tangible for me. This greatly reduced their purpose of reinforcing the lessons of each chapter. The author also kept making comparisons to C which could be helpful to C programmers but became what I felt was overkill for those wanting to learn just C++. This was especially the case when he would explain how to do something and then suggest that you should never do things that way. Why even mention bad programming practices? After re-reading the reviews posted here, it appears that most of the readers are either strong C programmers or have a fairly solid programming back ground. I suggest looking elsewhere if you have little or no programming or C language experience.

    5 of 5 stars Best book I've read on C++, March 21, 2000
    Reviewer: A reader from New Jersey
    This book is highly recommended! I've been trying for a while to teach myself C++ and object-oriented programming. I have a strong background in both C and COBOL so structured programming is firmly etched in my brain and has proved to be a difficult programming approach to get past. This was the first book on the subject that caused me to go "Ah! Now I get it!" more than once. The first chapter alone was worth the price of the book as it thoroughly explained OOP in a clear and concise manner. I read this book in its entirety online before it was published. The book was so good that I went ahead and purchased it so that I would have a hardcopy of this invaluable text as well as the online version. If you are an adept programmer looking to jump onto the OOP bandwagon, I can't think of a better book to get you there. Forget the "Dummies" and "21 Days" type books and get this one. You'll be glad you did. No other programming book I've read has advanced my skills as far as this one. Many thanks to Bruce for providing the definitive C++ book.

    4 of 5 stars A very good conceptual explanation, November 5, 2000
    Reviewer: A reader from Laguna Hills, CA United States
    This book's merits are, as its title implies, in its clearly explained and thorough introduction to object-oriented programming, and not its ablility to be used as a reference. If you want to deeply understand on an abstract level what the heck OOP is and get a satisfactory tutorial on C++ at the same time, than this is the book for you. If you want to master the language, however, a good reference/tutorial is needed to accompany this text.

    Who's Afraid of C++?  

    ***** Who's Afraid of C++? (Who's Afraid Of....)   by Steve Heller.  Full e-text is available  free. Published 1998

    • Paperback: 562 pages ; Dimensions (in inches): 1.00 x 9.50 x 7.50
    • Publisher: Morgan Kaufmann; Book and CD-ROM edition (June 1, 1996)
    • ASIN: 0123390974
    • Average Customer Review: 4.5 out of 5 stars Based on 77 reviews. Write a review.
       
    • Amazon.com Sales Rank: 12,722
       
    3 out of 5 stars Suitable for novices with some caveats, April 21, 1999
     
      Reviewer: A reader
    This is a very fresh approach to a technical text but it is lacking in many areas. I would only recommend this book if the student was using it along with another text. One major complaint is the use of the "conversational technique" with the novice user.

     

    0 out of 5 stars Some additions and corrections, August 9, 2000
     
      Reviewer: Steve Heller
    I have a couple of additions and corrections to my previouscomments on my book. . . . Apparently it has not been clear to some potential readers that in order to install the compiler, you have to have some knowledge of DOS. If you don't know anything about DOS, I suggest you get a book on it. My recommendation is "DOS for Dummies", which is very well written and covers all the basics that you will need.
     

     

    1 out of 5 stars Too bad it reads like a novel., March 30, 1999
     
      Reviewer: An Amazon.com Customer
    I had little C++ programming experience when I got the book, and found it more difficult than the textbooks that the CS department required of us. I bought it as a supplement, to 'dummy-down' what was taught in class. Now 2 years later, after a programming internship(C++), and hundreds of coding hours later (C/C++ and Java) I still find book difficult to follow. An introduction to C++ would be better done with a 'C++ for Dummies' and a Borland_C++/Visual_C++/whoever_else_C++ IDE.

    1 out of 5 stars If you want to learn C++, skip this, and buy a good book., December 16, 1998
     

      Reviewer: A reader from Dallas, Texas
    This book is best viewed as two halfs. The first half was actually not too bad giving the reader a quick course in computer rudements. Then something happened, I think the author did a word count and found he was half way through the amount of book he had agreed to write. The problem was that he was only about a tenth through the material he wanted to cover. The resulting chaos is a mix of too much detail, too little detail and great gobs of print devoted to his "reader" and her confusions. One is left wondering what the purpose of the book was. It was certainly NOT to teach anyone C++! The signal to noise ratio is incredably low. And at the rate the author uses you would need about 20 of these books to get the fundamentals of the language. The author himself admits that the book covers only about 5% of what one would need to program. Add all this to a writeing style that is at best, annoying, and this book is pretty much a waste of time and money. Ive read 5 books recently on the subject and this one is at the bottom. My recommendation to the determined student would be to learn the language elsewhere, from the ground up. To summarize: The first half is not too bad and should have been a seperate book on computer rudements. The second half is a chaotic mix of too quick, too slow and too much "reader". A waste of time and money.
     

     

    2 out of 5 stars Useful, but very limited., January 19, 2002
     
      Reviewer: devonerik
    Heller makes the typical mistake that experienced practicioners in any field make when trying to teach the novice.

    That mistake is teaching the theoretical underpinnings of the field before supplying any significant amount of practical information on how to excute the basic tasks involved in that field.

    An understanding of theory is, of course, critical to the expert practitioner in any field. But a novice must learn what and how before why, or he is liable to become frustrated and lose interest. The whys and wherefores only make sense once they explain the reasoning behind practices that one is familiar with.

    Couple this with the fact that the compiler supplied with the book is obscure and difficult for the novice to operate, and you've got a course in C++ theory rather than something a beginner can practice and learn off of.

    In fact, Heller only provides instruction in using makefiles to compile his sample programs in the book...a novice user who wished to practice by writing his own would probably have no idea how to get them compiled and linked.

    While this book is not badly written or obscure, I could not recommend it as a primary learning text. Mr. Heller has simply forgotten what it is like to be a beginner, and is teaching the things that he, from the standpoint of already knowing the material, considers most important, rather than what will move a beginner from confusion to basic competence and ability to persue further knowledge with relative ease.

    Theory only makes sense when it explains something you have already been doing. Leave it for the intermediate student.

    I would recommend this book as a supplemental text, but not as a primary one.

    Optimizing C ++

     
    **** Optimizing C ++   Full e-text is available  here
    Steve Heller / Paperback / Published 1998
    Amazon price: $44.99
    Average Customer Review: 3.5 out of 5 stars
    Paperback - 416 pages Bk&Cd Rom edition (August 1998)
    Prentice Hall; ISBN: 0139774300
    Please do not believe some trashing reviews at Amazon. You need to question both my opinion and, especially, the opinion of object-oriented fundamentalists. You can easily guest who of the readers are object-oriented fundamentalists from the demands of C++ specific optimization, etc.  Like other high demand cults object-oriented fundamentalists is a pretty dangerous and aggressive sect ;-).  The first and the most important sign of mastery is to know where to stop. That mean you need to know were you need to use OO technique and were is will be just waist of time and resources. Actually the most obvious method of optimizing C++ is to avoid C++ features that are too expensive, especially in time critical loops. So objection that optimizations are related to C not to C++ are simply naive. Actually the best optimization for C++ program is a complete rewrite in C (and may be some TCL) ;-).

    5 out of 5 stars An Important Book
    Reviewer: James Bredijk from New Jersey      February 12, 2000

    An important book if you want to make the leap from 'programmer' to 'craftsman'. Steve Heller has written an advanced course in computer science using C++. By including some 'C' code, he shows that sometimes the best way to optimize C++ is to use a little 'C' (a bitter pill for many C++ purists).

    In an effort to eliminate 'code bloat' and 'CPU bottlenecks', the author has put the responsibility of program efficiency squarely on the shoulders of the programmer (where it belongs). With chapters on sorting, hashing, caching, compression and variable length records, he teaches the 'why's, not just the 'how's, of many important topics and algorithms.

    More then just an 'update' to his "Efficient C/C++ Programming", "Optimizing C++" is an 'Upgrade'. Full of useful code, diagrams and figures, you'll find many insights that can be translated into any language or project.

    Anyone can call a third-party library routine, this book shows you what you'll need to know to write the routines yourself. A must for serious programmers.

    From the author website:

    An online full-text version of Optimizing C++, the greatly revised third edition of Efficient C/C++ Programming, is now available free! Over a third of this edition is new material, the centerpiece being a new sorting algorithm for very large files that works well with relatively limited memory. There is also much more detail in the coverage of the quantum file access method, and all the code has been updated to compile with the C++ draft standard as of the date of publication. The CD-ROM in the back of the book contains all the source code as well as a new version of the DJGPP compiler and an accompanying integrated development environment called RHIDE. If you have optimization problems with C++ programs, this is the book for you. By the way, I've received a letter from a reader indicating that his employer has saved over $8,000,000 as a result of his using the techniques in an earlier edition of this book!

    Sams' Teach Yourself Visual C++ 6 in 21 Days

    ***+ Sams' Teach Yourself Visual C++ 6 in 21 Days E-text is avaible from InformIt

    by Davis Chapman
    Amazon price: $27.99
    Paperback - 769 pages (August 1998)
    Sams; ISBN: 0672312409 ; Dimensions (in inches): 1.89 x 9.12 x 7.43
    Other Editions: Hardcover, Paperback
    Avg. Customer Review: 2.5 out of 5 stars
    Number of Reviews: 50

    4 out of 5 stars Book Has Specific Purpose, June 18, 1999
    Reviewer: A reader from Salt Lake City, UT
    This book does not teach C++ directly, nor does it really get under the hood in MFC. I have a large amount of experience with C++, and have read some books on MFC as well; with this background, this book served me rather well as a handbook on how to perform routine stuff. Those who are uncomplimentary of this book seem fall into one of two categories: Those who don't know C++ or MFC and expect one book to quickly teach them both (not possible), and those who understand C++ but want an in depth book on MFC. If you don't understand C++, this book will frustrate you to no end; read a C++ language book first. If you are interested in MFC, then buy a book on MFC. If you already know C++ and are familiar with MFC from a "big picture" perspective, but you want to learn how to use the VC environment and to apply some MFC and such, then this book is not so bad. Errors in the example code prevent this book from getting five stars. All in all, it's a good book, but with a fairly narrow purpose.

    3 out of 5 stars Somewhat useful, May 25, 2000
    Reviewer: Lawrence A Neer from San Diego
    I purshased this book to learn the "Visual" aspect of Visual C++. In that regard it is on target. Don't get it to teach you C++ because it is not designed to do so and there are lots of good books for learning C++ itself. I like the fact that it stays on the Visual part -- I have seen many "Visual" C++ books that throw in 1-2 chapters on the visual portion as an obvious afterthoughs.

    The flaws in this book render it half-useless, however. (1) Many of the examples in the text are incorrect and won't compile. (2) There are too many chapters where one rewrites the same drawing program. Since the first chapter drawing program won't compile, and all of the other ones say to do the same things as in that chapter to start with, this renders at least 3 chapters useless. (3) I would prefer more useful examples than another variant of "scribble" (especially since it doesn't work anyway). (4) I downloaded the example chapter code from their website. The chapter codes I tried work, but obviously aren't based on a person working through the actual chapters, since the code has many differences from what you get from the compiler. I expect that they used code from past text revisions, possibly based on earlier versions of Visual C++. (5) It would be helpful if they supplied (either in a CD or at their website) actual code derived from various points in each chapter (e.g., "open file for Chapter 10 version 3 to see the code for the partially completed project on page 210"). (6) It would be good to have MANY more compilable points in the chapters. As it stands, one has to make scores to hundreds of changes between times where it allows compilation. This makes it very difficult for a beginner (i.e., a person who would buy a training text) to get exactly right. (7) The exercise portions of each chapter should be somehow marked, not buried in the text of paragraphs -- this would allow users to work through examples more quickly and not miss some important step.

    Overall, good fundamentals but badly flawed execution. Quite disappointing compared with the rest of the series.

    3 out of 5 stars Ok... for learning to use MFC to build simple apps, August 12, 1999
    Reviewer: e_weathers@hotmail.com from Saratoga, CA
    I'm pretty damn proficient in C++, mainly on UNIX though. This book does an ok job of introducing u to MFC. What it doesn't do is build on previous C++ knowledge or explain the connection between straight up C++ coding and GUI building with MFC. To reiterate the thoughts of other reviewers, this book is riddled w/ mistakes and too many instances of skimming only the surface of a topic; e.g., for ActiveX FlexGrids to accept data, there is a 1 paragraph explanation (pg. 197) which suggests the reader create a "floating" edit box. But there is no reference within the book (nor the whole friggin' MSDN Help Library) to the existence of these controls. Please email me if u know how to do this! Conclusion: a good buy if you're aware your buying a Wizard guide, and DON'T except to learn 1 thing about C++ itself.
     

    Other Open C++ Books

    Chapters from important published books

    Realistic but slightly outdated  description of the programming process. Recommended.  example of a calculator is far from being very inspiring, but still nicely illustrates major points.  For more detailed discussion see Rapid Development  in Classic Computer Science Books.

    Here is the content of the chapter

    Setting Up
    The Specification
    Code Design
    The Prototype
    The Makefile
    Testing
    Debugging
    Maintenance
    Revisions
    Electronic Archaeology
    Mark Up the Program
    Programming Exercises

    Tutorials

     

    Random Findings



    Etc

    Society

    Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy

    Quotes

    War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes

    Bulletin:

    Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law

    History:

    Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

    Classic books:

    The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Haterís Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

    Most popular humor pages:

    Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

    The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D


    Copyright © 1996-2018 by Dr. Nikolai Bezroukov. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) in the author free time and without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

    FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

    This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

    You can use PayPal to make a contribution, supporting development of this site and speed up access. In case softpanorama.org is down you can use the at softpanorama.info

    Disclaimer:

    The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

    The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

    Last modified: September 12, 2017