技术栈分类
目录
linux系统与win系统区别
百度。
win开发和linux开发的区别
核心 API 标准与系统哲学
Windows: 依赖于 Win32 API (Windows API),这是微软专有、基于 句柄 (Handle) 的系统接口。设计哲学是 高度向后兼容性 和 统一的桌面体验。
Linux: 遵循 POSIX 标准 和 BSD Sockets,基于 文件描述符 (File Descriptor, FD)。设计哲学是 开放性、灵活性 和 “一切皆文件”。
底层并发与网络模型
Windows: 使用 Win32 线程 和专有的 Winsock 进行网络通信。高级 I/O 模型依赖于 I/O 完成端口 (IOCP),实现高性能异步操作。
Linux: 使用标准的 Pthreads (POSIX Threads) 进行多线程编程,网络通信采用 BSD Sockets。高级 I/O 模型依赖于 epoll / select / poll 等系统调用。
开发环境与生态
Windows: 主流工具是 Visual Studio 和 .NET 平台 (C#),生态系统强大且集成度高,尤其适合桌面应用和游戏开发。
Linux: 主流工具是 GCC/Clang 编译套件和命令行工具链 (如 GDB, Make),通过 APT/YUM 等包管理器管理库,是系统编程、服务器和高性能计算的首选。
核心 API 对比
| 特性 | Windows 开发 | Linux 开发 |
|---|---|---|
| 主导 API 标准 | Win32 API (或称 Windows API) | POSIX (Portable Operating System Interface) |
| 线程/并发 | Win32 API 中的线程和同步原语 | Pthreads (POSIX Threads) 库 |
| 网络编程 | Winsock (Windows Sockets) API | BSD Sockets API |
| 文件 I/O | 基于 句柄 (Handle) | 基于文件描述符 (File Descriptor,FD) |
| 动态库 | DLL (Dynamic Link Library) 文件 | Shared Objects (.so) 文件 |
技术栈分类标准(按照业务类型分类)
- 高并发/普通的后端服务(服务器端)适合开发 API、Web 服务、大流量业务:
| 类型 | 技术栈 | 说明 |
|---|---|---|
| 高性能、高并发 | C++ / Go | C++:极高性能、高并发网关、数据库内核、车载通信等;Go:现代云原生、微服务 |
| 企业级通用 | Java / Go | Java是企业级后端主力军,Go 越来越多 |
| 快速开发 | Python(Django/FastAPI) / Node.js | 需求变动快、开发速度优先,原型最多 |
- Web 前端开发,用于浏览器端 UI:
- HTML / CSS / JavaScript
- Vue / React / Svelte / Angular
- TypeScript(现代前端几乎标配)
移动端开发(Android / iOS)
- Android:
- 早期:Java
- 主流:Kotlin(谷歌官方推荐)
- iOS:
- 早期:Objective-C
- 主流:Swift
嵌入式开发 / 单片机 / 物联网
- C(绝对主流)
- C++(较复杂嵌入式系统,RTOS、车载、ROS)
- Rust(新兴,但在 MCU 上使用逐渐增多)
- Windows 桌面应用程序开发
| 技术栈 | 场景 |
|---|---|
| C# (.NET WPF/WinForms/UWP/WinUI) | 最主流的 Windows 原生开发 |
| C++ + Qt / Win32 | 高性能、跨平台需求 |
| Electron / Tauri | 用前端技术开发桌面应用 |
- 脚本开发(逻辑简单、工作量大)
适合 ETL、批处理、自动化任务、数据处理:
常用脚本语言:
- Python(数据量大、逻辑简单、任务繁琐)
- Shell(Linux 自动化运维)
- PowerShell(Windows 自动化)
- 其他
| 业务场景 | 说明 | 技术栈 |
|---|---|---|
| 游戏开发 | 引擎开发、客户端、服务端、工具等 | Unity(C#),Unreal Engine(C++)Cocos(TypeScript) |
| 数据工程 | 数据仓库/数据处理/ETL | Python(Pandas)、Java / Scala(Spark)、SQL |
| 人工智能 / 深度学习 | / | PyTorch / TensorFlow,C++(推理引擎)、CUDA、ONNX,Rust(AI 工具新趋势) |
| DevOps / 运维工程 | 自动化部署、CI/CD、容器化 | Shell、Python,Ansible、Terraform、K8s、Docker,Go(大量云原生工具用 Go 写) |
| 区块链开发 | 智能合约、链开发、跨链系统 | Solidity、Rust、Go、JavaScript,以太坊 / Solana / Cosmos |
| 安全类业务(渗透/审计/逆向) | / | C / C++ / 汇编 / IDA / Ghidra,Python |
| 云计算 & 分布式系统 | 涉及海量数据、高并发、分布式一致性 | Go(云原生主力),Java(分布式框架多),C++(高性能分布式服务),Rust(新一代分布式系统) |
| 网络编程 / 通信协议 | / | C++、C、Rust、Go,TCP/UDP、MQTT、WebSocket,fpga |
| 多媒体(音视频编码) | / | C/C++(主流),FFmpeg,WebRTC |
linux开发环境搭建
wsl2/vmware + vscode + remote ssh插件 + 对应语言插件 + linux版本对应语言编译器
wsl2参考:https://blog.csdn.net/weixin_44301630/article/details/122390018