- Sep 16 Wed 2020 23:21
-
8個必學SEO技巧(3)TITLE TAG還是要做SEO
- Sep 15 Tue 2020 21:00
-
8個必學SEO技巧(2)你的網頁夠快嗎?

在執行SEO時,有注意過你網頁的速度嗎?別小看那幾秒的差距!
儘管依據 Ahrefs 在 2016 年的 Google 搜尋結果發現,網頁 loading 時間不一定跟 Google 排名成正比。但是根據 Google 的官方統計資料顯示,當一個網站的 loading 速度超過三秒時,有 53% 的使用者會跳出這個網頁。所以 SEO 應該盡量讓網頁 loading 的速度在 2 秒之內。
想想看,當你在 Google 搜尋結果頁面點進一個網頁,結果過了 3 秒還顯示不出內容。你是否會跳出並回到搜尋頁面,看另一個頁面呢?
其實不論你網頁做得如何美輪美奐、介面設計的多麼人性化、網頁內容多麼吸引人,只要網頁開啟的速度太慢,一切都歸零!過去曾經炫翻天的 Flash 網頁特效,因為會拖累網站的 loading 速度,所以現在可說是接近被淘汰的狀態。甚至 行動版裝置如 iPhone 與 Android 手機等都不支援 Flash。
身為網頁設計師或是 SEO 優化師的你,請快使用 Google 推出的網頁速度檢測工具 (連結) 來檢視自己的網站速度吧!
提升網頁載入速度的作法有很多,例如減少 request 數量、最佳化圖片大小、整合多個 CSS 檔案等,技術難易度不一。而比較簡單的作法,歸納如以下兩項:
批次減少圖片大小
上傳圖片至網站之前,請減少圖片的大小。例如:當你的網站是使用 Wordpress 來架站時,可使用外掛 (如Shortpixel) 來壓縮圖片大小
精簡 HTML 文本
除了壓縮圖片大小之外,也請精簡 HTML 的編碼。很多時候精簡的編碼跟一長串的編碼,呈現的效果樣式是一樣的。所以請盡可能精簡 HTML 編碼。
以上介紹最簡單的加快網站 loading 速度的方法。站內 SEO 除了加快網站的速度之外,最基本、最直接會顯現在 GOOGLE 搜尋結果頁的正標副標更要優化。方法請見這篇:2018 後的 SEO 八部曲 3 - 老套的META TAG還是要做
延伸閱讀:
Facebook開源了Python安全與隱私工具Pysa!
人工智慧寫歌已經不是新聞,但這次他們可是對這殿堂級樂團致敬!
GA工作階段是SEO課程中必出現一環,今天讓我們深入了解(上)
第一次上程式設計課程該選 Python 還是 Java?有什麼差別?
人工智慧守護浪浪安全!貓奴工程師開發AI浪貓庇護所
前端工程師也該會的後端:MySQL 的 DDL DML DQL DCL
Python 教學 - 控制結構篇 - while 迴圈
- Sep 14 Mon 2020 22:51
-
8個必學SEO技巧(1)不能不懂你的使用者!

