Modern C++ Learning

Akira Takahashi
Akira TakahashiProgrammer en Preferred Networks, Inc.
Modern C++ Learning
Akira Takahashi
February, 15, 2018
Thursday Seminar @ Preferred Networks
● Akira Takahashi (高橋 晶)
● Published Books :
○ C++ Template Techniques
○ C++ Pocket Reference
○ Programmers’ Grimoire
● Web sites :
○ cpprefjp - C++ Japanese Reference
○ boostjp - Boost C++ Libraries Japanese Information
● Study Meetings :
○ Boost.Study Meeting
About Me
Modern C++ Learning
Today’s Theme
● C++ is updating continuously
● However, many books & web sites describe about
C++03 (or C++11)
● Many greatest book authors are retired from C++
○ Scott Meyers (Effective C++)
○ Andrei Alexandrescu (Modern C++ Design)
○ Dave Abrahams (C++ Template Metaprogramming)
● We need know “how to learn C++”
Introduction
● C++ Release Cycle
● Old but Important Information
● Reference Sites
● Information Sites
● New Features
● Third-party Library & Tool Information
Overview
● C++ will be updated in 3 years cycle
● C++11 (2011), C++14 (2014), C++17 (2017), next C++20
(2020)
● Ship train release model
○ C++ doesn’t have “minor” or “major” release now
C++ Release Cycle
● C++03 but still important resources:
○ “Exceptional C++”
○ “Multi-paradigm Design for C++”
○ “Design and Evolution of C++”
● Many web resources use old version C++
● We still need these resources
Old But Important Information
● ISO specification is not for users
○ no abstract
○ (almost) no usage, no use case
○ no rationale
● We should learn by reference sites or books
○ cppreference.com
○ cpprefjp.github.io
Reference Sites
● At C++11, ISO Committee creates isocpp.org
● C++ portal site
○ New version C++ overview
○ Coding Guideline
○ Standard status
○ Conference information
○ and more news
Information Sites
● To write good code, we need to know new features
● Old versions of C++ need many tricks
● New versions of C++ don’t need many tricks
New Features
● “Awesome C++”
● The web site provides library & tool information
● And the news
○ https://cpp.libhunt.com/
Third-party Library & Tool Information
● We need to know “how to learn C++”
● We need to read “Old but Important Information”
● We need to learn new features
● We need to know modern libraries and tools
Summary
1 de 12

Recomendados

Open Flash Chart And Perl por
Open Flash Chart And PerlOpen Flash Chart And Perl
Open Flash Chart And Perljoshua.mcadams
1.3K vistas79 diapositivas
Image models infrastructure at OLX por
Image models infrastructure at OLXImage models infrastructure at OLX
Image models infrastructure at OLXAlexey Grigorev
2.3K vistas18 diapositivas
Drupal Brisbane Meetup :: Drupal in late 2017-2018 por
Drupal Brisbane Meetup :: Drupal in late 2017-2018Drupal Brisbane Meetup :: Drupal in late 2017-2018
Drupal Brisbane Meetup :: Drupal in late 2017-2018Vladimir Roudakov
258 vistas26 diapositivas
Truck truck is a rust cad kernel por
Truck   truck is a rust cad kernelTruck   truck is a rust cad kernel
Truck truck is a rust cad kernelYoshinoriTanimura
350 vistas13 diapositivas
Data Monitoring with whylogs por
Data Monitoring with whylogsData Monitoring with whylogs
Data Monitoring with whylogsAlexey Grigorev
403 vistas17 diapositivas
ConvNetJS & CaffeJS por
ConvNetJS & CaffeJSConvNetJS & CaffeJS
ConvNetJS & CaffeJSAnyline
2.5K vistas40 diapositivas

Más contenido relacionado

Similar a Modern C++ Learning

