發表文章

目前顯示的是有「Java」標籤的文章

Python跟Java的差別你都搞清楚了?來確認一下吧~

圖片
針對 Python 和Java的區別還是一知半解嗎?這篇文章要好好看呀!   目錄 動態類型 vs. 靜態類型 Python語法中一切皆為物件 括號和縮排 軟體可移植性 Python 的 GIL 應用領域 哪一個更好上手? Python  和  Java  是兩種現今熱門、卻又不同的程式語言。對現在的科技業來說,兩者都是十分有用工具,且瀏覽各大求職網站,Java 工程師近十年來一直是科技業赤手可熱的職缺。而新興的 Python 語言,職場上對於會 Python 語言的工程師的需求也越來越高。若現在你想轉職工程師,卻又不知學哪種程式語言的話,可以參考本篇文章。 動態類型 vs. 靜態類型 Java  和  Python  最大的區別之一,就是兩種語言處理變數的方式。Java 強迫你在第一次聲明變數時,就必須要定義它的類型,且不可再修改,這就是「靜態類型」。而 Python 不需要在一開始就聲明變數的類型,且後續可以改變一個變數的類型,例如可以把整數變數替換為字符串(string)。 Python語法中一切皆為物件 在  Python  中,無論是數值(整數、浮點型)、字符串、字典、元組對象、還是他們所對應的類型,以及函數、模塊等,都是物件,他們的祖先是PyObject。而  Java  中的函數,基本數據類型等都不算物件。 括號和縮排 Python  與眾多程式語言的不同之處,在於它使用縮排區分程式區塊(block)。而  Java  與其他大部分的程式語言都是使用大括號定義函數和類定義的開頭和結尾。使用縮排的好處在於程是碼會比較易讀,且不會有缺括號導致錯誤的可能。 軟體可移植性 Java  的可移植性 (可攜性) 更強,可以用於開發平台獨立的應用。這是 Java 相較於  Python  的優勢之一,任何可以運用 Java 虛擬機器 (JVM) 的電腦或者行動裝置都可執行 Java 的應用。相較於 Java,執行 Python 的程式就比較麻煩,都需要一個編譯器來將 Python 代碼轉化為...

Python封頂,2021年雙冠王的秘密

圖片
  想知道自己自己學習的程式語言 Python ,是不是最新、最泛用的語言嗎?快來瞭解吧 Python 兩度獲獎,2021 封冠後未來看好 Python  在 2021 年度表現亮眼,不僅連續兩年(2020、2021)獲得  TIOBE  年度程式語言獎,更從 2021 年初的 TIOBE Index 第三名,同年 8 月首度超越 Java 晉升亞軍,在同年 10 月攀升至第一名後,即穩居冠軍寶座至今。 TIOBE 是程式語言的討論社群, TIOBE Index  則是程式語言的流行指數。該指數在基於全球工程師、課程使用量及第三方供應商的數據,每月更新一次;另外在 Google、Yahoo、維基百科等主流搜尋引擎的搜尋量則用來計算分數。值得一提的是, TIOBE  Index 的排名並非要評斷何為「最完美的程式語言」,而是用來檢視自己所學習的程式語言是否為最新、最泛用的語言,也有助於在建構新的軟體系統之前如何選擇程式語言的關鍵決策。 而 TIOBE 年度程式語言獎是頒發給在一年之中,評分成長最多的程式語言,本次 C# 本有望冠軍,卻在 12 月時被  Python  反超而遺憾落馬。 官方表示,目前 Python 的評分比第二名 C 更高了 1% 以上,雖然與 2001 年的 Java 巔峰相比還有一段距離,但由於 Python 已經成為許多領域的標準程式語言,官方相信未來仍有持續成長的空間。 無處不在的程式語言!Python 連續兩年霸榜的秘密 除了奪得 2021 年度的雙冠王,Python 此前在 2007 年、2010 年、2018 年、2020 年都曾獲得 TIOBE 年度程式語言獎的稱號,是奪得該獎項最多次的程式語言。 由此可見,Python 在程式語言界確實如  TIOBE  官方評價般「無處不在」。Python 不僅在數據科學、機器學習等領域大受歡迎,同時也適用於 Web 開發、後端、移動應用程式開發,甚或是(較大的)嵌入式系統等領域。 整體而言,Python 之所以被大規模地採用,主要歸功於其簡單上手的便利性及可以大幅提升生產效益的成長性。除此之外, Python  這兩年的異軍突起,並持續蟬聯冠軍的可能原因還有:擁有最多 AI 人...

工程師別害怕單身!這款交友APP讓你用程式語言找到另一半(下)

