顯示廣告
隱藏 ✕
※ 本文為 MindOcean 轉寄自 ptt.cc 更新時間: 2020-05-13 19:49:20
看板 Gossiping
作者 arrenwu (豬豬學姊超級可愛)
標題 Re: [問卦] 沒有任何程式語言底子該從什麼開始學
時間 Tue May 12 22:03:53 2020


※ 引述《three88720 (不要跟我起爭yee啦!)》之銘言:
: 推 QQron: 台灣學校都先C++ 再配個超爛遠古級IDE 然後學完大家都自認   05/12 21:23
: → QQron: 沒天份不適合                                             05/12 21:23
C++作為一個大一新生第一門程式語言課程真的是很爛的選擇

一開始教你 cout << "Hello Happy World!";

他媽的一開始直接就用上 operator overloading 的行為
然後中間常常在莫名其妙的時候引入 string,
拜託,學生都還搞不清楚字串的實作情況,你就直接來個大包的東西。
結果一堆人對於 char[] 跟 string 開始混淆

要讓學生去了解基本data format以及主流程式運作的理念,選 C 好太多了

一定會有人想嘴砲 OOP。
實際上就是第一門程設課也不會教你什麼OOP

有些人覺得學會繼承的行為就是OOP,是他們沒想清楚一點。
OOP是一種手段,不是目的。
但如果沒有實作Design Patterns的話,OOP這概念不會帶來什麼實際上的好處

--
「上野的街道,就由我們Colors守護!」
@tochiro0830 https://i.imgur.com/tORmryZ.jpg

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 71.198.27.180 (美國)
※ 文章代碼(AID): #1UkgpBWj (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1589292235.A.82D.html
ymx3xc: 那C#呢?1F 05/12 22:05
這目的就不一樣了。學習C的過程可以迫使學生了解非常基本的data format,
以及系統怎麼用 char[] 進行字串處理

C#我沒有用過,不過看些比較,字串應該也是直接叫大包的class處理
ray2501: 好了啦,通通給我去做雞精2F 05/12 22:05
silverair: 沒辦法R,走到最後都是要學的,不如當第一門語言,入門3F 05/12 22:06
dotZu: 同意;C++ 好是好,但是不適合初學者4F 05/12 22:06
我是覺得程設的第一門真的想打基礎就學C,C++可以讓學生自己去學
silverair: 先上pointer當震撼教育,接受不了先轉系= =5F 05/12 22:06
痾 如果沒辦法理解pointer,那 Java C# Python 也都會遇到問題
atpx: 不然你覺得什麼適合?6F 05/12 22:07
我文章有寫啊 就是C
dotZu: 前面有板友提到的 python c# javascript 都比 C++ 適合7F 05/12 22:07
silverair: 通通用C刻才有醍醐味8F 05/12 22:08
ZMittermeyer: 到現在我都覺得會英語就好了9F 05/12 22:08
ZMittermeyer: 會英語,然後用英語叫印度人寫程式語言,END
這想法也沒錯。但是很多時候你沒有這麼多資源啊
atpx: javascript太自由了, 學生會長歪11F 05/12 22:09
atpx: 還是先寫強型別比較適合
atpx: 核心的東西還是會自己寫拉, 外包品質難掌控, 到時候人力全
cuteSquirrel: 中肯14F 05/12 22:10
atpx: 投入debug就飽了15F 05/12 22:11
soome: java適合入門嗎大神16F 05/12 22:13
我是覺得,如果你完全沒學過程式,又想體驗用程式使役電腦幫你做事情 → Python
jojojen: 學C不錯,有種自己真的在學習程式怎麼運作的感覺17F 05/12 22:14
而且 C 的 standard library 也單純好懂。C++那種包羅萬象的新手反而容易搞混
PSptt: 組合語言18F 05/12 22:16
junyussh: C是現代高級語言的基礎,程式概念語法和很多語言通用19F 05/12 22:17
junyussh: 我也建議學 C
flysonics: C先上會一堆人靠杯不知道指標在幹嘛 沒比較好21F 05/12 22:18
flysonics: 至少overload跟override之類的東西是你課堂上講清楚就
指標這個你學任何語言都要教啦 在單純的環境反而好懂
overload 這個是基於class才有的概念,你一開始講學生怎麼可能聽得懂
flysonics: 知道在幹嘛的事 指標這種東西有些人就是天生搞不懂23F 05/12 22:19
art1: python 有需要學指標嗎?24F 05/12 22:24
那只是你想怎麼稱呼而已。
重要的是使用者要理解「這個變數存放的是記憶體某處東西的地點」的概念
※ 編輯: arrenwu (71.198.27.180 美國), 05/12/2020 22:26:27
goto: c++一堆坑阿,每次要解釋str1==str2跟 str1.equal(str2)的不25F 05/12 22:38
goto: 同,對方沒c語言的底就頭痛,而且還要解釋到編譯器的行為QQ
goto: 記錯了,上面這應該是java的坑
shinkiro: c++高中有教,期中考50個人中40寫不出東西,慘28F 05/12 22:49
casco5566: 從入門到放棄29F 05/12 22:53
jomaysong05: 學寫程式第一件是絕對是先做智力測驗 不要問30F 05/12 23:24
ko27tye: c++包山包海坑又一堆 學c簡單多了31F 05/12 23:50
rcwang: 當然是小巧可愛的 Clojure32F 05/13 00:44
wisdom: 如果真的要理解底層的運作,組合語言這種可以直接編輯變數33F 05/13 09:13
wisdom: 內單一位元的操作更深入吧。

--
※ 看板: Gossiping 文章推薦值: 0 目前人氣: 0 累積人氣: 427 
作者 arrenwu 的最新發文:
點此顯示更多發文記錄
分享網址: 複製 已複製
1樓 時間: 2020-05-13 20:25:04 (台灣)
  05-13 20:25 TW
會c的學什麼都快
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