方格精選

這些程式語言最虐心,讓工程師崩潰且害怕的程式語言排行

更新於 發佈於 閱讀時間約 11 分鐘

學習程式語言之後,可以透過所學將自己想要的功能一步一步實作出來,這也是多數工程師覺得最有成就感的時刻。

不過,世界上有一些程式語言讓工程師很崩潰,甚至不想面對它們。明明都是語言,怎麼會有那麼大的差異呢?這也是這篇文章要來探討的問題。

raw-image

在此之前,我有分享過最熱門的程式設計語言,前 3 名跟網頁技術有關係,分別是 JavaScript、HTML/CSS 和 SQL。

如果你還沒有看過我分享的內容,建議可以先去看看喔!

相關技術文章:
哪個程式語言最流行最好?

上次的內容參考了 Stack Overflow 的調查報告,其中就有針對程式語言做個熱門排行榜。但,還有很多有意思的內容沒有被提到,所以想分享出來讓你知道。

讓工程師害怕的程式語言排行榜

既然有熱門程式語言,那相反的一定也有讓工程師害怕的程式語言。

raw-image


在這個榜單值得注意的是,有很多的程式語言都是現今熱門的,他們並不是投錯票,而是許多開發者雖然懂得怎麼寫這些程式,但卻沒有意願深入下去

也因為這樣,這些程式語言才會上榜。工程師不想深入學習語言的因素很多,例如:

  • 沒有獲得成就感
  • 語言結構不容易理解
  • 程式維護上需要大量精力
  • 程式效能並不好,容易造成緩慢
  • 想要實現一個簡單功能,但卻花很多時間搜尋才拼湊出來


害怕榜第 1 名:VBA (80.4%)

全名為 Visual Basic for Applications。它是一種延續傳統的 Visual Basic 的程式語言,它經常被用在微軟的 Office 裡面,像是 Word、Excel 都有內建 VBA 語言。

而在職場上用來資料處理的 Excel 更是 VBA 語言最常出沒的地方。VBA 程式強化了 Excel 本身的功能,使得更容易處理複雜且重複的工作。

看似好用的語言,也可以幫助我們簡化工作流程,那怎麼就變成害怕第 1 名呢?

在我看來,有部分問題是出在管理程式的難易程度。先來看看比較簡單的範例程式,這個片段的意思就是呼叫 helloworld() 方法之後,Excel 會跳出一個 Hello World! 的文字框。

Sub helloworld()
MsgBox "Hello World!"
End Sub


寫一些小程式可能沒問題,但若是你要寫一個稍微有難度的功能,那可能程式就一下子就變得很長了。

當然這一系列的動作可以透過 Excel 巨集來錄製,它也會產生一樣的程式片段。但,若是未來這段程式需要變更,例如 A1 變成 C3,那維護起來就變得更加複雜了。

Sub recorder_example()
Range("A1").Select
ActiveCell.Formula = "John Doe"
Range("A2").Select
ActiveCell.Formula = "=NOW()"
Range("A1:A2").Select
Selection.Font.Bold = True
Selection.Font.Size = 22
Selection.HorizontalAlignment = xlCenter
End Sub

撇除維護的層面,對我來說最困難的應該是那些方法名稱。光是一個儲存格,你想要它條件變色、改字體、大小、字型…等等都可以做到,變化非常複雜。若是呼叫錯方法,一點效果都沒有。

害怕榜第 2 名:Objective-C (76.6%)

Objective-C 是專門用來寫 iOS App 的程式語言。

既然是手機的 App 語言,很多開發者都會想盡量快速完成一個 App 並上架。但是,Objective-C 會成為最害怕的第 2 名是有原因的,它的寫法真的非常繁雜。

我也曾經看過朋友寫過 Objective-C,但我真的看不懂。為了讓你更好理解,我只好貼一段程式碼來嚇嚇你。

我第一眼看到這個方法的時候,完全無法辨識怎麼斷行,還有不懂減號和分號的概念,甚至不知道方法的名稱是什麼。如果你有一點程式的概念,應該很懂我在說什麼。

- (int)max:(int)num1 andNum2:(int)num2 {

int result;
if (num1 > num2) {
result = num1;
} else {
result = num2;
}

return result;
}
raw-image


