日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

悟透一個小竅門,你就能舉一反三掌握所有編程語言

來源: 責編: 時間:2024-05-21 17:34:30 288觀看
導讀當你程序員當久了,你會慢慢了解到,許多真 . 大佬都是編程語言通。他們在徹底掌握了一門語言之后,就能夠很自信的覺得自己能夠輕松掌握別的語言。這種能力可把許多人饞哭了,到底是怎么回事?為什么別人能夠輕松駕馭所有語言,

f7128資訊網——每日最新資訊28at.com

當你程序員當久了,你會慢慢了解到,許多真 . 大佬都是編程語言通。他們在徹底掌握了一門語言之后,就能夠很自信的覺得自己能夠輕松掌握別的語言。這種能力可把許多人饞哭了,到底是怎么回事?為什么別人能夠輕松駕馭所有語言,而我不行?f7128資訊網——每日最新資訊28at.com

有的人甚至會懷疑大佬們在吹牛,怎么可能會有這樣厲害的人。f7128資訊網——每日最新資訊28at.com

事實上,這種能力是真實存在的,因為我,一個小小的前端開發,就已經具備這個能力了。今天我跟大家分享一個小訣竅,讓你也能逐步擁有這個能力。f7128資訊網——每日最新資訊28at.com

首先我們要明確一個前提,大多數編程語言都是非常相似的,因此我們才能夠做到快速掌握別的語言,只是你可能還沒有感受到而已。f7128資訊網——每日最新資訊28at.com

所以這個竅門說穿了其實就非常簡單,要成為編程語言通,我們只需要找到他們的相似性,就可以了。f7128資訊網——每日最新資訊28at.com

我們可以把常用的編程語言分為兩個大類。f7128資訊網——每日最新資訊28at.com

先以我們最熟悉的 JavaScript 為代表,來觀察一下類似語言的語法。f7128資訊網——每日最新資訊28at.com

首先是 JavaScript。f7128資訊網——每日最新資訊28at.com

let a = 10function foo() {}for (let i = 0; i <= 10; i++) {}

然后是你可能沒學過的 go 語言。f7128資訊網——每日最新資訊28at.com

var a string = 'hello world'var b c int = 1, 2func main() {}

這個時候,如果你對 JS/TS 比較熟悉的話,你會發現神奇的事情,你居然看懂了沒有學過的語言。f7128資訊網——每日最新資訊28at.com

我們再來看一下 dart 語言,哎呀,糟糕,又看懂了。f7128資訊網——每日最新資訊28at.com

var x = 1;var hex = 0xDEADBEEF;var message = StringBuffer('Dart is fun');for (var i = 0; i < 5; i++) {  message.write('!');}

再來看看 Swift,哦豁,還能看得懂?f7128資訊網——每日最新資訊28at.com

/* 我的第一個 Swift 程序 */var myString = "Hello, World!" print(myString)let decimalInteger = 17           // 17 - 十進制表示let binaryInteger = 0b10001       // 17 - 二進制表示let octalInteger = 0o21           // 17 - 八進制表示let hexadecimalInteger = 0x11     // 17 - 十六進制表示func runoob(site: String) -> String {  return (site)}
import Cocoavar someInts:[Int] = [10, 20, 30]for var index = 0; index < 3; ++index {   print( "索引 [/(index)] 對應的值為 /(someInts[index])")}

這里有一個很有意思的事情就是,你輕松的發現了這些語言居然跟你學過的 JavaScript 擁有如此相似之處。f7128資訊網——每日最新資訊28at.com

所以 JavaScript 雖然在某種程度上被吐槽得非常多,各種缺點,但是很顯然,后來的許多語言的語法設計都參考了 JavaScript,學會了 JavaScript,實際上就代表你已經具備輕松掌握別的語言的能力。f7128資訊網——每日最新資訊28at.com

但是很多前端依然沒有這個自信,為什么呢?f7128資訊網——每日最新資訊28at.com

因為 JavaScript 是一個弱類型語言,它缺乏類型系統。f7128資訊網——每日最新資訊28at.com

因此,我們只需要進一步掌握 TS,就能成為某一類語言的語言通!f7128資訊網——每日最新資訊28at.com

這里我們要明確一個非常關鍵的信息,那就是以 TS 為代表的這一類語言,有一個非常明確的特征:類型后置。f7128資訊網——每日最新資訊28at.com