執行SEO優化,不了解你的目標受眾,問題可就大了!
「要是你連選手的身分都不是,就別想贏得這場比賽!」
這跟 SEO 優化有何關係? 拿籃球來做比喻好了。小明身高只有 158 公分,想成為 NBA 籃球選手。現在他心裡只專注在自己想成為籃球選手的渴望,憑著「Just Do It」這句標語,他開始努力的練習籃球技巧。
但是無論他多麼努力的練習,「最佳化」自己的籃球技巧,其他人高馬大的球員就是比他高過多個頭,小明就是只有被蓋火鍋的分。當然籃球教練不可能挑選他上場,更不用說是贏得比賽了。因為小明根本就不是打籃球的料。
「小明」+「籃球」=「不搭」
而在 SEO 的世界中,「小明」就好比你的網站、「籃球教練」就好比 Google 針對某個特定關鍵字的搜尋結果,但是你個網站不是搜尋這個關鍵字的使用者想看的網站,所以你的網站可能連被這個關鍵字收錄的機會都沒有,更別說是「贏得比賽 (排序在這個關鍵字搜尋結果的第一頁)」了。
那 SEO 優化師們要如何尋找搜尋者想要看的網頁呢?
舉例來說,今天你是運動補給品廠商。你希望使用者輸入關鍵字「買 BCAA」,就能馬上搜尋到你的網站。那你準備要優化的網頁,是單一的產品介紹網頁、還是委託其他店商販售你家產品的分類頁面、或是介紹 BCAA 用途的教學網頁、還是自己官網的部落格?
你搜尋了關鍵字「買 BCAA」,結果如下圖:
你發現:電商網站的商品分類頁佔了 4 頁、知識型的部落格網站佔了 3 頁、論壇有 2 頁。所以會想買 BCAA 的人大部分會想從多個購物網站進行多品牌比較,更勝於指定單一品牌的產品。
由此可以觀察出:BCAA 的目標客戶(TA)是比較沒有品牌忠誠度的。他們常會在 momo、蝦皮、露天、PChome、Yahoo 等網路購物電商平台上做多品牌的比較。
此時,SEO 優化策略的第一順位,就是針對提供給這些電商網站的文圖,做內容型的 SEO 優化。這意味者你們的行銷團隊必須寫出更吸引人的文案、標題等以及更吸引人的圖片,以讓產品在眾多同業的產品之中勝出。
你也可以參考同業當中最暢銷的品牌,他的定價策略與文案風格來優化整個產品的銷售策略──這時就不只是 SEO 的工作了。
另外,因為知識型的部落格網站也佔了許多位置。此時商家可以考慮跟這些部落格的寫手合作,讓這些 KOL 願意把你的產品寫入他們的部落格網站內,再貼上你網站的購買頁面連結。藉由他們的高人氣,引導眾多導訪客到你家的購買頁面下單。你的產品與網站就在這些名列前茅的部落格網站曝光了。你公司的官網 URL 也會因為被這些高權重的網站曝光,而拉抬你官網的權重。
以上所舉的例子,只是一種產品的狀況,並不代表所有關鍵字對應到的的產品/服務都如此。因此 SEO 在擬定優化策略前,可以從搜尋排名得知 TA 的輪廓,並針對 TA 的搜尋習慣來訂定 SEO 計畫。像是一些比較區域性的產品或服務(例如:駕訓班、搬家公司等),SEO 策略就可以走 Local SEO,針對會出現在 Google 地圖上的一切做優化等等。
要使用何種方式做 SEO 優化,沒有固定的答案。因此 SEO 需要強大的變通能力。
雖然 SEO 沒有標準的 SOP,但是針對單一網站的站內 SEO,還是有一些基本的原則可遵守。像是提升網頁的 loading 速度,詳情請見此篇:2018 後的 SEO 八部曲 2-你的網頁夠快嗎?
延伸閱讀:
想入門程式設計課程,該選Python還是Java?(上)
二度就業婦女利用UI設計開創斜槓人生!
適合作為初學者的首選程式設計課程是Java或Python?-下
第一次上程式設計課程該選 Python 還是 Java?有什麼差別?
人工智慧守護浪浪安全!貓奴工程師開發AI浪貓庇護所
前端工程師也該會的後端:MySQL 的 DDL DML DQL DCL
Python 教學 - 控制結構篇 - while 迴圈
- Sep 10 Thu 2020 23:00
-
謝謝工程師的人工智慧貓窩,讓貓貓們在冬天有個避風港~(下)
- Sep 09 Wed 2020 19:00
-
謝謝工程師的人工智慧貓窩,讓貓貓們在冬天有個避風港~(上)

