语言
常见语言
C\C++:祖师爷,高性能,经久不衰,行业根基。
Java:跨平台虚拟机,安全,教学就业主力军,繁琐。
JavaScript:基于原型链的异类,靠浏览器起家,前后端通吃,可通过Electron渗透桌面端,用Ionic、React Native渗透移动端。
TypeScript:JavaScript的超集,强类型,可编译成JS,代码逻辑更清晰。
NodeJS:服务端JavaScript,内置JS引擎,nvm版本管理,npm包管理。
Python:万能胶水,简单易用,靠科研起家。
PHP:大象牌工具箱,功能齐全,适合Web敏捷开发,不适合做底层。
Go:高吞吐,现代化,简单高效,支持C混编、WebAssembly,上限高。
Lua:轻量,嵌入式胶水。
Kotlin:多平台全能,JetBrains推出,前后端通吃,还支持移动端,可编译成Java字节码、JavaScript或二进制。
Dart:谷歌针对客户端设计的语言,想取代JavaScript,通过Flutter 3支持iOS、Android、Web、Windows、macOS、Linux 六大平台。
Ruby:Mac自带脚本,rvm版本管理,gem包管理。
Rust:高效、可靠,兼顾开发与执行效率,生态成熟度不如go,支持WebAssembly。
数据类型
Python3
- Number(数字):int、float、bool、complex
- String(字符串)
- List(列表)
- Tuple(元组):不能修改的列表
- Set(集合)
- Dictionary(字典):键值映射类型
不可变:Number(数字)、String(字符串)、Tuple(元组);
可变:List(列表)、Dictionary(字典)、Set(集合)。
Java
基本数据类型
- byte:等同于int8
- short:int16
- int:int32
- long:int64
- float:float32
- double:float64
- boolean
- char:单一的16位Unicode字符
- 数组:用来存储固定大小的同类型元素
高级数据结构
字符串:基于String类创建,属于对象
枚举 Enumeration
位集合 BitSet
向量 Vector
栈 Stack
字典 Dictionary
哈希表 Hashtable
属性 Properties
ArrayList:可以动态修改的数组
链表 LinkedList
HashMap:键值散列表
HashSet:基于HashMap实现,不允许有重复元素的集合
迭代器 Iterator:用于访问集合的方法,可用于迭代 ArrayList 和 HashSet 等集合。
泛型:多种类型组合。
Dart 内建类型(万物皆对象)
- Number
- String
- Boolean
- List (也被称为 Array)
- Map
- Set
- Rune (用于在字符串中表示 Unicode 字符)
- Symbol(标识符)
领先领域
C/C++
在老牌底层服务领域地位稳固
Linux:著名操作系统
Git:分布式版本控制系统
Mysql:最流行的关系型数据库
Redis:高性能key-value数据库
Memcached:较高性能key-value数据库
MongoDB:基于分布式文件存储的NoSQL数据库
PHP(源码):世界上最好的语言
Python(源码):科学、AI、爬虫
Java
在大数据基础设施领域拥有完整体系
ElasticSearch:搜索引擎
RocketMQ:消息队列
Kafka:高性能分布式消息系统
Flink:实时流处理框架
Hadoop:分布式计算框架
MapReduce:并行计算框架
HBase:分布式NoSQL列式数据库
Hive:数据仓库
Zookeeper:分布式协调服务
Go
在云原生等新兴领域占据了位置
Go(自举):高吞吐的现代语言
Docker:容器
Kubernetes:集群
Prometheus:监控
Etcd:配置中心
Consul:微服务架构
Kratos:Bilibili推出的微服务架构
InfluxDB:时序数据库