看板 Soft_Job 關於我們 聯絡資訊
我也覺得用 Rails 入門不好, 它本身並不協助你在基礎上進步 問題之一是本文說的 Convention 直接都幫你處理掉, 可是新手不會知道為什麼, 教學也缺乏說明 其次是做什麼都找 Gem 優先, 一個 Web App 動不動幾十上百個 Gem 是都可以自己研究自己刻啦, 我用也都是自刻比較多, 因為懶得找 Gem 跟研究 Gem 怎麼用, 可是新手...XD 真的能自刻的新手, 說真的不管用什麼也不會差到哪去 另一個問題是, 沒有 Convention 的地方就真的亂七八糟, 這點不只對新手, 對有相當程式開發經驗的人也很...有得玩 XD 比方說 Rake Task 本身極度缺乏 Life Cycle 的觀念, 導致很多東西都隨便自己做一套 例如 Minitest 根本就自己下 shell 指令另外起一個 Process 來跑, 所以在 Rake Task 裡存的資料跑 Test 時都抓不到, 這我之前追好久才發現, 根本不同 Process 不同 Runtime 當然抓不到 XDD 只好覆寫 Minitest 的模組來處理 總之 Rails 好用的前題, 要不然你已經經驗豐富對 Rails 及網頁基礎也摸得很深很熟, 或者就是不需要太複雜的功能吧 個人覺得拉 ※ 引述《poopoo888888 (阿川)》之銘言: : yo~小弟出社會工作兩三年了,有一些心得分享給想入門學寫網站的朋友: : 用 Ruby on Rails 非常辛苦,用 PHP 非常舒服 : 網頁好讀版 : http://blog.turn.tw/?p=2881 : ------------------------------------------------------ : Rails是新手入門學寫網站最辛苦的選擇之一。 : 常常有文章或是課程建議新手用Rails入門寫網站,我認為這種建議十分危險。 : Rails並不適合初學者使用。推薦沒有資訊背景的人去學Rails,很可能害他事倍功半。 : 新手用Rails入門的問題在哪? : Rails最大的問題就在於:它從一開始就不是設計給新手用的。 : 它是設計給工程師快速開發用的。 : 軟體工程沒有萬靈丹。適合老手的,對新手來說一定太難; : 適合新手的,對老手來說一定太囉唆。 : Rails為了替工程師節省反覆設定(configuration)的時間, : 而預設了許多立場(convention)。 : 新手連web application的基本知識、環境設定都不知道, : 直接去學前人的framework和convention,絕對不是好事,也非常辛苦。 : 我們從Rails的官方入門導覽來舉例吧: : http://guides.rubyonrails.org/getting_started.html : 對新手來說,這份導覽真是充滿了災難。 : 它就跟大部份的rails教材一樣,會帶新手去學很沒必要的4件事情: : 1. 新手沒必要學框架的檔案結構 : 2. 新手沒必要學框架的command line指令 : 3. 新手沒必要學helper : 4. 新手沒必要學migration -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.164.214 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1455899305.A.7F0.html
EQQD: 那熟了開發速度真的跟傳說中的一樣快嗎? 02/20 00:30
lovdkkkk: 個人覺得還好, 沒有明顯快多少, 語法確實簡潔也免編譯 02/20 00:33
lovdkkkk: 是有快那麼一些些 02/20 00:34
EQQD: 最近在爬node.js跟RoR不知道有沒有分析比較文? 02/20 00:34
lovdkkkk: nodeJS JS 要很熟再考慮, 個人覺得 JS 比 ruby 難學 02/20 00:37
lovdkkkk: https://news.ycombinator.com/item?id=4495101 這篇 XD 02/20 00:42
lovdkkkk: 不是比較, 而是批 nodeJS, 可以看看 02/20 00:43
標重點 JavaScript was already painful enough in the browser, why on earth anyone ever thought it was a good idea to use it on the server boggles the mind. XDD ※ 編輯: lovdkkkk (36.226.164.214), 02/20/2016 00:44:12
chargo: 那篇文章是....1258 days ago 現在的JS有這麼慘嗎 02/20 00:59
lovdkkkk: 就個人印象中 JS 目前為止沒有變簡單 02/20 01:07
superpai: JS比ruby簡單多了吧,光沒有 mixin 沒有 block 就大勝 02/20 01:13
sp063439: ruby 不太用括號, 也有有趣的小 api 像 upto 02/20 01:17
GoalBased: 從強型別開始的我,寫js和nodejs真的覺得有點難 02/20 01:18
GoalBased: 主要還要熟悉很多弱型別和functional language的 02/20 01:18
GoalBased: 一些寫法和技巧,再來就是因為弱型別超靈活可以玩的 02/20 01:19
GoalBased: 技巧有點多,相對就複雜,也可以說是難吧 02/20 01:19
johnny9144: nodejs 入門很痛苦,JavaScript 結構很鬆散加上弱形態 02/20 01:21
johnny9144: 語言,常常怎麼寫都可以run ,但是等出問題的時候, 02/20 01:21
johnny9144: 怎麼死的都不知道,可是養成良好的coding 習慣以及cod 02/20 01:21
johnny9144: ing style 還有遵循一定的設計模式後,是個強大的語 02/20 01:21
johnny9144: 言,不過新手還是不要想不開好 02/20 01:21
superpai: 怎麼寫都可以run就是簡單的意思啊.. 02/20 01:22
GoalBased: 我覺得你到了無招勝有招的境界就會覺得靈活的比較簡單 02/20 01:23
GoalBased: 新手還是覺得有個標準跟隨會比較簡單 02/20 01:24
Argos: 我必須說那篇文章把實話說出來了....就連才出兩三年的Swift 02/20 01:24
superpai: 只學會JavaScript的我連PHP 都覺得比JS 難很多 02/20 01:25
Argos: 我都覺得屌打已經發展好幾年的JS 02/20 01:25
Argos: 雖然兩個沒辦法真正意義上的比較 02/20 01:25
johnny9144: 可以run 不代表沒問題呀! 只是還沒發生問題而已,相 02/20 01:26
johnny9144: 對的強行態語言,在編譯的時候,要求比較嚴謹,比較 02/20 01:26
johnny9144: 不會發生這種錯誤 02/20 01:26
johnny9144: 講js簡單的人,我相信根本沒體會到js的奧義,越沒有規 02/20 01:29
johnny9144: 定反而是最困難的 02/20 01:29
superpai: 要求比較嚴謹,換句話說就是比較難學的意思了 02/20 01:32
superpai: 老手看到編譯不過跟新手看到編譯不過的感覺完全相反 02/20 01:35
johnny9144: 那我應該改成說 js的學習曲線會突然驟升,這樣好像比 02/20 01:36
johnny9144: 較貼切,畢竟一開始真的是隨便寫隨便跑,到後面面就是 02/20 01:36
johnny9144: ,無處不是bug 02/20 01:36
superpai: 老手:錯誤自動被抓出來,簡單 新手:一直掛,好難 02/20 01:36
johnny9144: 寫完程式一次編譯過了 會很心虛XD 02/20 01:37
superpai: 我亂猜的,我沒用過做過編譯這種事 02/20 01:38
GoalBased: IDE太強了..導致很少編譯不過,打錯就跟你講了 02/20 01:39
GoalBased: 不會等到你去編譯他才失敗0.0 02/20 01:40
johnny9144: js可怕的就是因為沒什麼規定,所以錯都是邏輯錯誤,ID 02/20 01:41
johnny9144: E愛莫能助 02/20 01:41
vn509942: 守破離 02/20 07:59
CRPKT: 新手寫 JS 沒 syntax error 卻跑不出來挫折更大吧 02/20 08:52
個人判斷難易標準是, 有沒有一套 小量 單純易理解 一致性高 的知識, 能讓人快速入門並順利使用, 且不易因粗心造成錯誤 ruby 簡單在它提供了一套組織 code 的方式, 就是它的 class / module 系統, 這讓新手比較 "好理解" JS 的 prototype 系統在稍微熟一點後很好用, 也可以用它實做 class / module 系統, 但是一開始比較不好理解 新手一開始立刻要半自立 (?) 地設法組織自己的 code, 難度會比較高, 更怕的是到處估狗來一堆不同風格的 code 混在一起, 埋地雷將來踩踩樂科科 然後像 scope chain, 一不小心漏個逗號自動變成全域變數, 或者 prototype chain 一不小心共用了一個 array, 再或者 strict mode 導致某些第三方 lib 不能動, debug 就很有得搞了 另一個難點在它跟 server 濃在一起的時候, client side 跟 server side 溝通再做事情, 或者 server 端連個 mongodb 要非同步, 有可能因時間差造成 bug 都蠻難追的, ruby 這部份就單純多了, 不用 callback 來 callback 去, 平舖直敘寫下來就好 ※ 編輯: lovdkkkk (36.226.164.214), 02/20/2016 10:20:31
lovdkkkk: BTW 我也覺得 PHP 看起來就好難 囧" 02/20 10:21
cookie1115: 無基礎rails起手難度真的很高 02/20 10:45
superpai: 你那個難度判斷是中手標準了啦 02/20 11:16
superpai: 新手的難度標準是 從跑不起來-> 到成功跑起來的難易度 02/20 11:16
johnny9144: 推原po,js在後端,異步/同步 真的是很難搞,而且一 02/20 11:26
johnny9144: 不小心弄個全域變數出來,造成第三方模組崩潰,真的是 02/20 11:26
johnny9144: 怎麼死的都不知道XD 02/20 11:26
lovdkkkk: 如果是從零到環境起來能跑 JS 的確最簡單 02/20 11:30
lovdkkkk: 有 Browser 環境就好了 XD 02/20 11:31
dreamnook: 我是覺得js非常簡單 只是沒有保護措施XD 02/20 11:44
a47135: 應該說玩js要會人肉編譯XD 02/20 16:00
xtxml: js現在都走向es6了,有明確的class,不用再用prototype搞 02/20 21:07
lovdkkkk: 那個基本上還是一樣的東西, 算一種語法糖吧 02/20 22:00
lovdkkkk: 不過有明確 constructor, 較不會有共用到 array 的問題 02/20 22:20
xtxml: 意義上不是語法糖這麼簡單,而是有一個正規的標準 02/21 11:53
xtxml: 就很像C++你時常可以用既有個功能模擬新的spec 02/21 11:55
xtxml: 可大家真正願意follow這些spec,往往是編譯器正式支援時 02/21 11:56
lovdkkkk: 嗯嗯, 只是要說不是個有什麼新特性的新東西而已 02/21 12:34
lovdkkkk: (就是說, 用了它本來要注意的還是要注意這樣) 02/21 12:37