最新程式語言排行榜出爐啦!!Python居然排在這名次!!

最新程式語言排行榜出爐啦!!Python居然排在這名次!!
最新程式語言排行榜出爐啦!!Python居然排在這名次!!

還在觀望Python課程嗎?快手刀報名吧!!最新程式語言排行榜Python可是快擠掉Java了呢!!

自 2001 年起,創建滿 20 週年的程式語言排行榜「TIOBE Index」都會公布當月的程式語言排行。第一次出現在 TIOBE 榜上的前三名為:Java、C 以及 C++。這幾年來,穩居在榜上前三名的常客為 Java、C 和 Python,與 20 年前異常地相似。

2021 年 7 月程式語言排行榜 TIOBE 所列出的前 10 名熱門語言中,可看出 C 語言與 Java 分數已明顯下降,Python 的分數則上升 1.86%。

Python奪第三!分數卻與第一名史無前例地相近

而最新一期(2021 年七月)的結果也不意外,JavaC 和 Python 穩居前三名。但是,長期居冠的 C 語言和第二名的 Java 分數都明顯下降、 Python 的分數卻竄升,使得前三名的分數差異史無前例的靠近,第一名和第三名的分數只相差了 0.67%!這意味著接下來的幾個月,榜上的前三名將有史無前例的結果。

人工智慧、新冠藥物⋯Python應用廣有望奪冠

近幾年,人工智慧(Artificial Intelligence)與資料挖掘(Data Mining)都在蓬勃發展中,剛好 Python 又是這兩大領域的領導語言,這優勢可讓 Python 在接下來幾個月隨時都可能成為第一。除了上述兩大領域,Python 的應用領域也包含網頁前後段、嵌入式系統等;去年更因 Covid-19 的爆發,研究人員積極使用 ​Python 進行統計分析,尋找對抗病毒的藥物,讓 Python 的分數有前所未有的竄升。

Covid-19 除了帶動 Python 的熱門度外,用於醫療軟體開發的 C 和 C++ 也受到影響。C 語言擠下了近年來居冠的 Java 成第一名。

總體而言,位居榜首的 C 語言分數為 11.62%,自去年 7 月以來下降了 4.83%。緊接在後的 Java 得分為 11.17%,較去年下降了 3.93%。排名第三的 Python 得分 10.95%,較去年增加了 1.86%,也是榜上前 20 名中增幅最大的程式語言。

前七名上榜語言與去年同期相同

有趣的是,本次榜上前七名的程式語言都與去年同期(2020 年七月)相同:C++ 與 C# 分別以 8.01% 與 4.83% 位居第四、第五、Visual Basic 以 4.50% 的分數排名第六,JavaScript (2.71%) 排名第七。而第八名的 PHP 相較去年變化不大,只升了一個名次;組合語言 ASM 則在一年間升了四個名次,進 Top10 榜到第九名;SQL  也在一年內加入 Top10,位居第十。

2021 年 7 月程式語言排行榜 TIOBE 所列出的 11-20 名熱門語言

TIOBE Index 的其他變動,還有位居第 11 名的 Visual Basic,自去年七月以來以來上升了 9 名;在此一年間,第 12 名的 R 語言下滑了 4 名、位居第 14 的 Fortran 則飆升了 36 個名次、第 15 名的 Groovy 竄升九個名次、第 16 名的 Swift 則滑落六個名次、Perl 與 MATLAB 則不約而同地在一年內滑落四個名次,分別居於第 18、19。

TIOBE 使用許多指標來決定每月一度的排名,指標包含了 Bing、亞馬遜、YouTube、維基百科、Google、Yahoo 和百度上的搜尋結果。讀者們想要進一步查詢完整指標的話,就親自至 TIOBE 官網上看看吧!

更多Python或人工智慧相關文章請點閱下方連結!!

其他閱讀

AI打造史上最難「惡」羅斯方塊!世界紀錄僅消去41

AI 人工智慧「Nadine」能說能笑 還能陪老人玩賓果

人類又輸了?工程師需花數月設計出IC晶片,AI六小時就搞定!

你笑,AI也笑!人工智慧也能用「表情」回應「感情」了

半百大叔自學Python還被知名企業採用!!()

有了人工智慧和手機~你也能輕鬆當起專業氣象播報員!!

臉書用十一張照片讓人工智慧自主訓練出新境界!!

專為程式設計師設計的交友APP你聽過嗎?(下)

專為程式設計師設計的交友APP你聽過嗎?(下)
專為程式設計師設計的交友APP你聽過嗎?(下)

程式設計師們還在苦苦煩惱不會聊天怎麼辦嗎?不用擔心~這篇文章解救你!!(下)

本系列文章為【秀程式設計也能交女友!工程師專屬交友App:VSinder 】的下篇,請點專為程式設計師設計的交友APP你聽過嗎?(上)看上篇閱讀了解 VSinder 是如何誕生的、能支援哪些程式語言吧!

上傳最得意的程式設計,吸引志同道合的另一半!

基本資料都選填好後,接著就是重頭戲了──上傳一段你最滿意、最自豪的程式設計

 

 

VSinder畫面截圖-2
 

▲ VSinder,重要的不是外貌,而是你寫的 code|Source:Ben Awad 影片截圖

 

 

 

 

在 Code Pics 一欄可以上傳你最得意的作品,畢竟就算使用同一種程式語言,無論是Python還是Java甚麼的,能力也有高下之分,coding 能力才是工程師真正的臉面啊!

曬出自己最棒的一面,同時也能吸引到彼此欣賞的人,透過左右滑動來開啟一段與另一位工程師的緣分,聽起來也是十分浪漫呢。

