All Projects → wx-chevalier → Programminglanguage Series

wx-chevalier / Programminglanguage Series

Licence: other
📚 编程语言语法基础与工程实践,JavaScript | Java | Python | Go | Rust | CPP | Swift

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
java
68154 projects - #9 most used programming language
c
50402 projects - #5 most used programming language
go
31211 projects - #10 most used programming language
swift
15916 projects
lua
6591 projects
haskell
3896 projects
cpp
1120 projects
assembly
5116 projects

Labels

Projects that are alternatives of or similar to Programminglanguage Series

Quasar
Fibers, Channels and Actors for the JVM
Stars: ✭ 4,349 (+576.36%)
Mutual labels:  jvm
Testcontainers Java
Testcontainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
Stars: ✭ 5,478 (+751.94%)
Mutual labels:  jvm
Mini Jvm
使用 JDK8 实现 JVM(Java Virtual Machine)
Stars: ✭ 568 (-11.66%)
Mutual labels:  jvm
Asmble
Compile WebAssembly to JVM and other WASM tools
Stars: ✭ 466 (-27.53%)
Mutual labels:  jvm
Openrndr
OPENRNDR. A Kotlin/JVM library for creative coding, real-time and interactive graphics
Stars: ✭ 486 (-24.42%)
Mutual labels:  jvm
Notes
📚A Java back-end engineer's study notes https://loveincode.github.io/notes
Stars: ✭ 534 (-16.95%)
Mutual labels:  jvm
Tobetopjavaer
To Be Top Javaer - Java工程师成神之路
Stars: ✭ 22,056 (+3330.17%)
Mutual labels:  jvm
Robovm
Ahead of time compiler for JVM bytecode targetting iOS, Mac OSX and Linux
Stars: ✭ 633 (-1.56%)
Mutual labels:  jvm
Javakeeper
✍️ Java 工程师必备架构体系知识总结:涵盖分布式、微服务、RPC等互联网公司常用架构,以及数据存储、缓存、搜索等必备技能
Stars: ✭ 502 (-21.93%)
Mutual labels:  jvm
Klock
Multiplatform Date and time library for Kotlin
Stars: ✭ 569 (-11.51%)
Mutual labels:  jvm
Pdf
编程电子书,电子书,编程书籍,包括C,C#,Docker,Elasticsearch,Git,Hadoop,HeadFirst,Java,Javascript,jvm,Kafka,Linux,Maven,MongoDB,MyBatis,MySQL,Netty,Nginx,Python,RabbitMQ,Redis,Scala,Solr,Spark,Spring,SpringBoot,SpringCloud,TCPIP,Tomcat,Zookeeper,人工智能,大数据类,并发编程,数据库类,数据挖掘,新面试题,架构设计,算法系列,计算机类,设计模式,软件测试,重构优化,等更多分类
Stars: ✭ 12,009 (+1767.65%)
Mutual labels:  jvm
Mvikotlin
Extendable MVI framework for Kotlin Multiplatform with powerful debugging tools (logging and time travel)
Stars: ✭ 483 (-24.88%)
Mutual labels:  jvm
Javafamily
【Java面试+Java学习指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。
Stars: ✭ 28,668 (+4358.48%)
Mutual labels:  jvm
Jvm
🤗 JVM 底层原理最全知识总结
Stars: ✭ 7,756 (+1106.22%)
Mutual labels:  jvm
Javapdf
🍣100本 Java电子书 技术书籍PDF(以下载阅读为荣,以点赞收藏为耻)
Stars: ✭ 609 (-5.29%)
Mutual labels:  jvm
Jvm book
《深入理解Java虚拟机(第3版)》样例代码&勘误
Stars: ✭ 449 (-30.17%)
Mutual labels:  jvm
Jtransc
Bytecode to source converting Java & Kotlin code into JavaScript, C++, D, C#, PHP, AS3, Dart and Haxe and run it everywhere. Also use JVM code in your favourite language as a library.
Stars: ✭ 532 (-17.26%)
Mutual labels:  jvm
Intellij Jvm Options Explained
Common JVM options used with Intellij and what they do
Stars: ✭ 636 (-1.09%)
Mutual labels:  jvm
Progressbar
Terminal-based progress bar for Java / JVM
Stars: ✭ 625 (-2.8%)
Mutual labels:  jvm
Zircon
Zircon is an extensible and user-friendly, multiplatform tile engine.
Stars: ✭ 552 (-14.15%)
Mutual labels:  jvm