能靠著人工智慧發明暖心貓窩的,也只有工程師了,謝謝他們的貢獻呀~
浪貓冬天存活率僅四成!工程師決定建構AI貓窩
冬天的嚴寒夜晚,當人類紛紛回家過冬時,就由人工智慧來守護浪貓的安全:至少先讓他們有能度過寒冬的地方。據動物組織估計,大陸每年約有 4 千萬多隻流浪貓,悲哀的是,只有其中的 40% 能成功活過冬季,也就是存活的只剩下約 1600 萬隻存活......
▲ 只有 4 成的浪貓能活著度過大陸的寒冬。
百度一名筆名為「晚兮」的工程師,於某個冬天看見一隻小流浪貓縮在車子的輪圈旁取暖。「晚兮」意識到牠們岌岌可危的生存困境,決定善用自己的人工智慧專業,並聯合其他愛貓志工,研發「AI 貓咪庇護所」。
人工智慧貓窩導入的 AI 模型 EasyDL,是百度推出的客製化 AI 訓練暨服務平臺。透過 EasyDL,團隊透過 EasyDL 建立「貓臉掃描門禁系統」並讓貓窩能恆溫通風。貓窩能自動提供食物、水,還可透過 AI 技術偵測出貓咪是否已絕育、生病受傷等,即時給予適當協助。目前已有一批浪貓入住。
冬天的嚴寒夜晚,當人類紛紛回家過冬時,就由人工智慧來守護浪貓的安全:至少先讓他們有能度過寒冬的地方。據動物組織估計,大陸每年約有 4 千萬多隻流浪貓,悲哀的是,只有其中的 40% 能成功活過冬季,也就是存活的只剩下約 1600 萬隻存活......
▲ 百度人工智慧貓窩設計草圖。
人工智慧貓窩導入 AI 模型 EasyDL,是為定制化訓練及服務平台建立了可掃描貓臉而開門、恆溫通風的 AI 人工智慧貓窩,可提供浪貓所需的食物、水,還可透過 AI人工智慧的技術偵測出貓咪是否絕育或生病、受傷,以便即時給予協助。目前已有一批浪浪貓入住。
▲ 目前已有一批浪浪貓入住人工智慧貓窩
人工智慧貓窩的功能詳列如下:
貓臉門禁系統 其他動物止步
▲ 貓臉門禁系統:導入人工智慧的鏡頭可辨識 174 種品種的貓,掃描後確認是「貓」才會開門。
為配合貓咪晚上活動的習性,貓窩設置的雙自動門配備具紅外線夜視功能的攝影鏡頭,一旦有貓靠近,第一道門先開啟,所以就算伸手不見五指的晚上,門禁系統也能也能照常為浪貓們開門。
▲ 配備人工智慧的貓臉辨識鏡頭,運作時會掃描貓臉
安全感不足的浪貓,防衛心大多很重。因此在貓咪進入第一道門後,第二道門就會自動開啟,直到貓咪完全進入室內,第二道門才會關上。這樣貓咪才房卸下心防、無掛慮的入住。透過百度大腦開放的動物識別技術,貓臉門禁系統可識別 174 種不同種類的貓,有效阻止流浪狗及其他動物進入,保護流浪貓不受其他動物侵擾。
本系列文章未完,請點此看下一篇~
延伸閱讀:
四個讓人類生活更溫暖的人工智慧!(下)
人工智慧貓砂盆,嚴格把關你家貓咪的健康!(三大核心技術)
人工智慧的人臉辨識技術還不成熟?有色人種傻傻分不清楚(下)
UI/UX 設計工作完整剖析
第一次上程式設計課程該選 Python 還是 Java?有什麼差別?
人工智慧電影/影集:Netflix《我的全像情人》探討人與 AI 是否有真愛
使用 Java、Python、C 等 22 種程式語言寫出「Hello World」!
- Sep 08 Tue 2020 21:24
-
Google地圖有這麼多新功能,拜人工智慧所賜!(下)