如果有想要深入對談的對象,可以按下「愛心」,並期待對方也按下愛心;按「X」就會換下一位,也有檢舉不當濫用的選項——其實介面和 Tinder 的設計沒有太大的區別,只是用能直接了解一個人「內在美」的程式設計碼取代了修圖後的美照。如此一來,想必更能讓你找到適合的那個人,畢竟美麗的皮囊千篇一律、有趣的靈魂萬中挑一啊!

3天下載次數破萬 程式設計交友正夯

VSinder 一上線,就快速贏得程式設計師們的熱烈回應,在 GitHub 上有超過 1500 個收藏,3 天的下載量就快要一萬次。

這個平台的發想其實相當有新意,讓擁有共同專業的人們相互認識,雙方有足以開啟話題的相似之處。有共同的專業,也代表有類似的生活型態,聊天就不怕冷場了!

伴侶可以了解自己的專業,甚至能相互勉勵、彼此學習,一起攜手進步,也是相當美好的事情。當然後續可以相伴多遠、走多久就是各自的緣分了,不過有這樣的一個平台,還是讓許多程式設計師感到驚喜。

這款新奇的交友軟體,使用過的網友留下評論道:「這個 app 不僅可以過濾出有共同點的人,還能以幽默的方式表達自己的怪癖和智慧,太棒了!」、「雖然沒有找到另一半,但我在這個app上渡過了快樂的時光。幹得好」、「希望能找到我未來的妻子」。

但也有網友大喊:「這個平台上都是男的啊!」

 

 

VSinder意見截圖
 

▲ 雖然 VSinder 大受好評,但仍有網友抱怨上面的用戶都是男性

 

 

 

 

有一則評論表示,他滑了半個小時,都沒有遇到一個單身女工程師……。只能說,雖然 VSinder 提出了一個新興的想法,也付諸實踐,努力讓工程師們可以彼此相遇,但這個產業相距頗大的性別比例,也是一個 app 無法改變的啊!

推薦閱讀:

 

 

 

更多關於程式語言或程式設計的文章請點閱下方連結!!

 

 

 

其他閱讀

Nature:語言天才比數學高手更適合學 Python!別在嘴文科生、女性不能寫程式了

人工智慧能「聽咳嗽聲認出新冠患者」!成功率達 98.5%

Google 正測試人工智慧系統,助盲人和視障人士獨立參加路跑

用說的就能寫程式!人工智慧替手傷工程師開發語音程式工具

中研院研發人工智慧科技執法,從此超速無所遁形!!()

人工智慧讓聽聲辨病不再是空談!還能辨識新冠肺炎的咳嗽聲!()

讓人工智慧幫你把隨手塗鴉幻化成栩栩如生的奇幻怪獸~

專為程式設計師設計的交友APP你聽過嗎?(上)

 

專為程式設計師設計的交友APP你聽過嗎?(上)
專為程式設計師設計的交友APP你聽過嗎?(上)

 

程式設計師們還在苦苦煩惱不會聊天怎麼辦嗎?不用擔心~這篇文章解救你!!(上)

▲ 交友 APP 示意圖|Photo by Markus Winkler / Unsplash

 

不需露臉,秀程式設計就好!工程師專屬交友軟體 VSinder

伴隨科技的快速發展,都會男女們的交友早已不侷限於現實,許多工作忙碌、生活圈有限的上班族都會使用交友軟體,在線上聊天、互動,最後發展到現實世界進一步「脫單」。

只是,包括全球最知名交友 APP「Tinder」在內,此類軟體都需要使用者上傳照片,外貌要足夠吸引人才有機會被「往右滑」、得以開始聊天;接著又需要在短時間內展露風趣幽默、能言善道的口才,讓人覺得很好聊……接連的關卡,實在是苦了一眾木訥的程式設計師們啊!

好家在,近來有一位美國工程師將程式碼編輯器「VS Code」改造成一款方便工程師一展長才的交友平台「VSinder」!

23歲程式設計者 妙用VS Code打造工程師專屬交友App

VS Code 是 Microsoft 推出的一套整合式開發工具,支援 Windows、Linux 和 macOS 等系統,因其開源、持續開發、豐富的套件支援等等特性,被認為是最受程式設計者歡迎的開發環境之一。

近日,一位名叫 Ben Awad 的 23 歲開發者以其為基底,改造出一款讓程式設計師能在線上進行社交的平台「VSinder」。

 

 

 

 

▲ 開發者 Ben Awad 上傳影片介紹他開發的「VSCode Tinder」。

 

 

 

 

VSinder 以擴展的形式在 VS Code Marketplace 裡面上架,可供直接下載安裝,並支援使用 GitHub 帳號登入;除了電腦版之外,也在 Android 與 iOS 兩大平台上架,方便大家以用手機使用。

「VSinder」這個名稱是 VS Code、Tinder 組合而來,但與 Tinder 不同的是,在 VSinder 重要的並不是你的長相如何,而是你 coding 的能力!VSinder 支援的程式語言包含時下熱門的 Python、Java、Swift 之外,還有 Angular、C、C#、Cpp、Dart、Flutter、Go、Kotlin、React、Vue 等 13 種程式語言。

推薦閱讀:

除了年齡、性別,VSinder還可篩選Python、Java等13種程式語言的另一半!

當然,程式語言的世界也是十分廣闊的,想從茫茫人海中找出同樣跟自己一樣愛用 Python 的那個她?沒問題,VSinder 除了篩選性別、年齡、地點之外,也可以設定想找擅長哪種程式語言的對象。想學 Python?那就找個 Python 超強的另一半吧!

 

 

秀程式設計也能交女友!工程師專屬交友App:VSinder
 

▲ VSinder 最大的特色就是可以用程式語言來篩選對象。|Source:Ben Awad 影片截圖

 

 

 

 

 

 

 

