Programming Handbook

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.

Content

  • 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
    • Java : generic, static, object-oriented, safe type programming language, executed on JVM, and it is easy to deploy service on different platform
    • C#/ASP.NET : a generic, static, object-oriented type programming language, based on .NET framework, and ASP is the webpage language
    • Android APP : extends from java, its famous JNI, NDK, etc. are the core to develop android app
    • 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.
    • Perl (No More Update) : a dynamic, imperative type programming language, is good for handling text, and webpage processing
    • PHP (No More Update) : a dynamic, object-oriented, imperative type programming language, mainly used in webserver-side
    • 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
    • Typescript : dynamic, imperative type programming language, is created to make writing javascript more object-oriented, structured
    • CSS : the webpage desginer, painter
    • R : dynamic, imperative type programming language, mainly used in the statistics, mathematics fields
  • Algorithm
  • Database Languages
    • SQL Server : a database server highly supported in Microsoft environment, e.g. Windows, C#, Azure, etc.
    • 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
  • 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, https://sophia.ddns.net/.
  • Compression
    • lzstring : is a cross-platfrom compressed library, and supports lots of programming languages, e.g. C#, javascript, python, etc.
  • Tools
    • gcc/g++ : the C/C++ Compiler
    • Bazel : a useful compiled tool which supports C++, android, Java, etc.

results matching ""

    No results matching ""