预计阅读时间:约4分钟,相当于你生命的0.000010%
大家好,我是程序员500佰,技术宅男
目前正在前往独立开发路线,我会在这里分享关于编程技术
、独立开发
、技术资讯
以及编程感悟
等内容。 如果本文能给你提供启发和帮助,还请留下你的一健三连,给我一些鼓励,谢谢
代表作:《funrice》
本文直切重点 无文字累赘
今日来聊聊 各种开发语言特性
在互联网时代,各种编程语言如雨后春笋般涌现,但如果一门语言缺乏明确的定位,最终只能昙花一现。接下来,我将总结一些流行的编程语言及其各自擅长的领域
静态类型语言(Statically typed languages):
- C → linux系统内核、嵌入式系统
面向过程
追求极致性能
- C++ → 底层系统编程、游戏引擎
多范式(过程+面向对象)
- C# → 运行在微软平台上的企业级应用开发
纯面向对象
- Rust → 安全的底层系统编程、替代C/C++的高性能开发
内存安全的系统语言
- Java → 企业级应用开发、Android移动应用开发
跨平台
纯面向对象
- Cobol → 老旧但仍在使用的商业应用系统,主要用于银行、保险等领域的主机系统
- Go → 高性能服务器、微服务架构、云基础设施开发 比如
结构体
,接口
,切片
,指针
,并发
等等符合人性化设计的开发语言
高并发微服务
- Swift → 开发苹果系统(如iOS、macOS)上的应用程序
现代移动开发
- Flutter→ 可以用一套代码同时构建 iOS、Android、Web、桌面(Windows/macOS/Linux)应用
- electron→用于使用 Web 技术(HTML、CSS 和 JavaScript)来构建跨平台的桌面应用程序
桌面程序
动态类型语言(Dynamically typed languages):
- Python → 科学计算和机器学习 胶水语言与快速原型
- Julia → 数学 / 科学计算
- Fortran → 数学 / 科学计算
- Matlab → 数学 / 科学计算
- JavaScript → Web 前端开发
- React→用于构建用户界面的 JavaScript 库 JavaScript 的超集,添加了静态类型系统
- TypeScript → Web 前端开发
- Ruby → Web 后端开发
- PHP → Web 后端开发
- Lua → 嵌入到其他语言中使用
- R → 统计分析
~~ ps: 以上语言 还有没有缺失的?~~
下面是前后端核心语言特地介绍(报道)
后端核心语言:Go 与 Java
Go
编译方式: 直接编译为机器码 , 运行时: 无虚拟机,静态链接 ,内存管理:自动 GC(更简单),启动速度:极快(适合微服务)
Java
编译为字节码,运行在 JVM 上, 需要 JVM 环境 ,自动 GC(可调优更复杂),较慢(JVM 预热问题)
前端核心框架:Bun 和 Node.js
有一种 TypeScript 和 JavaScript 的感觉,前者是后者的超集,同时也进一步提供了很多更好用,更实用的功能
前端核心语言:TypeScript 与 JavaScript
ts、tsx、js、jsx有什么区别?
让我为一一解释这些文件扩展名的区别:
.js (JavaScript)
- 最基本的 JavaScript 文件扩展名
- 用于编写纯 JavaScript 代码
- 不支持类型检查
-
栗如:
function add(a, b) { return a + b; }
.jsx (JavaScript XML)
- 用于 React 应用程序中的 JavaScript 文件
- 允许在 JavaScript 代码中直接编写 HTML 类似的标记语言
- 不支持类型检查
-
栗如:
function Welcome() { return <h1>Hello, World!</h1>; }
.ts (TypeScript)
- 纯 TypeScript 文件扩展名
- 提供静态类型检查
-
不能包含 JSX 语法
-
栗如:
function add(a: number, b: number): number { return a + b; }
.tsx (TypeScript XML)
- 用于 React 应用程序中的 TypeScript 文件
- 结合了 TypeScript 的类型检查和 JSX 的语法
-
最严格的类型检查
-
栗如:
interface Props { name: string; } function Welcome({ name }: Props) { return <h1>Hello, {name}!</h1>; }
区别总结:
.js 和 .jsx 的区别
:
.jsx 专门用于包含 JSX 语法的 React 组件
.js 用于普通 JavaScript 代码
.ts 和 .tsx 的区别:
.tsx 专门用于包含 JSX 语法的 TypeScript 组件
.ts 用于纯 TypeScript 代码
TypeScript (.ts/.tsx) 和 JavaScript (.js/.jsx) 的区别:
TypeScript 提供静态类型检查
TypeScript 支持接口、泛型等高级特性
TypeScript 需要编译成 JavaScript 才能运行
TypeScript 提供更好的 IDE 支持和代码提示
以上开发语言 总结不算完整,整体为核心要点吧
当然,这样的领域划分可能显得过于粗略,但根据我的经验,如果在不适合的领域使用某种编程语言,开发过程会变得异常艰难,甚至在实际应用中难以实现。就是是个猴子去敲键盘,也能把代码敲出来,一万年不行就一亿年,你不要忘记,宇宙中地球上的人类是怎么诞生的,这个概率不也挺小的,但是,他却是事实。
除了各自的专业领域,这些语言还拥有一些现象级的产品,例如:JAVA 的 Spring、Hadoop、Android,Go 的 Docker、Kubernetes,PHP 的 WordPress,Ruby 的 Ruby on Rails 等等,这些产品让它们在各自的领域大放异彩。