方格精選

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

更新 發佈閱讀 11 分鐘

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

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

vocus|新世代的創作平台

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

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

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

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

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

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

vocus|新世代的創作平台


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

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

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


害怕榜第 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;
}
vocus|新世代的創作平台


雖然這些語法都很基礎,搞懂之後就會看懂,但 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…等等。

vocus|新世代的創作平台


而 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/
◆ 歡迎來信:[email protected]

註:文中圖片源自 Pexel 或 Pixabay

留言
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
VS code是什麼? Visual Studio Code(通常縮寫為VS Code)是微軟開發的一款免費且開源的跨平台文本編輯器。它支持廣泛的編程語言,提供了一系列先進功能和插件,讓開發者能更有效率地進行代碼編寫。VS Code擁有優秀的代碼自動完成、錯誤偵測、內建的版本控制系統等特性。
Thumbnail
VS code是什麼? Visual Studio Code(通常縮寫為VS Code)是微軟開發的一款免費且開源的跨平台文本編輯器。它支持廣泛的編程語言,提供了一系列先進功能和插件,讓開發者能更有效率地進行代碼編寫。VS Code擁有優秀的代碼自動完成、錯誤偵測、內建的版本控制系統等特性。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
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
一、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
相信身為軟體工程師的朋友們應該常常聽到宣告式及命令式兩種不同的名詞吧! 剛接觸時,對於這兩個名詞根本就是覺得文字天書,怎麼也看不懂,但隨著經驗的累積, 也逐漸有了一些領悟,也希望透過簡單說明的方式讓大家理解共同學習。 這種方式是我們早期所使用的設計模式,先把需要的素材準備好,然後一步一腳印的打造出處
Thumbnail
相信身為軟體工程師的朋友們應該常常聽到宣告式及命令式兩種不同的名詞吧! 剛接觸時,對於這兩個名詞根本就是覺得文字天書,怎麼也看不懂,但隨著經驗的累積, 也逐漸有了一些領悟,也希望透過簡單說明的方式讓大家理解共同學習。 這種方式是我們早期所使用的設計模式,先把需要的素材準備好,然後一步一腳印的打造出處
Thumbnail
這邊要來跟大家介紹C#,使用的軟體會是Visual Studio 2017版本 介紹內容架構可以分六大階段:入門級、基礎級、中低階級、中階級、中高階級、高階級 在正式開始寫程式前,要先了解一些基本概念哦! 就如同學中文前要先了解ㄅㄆㄇㄈ或羅馬拼音之類的,程式也是一樣道理,先把基本概念了解後再來開始
Thumbnail
這邊要來跟大家介紹C#,使用的軟體會是Visual Studio 2017版本 介紹內容架構可以分六大階段:入門級、基礎級、中低階級、中階級、中高階級、高階級 在正式開始寫程式前,要先了解一些基本概念哦! 就如同學中文前要先了解ㄅㄆㄇㄈ或羅馬拼音之類的,程式也是一樣道理,先把基本概念了解後再來開始
Thumbnail
Visual Basic for Applications(VBA)是一種功能強大的程式語言,廣泛用於自動化 Microsoft Office 應用程式中的重複性任務。在這篇教學文章中,我們將介紹如何使用 VBA 來新增、刪除和移動檔案。
Thumbnail
Visual Basic for Applications(VBA)是一種功能強大的程式語言,廣泛用於自動化 Microsoft Office 應用程式中的重複性任務。在這篇教學文章中,我們將介紹如何使用 VBA 來新增、刪除和移動檔案。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
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的活頁簿檔案
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News