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:
View:29 times
Download:2 times
Share this document with a friend
Transcript:

CORPORATE SLIDE DECK

++ 2017 and beyondAwareness of choiceDmitry Dolzhenko13-010-2016

www.luxoft.com

About:Algorithms, Numeric algorithms, Optimization Automatic formal math verification systemsComputer vision, Machine learningLarge-scale software architectureCode optimizationFailsafe software developmentPlanning, Robotics, Autonomous driving

www.luxoft.com

HighlightWhy we select C++ first time?RaitingProblemsBenefitsOur place in a world

3

www.luxoft.com

Why we select C++ first time?First language we learn in universitySome expressions seems to be elegantDozens of cool features!Cool it has operator overloading!Shorter expressions than ones from PascalAll benefits of C and more!All benefits of Java OOP and more!It can do everything Java can but faster!

4

www.luxoft.com

How we feel talking to other developers:5

www.luxoft.com

It seems to be easier than it really is6

www.luxoft.com

And suddenly:7

www.luxoft.com

And suddenly:8

www.luxoft.com

9

www.luxoft.com

TIOBE:

www.luxoft.com

www.luxoft.com

ProblemsLearning curveHighest cost of errorMixed abstraction levelsNo modulesNo package managerInsane Metaprogramming stl is too low levelBest libraries are crazy complicated (boost, Eigen)Hard to find library you need

www.luxoft.com

13

www.luxoft.com

Mixed abstraction levels:You can write asm inline code You can use pointersYou can use C style allocationYou can use OOPYou can use lambda closuresAnd you can do it at the same time!

www.luxoft.com

No modules:Long compilation timeCompile all the library per CPPNo module encapsulationOld-school preprocessor Namespace crutchHard to develop package manager

www.luxoft.com

No package manager:

www.luxoft.com

Benefits (development):We can write fast upper level codeWe can write low level code if we need oneHardcore speed optimizationHardcore memory usage optimizationRAIITemplates are real not just polymorphic wrappersReal time softwareVery good optimizing compilers

www.luxoft.com

Benefits (architecture):Predictable memory usagePredictable reaction timeEmbeddable almost anywhereA lot of code already written in C and C++ can be usedCan write low level code (device drivers, controllers)

www.luxoft.com

Where C++ is used:

www.luxoft.com

Web browsers engines:

www.luxoft.com

Operating systems:

www.luxoft.com

Real time or fast image processing:

www.luxoft.com

3d photorealistic rendering:

www.luxoft.com

3d game engines:

www.luxoft.com

CAD CAM:

www.luxoft.com

Embedded software (shared with C):

www.luxoft.com

Deeplearning:

www.luxoft.com

Automotive software:

www.luxoft.com

Smart city infrastructure:

www.luxoft.com

Autonomous driving software:

www.luxoft.com

NASA:

www.luxoft.com

SpaceX:

www.luxoft.com

Thank you

www.luxoft.com

of 33/33
www.luxoft.com С++ 2017 and beyond Awareness of choice Dmitry Dolzhenko 13-010-2016
Embed Size (px)
Recommended