聊聊最强语言?ts、tsx、js、jsx等每种编程语言都有其核心产品和特性

33 阅读4分钟

预计阅读时间:约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 等等,这些产品让它们在各自的领域大放异彩。