圖片
  本系列文章為【秀程式設計也能交女友!工程師專屬交友App:VSinder 】的下篇,請 點此 看上篇閱讀了解 VSinder 是如何誕生的、能支援哪些程式語言吧! 這可以讓你用 程式設計 技能吸引到對的另一半的APP,原來還有這個隱憂..   上傳最得意的程式設計,吸引志同道合的另一半! 基本資料都選填好後,接著就是重頭戲了──上傳一段你最滿意、最自豪的 程式設計 !     ▲ VSinder,重要的不是外貌,而是你寫的 code|Source:Ben Awad 影片截圖   在 Code Pics 一欄可以上傳你最得意的作品,畢竟就算使用同一種程式語言,能力也有高下之分,coding 能力才是工程師真正的臉面啊! 曬出自己最棒的一面,同時也能吸引到彼此欣賞的人,透過左右滑動來開啟一段與另一位工程師的緣分,聽起來也是十分浪漫呢。 如果有想要深入對談的對象,可以按下「愛心」,並期待對方也按下愛心;按「X」就會換下一位,也有檢舉不當濫用的選項——其實介面和 Tinder 的設計沒有太大的區別,只是用能直接了解一個人「內在美」的 程式設計 碼取代了修圖後的美照。如此一來,想必更能讓你找到適合的那個人,畢竟美麗的皮囊千篇一律、有趣的靈魂萬中挑一啊!   3天下載次數破萬 程式設計交友正夯 VSinder 一上線,就快速贏得 程式設計 師們的熱烈回應,在 GitHub 上有超過 1500 個收藏,3 天的下載量就快要一萬次。 這個平台的發想其實相當有新意,讓擁有共同專業的人們相互認識,雙方有足以開啟話題的相似之處。有共同的專業,也代表有類似的生活型態,聊天就不怕冷場了! 伴侶可以了解自己的專業,甚至能相互勉勵、彼此學習,一起攜手進步,也是相當美好的事情。當然後續可以相伴多遠、走多久就是各自的緣分了,不過有這樣的一個平台,還是讓許多 程式設計 師感到驚喜。 這款新奇的交友軟體,使用過的網友留下評論道:「這個 app 不僅可以過濾出有共同點的人,還能以幽默的方式表達自己的怪癖和智慧,太棒了!」、「雖然沒有找到另一半,但我在這個app上渡過了快樂的時光。幹得好」、「希望能找到我未來的妻子」。 但也有網友大喊:「這個平台上都是男的啊...

工程師別害怕單身!這款交友APP讓你用程式語言找到另一半(上)

圖片
有 程式設計 的技能卻怕找不到好對象?給這交友APP一個機會幫助你~   不需露臉,秀程式設計就好!工程師專屬交友軟體 VSinder 伴隨科技的快速發展,都會男女們的交友早已不侷限於現實,許多工作忙碌、生活圈有限的上班族都會使用交友軟體,在線上聊天、互動,最後發展到現實世界進一步「脫單」。 只是,包括全球最知名交友 APP「Tinder」在內,此類軟體都需要使用者上傳照片,外貌要足夠吸引人才有機會被「往右滑」、得以開始聊天;接著又需要在短時間內展露風趣幽默、能言善道的口才,讓人覺得很好聊……接連的關卡,實在是苦了一眾木訥的 程式設計 師們啊! 好家在,近來有一位美國工程師將程式碼編輯器「VS Code」改造成一款方便工程師一展長才的交友平台「VSinder」!   ▲ 交友 APP 示意圖|Photo by Markus Winkler / Unsplash   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 等 1...

利用人工智慧,讓你達到動口不動手就能寫程式的境界~

圖片
  人工智慧 語音程式工具的效果如何?這篇幫你介紹一下! 人工智慧 開發語音coding工具 不用雙手照樣寫程式! 對於「語音輸入法」大家想必都不陌生,現在的手機通常都會內建語音輸入,方便在無法使用雙手打字時有另一輸入文字的方式。 即使市面上已有許多語音轉文本技術,但能「輸入程式碼」的語音輸入法,過去卻還沒有人成功研發出系統化的應用程式。直到日前,有位資深美國工程師 Matt Wiethoff 成功用 人工智慧 (AI) 開發出一款可以「邊說邊寫程式」的工具! ▲ 使用語音輸入程式碼的 AI 工具「Serenade」介紹影片   運用機器學習技術 AI 讓你用「說」的也可以寫程式   ▲ 長期寫程式容易手酸,美國工程師開發能輔助語音 coding 的 人工智慧 (source:Danial RiCaRoS on Unsplash/示意圖本文無關)   對工程師們來說可謂是「雙手萬能」,彈指之間能編寫出千變萬化、各有所能的程式軟體;但相對而言,若突然某日不便使用、甚至無法使用雙手該怎麼呢? 知名美國知識問答網站 Quora 的開發人員 Matt Wiethoff 就是雙手遭遇變故。他的手部因嚴重「重複性壓力傷害」所苦──這類傷害多因在日常工作中不間斷地反覆運動固定的部位所導致,嚴重的話可能對身體部位造成永久性損傷。 Matt 因此無法再使用雙手敲打鍵盤,但身為一個工程師,無法 coding 怎麼行?在職業生涯可能畫下句點的壓力之下,Matt 卻沒有灰心喪志,宛如勵志電影般,在人生遭遇重大打擊時不但沒有被搏倒,反另外開闢出一條蹊徑:開發不需雙手可以寫程式的工具。 Matt 和 Tommy MacWilliam 共同創立了新創公司 Serenade ,用 人工智慧 開發出一款可以將語音轉化為程式碼、用口頭發聲就能寫程式的工具。   支援 Java 、 Python 等多語言 Serenade 獲 210 萬美元投資   ▲ Serenade 操作示意圖(source:Serenade 官網)     該公司的第一款商業化產品「Serenade Pro」已經發表,現在已經可以從官網將 Serenad...

