Mac系統上自學編程?

我是一名准大一學生 數學系 但是想自學編程 用的MacBook12寸 請教過一位學長 但他說必須換電腦 應該先學F# 可是真的很喜歡mac的系統 所以想請教一下大家 1.在mac上自學編程真的不好嗎?2.如果我堅持用mac學編程 並且不裝雙系統 應該怎麼入門呢?是否真的應該從F#入手?3.大學裡講C語言時 用mac系統是否對聽課有影響?

更新補充:就是看評論有一些人在吐槽我的學長 我的學長也完全是一番好心 他是希望我先把計算學好再學編程 他在舊金山 凌晨3點還在耐心地解答我的各種問題 請語言稍微有些偏激的知友能夠尊重他

再次更新補充:謝謝所有回答的知友們 但是我的學長真的是一番好意 而且也很強 他說的是用Mac系統會麻煩很多 所以不推薦我使用 4.在Mac系統上編程真的會麻煩很多嗎?


誰說必須先學 F# 哈哈哈哈哈哈太高冷了哈哈哈哈。

拿Haskell抽死他!讓他裝!

再說F#也有Mono啊哈哈哈哈哈!


F#......你這段子真心有點無語。

首先,我想你可能是想問Mac是不是適合編程,答案是肯定的。儘管知乎上果粉和微軟粉天天開戰,但是從來沒有聽誰站出質疑Mac適不適合編程的。當然了我個人是比較偏向於Linux/Unix,但是這真是個因人而異的問題。而且考慮到你是數學系的,Windows還是Mac也就無所謂了。所以你完全沒有必要換電腦。

第二是學什麼語言,考慮到你數學系的專業,推薦Matlab,R或者Python。如果你對計算機編程比較感興趣,但是只是作為業餘愛好的話,直接學Python吧,簡單易學功能強大。如果你只是為了學一門運算工具,Matlab或者R都是不錯的選擇。

如果你想更深入的了解計算機編程,那麼你應該去自學CS大學本科課程,順便把Java,C/C++什麼學了。但是這就是另外一回事了。


所有說開發不能用Mac的不是在騙你就是在說反話逗你。

尤其是C!

首先Xcode不輸Windows上面任意一款IDE。

然後Mac上面有一個秘密武器。。。Bash!

來,打開你的terminal,在裡面打上:

vim hello.c

#include &

int main(){

printf("Hello World!");

}

gcc hello.c

./a.out

echo windowsCommandLineSucks

就是這樣,Bash是一個極其好用的東西,而在Windows上偏偏基本用不了。努力的在Bash的路上走下去吧,過不了幾年你可能就會變成那個叱吒風雲的黑帽黑客了。


你學英語,就不能用宣紙么?

你學西方國家語言,就必須用羊皮紙么?

你要學普通話,就必須要用毛筆么?

什麼邏輯。

你要把語言和機器分開,和系統區分開。

你學編程,學的是編程語言,是語言,是語言,是語言。學的是程序思想,是思想,是思想,是思想。

很多人搞不懂C++ 和VC++有什麼區別。

一個是編程語言,一個是編程的IDE。IDE是幫你學習語言的工具。IDE是運行在操作系統之上的。

你要學的東西和操作系統直接還有個IDE,為嘛要換系統呢? 可怕的學長。

要知道,很多IDE是跨平台的。

比如Eclipse,可以C/C++,JAVA,web開發。

學python?官方的IDLE 是誇平台都有的。

學C/C++? 那IDE一大把,我都不想說。

學web? 還是一抓一大把~

學 (此處略去若干)?,還是(此處略去若干)...

再重複一下重複過的事情,學編程一來是學的程序設計語言,另一個是思想。你需要用你學的語言表達你的思想。

用C/C++、java、javascript、python、shell 等列印 :「hello,world」。

好比你要用英語、法語、日語、漢語、德語等說:「我愛你」。

一個是語言,一個是工具。要搞清楚。

補充:回頭再看了下題目。學C,在MAC 下有很好的編輯器。用好你手上的工具,是沒有影響的。

但是在大學裡,興許還是在Windows xp下運行 VC6,所以,你需要花點時間知道在VC6下怎麼運行程序。以防以後考試,自己抓瞎。剩下的代碼,在哪兒寫都一樣。


數學編程請從matlab、python、R、julia、mathmatical等主流計算用語言中選一個起步。如果不想深究編程而只是想把編程當作輔助計算的工具,請從matlab或者mathmatical起步。