多虧人工智慧,地圖的潛力簡直無可限量,我們的生活將越來越方便啦!
圖像神經網路將道路視為一個圖形,路線對應節點(nodes),而邊線位於「連續道路」和「通過交叉路口連接的道路」之間。路段實際上是與交通密度成比例地、隨機採樣的道路子圖(subgraph),並通過訊息傳遞演算(message-passing algorithm)計算邊緣與節點之間的相互影響。
每個路段的長度和複雜度都有所不同,從兩條道路到包含數百個節點的路線都有。DeepMind 表示,將相鄰道路之間的交互關係納入考量後,也使得預測準度有所提升:「例如我們思考一條小巷的堵塞如果溢出,將如何影響主幹道的交通」。
▲ Google 地圖人工智慧分析計算道路交通之演算法示意圖。
DeepMind 也表示,在訓練時自動調整學習率,該模型不僅可以達到更高的成效,還能自動調整學習率,獲得更穩定的結果。
除了新模型,Google 地圖也一併考慮其他因素:如道路速限、道路面積、道路品質(如礫石地、柏油或泥地)、道路施工、天候氣象(如下雪、下暴雨或土石流等)、使用者回報的交通事故、封路、出現彎道或紅綠燈路口的頻率等等,以及因應新型冠狀病毒疫情隨之而來的交通管制。
疫情之下 Google 地圖受到的沖擊
Google 表示疫情爆發後,全球路上交通流量減少了 50 %,隨著疫情持續,仍有不少地區維持交通管制。
這種影響範圍擴及全球的特殊狀況下,為了不讓預測失準,AI 會自動優先考量近期的車流量記錄,將更早之前的車流量模式列為次要考量,讓導航結果的預計抵達時間更為精準。
這次事件展現出 Google 地圖與現實世界有多麼息息相關。Google 執行副總裁 Jen Fitzpatrick 也親自撰文表示,他們將會推動 Google 地圖發展新的技術,因為世界不斷在變化──公車班次的增減、新的道路被開拓、自然災害永久地改變通行路線等等。「這就是為什麼地圖需要更新、確保全面性和準確性的原因。人工智慧的重大突破改變了我們製作的地圖方法,也讓我們能將高品質地圖更快地帶到了世界各個角落。」
除了導航之外 其他有賴人工智慧的地圖功能
除了導航功能之外,其實 Google 地圖還有許多實用的功能都是靠人工智慧完成。
如 Google 曾公開他們如何利用深度神經網路,自動且準確地辨識街道名稱、模糊人臉與車牌。在自然場景中由於視覺偽影,如失真、閉塞、定向模糊、雜亂的背景或不同的角度等狀況,讓傳統的光學字符識別(OCR)難以完成辨識。
而為了保護用戶的隱私,Google 團隊致力於解決這一問題,使用神經網路自動模糊了街景圖像中的人臉和車牌,而經過足夠的標記數據訓練後,AI 也能自動升級 Google 地圖相關的最新信息。
另一應用在於描繪地圖上代表建築的幾何陰影。Google 利用了多層次技術,第一層人工智慧負責從衛星照片中辨識出建築物;第二層的人工智慧負責分辨建築物的輪廓,並去除四周雜物;第三層則是根據輪廓來描繪出最有可能的建築物狀態。這套系統從 2018 開始,已經繪製了超過 1 億個新建築到 Google 地圖上了。
這套系統在低度開發國家尤有效用,在政府資訊難以取得的國度,Google 團隊利用衛星圖和街景的影像,繪製出了奈及利亞大城市拉哥斯(Lagos)的地圖,填入了 20,000 條街道名稱、50,000 個新地址、與 100,000 間新商家的資訊。
像繪製地圖這樣巨量又繁瑣的工作,果然還是得靠AI的協助才有可能完成的呢。
本系列文章為【不只是導航!Google 地圖用 AI 大升級 能預測還沒發生的塞車】的下篇,上篇請點此。
延伸閱讀:
本季Python和Java的對決,究竟鹿死誰手?
這五部經典的人工智慧電影,將人類與AI的矛盾情結嶄露無遺!
今天就一起來看看人工智慧幫貓咪取了哪些妙妙妙的名字!
UI/UX 設計工作完整剖析
第一次上程式設計課程該選 Python 還是 Java?有什麼差別?
人工智慧電影/影集:Netflix《我的全像情人》探討人與 AI 是否有真愛
使用 Java、Python、C 等 22 種程式語言寫出「Hello World」!
- Sep 07 Mon 2020 21:04
-
Google地圖有這麼多新功能,拜人工智慧所賜!(上)