將自己最得意的程式設計作品上傳,就能吸引到志同道合的另一半!但是仍有一個隱憂⋯⋯?請點專為程式設計師設計的交友APP你聽過嗎?(下)接續看下去!

更多關於程式語言或程式設計的文章請點閱下方連結!!

 

 

 

其他閱讀

Nature:語言天才比數學高手更適合學 Python!別在嘴文科生、女性不能寫程式了

人工智慧能「聽咳嗽聲認出新冠患者」!成功率達 98.5%

Google 正測試人工智慧系統,助盲人和視障人士獨立參加路跑

用說的就能寫程式!人工智慧替手傷工程師開發語音程式工具

中研院研發人工智慧科技執法,從此超速無所遁形!!()

人工智慧讓聽聲辨病不再是空談!還能辨識新冠肺炎的咳嗽聲!()

讓人工智慧幫你把隨手塗鴉幻化成栩栩如生的奇幻怪獸~

寫程式也可以用語音模式?這全拜人工智慧所賜!!

寫程式也可以用語音模式?這全拜人工智慧所賜!!
寫程式也可以用語音模式?這全拜人工智慧所賜!!

人工智慧讓你不用手也能寫程式~只要說說話也能輕鬆完成寫程式的工作!!

人工智慧開發語音coding工具 不用雙手照樣寫程式!

對於「語音輸入法」大家想必都不陌生,現在的手機通常都會內建語音輸入,方便在無法使用雙手打字時有另一輸入文字的方式。

即使市面上已有許多語音轉文本技術,但能「輸入程式碼」的語音輸入法,過去卻還沒有人成功研發出系統化的應用程式。直到日前,有位資深美國工程師 Matt Wiethoff 成功用人工智慧(AI) 開發出一款可以「邊說邊寫程式」的工具!

▲ 使用語音輸入程式碼的 AI 工具「Serenade」介紹影片

運用機器學習技術 AI 讓你用「說」的也可以寫程式

 

▲ 長期寫程式容易手酸,美國工程師開發能輔助語音 coding 的人工智慧(source:Danial RiCaRoS on Unsplash/示意圖本文無關)
 

 

 

對工程師們來說可謂是「雙手萬能」,彈指之間能編寫出千變萬化、各有所能的程式軟體;但相對而言,若突然某日不便使用、甚至無法使用雙手該怎麼呢?

知名美國知識問答網站 Quora 的開發人員 Matt Wiethoff 就是雙手遭遇變故。他的手部因嚴重「重複性壓力傷害」所苦──這類傷害多因在日常工作中不間斷地反覆運動固定的部位所導致,嚴重的話可能對身體部位造成永久性損傷。

Matt 因此無法再使用雙手敲打鍵盤,但身為一個工程師,無法 coding 怎麼行?在職業生涯可能畫下句點的壓力之下,Matt 卻沒有灰心喪志,宛如勵志電影般,在人生遭遇重大打擊時不但沒有被搏倒,反另外開闢出一條蹊徑:開發不需雙手可以寫程式的工具。

Matt 和 Tommy MacWilliam 共同創立了新創公司 Serenade,用人工智慧開發出一款可以將語音轉化為程式碼、用口頭發聲就能寫程式的工具。

支援 JavaPython 等多語言 Serenade 獲 210 萬美元投資

 

▲ Serenade 操作示意圖(source:Serenade 官網)
 

 

 

該公司的第一款商業化產品「Serenade Pro」已經發表,現在已經可以從官網將 Serenade 下載到電腦,插入程式碼編輯器(如 VS code、sublime text、IntelliJ等等),使用者就可以用「說」的方式來寫程式,AI 會分析你說的話,並將其轉換為語法正確的程式碼。Serenade 可以支援 JavaPythonJavaScript、TypeScript、HTML 和 CSS 等多種語言。

語音轉文字(Speech To Text)技術是以 AI 將語音內容轉換為相對應的文字,透過聲音特徵比對、足夠的語料收集,來建立龐大的語料庫,系統接收語音後立即比對語料庫,並將語音內容轉換為可能的文字。現在的 STT 語音辨識技術已尚稱成熟,但專為輸入、編寫程式碼而設計的商業化 STT 工具,在 Serenade 發表之前都還沒有。

日前,Serenade 獲得由 Amplify Partners、Neo 領投的 210 萬美元種子輪投資。

編寫程式或將因 AI 進入「聽寫時代」

或許有人會認為 Serenade 的市場很狹窄、僅供雙手不便的人使用,可是 Matt 不這麼認為。

他們認為,現在的 Serenade 只是個起點,最終將擴展到讓所有人都會使用:雙手不便的人、想讓手腕休息的人、通勤趕工的人、躺在床上突然得到靈感的人,都會使用 Serenade。「這就是 coding 的未來,這就是我們的願景。」共同創辦人 Tommy 表示。

Matt 相信,借助人工智慧,寫程式將變得比以往更快、更輕鬆,也會更有生產力,或許有朝一日,語音輸入程式碼會成為每位工程師的必備工具。

 

 

更多人工智慧相關文章請點閱下方連結~

 

 

 

其他閱讀

你是我的眼!Google AI 眼鏡助視障朋友「看見」世界

人工智慧快毀了西洋棋比賽?前西洋棋冠軍聯手AlphaZero AI改寫西洋棋

人工智慧過招,你的草圖也能變成栩栩如生的風景圖

不會畫怪物也ok!人工智慧幫你把小畫家3歲塗鴉,變成大師奇幻插畫

想一嘗人生釀的酒?就讓人工智慧釀酒來幫你達成願望!!()

報章雜誌撰文也難不倒人工智慧!!AI真能取代記者嗎?()