想系統學習編程請從C和Java起步。

F#絕不是主流。首先它是個比較複雜的函數式編程,對新手向並不友好,我這種見識較淺只做了幾年科學計算的人來看沒見過多少F#的項目;退一萬步,同為函數式編程,haskell的功能和友好程度和普及性都高的多。

主流科學計算有什麼?大型機上的分布(幾乎沒有windows的份…),matlab等工具自帶的並行(這個跨平台),集群或者雲(可以去看看亞馬遜的雲服務提供什麼系統),最後才是單機小程序。

OS X這種Unix兼容系統編程麻煩?麻煩程度絕不高於Win平台,何況是科學計算。我只能說建議F#的真是……見識不夠多啊……


  • Windows開發的首選語言不是F#,是C#,書多,網上例子多,OO範式舉一反三容易,F#目前用得遠遠沒有C#多
  • 最近MS發布了Visual Studio for Mac Preview,你不想看看?
  • 不過,如果你對語言沒有特別偏好,為什麼不選更不依賴平台的?Python,Ruby,Javascript
  • 你學長是卵的,把計算學好再編程,聽起來很有道理,其實是坑人的,就像說你要當總統應該先學好政治課再學說話,但不說話,政治還搞個P
  • 你學長一定在外面盡打遊戲泡妞呢,說什麼用Mac會麻煩很多,教小孩不負責任:http://www.macworld.co.uk/feature/apple/why-programmers-think-mac-os-x-is-best-os-use-3638706/


Swift與Ruby


為什麼不是機器解決人的需求,而是人的需求去適應機器呢?

真的需要學哪怕不支持,咱裝虛擬機也要學啊。


既然是蘋果用戶,那就學swift吧。


mac自帶ruby

還不如先學ruby呢


替我謝謝你學長,今天知道還有F#這種語言!

————————————————————————————————

1. 首先學編程和用什麼電腦關係不大,windows、mac、linux都可以啊。當然用mac和linux學編程更方便啊!當然你要學F#就……

2.在看這個帖子前,我真的不知道F#是什麼,對於一個在互聯網公司工作這麼多年的人來說,真是孤陋寡聞了。你想學編程可以從學python入門,《與孩子一起學編程》應該是個很好的開始。然後學習c語言,mac學python和c語言簡直天衣無縫啊,你那個學長不知道怎麼得出用mac學編程麻煩這個結論的?


首先這個回答應該算遲到的吧,畢竟是一年之前的提問,之所以還有興趣回答,是覺得這個問題不是從你而起,也不會到你為止,所以權當是給以後來問這個問題的小朋友一個錦囊。

不吐槽你的學長,不過真的挺誤人,所以到處都是高談闊論,懂行的都笑而不語。

首先回答你的問題,從兩個方面,第一,Mac適不適合編程,第二,編程怎麼入門。

_MAC 適不適合編程_

比windows更適合。(我知道你需要的是說服你的理由)

1.從編程這個需求上說,沒有比Mac更適合的了。

其實編程世界有三大陣營win,Mac,Linux。首先所有win支持的語言,編輯器,都可以在Mac上找到相應的版本或替代品。其次,Mac是Linux的遠親,雖然已經沒太大聯繫(有興趣的同學可以去搜一下,unix,Linux,Mac OS之間的淵源)。所以如果你突然有一天想體驗一下(我說的是體驗,而不是成為高手),Mac可以直接滿足你。然後,swift,Mac自家的語言,只能用Xcode,win上需要假裝虛擬機,或者其他變通方式來實現。所以,除了Linux要求高一點,對於編程來說,win,Mac沒什麼區別,也沒有孰強孰弱。

2.日常使用上說,Mac除了沒有太多遊戲,其他的地方看起來挺順眼。

如果你平時玩遊戲比較多,還是買win吧,如果還想有點優越感,就買dell家的外星人,夠貴夠強大。所以你現在要做的第一件事,就是把對設備的關注丟掉。大部分重要的構想都是誕生在紙上的。

3.你手上有的設備就是最好的編程工具。

_編程怎麼入門_

1.公認的入門語言是C語言

計算機從無到有,從少到多,都是需求環境在推動。所以,各種語言都有它產生的緣由,有它存在的價值,有它擅長的領域。從機器語言,到面對過程編程,再到面對對象編程,繼而面對切面編程,以後各種新的思想會帶動語言的發展。

**所以我們在學編程的時候,學習的不是語言,而是編程思想。**