這個人工智慧貓窩不只是工程師的結晶,更是貓貓的救星呢!
新冠疫情爆發,導致全球交通運輸模式受到影響。各種交通管制、居家隔離甚至是封城 等措施,使全世界車流量大幅減少。
為了因應全球範圍的交通模式改變,Google 近日表示,將與 DeepMind 攜手運用人工智慧技術, 強化路途預定到達時間預測(ETA),甚至能還沒發生塞車,就先預測你會不會受影響。
Google 地圖的導航功能一直備受大眾喜愛,近年隨著行動裝置的普及與網路速度的提升 ,有越來越多民眾不另外裝載車用衛星導航、而直接使用 Google 地圖作為外出行車的主要 導引,更是讓 Google 地圖與人們的生活更加緊密。
至於 Google 是怎麼做到導航、判斷車流量與偵測交通阻塞的呢?背後還是有賴人工智慧的幫助!
不只靠公開資料分析 每個使用者都能回傳位置資訊
有些導航服務是根據政府提供之公開資料來計算車流量,而 Google 地圖的優勢在於── 眾多的使用者。
Google 地圖全球每日用戶超過 10 億人,每個使用者進行導航時都能匿名傳回位置資訊, 計算這些資訊就能統計出當前的道路狀況,以此分析出道路的車流量、是否有交通堵塞等等 ,並即時在導航結果中呈現。
▲ 圖片來源:The Keyword | Google
Google 地圖使用路上行人、行車中的地點資料來顯示當下路況,這種模式雖然簡單好用,但如果要進一步預測未來 10、20 分鐘,甚至一個小時之後的路況,或要提供預定到達時間(Estimated Time of Arrival,ETA),就必須將既有歷史交通數據、即時車流量的改變情況,配合AI人工智慧進行分析預測。
與DeepMind合作人工智慧技術 強化路況預測能力
為了強化路況預測能力,Google 宣布將與 Alphabet 旗下的人工智慧研究公司「DeepMind」合作,更新 Google 地圖的演算法。
Google 表示,新的預測模型將加權過去 2 到 4 週的歷史資料,而越舊的資料權重會越低;並稱 Google 地圖的 ETA 預測在 97 %以上的旅程都有穩定準確率,而與 DeepMind 的合作能使準確率更加提升。
Google 地圖採用名為圖像神經網路(Graph Neural Networks,GNNs)的機器學習架構,大幅降低預測失準率,在柏林、雪梨、東京及華盛頓特區等等交通繁忙的地區,依然能維持精準的預測率,讓使用者能在出發前更方便規劃行程。
▲ Google 不斷提升世界各地之 ETA 預測精準度,圖可見「台中市」提升高達 51 %。圖片來源:VentureBeat
Google 地圖將錯綜複雜的道路網路劃分為一個個「路段」(segments),各個路段皆包含大量的交通流量資料,並能彼此共享;AI 分析這些巨量的資料,再通過圖像神經網路模型預測每個路段的行駛時間。
本系列文章未完,請點此看下一篇
延伸閱讀:
人工智慧人臉辨識還不完善,來看看它出了什麼包!(下)
一起來瞧瞧這次人工智慧寫歌致敬的對象是哪個重量級天團!
這短期的Python課程,讓他無痛轉職!
UI/UX 設計工作完整剖析
第一次上程式設計課程該選 Python 還是 Java?有什麼差別?
人工智慧電影/影集:Netflix《我的全像情人》探討人與 AI 是否有真愛
使用 Java、Python、C 等 22 種程式語言寫出「Hello World」!
- Sep 03 Thu 2020 22:09
-
想搞懂UI設計和UX設計的不同處,這系列文章必定要追起來(5)