License: CC BY-NC-SA 4.0

编程语言语法基础与工程实践

参考某熊的技术之路指北 ☯中对于知识结构的划分,本仓库存放了笔者在编程语言方面学习与实践总结而来的笔记。

Introduction | 前言

Programmers who program “in” a language limit their thoughts to constructs that the language directly supports. If the language tools are primitive, the programmer’s thoughts will also be primitive.

Programmers who program “into” a language first decide what thoughts they want to express, and then they determine how to express those thoughts using the tools provided by their specific language.

-- Steve McConnell’s Code Complete

程序指一组指示计算机或其他具有消息处理能力装置每一步动作的指令;代码指一套转换信息的规则系统编码。编程的本质是把我们人类想做的事情通过代码命令计算机来执行。譬如设定好了 10 个步骤,也就是 10 条指令,然后计算机通过程序计数器(时钟周期振荡器)按步骤从存放指令的内存区域一条一条取出来,扔到 CPU 执行。每条指令都有一个唯一的地址,当遇到需要选择的时候,当前指令执行完就会把下一条要执行的指令的地址返回给程序计数器。

计算机底层程序一直都是已 0 和 1 为基础执行不同的指令,而代码却一直在进化。最原始的代码其实就是计算机执行的程序,但是由于程序是指导计算机运行的,硬件处通过高低电平来处理信号再计算信息。对于机器很快就可以执行,但是对于人类来讲确异常痛苦。刚开始我记住不同组合的指令代表的意义,慢慢就发展成助记符,来表示程序,从而有了代码的概念。有了助记符很方便人类的记忆,毕竟记住一个单词比记住一串数字要好记得多。我们从最开始用一连串 0 和 1 来写指令,到后面采用了助记符,才发展成汇编语言,而随着硬件的性能提升,旧的代码语言已经无法满足人们的需求,高级语言也应运而生。

纵观计算机发展历史,软件研发效率提升就是弥合现实世界和计算机二进制世界的鸿沟。从二进制编码到汇编,到 C 语言,到面向对象的 C++、Java。编程语言随着硬件的发展变得越来越接近人类语言,语法也越来越简练;本质上不同语言最终都是被翻译成计算机自己认识的机器程序来执行。从古老的 Fortran 到现在的 Java 或者 PHP,还有其他庞大的计算机语言家族,把这些语言抽象出共性来,那么基础的语言规则都是相同的。

在这样一个优秀编程语言百花齐放的时代,掌握多门编程语言无疑是一件必须要做的事情。学习一门语言的基本语法并无意义,但是这是你真正了解这门语言魅力的基石。语言无论其语法之间具备多大的差异性,从 Java、C 这样严谨的语言到 Ruby ,Python, JavaScript 这样想怎么写就怎么写的脚本语言,在学习一门语言时需要知道的基本知识却是大同小异。编程语言的两大要素分别是数据类型(字符,字符串,整形,浮点型,集合等)与操作类型(顺序,判断,选择,循环,分支等)。在下面的知识脑图中,我们会了解编程语言学习中通用的知识点。

mindmap

About

Copyright & More | 延伸阅读

笔者所有文章遵循 知识共享 署名-非商业性使用-禁止演绎 4.0 国际许可协议,欢迎转载,尊重版权。您还可以前往 NGTE Books 主页浏览包含知识体系、编程语言、软件工程、模式与架构、Web 与大前端、服务端开发实践与工程架构、分布式基础架构、人工智能与深度学习、产品运营与创业等多类目的书籍列表:

NGTE Books

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].