Python等程式設計課程有何差別?一次詳解(上)

 

Python等程式設計課程有何差別?一次詳解(上)

程式設計課程該選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 下手?

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

Python 、 Java 有什麼差別?

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

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可以使你更加井然有序、條理分明,特別是在還不熟悉程式語言的情況下。

本系列文章未完,請點此看下一篇


相關文章:

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

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

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

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

人工智慧貓砂盆:1.研發的背後竟暗藏不為人知的辛酸

人工智慧貓砂盆:2.利用大便判斷愛貓健康狀況

五部人工智慧電影告訴你:未來人類生活樣貌,有可能跟AI談戀愛

全球首屆元宇宙時裝周,複刻20年前的失敗?

全球首屆元宇宙時裝周, 遇到瓶頸 複刻20年前的失敗? 目錄 元宇宙時裝周參與盛況 叫好不叫座?新興技術的行銷瓶頸 由虛擬實境平台 Decentraland 所舉辦的「元宇宙時裝週」(Metaverse Fashion Week...