要把UI 設計與UX設計完美地合作,其實一點也不複雜,這篇都會告訴你~
本篇為【UI/UX 設計工作完整剖析】系列的第 5 篇,完整連結如下:
1-為何UI/UX容易搞混?
2-UI設計的優點
3-UX設計的優點
4-無論UI/UX都需研究驗證
5-如何讓UI/UX相得益彰
結語:如何讓 UI/UX 相得益彰?
即使 UI 設計 與 UX 設計是截然不同的專業、各自涉及迥異的技能,但它們都是彼此不可或缺的存在。
即使有精雕細琢的介面設計,也無法掩飾笨拙又難用的操作流程;而枯燥乏味的視覺設計也會無法吸引使用者、從而埋沒了出色的使用體驗。
UI 設計師確立使用者介面的外觀,而 UX 設計師安排使用者介面的運作。在 UX 設計師在鑽研如何用有限的篇幅、提供使用者最多又不會過多的資訊時,UI 設計師正在努力讓這些繁雜的訊息精美地呈現在螢幕上。這是一個非常需要合作的過程,也有賴雙方緊密且良好的溝通。
以行動號召按鈕(Call to Action,CTA)為例,看 UX 與 UI 的分工:
1.UX 設計師
提出需要多增加一個按鈕、為何如此能讓使用者滿意、決定如何重新安放所有按鈕。
2.UI 設計師
設計新按鈕的外觀,而其他按鈕也可能受影響而需重新調整如形狀、顏色、大小、特效等外觀。
3.UI、UX 設計師重疊的互動設計
當使用者點下按鈕後將會導向某個頁面,UI 著重在按鈕外觀的能見度與視覺導引;而 UX 則著重在導向的網頁是否能滿足使用者的期待。
如此這般,UI 設計、UX 設計師需要不斷地溝通協作,才能確保彼此的設計都能完美執行、與使用者的期望完美地吻合,最終創造出優秀的使用者介面與體驗。
如果你正在規劃要朝 UI 還是 UX 領域邁進,那麼最重要的還是思考自己對哪種設計類型感興趣。如果還不熟悉設計領域,建議這兩個方面都可以嘗試一下,有了在這兩個領域的實際經驗,不僅可以更了解自己適合哪個領域,也可以使你無論最後選擇哪一個,都能成為更好的設計師!
延伸閱讀:
只會用Java寫出"Hello World"嗎?今天讓你學更多
30個例子獨家放送-如何用A/B測試來改善UI設計(一)
重金屬天團Metallica被人工智慧寫歌致敬啦!來看看成果如何~
美女PM/UI設計師真實身分起底!二度就業婦女的斜槓人生
第一次上程式設計課程該選 Python 還是 Java?有什麼差別?
五部人工智慧電影告訴你:未來人類會與 AI 談戀愛⋯⋯還是被毀滅?
人工智慧貓砂盆 - 因愛貓腎病過世 工程師研發預防性貓用醫療品
- Sep 02 Wed 2020 11:00
-
想搞懂UI設計和UX設計的不同處,這系列文章必定要追起來(4)

