This book is designed to summarize different kinds of programming languages, including syntax, resource, etc. We also introduce software licenses, algorithms, database languages, parallel computing, compiler, etc, topics. It is also designed to summarize lots of implementation topics to meet needs in programming.
-
Seed Project : Provide libraries or packages for the software development in multiple programming languages.
- Seed library: https://github.com/jiankaiwang/seed
-
Reference
- Github (main) : https://github.com/jiankaiwang/ProgrammingHandbook
- Software Engineering
- License : try to compare different types of software license
- Continuous Integration : introduce different CI tools and how to embed into the developing process
- Programming Languages
- C++ : generic, static, object-oriented type programming language, its famous pointer, passed-by-reference operating provides developers with high performance in using hardware resource
- C#/ASP.NET : a generic, static, object-oriented type programming language, based on .NET framework, and ASP is the webpage language
- GO : a static, compiled, imperative type programming language, it supports pointer, passed-by-reference like C++, and also supports lightweight concurrency, etc.
- Swift : a static, compiled, imperative type programming language, it is the next generation programming language to develop apps on iOS, macOS, etc.
- Python : generic, dynamic, object-oriented type programming language, is good for numeric data processing, it also used in IoT, machine learning, deep learning, web-server, etc.
- Node.js : dynamic, imperative type programming language, mainly used is the backend, syntax is highly similar with javascript
- Javascript : dynamic, imperative type programming language, mainly used in the frontend to control or modify DOM
- CSS : the webpage desginer, painter
Typescript (No More Update) : dynamic, imperative type programming language, is created to make writing javascript more object-oriented, structuredPerl (No More Update) : a dynamic, imperative type programming language, is good for handling text, and webpage processingPHP (No More Update) : a dynamic, object-oriented, imperative type programming language, mainly used in webserver-sideJava (No More Update) : generic, static, object-oriented, safe type programming language, executed on JVM, and it is easy to deploy service on different platformR (No More Update) : dynamic, imperative type programming language, mainly used in the statistics, mathematics fields
- Database Languages
- MySQL : the famous cross platform database server highly used in Liunx (LAMP)
- Mongodb : the document-based NoSQL database server
- Redis : the in-memory database server mainly used in web session, media storage, etc.
- Cassandra : the distributed database server which supports like-SQL commands
- SQLite : the simple, ACID-compliant, and no server engine required database
SQL Server (No More Update) : a database server highly supported in Microsoft environment, e.g. Windows, C#, Azure, etc.
- Parallel Computing
- OpenCL: Its purpose is to execute generic parallel computing, and it supports not only CUDA, but also others devices, including ATI, Intel, ARM, etc.
- CUDA : It is created and promoted by NVIDIA, is also the official name of GPGPU, and only supports graphic cards made by itself. The main purpose is to execute generic parallel computing.
- Movidius
Its core is built with Myriad 2 visual processing unit (VPU) and provides developers with low power, high effectivity and high scaling to conduct MI/AI training, or deployment. You can also find more information on the repository. (Refer to https://github.com/jiankaiwang/aiot)
- Compression
- lzstring : is a cross-platfrom compressed library, and supports lots of programming languages, e.g. C#, javascript, python, etc.
- Tools