悟透一个小窍门,你就能举一反三掌握所有编程语言

2024年 5月 21日 73.8k 0

悟透一个小窍门,你就能举一反三掌握所有编程语言-1

当你程序员当久了,你会慢慢了解到,许多真 . 大佬都是编程语言通。他们在彻底掌握了一门语言之后,就能够很自信的觉得自己能够轻松掌握别的语言。这种能力可把许多人馋哭了,到底是怎么回事?为什么别人能够轻松驾驭所有语言,而我不行?

有的人甚至会怀疑大佬们在吹牛,怎么可能会有这样厉害的人。

事实上,这种能力是真实存在的,因为我,一个小小的前端开发,就已经具备这个能力了。今天我跟大家分享一个小诀窍,让你也能逐步拥有这个能力。

首先我们要明确一个前提,大多数编程语言都是非常相似的,因此我们才能够做到快速掌握别的语言,只是你可能还没有感受到而已。

所以这个窍门说穿了其实就非常简单,要成为编程语言通,我们只需要找到他们的相似性,就可以了。

我们可以把常用的编程语言分为两个大类。

先以我们最熟悉的 JavaScript 为代表,来观察一下类似语言的语法。

首先是 JavaScript。

let a = 10

function foo() {}

for (let i = 0; i  String {
  return (site)
}
import Cocoa

var someInts:[Int] = [10, 20, 30]

for var index = 0; index < 3; ++index {
   print( "索引 [\(index)] 对应的值为 \(someInts[index])")
}

这里有一个很有意思的事情就是,你轻松的发现了这些语言居然跟你学过的 JavaScript 拥有如此相似之处。

所以 JavaScript 虽然在某种程度上被吐槽得非常多,各种缺点,但是很显然,后来的许多语言的语法设计都参考了 JavaScript,学会了 JavaScript,实际上就代表你已经具备轻松掌握别的语言的能力。

但是很多前端依然没有这个自信,为什么呢?

因为 JavaScript 是一个弱类型语言,它缺乏类型系统。

因此,我们只需要进一步掌握 TS,就能成为某一类语言的语言通!

这里我们要明确一个非常关键的信息,那就是以 TS 为代表的这一类语言,有一个非常明确的特征:类型后置。

这类语言的语法设计通常会在声明的前面给一个关键词来表示当前我正在声明一个变量,然后在变量后面明确该变量的类型。

var a: string = 10

包括最近比较火热的 rust 也是一门典型的类型后置的语言,不要骗我,你一定能读懂下面这行代码。

fn main() {
  let x = 5;
  println!("The value of x is: {x}");
  x = 6;
  println!("The value of x is: {x}");
}

而另外一类以 C 语言为代表的语言,它也有一个非常明确的特征:类型前置。

int x = 10;         // 整型变量 x 初始化为 10
float pi = 3.14;    // 浮点型变量 pi 初始化为 3.14
char ch = 'A';      // 字符型变量 ch 初始化为字符 'A'
extern int d = 3, f = 5;    // d 和 f 的声明与初始化
int d = 3, f = 5;           // 定义并初始化 d 和 f
byte z = 22;                // 定义并初始化 z

int max(int num1, int num2) {
  /* 局部变量声明 */
  int result;

  if (num1 > num2) {
    result = num1;
  } else {
    result = num2;
  }
  return result; 
}

如果你没有学过 C 语言的话,你会觉得 C 语言的代码读起来理解难度会高一点。这是正常的。因为类型前置的理解成本会高很多。我们需要阅读到后面才能知道这一行代码在干什么。

因此新出的语言都是采用类型后置的设计方式,JavaScript 能够流行起来,很大一部分原因是因为在 C 系语言称霸的时候,找到了学习成本更低的语法设计。

著名的 Java 也是一门典型的类型前置的语言。类型前置理解困难还在于面向对象中,经常会出现自定义的类型,例如在 Java 代码中这种类型的句式非常常见。

Puppy myPuppy = new Puppy( "tommy" );

对比一在 js 中的理解难度。

var myPuppy = new Puppy( "tommy" )

我们会发现,同样的代码用 js 理解起来要简单得多。

语言通的大佬们,敏锐的发现了这个区别:类型前置与类型后置。除此之外,所有的语言都具备高度的相似性。

当你没有发现这个区别,只会 JS 的你,去学习 C++ 你会特别痛苦,因为你感觉差异太大了。但是当你悟透了类型前置与后置的区别之后,学习难度就会神奇的降低特别多。来感受一下这段代码,看能搞得懂不。

#include 

using namespace std;

class Box
{
public:
double length; // 长度
double breadth; // 宽度
double height; // 高度
// 成员函数声明
double get(void);
void set( double len, double bre, double hei );
};
// 成员函数定义
double Box::get(void)
{
return length * breadth * height;
}

void Box::set( double len, double bre, double hei)
{
length = len;
breadth = bre;
height = hei;
}
int main( )
{
Box Box1; // 声明 Box1,类型为 Box
Box Box2; // 声明 Box2,类型为 Box
Box Box3; // 声明 Box3,类型为 Box
double volume = 0.0; // 用于存储体积

// box 1 详述
Box1.height = 5.0;
Box1.length = 6.0;
Box1.breadth = 7.0;

// box 2 详述
Box2.height = 10.0;
Box2.length = 12.0;
Box2.breadth = 13.0;

// box 1 的体积
volume = Box1.height * Box1.length * Box1.breadth;
cout

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论