人工智慧加入取藥流程降低傳統藥局負荷,也更精準安全!!()

文組生不適合學Python課程?他們可能比理組生更適合~(下)

文組生不適合學Python課程?他們可能比理組生更適合~(下)
文組生不適合學Python課程?他們可能比理組生更適合~(下)

 

快丟棄學習 Python 課程是理科生專利的舊思維吧!!研究顯示文科善語言的學生可能更適合學習程式語言喔!!(下)

此篇為下篇,上篇請點文組生不適合學Python課程?他們可能比理組生更適合~(上)

語言能力的好壞影響 Python 的學習速度 差異達20%

人們學習 Python 的速度,語言能力的影響比例約有 20%,而數學能力的影響卻只有 2%,且和他們對於 Python 課程內容的掌握度沒有相關。可見語言力比數學力對於程式語言的學習,影響更大

另一個支持語言能力比數學能力更能影響 coding 的佐證,是來自腦波圖(EEG)的數據。腦波圖是透過頭蓋骨上所紀錄到的電波活動,來檢測大腦活動的方法。受試者們在開始線上 Python 課程前,都在放鬆的狀況下進行了腦波測試。因為靜止時的腦波具有不同模式,其中之一就是 β 波。而根據過去研究顯示—:靜止時的 β 波與外語能力相關。

 

 

▲ 受試者在接受線上 Python 課程之前,都在放鬆的狀態下進行 EEG 腦波測試。(source:Wikimedia Commons/本圖為示意圖與當事人無關)

 

 

 

研究證實:語言天才更適合學習 Python 程式語言

在這次的研究中,發現高水平的 β 波與更快的學習效率、更多的程式設計能力相關。儘管這項發現賦予「語言的學習能力與學習 coding 的能力相關」更有力的證據,但對於 β 振盪與學習成果的關係尚未明朗,因此還需要更多的研究證明。

儘管如此,但是總結上述結果:語言能力的好壞深深影響程式語言 (或至少是學習 Python) 的學習吸收程度。相反地
數學能力卻無法準確的預測受試者的學習吸收度與效率。這項研究顛覆了普羅大眾對於學習程式語言的觀點!在過去,程式語言經常被認為是偏重數學的領域。在傳統教育體制中,程式語言課程常被歸類為理科生的專利。

女性擁有更好的語言能力!史上第一位女工程師是女性

 

 

 

▲ 史上第一位工程師 Ada Lovelace 是一位不折不扣的女性。(source:Wikimedia Commons)

 

 

 

對於程式設計的相關職位,人們總是有許多刻板印象:女性、文科生們常被認為不符合「軟體工程師」的條件。但是平均來說,女性擁有更好的語言能力,而根據上述《Nature》旗下自然科學期刊《Scientific Reports》的研究報告:語言能力越好的人,越適合學習寫程式。一言以蔽之,天生就是語言天才的女性應該會更適合 coding 才對。翻閱程式語言的歷史:世界第一個電腦程式設計師 Ada Lovelace 就是不折不扣的女性

 

推薦閱讀:

 

總而言之,想踏入軟體工程師領域、卻又一直認為自己是數學苦手的文科生們──尤其是女性,現在沒有藉口卻步了!研究已經證實出來:語言能力越強的人,比數學天才們更適合 Python 課程

 

 

更多Python課程或人工智慧相關文章請點閱下方連結~

 

 

 

其他閱讀

你是我的眼!Google AI 眼鏡助視障朋友「看見」世界

人工智慧快毀了西洋棋比賽?前西洋棋冠軍聯手AlphaZero AI改寫西洋棋

人工智慧過招,你的草圖也能變成栩栩如生的風景圖

不會畫怪物也ok!人工智慧幫你把小畫家3歲塗鴉,變成大師奇幻插畫

想一嘗人生釀的酒?就讓人工智慧釀酒來幫你達成願望!!()

報章雜誌撰文也難不倒人工智慧!!AI真能取代記者嗎?()

人工智慧加入取藥流程降低傳統藥局負荷,也更精準安全!!()

文組生不適合學Python課程?他們可能比理組生更適合~(上)

文組生不適合學Python課程?他們可能比理組生更適合~(上)
文組生不適合學Python課程?他們可能比理組生更適合~(上)

快丟棄學習Python課程是理科生專利的舊思維吧!!研究顯示文科善語言的學生可能更適合學習程式語言喔!!(上)

文組不適合學 Python 與 Java?《Nature》:外語天才其實更適合寫程式

說到 PythonJava 等程式語言,很多人都認為理科生的專利,這樣的刻板印象,也讓許多有志當軟體工程師的文科生望之卻步、自我設限。其實根據美國《Nature》旗下自然科學期刊《Scientific Reports》發表的文章顯示:Python 程式語言的學習速度似乎與語言能力呈正比,也就是說:越擅長母語、外語國的語言天才,學習程式語言的速度就越快、對於 coding 知識的吸收越好!

 

▲ 過往很多人認為理組生較適合學習程式語言。但根據《Nature》旗下期刊發表的研究文章顯示:語言能力強的人學習 Python 較快 (source:unsplash/本圖為示意圖與當事人無關)

 

 

 

也許,學習 PythonJava 等程式語言的過程,就像是學習英文、德文等第二外語一樣。

根據華盛頓大學研究人員發表的一項研究顯示:從一個人的語言能力及解決問題的能力,就能預測他學習 Python 程式語言的速度快慢。此項研究使用「行為測試」和「大腦活動」的方式,來了解受試者學習程式語言的速度,並同步發表在美國《Nature》旗下自然科學期刊《Scientific Reports》上。

 

▲ 《Nature》旗下期刊《Scientific Reports》發表的研究報告「自然語言能力與學習程式語言的關聯」。(source:擷取自 Scientific Reports 官網)

 

 

 