這類語言的語法設計通常會在聲明的前面給一個關鍵詞來表示當前我正在聲明一個變量,然后在變量后面明確該變量的類型。f7128資訊網——每日最新資訊28at.com

var a: string = 10

包括最近比較火熱的 rust 也是一門典型的類型后置的語言,不要騙我,你一定能讀懂下面這行代碼。f7128資訊網——每日最新資訊28at.com

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

而另外一類以 C 語言為代表的語言,它也有一個非常明確的特征:類型前置。f7128資訊網——每日最新資訊28at.com

int x = 10;         // 整型變量 x 初始化為 10float pi = 3.14;    // 浮點型變量 pi 初始化為 3.14char ch = 'A';      // 字符型變量 ch 初始化為字符 'A'extern int d = 3, f = 5;    // d 和 f 的聲明與初始化int d = 3, f = 5;           // 定義并初始化 d 和 fbyte z = 22;                // 定義并初始化 zint max(int num1, int num2) {  /* 局部變量聲明 */  int result;  if (num1 > num2) {    result = num1;  } else {    result = num2;  }  return result; }

如果你沒有學過 C 語言的話,你會覺得 C 語言的代碼讀起來理解難度會高一點。這是正常的。因為類型前置的理解成本會高很多。我們需要閱讀到后面才能知道這一行代碼在干什么。f7128資訊網——每日最新資訊28at.com

因此新出的語言都是采用類型后置的設計方式,JavaScript 能夠流行起來,很大一部分原因是因為在 C 系語言稱霸的時候,找到了學習成本更低的語法設計。f7128資訊網——每日最新資訊28at.com

著名的 Java 也是一門典型的類型前置的語言。類型前置理解困難還在于面向對象中,經常會出現自定義的類型,例如在 Java 代碼中這種類型的句式非常常見。f7128資訊網——每日最新資訊28at.com

Puppy myPuppy = new Puppy( "tommy" );

對比一在 js 中的理解難度。f7128資訊網——每日最新資訊28at.com

var myPuppy = new Puppy( "tommy" )

我們會發現,同樣的代碼用 js 理解起來要簡單得多。f7128資訊網——每日最新資訊28at.com

語言通的大佬們,敏銳的發現了這個區別:類型前置與類型后置。除此之外,所有的語言都具備高度的相似性。f7128資訊網——每日最新資訊28at.com

當你沒有發現這個區別,只會 JS 的你,去學習 C++ 你會特別痛苦,因為你感覺差異太大了。但是當你悟透了類型前置與后置的區別之后,學習難度就會神奇的降低特別多。來感受一下這段代碼,看能搞得懂不。f7128資訊網——每日最新資訊28at.com

#include <iostream>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 << "Box1 的體積:" << volume <<endl;    // box 2 的體積   volume = Box2.height * Box2.length * Box2.breadth;   cout << "Box2 的體積:" << volume <<endl;     // box 3 詳述   Box3.set(16.0, 8.0, 12.0);    volume = Box3.get();    cout << "Box3 的體積:" << volume <<endl;   return 0;}

有沒有感覺其實你是看得懂的?是不是變簡單了?f7128資訊網——每日最新資訊28at.com

一、類型與類型推導

在不同的語言中,對類型的設計有細微的差異,例如數字有的語言是 int ,有的語言是 number,有的語言還有 bigInt,字符串有的語言直接就是 string,有的語言里還有 char。因此我們學習的時候要花一點點時間去區分不同的類型細節,在 rust 語言中,因為對內存分配敏感,因此光是整型,都有好幾種類型。f7128資訊網——每日最新資訊28at.com

let x: u8 = 2let y: u16 = 15

你還需要了解有符號整型,無符號整型,浮點型等細節,學習成本非常低。f7128資訊網——每日最新資訊28at.com

除此之外呢,許多前端沒把類型編程掌握好。例如在 TS 中,我們引入了類型機制,并且開始有泛型。很多人就懵掉了。不過沒關系,我們只需要幾分鐘就能掌握它。f7128資訊網——每日最新資訊28at.com

在現代語言中,由于類型自動推導開始越來越成熟,因此許多語言會在聲明的時候巧妙利用類型推導機制省略具體類型的聲明,所以你單看下面的代碼,你都不敢說我到底寫的是哪門語言。f7128資訊網——每日最新資訊28at.com