Workflow Engines + Luigi por
Workflow Engines + LuigiWorkflow Engines + Luigi
Workflow Engines + LuigiVladislav Supalov
1.9K vistas24 diapositivas
Open data for good por
Open data for goodOpen data for good
Open data for goodMarco Liberati
151 vistas25 diapositivas
Lesson 05 por
Lesson 05Lesson 05
Lesson 05Gene Babon
243 vistas14 diapositivas
Angular v2 et plus : le futur du développement d'applications en entreprise por
Angular v2 et plus : le futur du développement d'applications en entrepriseAngular v2 et plus : le futur du développement d'applications en entreprise
Angular v2 et plus : le futur du développement d'applications en entrepriseLINAGORA
794 vistas42 diapositivas
Aws Developer Associate Overview por
Aws Developer Associate OverviewAws Developer Associate Overview
Aws Developer Associate OverviewAbhi Jain
448 vistas46 diapositivas
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop por
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop Neo4j
188 vistas30 diapositivas

Similar a Modern C++ Learning(20)

Angular v2 et plus : le futur du développement d'applications en entreprise por LINAGORA
Angular v2 et plus : le futur du développement d'applications en entrepriseAngular v2 et plus : le futur du développement d'applications en entreprise
Angular v2 et plus : le futur du développement d'applications en entreprise
LINAGORA794 vistas
Aws Developer Associate Overview por Abhi Jain
Aws Developer Associate OverviewAws Developer Associate Overview
Aws Developer Associate Overview
Abhi Jain448 vistas
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop por Neo4j
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop
Neo4j188 vistas
Let's build a robot with ROS - Internet of Things, Hardware & Robotics meetup... por Marcin Bielak
Let's build a robot with ROS - Internet of Things, Hardware & Robotics meetup...Let's build a robot with ROS - Internet of Things, Hardware & Robotics meetup...
Let's build a robot with ROS - Internet of Things, Hardware & Robotics meetup...
Marcin Bielak1.3K vistas
Chrome extensions por Ahmad Tahhan
Chrome extensions Chrome extensions
Chrome extensions
Ahmad Tahhan1.5K vistas
About order form improvements por Gengo
About order form improvementsAbout order form improvements
About order form improvements
Gengo5K vistas
Introduction to Gengo's New Order Form tech por Gengo
Introduction to Gengo's New Order Form techIntroduction to Gengo's New Order Form tech
Introduction to Gengo's New Order Form tech
Gengo3.5K vistas
Powering machine learning workflows with Apache Airflow and Python por Tatiana Al-Chueyr
Powering machine learning workflows with Apache Airflow and PythonPowering machine learning workflows with Apache Airflow and Python
Powering machine learning workflows with Apache Airflow and Python
Tatiana Al-Chueyr1.4K vistas
apacheairflow-160827123852.pdf por vijayapraba1
apacheairflow-160827123852.pdfapacheairflow-160827123852.pdf
apacheairflow-160827123852.pdf
vijayapraba13 vistas
Return of c++ por Yongwei Wu
Return of c++Return of c++
Return of c++
Yongwei Wu1.1K vistas
(Open Hack Night Fall 2014) Overview por James Griffin
(Open Hack Night Fall 2014) Overview(Open Hack Night Fall 2014) Overview
(Open Hack Night Fall 2014) Overview
James Griffin239 vistas
Elasticsearch: Getting Started Part 1 por Suyog Kale
Elasticsearch: Getting Started Part 1Elasticsearch: Getting Started Part 1
Elasticsearch: Getting Started Part 1
Suyog Kale475 vistas
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro por PyData
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo MazzaferroRESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
PyData2.2K vistas
London Salesforce Developer January 2022 por Keir Bowden
London Salesforce Developer January 2022London Salesforce Developer January 2022
London Salesforce Developer January 2022
Keir Bowden55 vistas

Más de Akira Takahashi