這項研究招募了 42 名受試者,他們必須透過 Codeacademy 的線上教學平台,完成 10 次 45 分鐘的 Python 課程。其中真正完成課程的受試者有 36 人,研究團隊就從他們的身上確認其學習速度及對課程的掌握度。

線上課程讓研究團隊能掌握受試者學習進度

在進行線上的 Python 課程之前,受試者進行了一連串數學能力、工作記憶、第二外語及問題解決能力的測試後,才開始進行 Python 程式語言的課程。課程是使用線上的方式,不但讓受試者能自我掌握學習進度,更讓研究團隊能即時追蹤受試者的學習速度及在線上測驗中的表現。
受試者們還在課程結束時,完成期末測驗及一項程式設計任務,讓研究團隊了解他們的 coding 程度與學習吸收度。

那記憶力、問題解決的能力以及數學或語言的能力,又是如何地影響他們程式語言的學習力呢?

研究人員隨後比對受試者們在學習前的測驗結果,以及在學習 Python 課程後的測試表現,以確認他們本身的數學能力、工作記憶、第二外語及解決問題的能力,是否會影響到 Python 課程的學習能力及速度。

受試者以不同的速率學習 Python,並且在研究結束時的 coding 能力也不盡相同。研究團隊發現:學生對 Python 的學習力主要是與一般認知能力(解決問題能力和工作記憶)正相關,而他們的學習速度更與一般認知能力和語言能力有著密切關係。

 

 

此篇為上篇,下篇請點文組生不適合學Python課程?他們可能比理組生更適合~(下)

更多Python課程或人工智慧相關文章請點閱下方連結~

 

 

 

其他閱讀

你是我的眼!Google AI 眼鏡助視障朋友「看見」世界

人工智慧快毀了西洋棋比賽?前西洋棋冠軍聯手AlphaZero AI改寫西洋棋

人工智慧過招,你的草圖也能變成栩栩如生的風景圖

不會畫怪物也ok!人工智慧幫你把小畫家3歲塗鴉,變成大師奇幻插畫

想一嘗人生釀的酒?就讓人工智慧釀酒來幫你達成願望!!()

報章雜誌撰文也難不倒人工智慧!!AI真能取代記者嗎?()

人工智慧加入取藥流程降低傳統藥局負荷,也更精準安全!!()

程式設計課程到底學哪個才好?Python還是Java?(下)

程式設計課程到底學哪個才好?Python還是Java?(下)
程式設計課程到底學哪個才好?Python還是Java?(下)

想學程式設計課程卻不知該選Python還是Java嗎?看這篇就對了!!(下)

本篇為上篇,下篇請點此程式設計課程到底學哪個才好?Python還是Java?(上)

▲ 網路上盛傳的 Java 與 Python 程式語言比較迷因圖,顯示現代人對於精簡的 Python 接受度比較高

 

3. 靜態與動態

PythonJava 最大的區別之一在於:兩種語言處理變數的方式:Java 是靜態類型的,而 Python 是動態類型的。

Java 要求在第一次聲明變數時,就必須要定義它的類型,且不可再修改,這就是所謂「靜態類型」;而 Python 無需立即聲明變數的類型,且後續可以改變一個變數的類型,例如可以把整數變數替換為字串(string)。

同樣,函數參數可以傳入任何對象。「鴨子型別」(duck typing)使 Python 非常方便且易於使用。不過,這也容易讓下一個接手代碼的人難以理解,除非附上完善的標註。

4. 編譯與直譯

高階語言(high-level language)都需要先經轉換,才能將原始程式碼「翻譯」成機器看得懂的二進位機器碼。因「翻譯」動作的不同,而將程式語言分為「編譯式語言」(compiled language)和直譯式語言(interpreted language)兩種。

Python 是一種直譯語言,需要安裝一個直譯器(interpreter)將執行到的區塊進行解析(parse),再執行對應的機器碼。因此,執行效率較低於編譯式語言。

這也表示其他人要使用你的程式碼,同樣需要安裝直譯器,沒辦法直接將其發送給同事或客戶。

這既是 Python 的缺點、也是優點,如果要建構用於商業用途的程式,需要倚賴直譯器與多一道直譯流程;但這也表示可以將 Python 添加到 PATH、或直接在 cmd 下運行 Python 腳本,而無需經歷冗長的編譯階段。

Java 技術上既可以直譯也可以編譯。如同編譯語言,會先把程式原始碼編譯成位元組碼(byte code),再將位元組碼直譯之後執行。這種技術會比純編譯語言來的慢一些,但是卻又擁有直譯語言的特性。也因此 Java 程式碼通常更具可移植性。

對初學者來說,哪個更容易入門?

推薦閱讀:使用 Java、Python、C 等 22 種程式語言寫出「Hello World」!

初學者通常更適合從 Python 著手、打開通往程式設計領域的大門。即使對於還沒弄清楚(Class)和物件(Object)概念的人,依然可以合乎邏輯地使用 Python,而且它簡潔的代碼畫面,可以為初學者減低精神壓力和提供喘息空間,它的靈活性也很強,足以在課堂外使用。

如果對建立 Web 應用程式、與科技新創公司合作或對資料科學感興趣,那麼 Python 是你不錯的選擇。

另一面來說,Java 的複雜性和重重規則「可能」有助於你早期就養成良好的習慣,並且為將來專業程式設計師的職業生涯做好準備。

如果你希望未來在一家大公司任職程式設計師、想製作 Android 的 APP 或者已經決定未來要學習 C 語言,那麼 Java 是一個不錯的選擇。不過要先有心理準備面對陡峭的學習曲線!