雖然這些語法都很基礎,搞懂之後就會看懂,但 Objective-C 對於初學程式語言的朋友來說非常不友善。我會建議你想學 App 開發的話,應該學 Swift 會比較容易上手,而且都有一些共同遵循的程式開發基礎概念。

想學習更多 Swift 和 Objective-C 的概念嗎?那就看看這 30 天的鐵人賽文章吧!

害怕榜第 3 名:Perl (71.4%)

最早的 Perl 語言是在 1987 年問世的,歷經 33 個年頭了。別看它好像很老,現在已經推出到第 5 代了,還有團隊在維護呢!

Perl 很讓工程師害怕的主要原因還是跟語法有關係,語法確實過於複雜難懂,而且是一種無型別的的語言,我也是花了一段時間才漸漸看懂。

不過雖然難懂,但跟 Objective-C 又不太一樣,至少宣告變數或是方法的時候都跟常見的程式語言相似。比較容易搞混的應該是單引號和雙引號的概念不同,然後金錢符號和小老鼠符號各有不同使用時機。

用說的可能不容易懂,我決定還是放一段程式碼來嚇嚇你 XD

$fred = "Fred here";
print 'The variable $fred' . " contains $fred.\n";
# 結果: The variable $fred contains Fred here.

$barney = 56;
$sum = 10 + $barney;
print "Sum is $sum.\n";
# 結果: Sum is 66.

@fred = ("How", "are", "you", "today?");
print "\@fred contains (@fred).\n";
# 結果: @fred contains (How are you today?).

$mike = $fred[1];
print "$mike $fred[2]\n";
# 結果: are you

$fredsize = @fred;
print '@fred has ', "$fredsize elements.\n";
# 結果: @fred has 4 elements.

想自己線上玩玩看,可以去下方的線上環境試看看。

同場加映 PHP 程式語言

害怕榜第 6 名:PHP (62.7%)

身為網站設計師,看到自己曾經學過的語言上榜了,而且名次還很前面,想跟你分享一下自己的一些看法。

PHP 是一個網頁程式語言,無論是在 Linux(最適合)、Windows 作業系統都可以運作,只要有安裝網頁伺服器就可以了,不安裝的話無法打開喔!PHP 可以支援很多資料庫,如 MySQL、PostgreSQL、Oracle…等等。

raw-image


而 PHP 讓工程師感到害怕的原因也有一些,像是下面的程式碼,你會發現寫法好像跟 Perl 有那麼幾分神似。沒錯,PHP 也是一個無型態的語言。一般來說,程式語言的變數都會有明確的型態,例如它是一個數字,那就宣告成 int;它是一個字母混雜數字的,那就宣告成 string。

PHP 裡面可沒有分型態,$var 可以是多種的型態,因此容易讓人搞混。

<?php
$var = max(2, 3, 1, 6, 7);
echo $var;
// 結果: 7

$var = array("foo", "bar", "hello", "world");
var_dump($array);
// 結果:
// array(4) {
// [0]=>
// string(3) "foo"
// [1]=>
// string(3) "bar"
// [2]=>
// string(5) "hello"
// [3]=>
// string(5) "world"
// }
?>


而 PHP 還有一個讓人崩潰的地方就是它是直譯式語言。用通俗一點的話來說就是電腦會在「用到的」檔案中,一行一行跑過你的程式碼。也就是說,你的程式寫好之後沒有測試完整,剛好有個地方忽略了而有 Bug,那你也不會知道,電腦更不會知道。

世界上還有許多的直譯式語言,像是 JavaScript、CSS、Python、Ruby…等等都是。

相反的,有另外一種稱為編譯式語言,像是 C、C++、C#、Java…等等。它們的好處就是執行程式前會透過編譯器 (Compiler) 將程式轉成電腦看得懂的編碼,因此沒有寫好的地方都會被挑出來。理論上,編譯式語言比直譯式語言有更高的執行效率


結論

雖然這些程式語言學過語法後會容易懂一點,但就變成你要時常的去運用它,否則忘記規則之後就會再次陷入看不懂的狀態。

這次分享這篇文章目的並不是要讓大家別去學這些語言,之前也分享過一個概念「每種程式語言都有不同的使用時機」,甚至還有很多書籍或是線上課程都在不斷推出,可見還是有需求的。