Cpp20 overview language features por
Cpp20 overview language featuresCpp20 overview language features
Cpp20 overview language featuresAkira Takahashi
890 vistas28 diapositivas
Cppmix 02 por
Cppmix 02Cppmix 02
Cppmix 02Akira Takahashi
675 vistas7 diapositivas
Cppmix 01 por
Cppmix 01Cppmix 01
Cppmix 01Akira Takahashi
1K vistas11 diapositivas
cpprefjp documentation por
cpprefjp documentationcpprefjp documentation
cpprefjp documentationAkira Takahashi
1.3K vistas23 diapositivas
C++1z draft por
C++1z draftC++1z draft
C++1z draftAkira Takahashi
6.6K vistas67 diapositivas
Boost tour 1_61_0 merge por
Boost tour 1_61_0 mergeBoost tour 1_61_0 merge
Boost tour 1_61_0 mergeAkira Takahashi
2K vistas126 diapositivas

Más de Akira Takahashi(20)

Cpp20 overview language features por Akira Takahashi
Cpp20 overview language featuresCpp20 overview language features
Cpp20 overview language features
Akira Takahashi890 vistas
C++14 solve explicit_default_constructor por Akira Takahashi
C++14 solve explicit_default_constructorC++14 solve explicit_default_constructor
C++14 solve explicit_default_constructor
Akira Takahashi7.3K vistas

Último

AMD: 4th Generation EPYC CXL Demo por
AMD: 4th Generation EPYC CXL DemoAMD: 4th Generation EPYC CXL Demo
AMD: 4th Generation EPYC CXL DemoCXL Forum
126 vistas6 diapositivas
The Importance of Cybersecurity for Digital Transformation por
The Importance of Cybersecurity for Digital TransformationThe Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital TransformationNUS-ISS
25 vistas26 diapositivas
Future of Learning - Yap Aye Wee.pdf por
Future of Learning - Yap Aye Wee.pdfFuture of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdfNUS-ISS
38 vistas11 diapositivas
Empathic Computing: Delivering the Potential of the Metaverse por
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the MetaverseMark Billinghurst
449 vistas80 diapositivas
Understanding GenAI/LLM and What is Google Offering - Felix Goh por
Understanding GenAI/LLM and What is Google Offering - Felix GohUnderstanding GenAI/LLM and What is Google Offering - Felix Goh
Understanding GenAI/LLM and What is Google Offering - Felix GohNUS-ISS
39 vistas33 diapositivas
ChatGPT and AI for Web Developers por
ChatGPT and AI for Web DevelopersChatGPT and AI for Web Developers
ChatGPT and AI for Web DevelopersMaximiliano Firtman
174 vistas82 diapositivas

Último(20)

AMD: 4th Generation EPYC CXL Demo por CXL Forum
AMD: 4th Generation EPYC CXL DemoAMD: 4th Generation EPYC CXL Demo
AMD: 4th Generation EPYC CXL Demo
CXL Forum126 vistas
The Importance of Cybersecurity for Digital Transformation por NUS-ISS
The Importance of Cybersecurity for Digital TransformationThe Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital Transformation
NUS-ISS25 vistas
Future of Learning - Yap Aye Wee.pdf por NUS-ISS
Future of Learning - Yap Aye Wee.pdfFuture of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdf
NUS-ISS38 vistas
Empathic Computing: Delivering the Potential of the Metaverse por Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst449 vistas
Understanding GenAI/LLM and What is Google Offering - Felix Goh por NUS-ISS
Understanding GenAI/LLM and What is Google Offering - Felix GohUnderstanding GenAI/LLM and What is Google Offering - Felix Goh
Understanding GenAI/LLM and What is Google Offering - Felix Goh
NUS-ISS39 vistas
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor... por Vadym Kazulkin
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
Vadym Kazulkin70 vistas
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ... por Fwdays
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ..."Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...
Fwdays33 vistas
Astera Labs: Intelligent Connectivity for Cloud and AI Infrastructure por CXL Forum
Astera Labs:  Intelligent Connectivity for Cloud and AI InfrastructureAstera Labs:  Intelligent Connectivity for Cloud and AI Infrastructure
Astera Labs: Intelligent Connectivity for Cloud and AI Infrastructure
CXL Forum125 vistas
Five Things You SHOULD Know About Postman por Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman25 vistas
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu... por NUS-ISS
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
NUS-ISS32 vistas
Webinar : Competing for tomorrow’s leaders – How MENA insurers can win the wa... por The Digital Insurer
Webinar : Competing for tomorrow’s leaders – How MENA insurers can win the wa...Webinar : Competing for tomorrow’s leaders – How MENA insurers can win the wa...
Webinar : Competing for tomorrow’s leaders – How MENA insurers can win the wa...
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi por Fwdays
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi
Fwdays26 vistas
.conf Go 2023 - Data analysis as a routine por Splunk
.conf Go 2023 - Data analysis as a routine.conf Go 2023 - Data analysis as a routine
.conf Go 2023 - Data analysis as a routine
Splunk90 vistas
Microchip: CXL Use Cases and Enabling Ecosystem por CXL Forum
Microchip: CXL Use Cases and Enabling EcosystemMicrochip: CXL Use Cases and Enabling Ecosystem
Microchip: CXL Use Cases and Enabling Ecosystem
CXL Forum129 vistas
Transcript: The Details of Description Techniques tips and tangents on altern... por BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada119 vistas
MemVerge: Gismo (Global IO-free Shared Memory Objects) por CXL Forum
MemVerge: Gismo (Global IO-free Shared Memory Objects)MemVerge: Gismo (Global IO-free Shared Memory Objects)
MemVerge: Gismo (Global IO-free Shared Memory Objects)
CXL Forum112 vistas
Data-centric AI and the convergence of data and model engineering: opportunit... por Paolo Missier
Data-centric AI and the convergence of data and model engineering:opportunit...Data-centric AI and the convergence of data and model engineering:opportunit...
Data-centric AI and the convergence of data and model engineering: opportunit...
Paolo Missier29 vistas