歸根結底,如果是從「簡單、易學、好上手」來看,Python 毋庸置疑是更好的起點!趕快手刀報名 Python 程式設計課程吧!

推薦閱讀:
非資工系出身,產品人員「Python 課程」結業後轉職大醫院當網站工程師
當了快八年的業務,因Java課程而成功轉職程式設計師

 

 

更多關於Python或程式語言課程相關文章請點閱下方連結~

 

其他閱讀

前端工程師該懂的後端技能 : MySQL教學-DDL DML DQL DCL

使用 Java、Python、C 等 22 種程式語言寫出「Hello World」!

人工智慧電影/影集:Netflix《我的全像情人》探討人與 AI 是否有真愛

介面、體驗大不同!UI設計/UX設計工作內容完整剖析

30個方法教你如何用A/B測試改善網站的UI設計!!(1)

AI人工智慧命名大走鐘:甜點篇

Python課程找好工作:品保花了一年順利轉職程式設計師!!

程式設計課程到底學哪個才好?Python還是Java?(上)

程式設計課程到底學哪個才好?Python還是Java?(上)
程式設計課程到底學哪個才好?Python還是Java?(上)

想學程式設計課程卻不知該選Python還是Java嗎?看這篇就對了!!(上)

由下面兩例中可看出:同樣是列印出「Hello world」的程式,上側的 Python 只要寫一行,下側的 Java 相對冗長。

print("Hello World")
class HelloWorldApp {
                        public static void main(String[] args) {
                            System.out.println("Hello World!"); // Prints the string to the console.
                        }
                    }

>

PythonJava 是兩個都十分熱門、但有不少差異的程式語言。以求職而言,兩者都常成為需求最多的語言榜首,Java 工程師一直各大求職網站常見的職缺;而隨著 Python 的熱度持續上升,市場對會此語言的需求也越來越高。

推薦閱讀:Python 取代 Java 奪得亞軍!2020 第 3 季 RedMonk 程式語言榜大洗牌?

相信不少想進入程式設計一行的朋友們,一開始是都會苦惱該選擇哪個,希望能避免最後徒然耗費金錢、精力和時間。當然這兩種語言各有各的市場,不管選擇哪種語言,在職場上一定用的到,差別在於哪個語言更方便、更有效率。

推薦閱讀:APCS 程式檢定,高中生該從 C、Java 還是 Python 下手?

本次我們將要比較 PythonJava 各自的特色,幫你分析你的第一堂程式設計課程,該從哪個語言下手。

Python 、 Java 有什麼差別?

讓我們比較一下 PythonJava 的編寫方式,以及如何影響編寫體驗:

1. 物件導向程式設計(Object-oriented programming,OOP)

「物件導向程式設計」可以被視作一種在程式中包含各種獨立、而又互相呼叫的類別(Class)和物件(Object)的思維,OOP 中的每一個物件都應該能夠接受資料、處理資料並將資料傳達給其它物件,因此它們都可以被看作一個小型的機器、或者說是肩負責任的角色。

Python 中,從數值、字串、字典、元組對象、它們所對應的類別、函數、模塊等等,都是「物件」。而 Java 中的函數,基本數據類型等都不算物件。但是光想弄清楚數據如何成為物件的概念,對初學者來說就已經是容易混淆的難題了。

所以很多人偏好 Python 的理由,也包含了它「支援多種程式範式(Multi-paradigm programming language)」的特性,就是除了物件導向之外,Python 還支援了命令式、函數式和程序式程式。其本身擁有一個巨大而廣泛的標準庫──這表示著你可以由上而下創建函數式或命令式代碼,對於只想用幾行編碼就寫出一個應用程式的程式設計師來說,使用 Python 將會非常簡潔快速。

(當然,從技術上講,Java 也可以用來編寫函數式或命令式代碼,但 Python 更適合此類代碼。)

2. 可讀性和空白字元(Readability & White Space)

Python 不強制使用任一種編程範式(註:「範式」告知何時使用哪種設計架構,共有三種:結構化程式設計、物件導向程式設計與函數式程式設計),這樣的特性讓 Python 更加適合初學者學習編程,也適合整合不同的程式語言,做語法決策。

Java 相比、大部分情況下 Python 可以用更精簡的程式來完成更多事。如 Python 使用大量空白字元(包含空格、TAB字元、換行符號等)取代其他程式語言的分號等,因此不需要在每個語句的末尾都使用分號。

Java 等其他的程式語言中,一個小小的分號足以讓你功虧一簣!例如:你可能孜孜不倦地寫出長達百萬行的程式,但最後忘記了分號而無法運作!無論是新生菜鳥還是江湖老手,這都有可能發生,這會迫使你寫出井井有序的代碼,以避免往後可能造成的混亂,其他語言在語法結構上也同樣嚴格。

另外還有外觀上的差異:對於變數、函數、類和文件等的命名,Java 是使用以大小寫作區分的「camel-case(駝峰式命名法)」;而 Python 使用的「snake_case(蛇形命名法)」則統一小寫,且字與字中間使用底線「_」區隔,輸入相對方便。

一項研究指出,與駝峰式命名法相比、大腦可以更快地辨識蛇形命名法。

總體而言,Python 的程式碼往往不那麼令人生畏、閱讀起來更近於口語;而 Java 可以使你更加井然有序、條理分明,特別是在還不熟悉程式語言的情況下。

 

 

本篇為上篇,下篇請點此程式設計課程到底學哪個才好?Python還是Java?(下)

更多關於Python或程式語言課程相關文章請點閱下方連結~

 

 

其他閱讀

前端工程師該懂的後端技能 : MySQL教學-DDL DML DQL DCL

使用 Java、Python、C 等 22 種程式語言寫出「Hello World」!

人工智慧電影/影集:Netflix《我的全像情人》探討人與 AI 是否有真愛