不知道這篇的內容有沒有幫助到大家,如果太簡單或是還是太抽象,麻煩寫在留言區囉!若是有其他感興趣的話題,也歡迎跟我說,這樣我才有辦法調整撰文方向,甘溫唷!

除了平時寫寫技術文章,我自己也有經營一個攝影部落格,分享攝影技術、開箱以及旅遊,這些內容都不會放在這裡。感興趣的歡迎訂閱喔!

◆ 攝影部落格:https://aidaidme.com/
◆ 歡迎來信:support@aidaidme.com

註:文中圖片源自 Pexel 或 Pixabay

留言
avatar-img
留言分享你的想法!
avatar-img
工程師布萊克的沙龍
9會員
9內容數
2022/04/24
職場上有許多同事關係需要處理,平輩之間相互討論是一件挺不錯的事情,但我認為碰上程式問題應該自我排除,增加自我學習能力。你身旁也有不斷提問的 Bug 同事嗎?歡迎來看看我是如何應對這些同事的。
Thumbnail
2022/04/24
職場上有許多同事關係需要處理,平輩之間相互討論是一件挺不錯的事情,但我認為碰上程式問題應該自我排除,增加自我學習能力。你身旁也有不斷提問的 Bug 同事嗎?歡迎來看看我是如何應對這些同事的。
Thumbnail
2022/04/10
科技業是許多人羨慕的行業,但若是現在已經步入中年,想要轉職到這個行業會不會太晚呢?我是覺得還好,實力能夠證明的。轉職前最重要的是做好相應的準備,才能夠贏過別人。
Thumbnail
2022/04/10
科技業是許多人羨慕的行業,但若是現在已經步入中年,想要轉職到這個行業會不會太晚呢?我是覺得還好,實力能夠證明的。轉職前最重要的是做好相應的準備,才能夠贏過別人。
Thumbnail
2022/01/25
我好不容易學會程式設計了,我想趕快來實作了!等等,先別急著將你內心的想法實現出來。你應該先問問使用者,並做一系列的思考規劃,也就是從最基本的需求訪談開始做起。這樣才能降低整個功能砍掉重練的可能性喔!
Thumbnail
2022/01/25
我好不容易學會程式設計了,我想趕快來實作了!等等,先別急著將你內心的想法實現出來。你應該先問問使用者,並做一系列的思考規劃,也就是從最基本的需求訪談開始做起。這樣才能降低整個功能砍掉重練的可能性喔!
Thumbnail
看更多
你可能也想看
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
Visual Basic for Applications(VBA)是一種功能強大的程式語言,廣泛用於自動化 Microsoft Office 應用程式中的重複性任務。在這篇教學文章中,我們將介紹如何使用 VBA 來新增、刪除和移動檔案。
Thumbnail
Visual Basic for Applications(VBA)是一種功能強大的程式語言,廣泛用於自動化 Microsoft Office 應用程式中的重複性任務。在這篇教學文章中,我們將介紹如何使用 VBA 來新增、刪除和移動檔案。
Thumbnail
VS code是什麼? Visual Studio Code(通常縮寫為VS Code)是微軟開發的一款免費且開源的跨平台文本編輯器。它支持廣泛的編程語言,提供了一系列先進功能和插件,讓開發者能更有效率地進行代碼編寫。VS Code擁有優秀的代碼自動完成、錯誤偵測、內建的版本控制系統等特性。
Thumbnail
VS code是什麼? Visual Studio Code(通常縮寫為VS Code)是微軟開發的一款免費且開源的跨平台文本編輯器。它支持廣泛的編程語言,提供了一系列先進功能和插件,讓開發者能更有效率地進行代碼編寫。VS Code擁有優秀的代碼自動完成、錯誤偵測、內建的版本控制系統等特性。
Thumbnail
Vscode 的全名是 (Visual Studio Code),是一種程式編輯器,它支援許多語言,且有對於使用者很有好的功能 Vscode 支援的程式語言 以下只列出部份而已,我最常用且最喜歡的語言就是 Python 和 C/C
Thumbnail
Vscode 的全名是 (Visual Studio Code),是一種程式編輯器,它支援許多語言,且有對於使用者很有好的功能 Vscode 支援的程式語言 以下只列出部份而已,我最常用且最喜歡的語言就是 Python 和 C/C
Thumbnail
1. 如何開始巨集(VBA) 2. 初步認識編寫VBA的面板 3. 儲存啟用VBA的活頁簿檔案
Thumbnail
1. 如何開始巨集(VBA) 2. 初步認識編寫VBA的面板 3. 儲存啟用VBA的活頁簿檔案
Thumbnail
相信身為軟體工程師的朋友們應該常常聽到宣告式及命令式兩種不同的名詞吧! 剛接觸時,對於這兩個名詞根本就是覺得文字天書,怎麼也看不懂,但隨著經驗的累積, 也逐漸有了一些領悟,也希望透過簡單說明的方式讓大家理解共同學習。 這種方式是我們早期所使用的設計模式,先把需要的素材準備好,然後一步一腳印的打造出處
Thumbnail
相信身為軟體工程師的朋友們應該常常聽到宣告式及命令式兩種不同的名詞吧! 剛接觸時,對於這兩個名詞根本就是覺得文字天書,怎麼也看不懂,但隨著經驗的累積, 也逐漸有了一些領悟,也希望透過簡單說明的方式讓大家理解共同學習。 這種方式是我們早期所使用的設計模式,先把需要的素材準備好,然後一步一腳印的打造出處
Thumbnail
一、Visual Studio是什麼?   Viusal Studio亦是Microsoft Visual Studio,簡稱VS或MSVS,它是微軟所開發的一個基本完整的開發工具,它有三個版本Community(社群版)、Professional(專業版)、Enterprise(企業版),
Thumbnail
一、Visual Studio是什麼?   Viusal Studio亦是Microsoft Visual Studio,簡稱VS或MSVS,它是微軟所開發的一個基本完整的開發工具,它有三個版本Community(社群版)、Professional(專業版)、Enterprise(企業版),
Thumbnail
這邊要來跟大家介紹C#,使用的軟體會是Visual Studio 2017版本 介紹內容架構可以分六大階段:入門級、基礎級、中低階級、中階級、中高階級、高階級 在正式開始寫程式前,要先了解一些基本概念哦! 就如同學中文前要先了解ㄅㄆㄇㄈ或羅馬拼音之類的,程式也是一樣道理,先把基本概念了解後再來開始
Thumbnail
這邊要來跟大家介紹C#,使用的軟體會是Visual Studio 2017版本 介紹內容架構可以分六大階段:入門級、基礎級、中低階級、中階級、中高階級、高階級 在正式開始寫程式前,要先了解一些基本概念哦! 就如同學中文前要先了解ㄅㄆㄇㄈ或羅馬拼音之類的,程式也是一樣道理,先把基本概念了解後再來開始
Thumbnail
Excel有個極其實用的工具VBA,讓我們透過語法撰寫對Excel下指令,雖然UiPath也有內建Excel相關功能,不過相較之下VBA可處理更多精細且完整的活動,因此我們在用UiPath開發流程時,可使用Invoke VBA功能呼叫Excel檔案中已撰寫好的VBA語法!
Thumbnail
Excel有個極其實用的工具VBA,讓我們透過語法撰寫對Excel下指令,雖然UiPath也有內建Excel相關功能,不過相較之下VBA可處理更多精細且完整的活動,因此我們在用UiPath開發流程時,可使用Invoke VBA功能呼叫Excel檔案中已撰寫好的VBA語法!
Thumbnail
合併 Excel 表讓你力不從心嗎?讓 ExcelMerger 幫助你,全台灣第一個具有文創、小農、獨立、手做元素的 app 終於姍姍來遲了!
Thumbnail
合併 Excel 表讓你力不從心嗎?讓 ExcelMerger 幫助你,全台灣第一個具有文創、小農、獨立、手做元素的 app 終於姍姍來遲了!
Thumbnail
世界上有最好的程式語言嗎?答案絕對是否定的,每種語言都有適合的使用時機,而也有不少程式語言是隨著時代變遷而消失的。請放下自己要學到最好語言的心態,多看多學,自然會找到適合你的語言。這篇文章會用客觀的角度跟你分享最多人使用的程式語言。
Thumbnail
世界上有最好的程式語言嗎?答案絕對是否定的,每種語言都有適合的使用時機,而也有不少程式語言是隨著時代變遷而消失的。請放下自己要學到最好語言的心態,多看多學,自然會找到適合你的語言。這篇文章會用客觀的角度跟你分享最多人使用的程式語言。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News