# Thinking in Programming

* Python: fun, stable, scientific research (Need to have a npm like package manager).
* Typescript: web development. (Has a lot of stupid old built-in functions, but grammer and importing system is Good)
* C/C++: core library or computing heavy program. (CPP need to have relative importing, CPP need to have a built-in http library)
* Dart - (swift, object-c for ios) (kotlin, java for android). (Need to get better on offline development with flutter)
* Golang: network and concurrent programming. (Need to remove unuse checking; Need to use 'export' to indicate exporting\_function or variable than using Capitalized Character)

## How to verify if a programming language is perfect?

* Easy to understand, no abbreviation, only using Snakecase Instance Naming Style
* Strong Type Check
* Cross Platform Compile in one single platform without using virtual-container
* Auto-Completion with manual selection
* 'None' variable support (Better use vs-code extension to make sure you handled the two situations, I mean, a variable is none or not-none
* GRPC support (Make sure it's object instance has two functions: to\_json() and from\_json(), and the keys in the json object has to be string type
  * Easy to adopt GRPC/YRPC. (No rule on variable naming, has constructor, has to\_dict() and from\_dict() functions in dataclass object/struct
* High Process Speed while taking little memory and disk space
* Runtime and the compiler can get staticlly compiled, so it could get running without dependencies like libc. (So even if you are using the oldest linux computer, you can still use this compiler to do the programming)
* VScode running-time debug
* Could directly run a test function in VScode