介面、體驗大不同!UI設計/UX設計工作內容完整剖析

30個方法教你如何用A/B測試改善網站的UI設計!!(1)

AI人工智慧命名大走鐘:甜點篇

Python課程找好工作:品保花了一年順利轉職程式設計師!!

除了Java還有這22種語言可寫出Hello World~

除了Java還有這22種語言可寫出Hello World~
除了Java還有這22種語言可寫出Hello World~

你知道除了Java以外還有哪些語言可以寫出Hello World嗎?今天一次教給你!!

「Hello World」幾乎是每一個剛接觸程式設計課程的人,第一個碰到的語句。不管你學的是台灣「市佔率」稱霸的 Java、還是未來炙手可熱的人工智慧首選 Python,只要是程式設計課程,幾乎都是從「Hello World」學起。

推薦閱讀:Python 不是蟒蛇、Java 就是咖啡?看看程式語言命名起源多奇葩

以下整理出「Hello World」使用不同程式的語言的寫法:

Java

Java 的特殊之處在於它經過專門設計,因此您可以編寫一次代碼,然後可在任何操作系統上運行,為各大科技公司所愛用。所有 Android 的 App 都是用 Java 編寫的。

class HelloWorldApp {
                        public static void main(String[] args) {
                            System.out.println("Hello World!"); // Prints the string to the console.
                        }
                    }

C

世界上最重要的程式語言。它是編寫 Windows,MacOS,iOS 和 Android 等操作系統以及瀏覽器和 Unity3D 遊戲開發的工具。它的語法影響了無數其他程式語言。

#include <stdio.h>

                    int main(void)
                    {
                        printf("hello, world\n");
                    }

C++

性能接近 C,並在許多重要專案(如 Chrome 瀏覽器)中使用。C++ 旨在使一種語言,更易於構建大型項目,同時仍保持快速高效。

#include 

                    int main()
                    {
                        std::cout << "Hello, world!\n";
                        return 0;
                    }

C#

在 Microsoft 構建.Net 虛擬機時創建。 C# 是 Microsoft 首選的程式語言。

using System;

                    class Program
                    {
                        static void Main(string[] args)
                        {
                            Console.WriteLine("Hello, world!");
                        }
                    }

CAML (OCAML)

一個功能導向的程式語言。它被用於 Facebook 上許多較小的項目。Facebook 的 Hack 語言的編譯器就是用 OCAML 編寫的。

print_endline "Hello, world!";;

COBOL

在大型電腦時代曾經非常熱門,現在普遍度不如當年,許多 COBOL 程式正被移植到其他語言。

  IDENTIFICATION DIVISION.
                           PROGRAM-ID. hello-world.
                           PROCEDURE DIVISION.
                           DISPLAY "Hello, world!"

DELPHI

在 90 年代中期至後期,它因被用於編寫 Windows 程式而受到許多工程師的喜愛。而現在 Windows 已不再使用 DELPHI,但仍然很受歡迎。

procedure TForm1.ShowAMessage;
                    begin
                      ShowMessage('Hello World!');
                    end;

FORTRAN

創建於 1950 年代,在大型電腦上運行,非常適合數字與科學工作。它目前仍是科學界的標準。

program helloworld
                         print *, "Hello world!"
                    end program helloworld

GO

Go 是在 Google 上創建和使用的,語法接近 C 語言,目的是為了在多核心處理器、網路機器(networked machines)、大型數據庫(codebases)的情況下,擁有高的開發效率。當時在 Google 的工程 師們想要集合其他程式語言的優點開發而成。有 C++ 的靜態型別和執行時效率、Python 的可讀性

package main

                    import "fmt"

                    func main() {
                        fmt.Println("Hello, World")
                    }

GROOVY

Java 運行時間運作的動態腳本語言。大多數 Java 代碼也可以作為 GROOVY 代碼運行,但是 GROOVY 代碼可以更緊湊,因為它不需要做 Java 要做的所有事情。

println "Hello World"

JAVASCRIPT

JavaScript 是世界上最常見的程式語言,主要是因為每次使用瀏覽器瀏覽網頁時,都會使用它。 JavaScript 是使網頁語使用者之間有互動的原因。

console.log("Hello World!");

MACHINE CODE

機器碼是可以發送給 CPU 的最低級別的指令。機器代碼不是人類可讀的代碼,人類只能在其中做一些瑣碎的事情,但是所有軟體最終都會在被發送到 CPU 之前,變成機器代碼。

b8    21 0a 00 00   #moving "!\n" into eax
                    a3    0c 10 00 06   #moving eax into first memory location
                    b8    6f 72 6c 64   #moving "orld" into eax
                    a3    08 10 00 06   #moving eax into next memory location
                    b8    6f 2c 20 57   #moving "o, W" into eax
                    a3    04 10 00 06   #moving eax into next memory location
                    b8    48 65 6c 6c   #moving "Hell" into eax
                    a3    00 10 00 06   #moving eax into next memory location
                    b9    00 10 00 06   #moving pointer to start of memory location into ecx
                    ba    10 00 00 00   #moving string size into edx
                    bb    01 00 00 00   #moving "stdout" number to ebx
                    b8    04 00 00 00   #moving "print out" syscall number to eax
                    cd    80            #calling the linux kernel to execute our print to stdout
                    b8    01 00 00 00   #moving "sys_exit" call number to eax
                    cd    80            #executing it via linux sys_call

MATLAB

程式和語言的結合,用於數據分析和開發演算法。在教育中,用於教授線性代數和數值分析。在從事圖像處理工作的科學家中也很受歡迎。

CloudDeploy["Hello, World"]

NODE.JS