這篇讓你知道研究驗證對UI及UX設計有多重要!
本篇為【UI/UX 設計工作完整剖析】系列的第 2 篇,完整連結如下:
1-為何UI/UX容易搞混?
2-UI設計的優點
3-UX設計的優點
4-無論UI/UX都需研究驗證
5-如何讓UI/UX相得益彰
研究是關鍵!無論 UI、UX 都需要研究驗證
UI、UX 若想要盡善盡美,最重要的的就是要做各種事前研究!
無論是 UI 設計 或UX 設計師,都必須先做各種功課——盡可能收集資料、行為數據以研究使用者的需求,思考、分析和預測使用者在當下可能的行為、行為背後的動機以及隨之而來的體驗感受。
而研究所得的數據資料將應用在初版設計上,接著有的 UI、UX 設計師會透過真人測試或使用者訪談,取得使用者最直接的回饋、觀察並記錄使用者使用產品的整個過程、發現需求並構思解決方案,以確定設計能朝著正確的方向前進。
即使無法進行真人測試,也會透過 A/B 測試、易用性測試(Usability test)等方式在開發時就先測試找出問題,進一步對設計進行修改或優化。
推薦閱讀:使用 A/B 測試來改善網站 UI 設計的 30 個例子
而這樣「研究分析、設計開發、測試反饋、修改優化」的流程會重複多次,這樣的開發法又被稱為疊代式開發。與傳統的瀑布式開發相比,疊代式開發能降低風險、提早得到使用者反饋,也具有更高的效率和成功率。
採用這種方法,可以在完全確定設計需求之前就開始進行開發,在一次疊代中先完成一部分設計,再通過使用者的回饋來細化,再開始新一輪的疊代。
對於UI 設計師 和 UX 設計師來說,事前研究都至關重要,也都使用類似的方法,以求規劃出得宜的設計。
本系列文章未完,請點此看下一篇
延伸閱讀:
人工智慧幫餅乾正名,也幫貓貓取名!這次又會發生什麼奇異的事呢?
才小學畢業,竟能成為程式開發工程師!哪裡的Java課程這麼神?
全球首台MIT人工智慧貓砂盆,為你家貓貓的把關!(上)
美女PM/UI設計師真實身分起底!二度就業婦女的斜槓人生
第一次上程式設計課程該選 Python 還是 Java?有什麼差別?
五部人工智慧電影告訴你:未來人類會與 AI 談戀愛⋯⋯還是被毀滅?
人工智慧貓砂盆 - 因愛貓腎病過世 工程師研發預防性貓用醫療品
- Sep 01 Tue 2020 19:00
-
想搞懂UI設計和UX設計的不同處,這系列文章必定要追起來(3)
- Aug 31 Mon 2020 21:50
-
想搞懂UI設計和UX設計的不同處,這系列文章必定要追起來(2)
- Aug 27 Thu 2020 00:07
-
適合作為初學者的首選程式設計課程是Java或Python?-下

這篇告訴你更多關於Java和Python的比較!到最後你就能選出你的首堂程式語言課程!
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 著手、打開通往程式設計領域的大門。即使對於還沒弄清楚(Class)和物件(Object)概念的人,依然可以合乎邏輯地使用 Python,而且它簡潔的代碼畫面,可以為初學者減低精神壓力和提供喘息空間,它的靈活性也很強,足以在課堂外使用。
如果對建立 Web 應用程式、與科技新創公司合作或對資料科學感興趣,那麼 Python 是你不錯的選擇。
另一面來說,Java 的複雜性和重重規則「可能」有助於你早期就養成良好的習慣,並且為將來專業程式設計師的職業生涯做好準備。
如果你希望未來在一家大公司任職程式設計師、想製作 Android 的 APP 或者已經決定未來要學習 C 語言,那麼 Java 是一個不錯的選擇。不過要先有心理準備面對陡峭的學習曲線!
歸根結底,如果是從「簡單、易學、好上手」來看,Python 毋庸置疑是更好的起點!趕快手刀報名 Python 程式設計課程吧!
推薦閱讀:
非資工系出身,產品人員「Python 課程」結業後轉職大醫院當網站工程師
當了快八年的業務,因Java課程而成功轉職程式設計師