var a = 10

因此我們在學習 TS 的時候,一定要把類型推導徹底掌握透徹,他是你成為語言通的關鍵。f7128資訊網——每日最新資訊28at.com

二、兩種不同的開發范式

目前有兩種主流的開發范式,函數式編程與面向對象編程。由于各自的特殊原因,就導致了許多前端可能會對面向對象編程非常的陌生,對函數式編程會稍微親近一些f7128資訊網——每日最新資訊28at.com

但是作為一個語言通,不懂面向對象編程肯定是嚴重偏科的,這會極大的影響你的進步,比如許多前端可能就不懂重載,多態等基礎概念。f7128資訊網——每日最新資訊28at.com

不過這個時候,我們也能發現前端有一個天然的優勢,那就是后端其實需要函數式編程的場景到目前為止來看并不多,許多后端開發并沒有機會接觸函數式編程,因此大多數后端也是偏科的f7128資訊網——每日最新資訊28at.com

三、TS 的先進性

在類型編程中,縱觀整個編程語言界,TS 的類型推導都算的上是最強大和最先進的。我們搞前端的要有這種技術自信,這非常關鍵。f7128資訊網——每日最新資訊28at.com

之所以會出現這種局面是因為前端面臨的類型問題更為復雜。當然現在由于發展得太過頭了,類型體操反而成為了許多人厭棄 TS 的原因。我們只需要在使用的時候自己稍微克制一下,就能很好的發揮 TS 的長處。他的優秀毋容置疑。f7128資訊網——每日最新資訊28at.com

四、總結

我們可以將編程語言分為類型前置與類型后置,除此之外,編程語言其實就長得差不多了。f7128資訊網——每日最新資訊28at.com

在類型后置語言中,JavaScript 是一門經得起時間考驗的設計語言,他先進的語法設計引領了整個編程語言界,因此,深入掌握 JS + TS ,結合本文的小竅門,我們搞前端的就能夠輕松成為編程界的語言通。f7128資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-89721-0.html悟透一個小竅門,你就能舉一反三掌握所有編程語言

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 京東面試:如何進行JVM調優?

