A Picture is Worth a Thousand Words
tools…. https://www.draw.io/ https://github.com/jgraph/drawio-desktopText to diagram converters • PlantUML • open source tool that converts simple textual descriptions to UML diagrams • Not only UML Integration to doxygen doc / markdown doc http://plantuml.com/guideThree simple lines generate this diagram…. Isn’t it awesome?Have a break! • Use PlantUML to create Sudoku. • The sudoku is randomly generated.Good news! • PlantText : PlantUML based online live editor https://www.planttext.com/Yet another cool tool here - mermaid • Javascript based diagramming and charting tool. • Mermaid can0 码力 | 18 页 | 1.77 MB | 5 月前3C++23: An Overview of Almost All New and Updated Features
Quick Reference Founder of the Belgian C++ Users Group (BeCPP) C++204 Agenda C++23 Core Language Explicit Object Parameters if consteval Multidimensional Subscript Operator Attributes Attributes on Lambda-Expressions Literal Suffix for size_t auto(x): decay-copy in The Language #elifdef, #elifndef, and #warning Marking Unreachable Code Assumptions Named Universal Character Heterogeneous Erasure Removed Features Garbage Collection SupportC++23 Core Language6 Agenda C++23 Core Language Explicit Object Parameters if consteval Multidimensional Subscript Operator0 码力 | 105 页 | 759.96 KB | 5 月前3Modern C++ Tutorial: C++11/14/17/20 On the Fly
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Chapter 02: Language Usability Enhancements 13 2.1 Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Chapter 03: Language Runtime Enhancements 37 3.1 Lambda Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 7 PREFACE Preface Introduction The C++ programming language owns a fairly large user group. From the advent of C++98 to the official finalization of C++110 码力 | 92 页 | 1.79 MB | 1 年前3Some Things C++ Does Right
type-safe enough • C++ is a language where some defaults are wrong 6You might have heard… • C++ is not memory-safe enough • C++ is not type-safe enough • C++ is a language where some all defaults are 7You might have heard… • C++ is not memory-safe enough • C++ is not type-safe enough • C++ is a language where some all defaults are wrong • C++ is too expert-friendly 8You might have heard… • There's grain of truth in criticism, and C++ surely has a bit of each of these alleged warts • It's a language that has history, obviously, and that has evolved organically over the years, and it has the imperfections0 码力 | 228 页 | 2.47 MB | 5 月前3Cooperative C++ Evolution
Simplification through generalization Compatibility for C++ Why • What kind • What plan3 green-field language invent new idioms/styles new modules new ecosystem/packagers compatibility bridges refresh code” that doesn’t exist today What if we could do “C++11 feels like a new language” again, for the whole language?5 Major improvement via directed evolution 10 simpler metric: 90% of today’s defaults & behaviors? (treat it as ordinary code, share it as a library, etc.) CompilerC# language: ~18pg, English Proposed C++: ~10 lines, testable code 22 $class interface { ~interface()0 码力 | 85 页 | 5.73 MB | 5 月前3Delivering safe C++
languages that provide little or no inherent memory protection, such as C/C++, to a memory safe language when possible. Some examples of memory safe languages are C#, Go, Java, Ruby™, and Swift®. • NSA: complacency) • February 2023 Headline: C++ still unstoppable • Last month, C++ won the TIOBE programming language of the year award for 2022. C++ is continuing its success in 2023 so far. Its current year-over-year serious problem for many uses and users • Bugs and security violations from bad code in various language (incl. C++) and other causes • Diversion of resources from C++ to other languages • Discouraging0 码力 | 74 页 | 2.72 MB | 5 月前3Back to Basics: The Abstract Machine
Overview/Goals • Describe abstract machines in general • Describe the C++ abstract machine specifically • Language goals that drive its design • Role in program development and execution • Important definitions machines. Abstract machines provide an intermediate language stage for compilation. They bridge the gap between the high level of a programming language and the low level of a real machine. The instructions are tailored to the particular operations required to implement operations of a specific source language or class of languages.” (my emphasis) - Stephan Diehl, Pieter Hartel, Peter Sestoft Future Generation0 码力 | 91 页 | 538.90 KB | 5 月前3Just-In-Time Compilation: The Next Big Thing
A READ–EVAL–PRINT LOOP (REPL) * PRIMARY A READ–EVAL–PRINT LOOP (REPL) * C++ LANGUAGE EXTENSION (ATTRIBUTE) * C++ LANGUAGE EXTENSION (ATTRIBUTE) CLING CLING [[CLANG::JIT]] [[CLANG::JIT]] 4 . 3* PRIMARY JIT COMPILES THE WHOLE PROGRAM * ALWAYS JIT COMPILES THE WHOLE PROGRAM * C++ LANGUAGE EXTENSION (ATTRIBUTE) * C++ LANGUAGE EXTENSION (ATTRIBUTE) * ALLOWS JIT COMPILATION OF SPECIFICALLY-ANNOTATED FUNCTIONS COMPILES THE WHOLE PROGRAM * MINIMAL OPTIMIZATIONS * MINIMAL OPTIMIZATIONS * C++ LANGUAGE EXTENSION (ATTRIBUTE) * C++ LANGUAGE EXTENSION (ATTRIBUTE) * ALLOWS JIT COMPILATION OF SPECIFICALLY-ANNOTATED FUNCTIONS0 码力 | 222 页 | 5.45 MB | 5 月前3Contracts for C++
| https://timur.audio 1986 Bertrand Meyer coins "Design by Contract"; Eiffel programming language published 2024 We are here11 Copyright (c) Timur Doumler | @timur_audio | https://timur audio 1986 Bertrand Meyer coins "Design by Contract"; Eiffel programming language published 2001 D programming language published with Contracts support 2024 We are here12 Copyright (c) Timur "Design by Contract"; Eiffel programming language published 2001 D programming language published with Contracts support 2012 Ada programming language gains Contract support 2024 We are here130 码力 | 181 页 | 4.44 MB | 5 月前3The Absurdity of Error Handling
heavily overloaded 7© 2023 Codeplay Software Ltd. Definition of Safety — The Experts 8 Software Language Designer Functional Safety Practitioner I design programming languages and libraries I write safety-critical safety-critical software© 2023 Codeplay Software Ltd. Definition of Safety — The Priorities 9 Software Language Designer Functional Safety Practitioner Type safety Memory safety Easy to use correctly; hard every time? Language safety is nice, but …© 2023 Codeplay Software Ltd. Definition of Safety — Abstractions 10 Hardware: Easy to use incorrectly; hard to use correctly Assembly language is difficult0 码力 | 43 页 | 1.39 MB | 5 月前3
共 210 条
- 1
- 2
- 3
- 4
- 5
- 6
- 21