"There are two ways of constructing a software design; one way is to make it so simple that there
are obviously no deficiences, and the other way is to make it so complicated that there are no
obvious deficiencies. The first method is far more difficult."
- C.A.R.Hoare
ResourceDescriptionDevelopment TopicsRust Tour
Introduction to the Rust programming language,
Rust models (videos)C++ Models
Core models for the C++ language - things you need to know,
C++ models (videos)BlogsA collection of opinions about Software, its design, and interesting ideasProgrammingLanguages.pdfDiagram showing relationships and birthdates for many programming languagesProjectCenterUseCases.pdfAn example of describing use cases for interesting systemsSoftwareStructure.pdfPresentation about common software system structuresSoftwareStructureResearch.pdfExcerpts from Murat Gungor's Research PresentationVisualStudioHelpSlides.pdfScreenshots for common uses of Visual StudioUML.htmlBrief introduction to UML diagrams: package, class, and activityC++ LanguageCppSynopsis.htmlSurveys C++ language artifacts and libraries (what are they?)SurvivalGuide.pdfSummary of basic syntax for C++ and a few of its commonly used libraries (how used?)DesignNote-CppClasses.htmlClass anatomy, Compiler generated operationsValueType.pdf,
STRCode.htmlPresentation about the STR class, a model for value typesCppModels.pdfModels for C++ compilation, program execution, and memory layoutPlacement.pdfDiagram showing scope containment rulesCppOperators.pdfPresentation about C++ operator syntaxDesignNote-CppClassRelationships.htmlPresentation about details of the C++ class relationshipsHEIR.pdf,
Inheritance.htmlPresentation about details of the C++ class relationships emphasizing inheritancevtbl.pdfDiagram of the C++ Virtual Function Pointer TableTemplates.pdf,
Templates.htmlPresentation about function and class templates and specializationexcept.pdfPresentaion on C++ ExceptionsNamespaces.pdfPresentation about C++ NamespacesEvils.pdfDiscussion of dark corners in the C++ languageOther C++ ResourcesCollection of links to C++ ResourcesC++ Environmentiostreams.pdfQuick survey of the standard stream librariesSTL.pdfPresentation about the structure of the Standard Software Template LibrariesThreadsWinAndCpp11.pdfPresentation about Windows threading API and the C++ std::thread library.netMixedClasses.pdfPresentation about C++\CLI, a .net languageWindowsPresentationFoundation.pdfPresentation about the WPF Graphical User Interface frameworkOther C# ResourcesCollection of links to C# ResourcesWindows OS Models and Facilitiesprocess.pdfDiagram illustrating the structure of Windows processesMemoryMapping.pdfDiagram illustrating the Windows Virtual Memory Systemwindows.pdfDiagram illustrating the Windows event modelWin32Sockets.pdfPresentation about Windows SocketswinProc.pdfDiagram illustrating the structure of a Windows GUI program built from the Windows APIWindowsTechnologies.pdfDiagram showing Windows Technology StackOther Windows ResourcesCollection of links to other Windows resourcesLinux OS Models and FacilitiesLinuxTechnologies.pdfDiagram illustrating the Linux Technology StackOther Linux ResourcesCollection of links to Linux resourcesAsynchronous CommunicationAsynchSys.pdfPresentation about Asynchronous SystemsCommunicationChannel.pdfAsynchronous Communication Channel DiagramsCppCommWithFileXferClassDiagram.pdfClass diagram for Asynchronous Communication ChannelbottomresrcsexpersusitepurposelangsstoriescontentsaudienceintrotopNextPrevPagesSectionsAboutKeys