前后端ts、tsx、js、jsx 每种编程语言都有其核心产品

风之吻 网站开发 228

  在互联网时代,各种编程语言如雨后春笋般涌现,但如果一门语言缺乏明确的定位,最终只能昙花一现。接下来,我将总结一些流行的编程语言及其各自擅长的领域。

前后端ts、tsx、js、jsx 每种编程语言都有其核心产品-第1张图片-风享汇

  静态类型语言(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 → 统计分析

  后端核心语言: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 等等,这些产品让它们在各自的领域大放异彩。

标签: JS

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~