+ All Categories
Home > Software > Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

Date post: 10-Jan-2017
Category:
Upload: logeeknightukraine
View: 30 times
Download: 2 times
Share this document with a friend
33
www.luxoft.com С++ 2017 and beyond Awareness of choice Dmitry Dolzhenko 13-010-2016
Transcript
Page 1: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

С++ 2017 and beyondAwareness of choice

Dmitry Dolzhenko13-010-2016

Page 2: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

About:

Algorithms, Numeric algorithms, Optimization Automatic formal math verification systems Computer vision, Machine learning Large-scale software architecture Code optimization Failsafe software development Planning, Robotics, Autonomous driving

Page 3: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Highlight

Why we select C++ first time? Raiting Problems Benefits Our place in a world

3

Page 4: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Why we select C++ first time?

First language we learn in university Some expressions seems to be elegant Dozens of “cool” features! Cool it has operator overloading! Shorter expressions than ones from Pascal All benefits of C and more! All benefits of Java OOP and more! It can do everything Java can but faster!

4

Page 5: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

How we feel talking to other developers:

5

Page 6: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

It seems to be easier than it really is

6

Page 7: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

And suddenly:

7

Page 8: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

And suddenly:

8

Page 9: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com 9

Page 10: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

TIOBE:

Page 11: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Page 12: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Problems

Learning curveHighest cost of error

Mixed abstraction levelsNo modules

No package managerInsane Metaprogramming

stl is too low levelBest libraries are crazy complicated (boost, Eigen)

Hard to find library you need

Page 13: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com 13

Page 14: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Mixed abstraction levels:

You can write asm inline code You can use pointers

You can use C style allocationYou can use OOP

You can use lambda closuresAnd you can do it at the same time!

Page 15: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

No modules:

Long compilation timeCompile all the library per CPP

No module encapsulationOld-school preprocessor

Namespace crutchHard to develop package manager

Page 16: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

No package manager:

Problem

pip install my-

problem-

solver

Solutio

n

Page 17: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Benefits (development):

We can write fast upper level codeWe can write low level code if we need one

Hardcore speed optimizationHardcore memory usage optimization

RAIITemplates are real not just polymorphic wrappers

Real time softwareVery good optimizing compilers

Page 18: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Benefits (architecture):

Predictable memory usagePredictable reaction time

Embeddable almost anywhereA lot of code already written in C and C++ can

be usedCan write low level code (device drivers,

controllers)

Page 19: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Where C++ is used:

Page 20: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Web browsers engines:

Page 21: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Operating systems:

Page 22: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Real time or fast image processing:

Page 23: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

3d photorealistic rendering:

Page 24: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

3d game engines:

Page 25: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

CAD CAM:

Page 26: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Embedded software (shared with C):

Page 27: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Deeplearning:

Page 28: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Automotive software:

Page 29: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Smart city infrastructure:

Page 30: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Autonomous driving software:

Page 31: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

NASA:

Page 32: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

SpaceX:

Page 33: Dmitrii Dolzhenko: “С++ 2017 and Beyond, Deliberate Choice of Programming Language”

www.luxoft.com

Thank you


Recommended