語言是用來表達我們的編程思想的,用不同的語言並不阻礙我們把我們的想法實現出來。如果我們學習外語一樣,英語德語日語韓語,都可以表達自己的情感。所以,我們學習哪一種語言,有兩個需要考慮的地方,第一,你面對的問題用哪種語言來解決最有效(等你有了足夠強大的能力,甚至可以自己創造一門語言,有興趣的同學可以查閱Ruby語言的歷史),第二,你要在這條路上走多久,因為你以後面臨的問題,大部分需要框架,或者其他既成方案來解決。如果你的問題多種語言都可以解決,那麼語言社區活躍的更有優勢。

之所以推薦從C語言入門,是因為它的入門足夠簡單,初中高中就在接觸簡化版的C語言。面對過程編程,也利於新同學去接觸計算機,學著跟計算機對話。

2.語言的學習,初級是掌握這種語言的語法,中級是熟悉模式,高級是用語言來表達你的想法。

計算機語言的難點從來不是這種語言本身,所以市面上很多15天學會某種語言的,基本上就是初級階段,就像日語學了五十音圖,英語學了音標一樣。學了幾個成語,並不代表你會寫作文,就是這個道理。

你要學著掌握的是程序背後的思路,學會了這個,掌握幾種語言,並不是一件難事。

3.編程的學習,我推薦一專多能。

各種語言的優勢很明顯,不需要評價哪種語言更強大。就如同程序員世界裡Emacs和Vim哪個更強大一樣,是個沒有結束的口水戰。

所以你如果想學習編程,我不希望你被禁錮在一種思維里。現在你糾結的Mac適不適合編程,是還沒入門的坑,入門之後,一步就會有一個坑,但是不要讓它們纏住你的腳步。不要把精力放在好壞上。

_C語言,數據結構,演算法_

重點放在數據結構與演算法上,c語言,python,兩個都可以,c語言足夠簡單,python有利於你以後做些數學上的任務。

最後,題主既然是學數學的,那MATLIB也是你的一種選擇,如果這個容易糾結,那你還未遇到matlib跟R語言要學哪個,matlib和Octave選擇哪個,如果被這些問題纏住了腳,就前進不了了。


你可以從python入手

不過NMB確實不適合寫代碼——這個跟系統無關,如果你換台RMBP甚至MBA都比NMB好


好想認識你學長。。。一定是個逗逼


認真的回答你: 在所有的平台都可以學編程,在編程方面所有的平台都類似,挑一個你熟悉的即可。即然你是數學系,我猜學長推薦你學習F#是希望你集中在具體的數學概念,演算法等重要的領域。這些都是計算程序的核心。F#屬於函數式編程領域,用於編寫數學類程序十分方便,同時它有一個相當好用的IDE。同時推薦你看scip, mit的計算機入門課,可以鍛煉思維能力。

其實你的學長推薦的東西對你來說,非常正確,望你採納,少走彎路。


首先Mac是很適合用來做程序開發,所以程序員一直是Mac主要使用群體之一。所以在Mac上學習編程是一件很愜意的事情。

至於學習編程是不是應該從學習F#開始,這個是個人需求問題了。如果是入門,C、Python、

Java都是不錯的選擇;如果是特定情況下,F#我想應該也沒啥問題。題主只是需要通過一門語言掌握編程思想。

關於編程語言學習,之前看過一個回答挺認同的:掌握一兩門主流的開發語言如(不限於)C/C++/Java/Python,嘗試較新潮的語言如golang等。


首先,學習編程與換不換電腦並沒有多大關聯

然後,你的凌晨三點在你學長那邊是中午12點,所以並沒有什麼......


我覺得如果非要給你換電腦一個理由的話,就是12 macbook 的鍵盤太渣了……長期寫代碼可能會是個問題。

啊對,性能可能也差點


推薦從Python入門。

IDE的話,用edu的郵箱申請一個Jetbrain的License,然後去下載Pycharm就好了。

教材的話Learn Python The Hard Way就好。

我也好想認識你這個學長,為什麼我的學長都給我推薦C++……不知道和我有多大仇。


初學編程的話,建議用自己比較熟悉的系統!

不在於誰適合不適合,而且讓你少踩些系統上的坑,讓你更關注於入門學習編程!


推薦閱讀:

學完基礎的verilog語言後 如何進一步學習fpga?
python中利用循環去掉空格,這端函數如何工作的。希望可以解釋一下思考過程,我是小白不要說的太高深?

TAG:MacBook | Mac | macOS | 編程 | 自學編程 |