不只有理科生能接觸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 R...

不只有理科生能接觸Python課程,文科生可是更有潛力呢!-上

圖片
 身為文科生遲遲不敢下定決心踏入 Python 之門嗎?今天就是你人生改變的第一天!   文組不適合學 Python 與 Java?《Nature》:外語天才其實更適合寫程式 說到 Python 、 Java 等程式語言,很多人都認為理科生的專利,這樣的刻板印象,也讓許多有志當軟體工程師的文科生望之卻步、自我設限。其實根據美國《Nature》旗下自然科學期刊《Scientific Reports》發表的文章顯示:Python 程式語言的學習速度似乎與語言能力呈正比,也就是說:越擅長母語、外語國的語言天才,學習程式語言的速度就越快、對於 coding 知識的吸收越好!   ▲ 過往很多人認為理組生較適合學習程式語言。但根據《Nature》旗下期刊發表的研究文章顯示:語言能力強的人學習 Python 較快 (source:unsplash/本圖為示意圖與當事人無關)     也許,學習 Python 、 Java 等程式語言的過程,就像是學習英文、德文等第二外語一樣。 根據華盛頓大學研究人員發表的一項研究顯示:從一個人的語言能力及解決問題的能力,就能預測他學習 Python 程式語言的速度快慢。此項研究使用「行為測試」和「大腦活動」的方式,來了解受試者學習程式語言的速度,並同步發表在美國《Nature》旗下自然科學期刊《 Scientific Reports 》上。   ▲ 《Nature》旗下期刊《Scientific Reports》發表的研究報告「自然語言能力與學習程式語言的關聯」。(source:擷取自 Scientific Reports 官網)     這項研究招募了 42 名受試者,他們必須透過 Codeacademy 的線上教學平台,完成 10 次 45 分鐘的 Python 課程 。其中真正完成課程的受試者有 36 人,研究團隊就從他們的身上確認其學習速度及對課程的掌握度。   線上課程讓研究團隊能掌握受試者學習進度 在進行線上的 Python 課程 之前,受試者進行了一連串數學能力、工作記憶、第二外語及問題解決能力的測試後,才開始進行 Python 程式語言的課程。課程是使用...

想入門程式設計課程,該選Python還是Java?(下)

圖片
你想好要選擇 Python 還是Java了嗎?放心~分析還沒結束,繼續看下去囉! 3. 靜態與動態 Python 與 Java 最大的區別之一在於:兩種語言處理變數的方式: Java 是靜態類型的,而 Python 是動態類型的。 Java 要求在第一次聲明變數時,就必須要定義它的類型,且不可再修改,這就是所謂「靜態類型」;而 Python 無需立即聲明變數的類型,且後續可以改變一個變數的類型,例如可以把整數變數替換為字串(string)。 同樣,函數參數可以傳入任何對象。「鴨子型別」(duck typing)使 Python 非常方便且易於使用。不過,這也容易讓下一個接手代碼的人難以理解,除非附上完善的標註。 ▲ 網路上盛傳的 Java 與 Python 程式語言比較迷因圖,顯示現代人對於精簡的 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還是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. } } > Python 和 Java 是兩個都十分熱門、但有不少差異的程式語言。以求職而言,兩者都常成為需求最多的語言榜首, Java 工程師一直各大求職網站常見的職缺;而隨著 Python 的熱度持續上升,市場對會此語言的需求也越來越高。 推薦閱讀: Python 取代 Java 奪得亞軍!2020 第 3 季 RedMonk 程式語言榜大洗牌? 相信不少想進入程式設計一行的朋友們,一開始是都會苦惱該選擇哪個,希望能避免最後徒然耗費金錢、精力和時間。當然這兩種語言各有各的市場,不管選擇哪種 程式設計課程 ,在職場上一定用的到,差別在於哪個語言更方便、更有效率。 推薦閱讀: APCS 程式檢定,高中生該從 C、Java 還是 Python 下手? 本次我們將要比較 Python 與 Java 各自的特色,幫你分析你的第一堂 程式設計課程 ,該從哪個語言下手!   Python 、 Java 有什麼差別? 讓我們比較一下 Python 和 Java 的編寫方式,以及如何影響編寫體驗:   1. 物件導向程式設計(Object-oriented programming,OOP) 「物件導向程式設計」可以被視作一種在程式中包含各種獨立、而又互相呼叫的類別(Class)和物件(Object)的思維,OO...