Functional programming in C++

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

http://blog.madhukaraphatak.com/functional-programming-in-c++/

Tutorials (27 series) – Udemy

Phil Nash: Functional C++ for Fun & Profit

Category with C++ Milewski 2015

C++ in Android https://insights.dice.com/2016/02/03/5-reasons-to-use-c-for-android-development/

https://www.freecodecamp.org/news/c-usage-in-android-4b57edf84322/

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

https://m.toutiaocdn.com/group/6746799095844700684/?app=news_article_lite&timestamp=1571588365&req_id=201910210019250100140481310899D951&group_id=6746799095844700684

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 :

Series: https://www.youtube.com/playlist?list=PLgnQpQtFTOGR50iIOtO36nK6aNPtVq98C

Slides:

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 https://link.medium.com/ijqPGGDWd0

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