下一篇: 解鎖生產力,七個必備的IntelliJ IDEA插件

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
一区二区三欧美| 狠狠色综合网| 欧美片第1页综合| 欧美精品入口| 国产精品va在线播放| 国产九色精品成人porny| 国产尤物精品| 亚洲人成7777| 亚洲理论在线观看| 午夜精品三级视频福利| 久久一区二区三区国产精品 | 欧美一区二区视频97| 久久综合九色综合欧美就去吻| 极品尤物av久久免费看| 在线欧美视频| 亚洲视频久久| 久久久久www| 欧美日韩国产页| 国产一级揄自揄精品视频| 亚洲国产精品成人精品| 亚洲午夜日本在线观看| 久久久精品网| 欧美日韩一区二区三区在线观看免| 欧美性猛交视频| 黄色日韩网站视频| 日韩午夜免费视频| 久久久777| 欧美视频你懂的| 尤物九九久久国产精品的分类| 日韩视频在线免费观看| 欧美亚洲一区二区在线| 欧美激情精品久久久久久久变态 | 在线免费观看日韩欧美| 亚洲小视频在线| 蜜乳av另类精品一区二区| 欧美三级不卡| 1769国内精品视频在线播放| 亚洲欧美国产77777| 欧美国产日韩a欧美在线观看| 国产精品久久中文| 亚洲欧洲在线看| 欧美一区二区三区在线看| 欧美日本高清| 亚洲成人在线免费| 午夜亚洲视频| 欧美日韩在线三区| 亚洲欧洲一区| 久久免费精品视频| 国产精品美女黄网| 亚洲精品日韩在线| 久久亚洲影音av资源网| 国产精品视频久久一区| 日韩一区二区福利| 免费日韩av电影| 国内精品一区二区三区| 亚洲欧美日韩爽爽影院| 欧美日韩国产小视频| 亚洲国产精品久久久久秋霞蜜臀| 亚洲一区二区在线视频| 欧美经典一区二区| 亚洲国产精品久久久久秋霞影院| 欧美一区二区私人影院日本| 欧美午夜一区| 亚洲精品视频免费观看| 另类天堂av| 国产在线视频欧美一区二区三区| 在线视频欧美精品| 欧美久久久久中文字幕| 亚洲高清在线观看| 久久嫩草精品久久久精品一| 国产一区二区成人| 欧美综合国产| 国产日韩欧美不卡| 性伦欧美刺激片在线观看| 欧美性大战xxxxx久久久| 亚洲最黄网站| 欧美日韩高清一区| 日韩午夜在线| 欧美理论电影在线播放| 在线观看欧美成人| 久久久久免费视频| 好看的亚洲午夜视频在线| 久久精品视频99| 国内一区二区三区在线视频| 欧美影片第一页| 国产亚洲福利社区一区| 欧美中文在线观看| 激情欧美日韩| 蜜臀va亚洲va欧美va天堂| 亚洲高清免费在线| 欧美激情久久久久| 99国产精品| 国产精品海角社区在线观看| 亚洲欧美国产不卡| 国产色综合久久| 久久久久久黄| 精品动漫3d一区二区三区| 蜜桃视频一区| 日韩亚洲不卡在线| 国产精品久久久久9999| 性做久久久久久| 一区二区三区在线免费观看| 麻豆精品精华液| 亚洲精品乱码久久久久久| 欧美日韩视频在线一区二区| 亚洲一区欧美| 国产日韩欧美在线播放不卡| 欧美在线你懂的| 一区在线视频观看| 欧美国产精品日韩| 亚洲无人区一区| 国产午夜精品在线观看| 久久综合亚洲社区| 99国产精品久久久久老师| 国产精品理论片| 久久久999成人| 最新国产乱人伦偷精品免费网站| 欧美激情在线| 亚洲一区二区三区国产| 国产一区二区av| 欧美成人日韩| 亚洲一区在线看| 黄色国产精品一区二区三区| 欧美极品影院| 小黄鸭精品aⅴ导航网站入口| 韩国av一区二区三区四区| 欧美成在线观看| 亚洲少妇中出一区| 国产一区二区三区精品久久久| 久久久噜噜噜久久久| 日韩一区二区精品葵司在线| 国产欧美一区二区三区沐欲| 欧美大色视频| 亚洲免费一区二区| 亚洲国产婷婷| 国产精品亚洲不卡a| 欧美bbbxxxxx| 亚洲欧美日韩国产综合| 亚洲国产小视频| 国产精品一区二区三区四区五区| 久久精品成人| 99精品久久久| 国内精品嫩模av私拍在线观看 | 午夜视频一区| 亚洲国产成人av| 国产精品久久久久婷婷| 麻豆91精品| 亚洲欧美中文日韩v在线观看| 精品动漫av| 国产精品草莓在线免费观看| 另类综合日韩欧美亚洲| 欧美午夜三级| 蜜臀久久99精品久久久久久9| 一区二区三区视频在线| 精品二区视频| 国产精品人人做人人爽人人添| 久久亚洲欧洲| 亚洲欧美日本在线| 亚洲美女视频在线观看| 韩国av一区| 国产精品伊人日日| 欧美人与性动交α欧美精品济南到| 欧美一区二区免费视频| 亚洲裸体俱乐部裸体舞表演av| 国产日韩高清一区二区三区在线| 欧美成人激情视频免费观看| 欧美一区二区久久久| 一片黄亚洲嫩模| 亚洲欧洲日本专区| 黄色亚洲免费| 国产欧美一区二区三区久久人妖| 欧美精品色综合| 久久综合图片| 欧美一区二区黄| 亚洲综合色在线| 在线视频精品一区| 亚洲精品国精品久久99热| 在线观看福利一区| 极品日韩av| 国产一区在线免费观看| 国产精品你懂得| 欧美视频二区| 欧美精品一区二区三区一线天视频| 久久久久五月天| 久久国产精品一区二区| 亚洲一区二区在线播放| 在线视频中文亚洲| 日韩视频欧美视频| 亚洲精品国产精品乱码不99按摩| 黄色一区二区三区| 国内自拍一区| 国产一区二区三区久久久久久久久 | 在线观看亚洲一区| 国产一区二区三区高清播放| 国产伦精品一区二区三区| 国产精品久久久久免费a∨大胸 | 媚黑女一区二区| 久久免费视频观看| 久久米奇亚洲| 久久久综合网站| 久久免费精品视频| 久久综合狠狠综合久久激情| 久久久综合视频| 久久资源av|