※ 本文為 zbali.bbs. 轉寄自 ptt.cc 更新時間: 2017-06-05 10:24:15
看板 Ajax
作者 Neisseria (Neisseria)
標題 Re: [問題] 阿特伍德定律?
時間 Thu Apr 27 16:20:09 2017


※ 引述《dharma (達)》之銘言:
: 網路上看到的一段話:
: 因為 JavaScript 的廣泛應用,Stack Overflow 的聯合創始人阿特伍德(Jeff Atwood)
: 提出了著名的阿特伍德定律:「任何可以用 JavaScript 來寫的應用,最終都將用
:  JavaScript 來寫。」
: 請問這個趨勢現在有明顯嗎
: thanks
這個問題要分 front end 和 front end 以外這兩種情境來討論

在 front end,現階段一定要用 JavaScript 來寫
在 Internet, open source 等自由開放的趨勢下

開發者不會想用一個封閉的技術來寫 front end code

先前一些試圖取代 JavaScript 的專有技術最後都沒有成功

WebAssembly 是開放的技術,但是短期內 JavaScript 不會消失
因為 front end code 還要考慮向後相容性的問題
即使是用一些 JavaScript transpiler,像是 TypeScript 或 Babel (ES6)
最後還是要轉成 ES3 或 ES5 相容的代碼

但在 front end 以外,JavaScript 就沒那麼重要
語言本身是一回事,但是語言背後的環境才是重點

以 back end 來說,語言和框架百花齊放,很難說那個技術才是最好的


前端和後端共用同一套程式碼的益處其實沒想像中的大
除了某些 business logic 以外,其他部分其實前後端都要分開寫
而且,即使前端檢驗過了,後端還是要檢驗一次
因為前端送來的所有資料都可能被動過手腳的
不是每個開發者都想用 Node,其實最近 Go 反而討論度很高
對於有經驗的開發者來說,前後端用兩套語言重寫 business logic 很常見

在 back end 以外的情境,JavaScript 也不是必需的
雖然用 JavaScript 可以省下重覆學習語言的時間
但用 JavaScript 寫軟體不一定最方便,要不然不會有 TypeScript 出現
反而一些靜態型別的語言,在寫程式時會幫忙檢查問題,比較有幫助

即使像是 Lua 這種小型內嵌語言,都有開發團隊拿來作成產品  e.g. Corona SDK
理論上,只能有團隊願意開發,其他的語言也是可以做成產品
是不是 JavaScript 並不是那麼重要

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.119.204
※ 文章代碼(AID): #1P0QcxSV (Ajax)
※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1493281211.A.71F.html
dharma: 推1F 04/28 12:56
butterflyk77: 打了兩個front end2F 05/01 01:01

--
※ 看板: ott 文章推薦值: 0 目前人氣: 0 累積人氣: 181 
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