Modern C++ Learning

  • 1. Modern C++ Learning Akira Takahashi February, 15, 2018 Thursday Seminar @ Preferred Networks
  • 2. ● Akira Takahashi (高橋 晶) ● Published Books : ○ C++ Template Techniques ○ C++ Pocket Reference ○ Programmers’ Grimoire ● Web sites : ○ cpprefjp - C++ Japanese Reference ○ boostjp - Boost C++ Libraries Japanese Information ● Study Meetings : ○ Boost.Study Meeting About Me
  • 4. ● C++ is updating continuously ● However, many books & web sites describe about C++03 (or C++11) ● Many greatest book authors are retired from C++ ○ Scott Meyers (Effective C++) ○ Andrei Alexandrescu (Modern C++ Design) ○ Dave Abrahams (C++ Template Metaprogramming) ● We need know “how to learn C++” Introduction
  • 5. ● C++ Release Cycle ● Old but Important Information ● Reference Sites ● Information Sites ● New Features ● Third-party Library & Tool Information Overview
  • 6. ● C++ will be updated in 3 years cycle ● C++11 (2011), C++14 (2014), C++17 (2017), next C++20 (2020) ● Ship train release model ○ C++ doesn’t have “minor” or “major” release now C++ Release Cycle
  • 7. ● C++03 but still important resources: ○ “Exceptional C++” ○ “Multi-paradigm Design for C++” ○ “Design and Evolution of C++” ● Many web resources use old version C++ ● We still need these resources Old But Important Information
  • 8. ● ISO specification is not for users ○ no abstract ○ (almost) no usage, no use case ○ no rationale ● We should learn by reference sites or books ○ cppreference.com ○ cpprefjp.github.io Reference Sites
  • 9. ● At C++11, ISO Committee creates isocpp.org ● C++ portal site ○ New version C++ overview ○ Coding Guideline ○ Standard status ○ Conference information ○ and more news Information Sites
  • 10. ● To write good code, we need to know new features ● Old versions of C++ need many tricks ● New versions of C++ don’t need many tricks New Features
  • 11. ● “Awesome C++” ● The web site provides library & tool information ● And the news ○ https://cpp.libhunt.com/ Third-party Library & Tool Information
  • 12. ● We need to know “how to learn C++” ● We need to read “Old but Important Information” ● We need to learn new features ● We need to know modern libraries and tools Summary