與其說是一種程式語言,不如說是一種運作環境,它可以在伺服器端而不是瀏覽器上運行 JavaScript。本來是為了是證明異步編撰程式對多核心的 CPU 更好,而現在被廣泛應用於大型網頁前端開發。

console.log("Hello World!");

PERL

Perl 擅長處理在文本,是早期建構動態網站的熱門選項。

print "Hello, World!\n";

PHP

PHP 普遍用於網站後端開發,Facebook 和 WordPress 就是用 PHP 編寫的。最後 Facebook 決定創建自己的 PHP 語言,稱為 Hack。

<?php echo "Hello, World";

Python

以精簡的編碼而竄升成為最受工程師歡迎的語言,目前是人工智慧、金融科技、網路爬蟲等當代熱門項目的首選。目前受歡迎的程度已跟 Java 不相上下。

推薦閱讀:Python 首度把 Java 踢出前兩名外!本季 RedMonk 程式語言排名狀況

print("Hello World")

R

統計、科學界的首選語言。

cat("Hello world\n")

推薦閱讀:Python vs R 語言:哪個比較適合人工智慧/機器學習?

RUBY

旨在成為一種高效有趣的語言來使用,強調人的需求超過電腦的需求。 Rails 網路框架是為 Ruby 編寫的,對網路框架設計產生了巨大影響。 Ruby 目前被廣泛用於創建網站使用。

puts 'Hello World!'

SCRATCH

一種視覺化的程式語言,旨在讓孩子通過撰寫程式來學習技能。還有 Scratch Jr.,適合 5-7 歲的孩子使用。全世界數以百萬計的學校都使用這兩種語言。

say Hello, World!

SWIFT

蘋果公司所開發的新語言,並正在推廣以取代 Objective-C 在其平台上使用。目的在成為一種易於學習和使用的語言,且不會失去 Objective-C 的性能。

println("Hello, world!")

推薦閱讀:科幻迷必看!你能分得出電影中的程式語言是Python,Java嗎?

 

 

更多前端工程師或其他程式語言相關文章請點閱下方連結!!

 

 

 

其他閱讀

Facebook 開源 Python 語言的安全與隱私工具 Pysa

人工智慧又寫歌了!這次是跟重金屬天團 Metallica 致敬

暴躁老人唱情歌、憂鬱阿嬤笑了!4個翻轉家庭的人工智慧 讓家更溫暖

人工智慧貓砂盆 – 因愛貓腎病過世 工程師研發預防性貓用醫療品

Python課程超強大!讓非本科轉職為大醫院網站工程師!

半年Java課程讓他成功轉換跑道成為一名程式設計師!

進修Java課程只為從硬體工程師成功轉換跑道成為一名軟體工程師!

RedMonk本季程式語言排名Python竟落在這!!

RedMonk本季程式語言排名Python竟落在這!!
RedMonk本季程式語言排名Python竟落在這!!

一直追著Java跑的Python這次終於追過啦!!一起來看看本季上榜的還有哪些吧!!
 
 
 

 

RedMonk 發表了 2020 年第 3 季的熱門語言程式排名,大破了 2012 年以來 Java 總是落在冠軍與亞軍的紀錄。這次 Python 正式擠掉 Java 成為第 2 名,讓 Java 退到了第3名。

JavaScript 仍蟬聯冠軍寶座,而第 4 名多年來都是 PHP,接下來則是由 C++ 和 C# 共享第5名、Ruby 與 CSS 共享第 7 名、TypeScript 第 9 名、C 語言第 10 名。

RedMonk 熱門程式語言排行榜是結合 GitHub 及 Stack Overflow 平台而綜合出的排名結果:GitHub 能反映程式語言實際被使用的狀況;而 Stack Overflow 則顯示程式語言的討論熱度。RedMonk 綜合以上兩者,歸納出排行,可作為未來程式語言趨勢的參考。

本季(2020 年第 3 季)的贏家就屬 Python 程式語言了。其實在第一季開始,Python 就與 Java 程式語言並列第二名,也是除了 JavaScriptJava 之外,唯一進入過第2名的程式語言。

推薦閱讀:IBM 背書!入行 AI 必學 Python 的 8 大理由

推薦閱讀:為什麼學習網頁前端一定要掌握 JavaScript?

Python 算是一種膠水語言(Glue Languange),許多專案都靠著 Python 來黏合。而新興科技如人工智慧、大數據等,都應用到 Python 程式語言。還有網站開發、爬蟲、金融科技 Fintech 等都少不了 Python 語言。官方表示:若越多的開發專案都使用 Python 語言,則 Python 會持續在榜中名列前茅。

推薦閱讀:AI 產業革命已開始!Python 憑什麼成人工智慧必備語言?

自 2012 年以來,本季是 Java 第一次落於前兩名之外。雖然 Java 也能滿足新的開發專案的需求,目前也被各大企業大量使用。官方提到:未來幾年 Java 仍會是企業的主流,但這次 Java 遭遇到前所未有的競爭。這次排名變動到底是暫時波動、和是會長期下降,仍需在接下來幾個季度持續觀察才能確定。

 

 

更多關於Python的相關文章請點閱下方連結!!

 

 

 

其他閱讀

程式開發工程師曝「只有國小畢業」!因為 Java 課程而求職順利

被愛貓叼回獵物嚇到!亞馬遜PM開發人工智慧貓門阻止貓帶回獵物

人工智慧替貓取名:萌、酷、黑色幽默、老司機式歪樓全都包

半途而廢、快活興奮劑⋯⋯AI人工智慧替甜點命名歪樓

迪士尼人工智慧換臉技術特效為目前業界最強?!()

Python課程開啟新視野:品保只花一年順利轉職程式設計師!!

Python課程找好工作:非資工系出身也能當網站工程師!!