現(xiàn)在每個人都在學習編寫軟件龙巨。這意味著每一所學校渺尘、MOOC和培訓網(wǎng)站都需要為年輕的學徒們接受第一語言梁只。有些地方缚柳,如腐朽的哈佛,仍然依附于70年代C期但許多學校在JavaScript之間搖擺不定搪锣,Python秋忙,以及爪哇。一個是埋沒在每一個瀏覽器中构舟,一個是社會科學的干凈選擇翰绊,另一個是更有數(shù)學頭腦的人的類型豐富的偏好。
是最好的選擇嗎?其中一個明顯比另一個好嗎监嗜?或者他們都同樣有可能在晚上把大量的學生送到枕頭里尖叫?讓我們研究學習Java抡谐、Python或JavaScript的最佳理由裁奇。
Java是經(jīng)典的
高級布局測試很久以前就選擇了Java,那時Java還很年輕麦撵,而且還在蓬勃發(fā)展刽肠。也許Java從未達到其最初發(fā)展軌跡的頂峰,當時每個人似乎都認為Java將完全占據(jù)主導地位免胃,但它仍然是許多網(wǎng)站和智能手機的支柱音五。選擇一種跟隨能力強的語言,可以讓學生趕上已經(jīng)有了大量先進開發(fā)工具的潮流羔沙。此外躺涝,有數(shù)百億行開放源代碼,學生可以學習扼雏、修改和擴展自己的工作坚嗜。他們加入了一個大的運動,他們很容易適應诗充。
Python是新的
事實上苍蔬,Python并不是那么新的-這個項目大約30年前就開始了-但是它感覺很新,因為它的成功來得很慢蝴蜓。直到最近碟绑,Python才出現(xiàn),并被普通程序員廣泛采用茎匠。新鮮感意味著接受Python的學校正在創(chuàng)建新的課程計劃格仲,編寫新的考試,以及開發(fā)新的幻燈片汽抚。他們并沒有挖掘上世紀90年代的一些塵埃落定的老問題抓狭,而是引用Pets.com和MySpace。新的可能是膚淺的造烁,但所有的語言只是一些聰明的語法否过,隱藏了如果-然后-否則的決定結構的匯編代碼。
JavaScript無處不在
它在瀏覽器中惭蟋,瀏覽器是你的桌面苗桂,你的手機,以及你隨處可見的所有這些信息亭的基礎告组。在過去的十年里煤伟,JavaScript已經(jīng)占領了Web服務器的第一線,因為Node.js Web應用程序成為開發(fā)人員編寫“同構代碼”的最流行方式,這些代碼既可以在客戶機上運行便锨,也可以在服務器場上運行围辙。JavaScript與Java的歷史幾乎是一樣的,但是服務器端人員花了很多年才發(fā)現(xiàn)它的強大功能放案。它是新的和舊的同時。
Java是類型化的
您可能不喜歡花費時間來指定每個變量的類型吱殉,但單擊三個鍵將“int”添加到代碼中并不需要那么多時間。當你這樣做的時候友雳,你獲得了所有的力量,讓編譯器重復檢查你的代碼押赊,并在部署之前發(fā)現(xiàn)愚蠢的錯誤饺藤。類型檢查語言迫使我們對代碼中的邏輯進行更嚴格的思考考杉,這對于新程序員來說是一個重要的教訓。Java的類型結構減少了bug并構建了更好的代碼崇棠。
Python沒有輸入
類型化語言愛好者是聰明的咽袜,他們編寫了很好的代碼,但是如果您認為您的代碼足夠好枕稀,可以在沒有關于每個變量的數(shù)據(jù)類型的額外信息的情況下順利運行询刹,那么Python已經(jīng)為您做好了準備。當您將數(shù)據(jù)存儲在變量中時萎坷,計算機可以計算出數(shù)據(jù)的類型凹联。為什么為自己做額外的工作?
JavaScript兩者都是
JavaScript本身是非類型化的哆档,但是最近JavaScript世界的一些高調(diào)成員已經(jīng)轉向了類型記錄蔽挠,這是一種原始語言的超集,它使您能夠在需要時設置類型瓜浸。如果您不想這樣做澳淑,那么普通的JavaScript也會運行得很好。這是一個輕松版本的類型檢查插佛。
Java規(guī)則設備
世界上最受歡迎的手機平臺是Android杠巡,這是一個建立在Java之上的龐大的代碼棧。但那只是最顯眼的平臺雇寇。機頂盒氢拥,新Chromebook蚌铜,甚至一些臺式機運行Android應用程序,就像智能手機一樣嫩海。Java的近親C#主宰著Windows世界冬殃。如果要為固定的硬件編寫應用程序,那么Java很有可能是最好的選擇出革。
Python規(guī)則數(shù)據(jù)科學
如果您正在編寫處理數(shù)據(jù)的軟件造壮,那么很有可能要使用Python。這種簡單的語法吸引了許多科學家骂束,而且在全國各地的實驗室里,這種語言都有很強的擁躉〕审铮現(xiàn)在展箱,數(shù)據(jù)科學已經(jīng)在商業(yè)世界的所有層中站穩(wěn)腳跟,Python緊隨其后蹬昌。
創(chuàng)建和共享交互式文檔的最佳發(fā)明之一混驰,木星筆記本,在接受其他語言之前皂贩,就從Python社區(qū)開始栖榨。這是將軟件、數(shù)據(jù)和文本混合在一起的最佳方法之一明刷,它解釋了正在發(fā)生的事情婴栽。讀者可以吸收單詞,然后按下按鈕對數(shù)據(jù)運行軟件辈末。
JavaScript控制網(wǎng)絡
其他平臺可能不錯愚争,但網(wǎng)絡瀏覽器仍然是幾乎每個人都用來與世界聯(lián)系的門戶。它通常是桌面挤聘、智能手機和平板電腦上使用最多的軟件轰枝。JavaScript最初是這個本地客戶機的老板组去,隨著Node.js的增長,它的影響擴展到了完全的支配地位诚撵,使開發(fā)人員更容易在客戶機和服務器上運行相同的代碼广料。
即使在其他語言占主導地位的世界里,JavaScript也會以自己的方式進入堆棧韧衣。許多智能手機開發(fā)人員正在跳過Java和SWIFT,用JavaScript創(chuàng)建他們的跨平臺應用程序氏淑。畢竟硕噩,JavaScript決定了瀏覽器的矩形中發(fā)生了什么,這在很大程度上保證了它將決定在任何地方的大多數(shù)單擊和擊鍵都會發(fā)生什么辉懒。
Java運行所有
如果編寫Python代碼谍失,很有可能它最終會在Jython,一個用Java編寫的語言的實現(xiàn)颠印,以利用Java虛擬機的無所不在线罕。如果您需要運行JavaScript,也可以將它提供給犀牛钞楼,一個將代碼轉換為Java字節(jié)碼的工具兢孝。當V8引擎不兼容時,犀牛仍然是在Java虛擬機之上運行JavaScript的流行方法雳殊。
這兩種語言并不是唯一依賴JVM可靠性能的語言夯秃。許多函數(shù)式編程語言就像Scala痢艺,Clojure,和科特林也依賴于同樣的基礎色建。如果您想在同一個項目中使用這些基于JVM的語言舌缤,那么將它們鏈接在一起就更容易了某残,這對每個人都有幫助玻墅。
Python到處運行
對于為其他語言編寫模擬器的人來說壮虫,Python不是首選,甚至不是最后的選擇剩拢。不過饶唤,在許多計算機上很容易找到Python。語言的創(chuàng)建者總是將代碼作為開放源代碼分發(fā)搬素,而且包幾乎無處不在熬尺。
JavaScript在瀏覽器中運行
很難相信谓罗,為在瀏覽器中創(chuàng)建警報框而構建的玩具語言現(xiàn)在是許多語言的基礎。開發(fā)人員希望接觸到用戶揭措,如果用戶生活在瀏覽器中刻蚯,那么,找到一種讓您的代碼在JavaScript中運行的方法是訪問每個人的最快方法躬充。
不僅僅是像CoffeeScript和LiveScript這樣的JavaScript表親才能轉化為JavaScript充甚。甚至像這樣的語言LISP, 奧卡米爾霸褒,和帕斯卡可以轉換為JavaScript并在瀏覽器中運行。Python在瀏覽器中很受歡迎技矮,比如木星筆記本,甚至Java都可以使用像GoogleWebToolkit.
Java有很強的IDE
Eclipse穆役、NetBeans和IntelliJ是目前最好的集成開發(fā)環(huán)境之一。它們是由Java社區(qū)創(chuàng)建的梳杏,經(jīng)過多年的培養(yǎng)淹接,為編寫代碼創(chuàng)建了最具支持性的環(huán)境之一十性。代碼完成和代碼生成算法可能不會編寫所有的軟件塑悼,但它們可以輸入大量的代碼。所有這些都有助于新開發(fā)人員正確使用語法厢蒜。
這些IDE非常受歡迎斑鸦,以至于來自其他語言的開發(fā)人員找到了一種在其內(nèi)部運行代碼的方法愕贡。
Python有云
Python語言在Unix世界中找到了它的第一個家巷屿,因此,充滿Linux框的云層是尋找大量Python代碼的自然之地憨琳,這一點也就不足為奇了旬昭。一些最新的工具,如木星將代碼闲擦、數(shù)據(jù)和解釋捆綁在一起,這樣人們就可以將他們的見解作為有活力的研究論文與其他人分享墅冷。木星筆記本不是靜態(tài)文檔或油,而是用于探索的交互式工具。
其他人正在圍繞語言建立復雜的工具腔彰,以加強研究。皮托爾奇例如搓逾,是一個包含代碼杯拐、數(shù)據(jù)和分析算法的深度學習工具包。這樣的環(huán)境將主宰數(shù)據(jù)科學的未來朗兵。
JavaScript有JSFiddle
每個瀏覽器都有足夠的功能來充當IDE顶滩。JSFiddle僅僅是讓您與其他開發(fā)人員共享JavaScript代碼的十幾個網(wǎng)站中最突出的一個。不過盐欺,網(wǎng)頁并不是靜態(tài)的仅醇,因為您可以篡改代碼,并在同一個網(wǎng)頁上查看它的運行情況。像這樣的工具使得嘗試JavaScript的所有語法樂趣變得很簡單务嫡。
學習任何一種或全部三種
編程界喜歡異花授粉心铃。雖然在不同語言之間跳來跳去并保持語法正確可能會讓人感到困惑,但在項目中使用這三種語言是可能的去扣,而不會受到太大的困擾。分析數(shù)據(jù)的Java或JavaScript項目可以鏈接到用Python編寫的數(shù)據(jù)科學庫中唆铐”蓟或者Python項目可以調(diào)用Java或JavaScript代碼。這三種語言不一定是相互孤立的島嶼王浴。
學習從來不是一個人的事情,要有個相互監(jiān)督的伙伴氓辣,工作需要學習python或者有興趣學習python的伙伴可以私信回復小編“學習” 獲取資料,一起學習
文章部分來源:infoword