Functional programming in C++

Since C++11, the Modern C++ is “No more C with Classes aka OOP, but Functional Programmming :

Tutorials (27 series) – Udemy

Phil Nash: Functional C++ for Fun & Profit

Category with C++ Milewski 2015

C++ in Android

为什么 C/C++不会过时 (Outdated) ?

Biggest IT Lies:

  1. IBM Founder: The World only needs 5 Computers (implied IBM Mainframes)
  2. Microsoft Founder: 640 K Memory is big enough for all computers.
  3. DEC Founder (Ken Olsen) : No such thing as “Personal” Computer! Any computer is designed for sharing (Server).

Modern C++11 Course

C++ is divided into the Old C++ and the Modern C++ after version C++11, and currently C++ 17 (with STL complete Functional Programming features) .

The C++20 will be released in 2020.

Fortunately, C++ is backward compatible.

If you want to learn the Modern C++ which ovetcomes the weaknesses of the old C++, learn this Germany lecture (English complete series) is by far the latest C++11 free online :



Modern C++ Course

C++17 Ideal for Mobile Cross-Platform Development

Mobile Cross-Platform :

  1. Android
  2. iOS
  3. Windows
  4. Linux
  5. Web
  6. HongMeng (aka Harmony) OS
  7. IoT

Cross-platform C++ in IDE :

  1. Mac : Xcode, Android Studio, Visual Studio on Mac (fee), Eclipse
  2. Windows : Visual Studio (full featured, pay fee), VS Code (limited feature, free), Eclipse
  3. Linux : many eg. Eclipse…

“So you want to write cross platform code, PAL? (Part I)” by Gal Shelef

Apps Architecture:

The Salami Method

  • Cross-platform Language: C++ (preferred version 17 with STL for Functional Programming)
  • Apps divided into 2 parts:
    • UI logic: platform specific
      • Android : Java / Kotlin in Flutter framework
      • iOS: Swift / Objective-C
    • Core logic: C++17

Platform-specific Binding : PAL