@@ -59,15 +59,15 @@ \section*{目標聽眾和教學理念}
59
59
60
60
\begin {description }
61
61
\item [\emph {小步走 }] 初學者當然要小步走!對於那些已經知道如何程式設計的人來說,這可能會有點無聊,但本課程並不是針對他們的。對於那些對 Julia 語言的最佳和最不尋常的特性感興趣的人來說,這可能有點令人沮喪,但本課程也不適合他們!
62
- \item [\emph {不留空隙 }] 在許多課程中(不僅是在程式設計方面),學習者需要自己填補空白。而你自己,在成長過程中,做了很多填空,比如學習說話。課程中的差距本身並不是一件壞事 ,但它們會妨礙對自己有點不確定的學習者。對於學習電腦語言尤其如此,因為電腦語言有如此嚴格的規則。我們對這個問題的解決方案有兩個部分:(1)我們用一整節課(即第 1 週的第 4 課)來解釋為什麼規則如此僵化,以及(2)我們努力確保我們解釋了與一個特定議題有關的所有內容。
62
+ \item [\emph {不留空隙 }] 在許多課程中(不僅是在程式設計方面),學習者需要自己填補空白。而你自己,在成長過程中,做了很多填空,比如學習說話。課程中的空隙本身並不是一件壞事 ,但它們會妨礙對自己有點不確定的學習者。對於學習電腦語言尤其如此,因為電腦語言有如此嚴格的規則。我們對這個問題的解決方案有兩個部分:(1)我們用一整節課(即第 1 週的第 4 課)來解釋為什麼規則如此僵化,以及(2)我們努力確保我們解釋了與一個特定議題有關的所有內容。
63
63
\item [\emph {一切都有意義 }] 這一點的重要性不言而喻。但遺憾的是,我們無法完全確定我們最終實現了這一目標---請讓我們知道我們做得如何及不足的地方!
64
64
\end {description }
65
65
66
66
一門不留空隙的短期課程不可能涵蓋像 Julia 這樣的整個語言。我們沒有提及讓 Julia 對專業人士如此有吸引力的一些事情,比如自我修改程式以及如何確保超快計算速度;我們不會探索你第一次啟動 Julia 時的 Julia 基礎之外擴展出的許多套件包的豐富功能\footnote {甚至沒有繪製簡單的圖!}。
67
67
68
68
而且,由於本課程針對的是大多數程式設計課程忽略的初學者,因此我們不強調數值範例。相反,我們專注於文字\footnote {並非所有文字!我們幾乎所有的例子都是英文的,其餘的都接近英文和羅馬字母。}。事實證明,我們可以使用文字來舉例說明 Julia 的幾乎所有基本元素。
69
69
70
- 非常重要的是,我們的方法意味著當我們討論一個主題時,例如字串或函數,我們的目標是對主題的\emph {一部分 }進行完整的討論(沒有空白 ,一切都有意義)。\footnote {無論如何,用戶很容易擴展 Julia,因此無法在有限的課程中涵蓋整個主題。}。這也意味著我們比初學者課程中的常規課程更全面地涵蓋了某些主題(例如,類型和範圍),因為我們需要它們來進行完整的解釋。請放心,我們只使用我們需要的量,不會更多,並且也許除了一個例外,這些主題本身並不困難。
70
+ 非常重要的是,我們的方法意味著當我們討論一個主題時,例如字串或函數,我們的目標是對主題的\emph {一部分 }進行完整的討論(沒有空隙 ,一切都有意義)。\footnote {無論如何,用戶很容易擴展 Julia,因此無法在有限的課程中涵蓋整個主題。}。這也意味著我們比初學者課程中的常規課程更全面地涵蓋了某些主題(例如,類型和範圍),因為我們需要它們來進行完整的解釋。請放心,我們只使用我們需要的量,不會更多,並且也許除了一個例外,這些主題本身並不困難。
71
71
72
72
不,程式設計並不難,但由於形式邏輯的主導作用,它可能會讓人感到奇怪。是沒有辦法解決這個問題的,你唯一能做的就是習慣它。你可能永遠不會停止感覺奇怪,但如果你知道它從何而來,你可以做的不僅僅是習慣它---你可以學會有效地使用它!
73
73
@@ -100,27 +100,27 @@ \subsection*{文件夾、子文件夾和在目錄結構中移動}
100
100
101
101
現在文件夾的名稱只出現在一處。還要注意,在我的系統上,它給出的名稱不僅僅是`` Pictures'' ,而是`` /home/typicaluser/Pictures'' 。這被稱為提供完整路徑,它表示顯示的文件和/或子目錄包含在名為 Pictures 的文件夾中,該文件夾位於名為 typicaluser 的文件夾中,該文件夾位於名為 home 的文件夾中。
102
102
103
- 最後,如果這對你來說是全新的,請把玩\footnote {對大多數人來說最簡單的是使用滑鼠,但還有其他方法。但是,無論是單擊還是雙擊,是否可以拖放,是否可以使用多個按鈕等等,都取決於你的系統。}你的主目錄中的文件和文件夾。確保你可以從這個目錄移到另一個目錄,然後再返回。添加一個你自己輸入名稱的子文件夾 ,移到它(我也可以說`` 導航到它'' ),在這個新文件夾中創建一個文檔文件,重命名文檔文件,刪除文檔文件,移回 到你的用戶目錄 ,並刪除你的新文件夾。
103
+ 最後,如果這對你來說是全新的,請把玩\footnote {對大多數人來說最簡單的是使用滑鼠,但還有其他方法。但是,無論是單擊還是雙擊,是否可以拖放,是否可以使用多個按鈕等等,都取決於你的系統。}你的主目錄中的文件和文件夾。確保你可以從這個目錄移到另一個目錄,然後再返回。新增一個你自己輸入名稱的子文件夾 ,移到它(我也可以說`` 導航到它'' ),在這個新文件夾中創建一個文件檔案,重命名文件檔案,刪除文件檔案,移回到你的用戶目錄 ,並刪除你的新文件夾。
104
104
105
105
現在移動到一個完全不同的文件夾,如果可能的話不在你的個人用戶目錄中。確保你可以找到文件夾的名稱並且你可以移回你的個人用戶目錄。
106
106
107
- 這是本課程的一個非常重要的時刻:當你啟動電腦時,預設情況下,你們中的大多數人都會是在你的個人用戶目錄中,這使得上面的練習相對容易,但這還不夠。你需要能夠確定你在目錄結構中的位置、你正在查看的文件夾的確切名稱以及如何移動到結構的其他部分。為此,你通常可以像在此處一樣使用文件夾管理系統,但有時你必須應用你對所需文件夾路徑的了解 。
107
+ 這是本課程的一個非常重要的時刻:當你啟動電腦時,預設情況下,你們中的大多數人都會是在你的個人用戶目錄中,這使得上面的練習相對容易,但這還不夠。你需要能夠確定你在目錄結構中的位置、你正在查看的文件夾的確切名稱以及如何移動到結構的其他部分。為此,你通常可以像在此處一樣使用文件夾管理系統,但有時你必須用到你對所需文件夾路徑的了解 。
108
108
109
- 最後,現在或以後 ,創建一個專用於本課程的文件夾。在其中,你將儲存從課程網站下載的所有內容、你為課程編寫的所有代碼以及你可能希望添加的其他內容。我建議你通過創建一些子文件夾來組織一下 ,可能一個稱為 CourseMaterials 用於你的下載,另一個可能稱為 MyCodeAnswers 用於你為解答我們設置的任務而編寫的 Julia 代碼。
109
+ 最後,現在或之後 ,創建一個專用於本課程的文件夾。在其中,你將儲存從課程網站下載的所有內容、你為課程編寫的所有代碼以及你可能希望新增的其他內容。我建議你透過創建一些子文件夾來組織一下 ,可能一個稱為 CourseMaterials 用於你的下載,另一個可能稱為 MyCodeAnswers 用於你為解答我們設置的任務而編寫的 Julia 代碼。
110
110
111
111
恭喜!你已經完成了為本課程設置你的系統的最重要和最棘手的部分。
112
112
113
- \subsection* {寫入和儲存純文字文件 }
113
+ \subsection* {寫入和儲存素文字(plain text)檔案 }
114
114
115
- (也稱為`` 純文字文件 " )
115
+ (也稱為`` 純文字(text-only)檔案 " 。譯註:以下 plain text 統一譯為純文字。 )
116
116
117
- 無疑的,你熟悉電腦上的文件準備系統。畢竟,編寫文檔是個人電腦最常見的用途之一 。這些系統可以在本課程中使用,但不是很容易 。使用 MS-Word 或 Pages 之類的東西,電腦付出很多努力讓你輕鬆編寫具有專業外觀的文檔 。這意味著他們在後台做一些事情,比如設置段落縮排和分段、選擇漂亮的字體、設置可調整的邊界和表格等等。你會看到結果,但不會看到它是如何完成的。但是,儘管你沒有看到,但資訊必須在文件中,因此典型的 .docx 和 .pdf 等文件包含許多讀者甚至編寫文件的人都看不到的資訊。在某些系統中,你可以要求查看一些額外的內容(例如,在 MS-Word 中,你可以要求查看非打印字符)。
117
+ 無疑的,你熟悉電腦上的文件準備系統。畢竟,編寫文件是個人電腦最常見的用途之一 。這些系統可以在本課程中使用,但不是很好用 。使用 MS-Word 或 Pages 之類的東西,電腦付出很多努力讓你輕鬆編寫具有專業外觀的文件 。這意味著他們在後台做一些事情,比如設置段落縮排和分段、選擇漂亮的字體、設置可調整的邊界和表格等等。你會看到結果,但不會看到它是如何完成的。但是,儘管你沒有看到,但資訊必須在文件中,因此典型的 .docx 和 .pdf 等文件包含許多讀者甚至編寫文件的人都看不到的資訊。在某些系統中,你可以要求查看一些額外的內容(例如,在 MS-Word 中,你可以要求查看非打印字符)。
118
118
119
119
所有這些額外的資訊對 Julia 程式來說都是致命的。你將在本課程中看到 Julia 只能處理包含有效 Julia 代碼的程式,僅此而已。因此,文件系統以 .doc、.pdf 和其他專用格式放置的所有格式和其他資訊對 Julia 來說就像毒藥。你必須堅持這些額外資訊均不在你儲存且將運行的檔案中。也就是說,你編寫的檔案必須是純文字檔案。
120
120
121
- 我發現使用像 Mousepad 或 Notepad+ 這樣的程式最容易,它專門用於創建純文字檔案,僅此而已。假如以這種方式使用 MS-Word 或 LibreOffice 可能很困難。這些系統確實可以創建純文字檔案,但標準的方法是在第一次保存文件時選擇 .txt 副檔名。由於 Julia 程序使用 .jl 副檔名,這種方法通常意味著你首先使用 .txt 副檔名保存它 ,然後轉到你的文件夾管理系統並重命名它。
121
+ 我發現使用像 Mousepad 或 Notepad+ 這樣的程式最容易,它專門用於創建純文字檔案,僅此而已。假如以這種方式使用 MS-Word 或 LibreOffice 可能很困難。這些系統確實可以創建純文字檔案,但標準的方法是在第一次儲存文件時選擇 .txt 副檔名。由於 Julia 程序使用 .jl 副檔名,這種方法通常意味著你首先使用 .txt 副檔名儲存它 ,然後轉到你的文件夾管理系統並重命名它。
122
122
123
- 作為練習,轉到本課程的文件夾並創建一個純文字檔案。在其中寫一條短訊息,只使用純文字(即標準國際鍵盤上的羅馬字母,沒有重音、符號、中文或漢字)。使用標準的 .txt 副檔名儲存此檔案。現在更改檔案 ,仍然只使用標準的羅馬字母,並使用不同的副檔名保存它 。使用不同的程式查看文件以確保它只包含你使用的字母、空格和標點符號,不多也不少(例如,在 MS-Word 中,以可見的非打印字符查看它)。最後,如果你有一個允許你這樣做的編輯器,則直接使用與 .txt 不同的副檔名創建一個純文字檔案。
123
+ 作為練習,轉到本課程的文件夾並創建一個純文字檔案。在其中寫一條短訊息,只使用純文字(即標準國際鍵盤上的羅馬字母,沒有重音、符號、中文或漢字)。使用標準的 .txt 副檔名儲存此檔案。現在修改檔案 ,仍然只使用標準的羅馬字母,並使用不同的副檔名儲存它 。使用不同的程式查看文件以確保它只包含你使用的字母、空格和標點符號,不多也不少(例如,在 MS-Word 中,以可見的非打印字符查看它)。最後,如果你有一個允許你這樣做的編輯器,則直接使用與 .txt 不同的副檔名創建一個純文字檔案。
124
124
125
125
\subsection* {啟動 Julia REPL }
126
126
@@ -134,7 +134,7 @@ \subsection*{啟動 Julia REPL}
134
134
135
135
\section* {關於如何完成本課程的簡要建議 }
136
136
137
- 正如我們在第 1 週的第 4 課中所堅持的那樣,Julia 是一種語言:學習語言的測試是用它來表達自己。在程式設計的情況下 ,當你表達自己並運行你的程式時,電腦最終會做一些事情:它創建和顯示文字、繪製圖形、計算數字、在紙上列印東西、播放聲音等。
137
+ 正如我們在第 1 週的第 4 課中所堅持的那樣,Julia 是一種語言:學習語言的試驗是用它來表達自己。以程式設計為例 ,當你表達自己並運行你的程式時,電腦最終會做一些事情:它創建和顯示文字、繪製圖形、計算數字、在紙上列印東西、播放聲音等。
138
138
139
139
如果不練習表達自己,你就無法學會表達自己。所以主要的建議是:編寫大量的 Julia 表達式,看看當你嘗試運行生成的代碼時會發生什麼。如果你收到錯誤訊息,請不要擔心。相反的,請利用錯誤訊息(這包括忽略那些不重要的訊息)。
140
140
@@ -151,10 +151,10 @@ \section*{課程內容}
151
151
--- 函數 \\
152
152
--- 從 REPL 運行 Julia 代碼檔案 \\
153
153
--- 除錯 \\
154
- --- 每種電腦語言的規則都是嚴格的,因為每種電腦語言都是通過形式邏輯構建的 ,但是 \\
154
+ --- 每種電腦語言的規則都是嚴格的,因為每種電腦語言都是透過形式邏輯構建的 ,但是 \\
155
155
--- 一個人不需要知道形式邏輯來學習如何撰寫程式 \\
156
- --- 表達式(它們由值、名稱、分隔符號和運算子組成;Julia 代碼的每一塊都必須是有效的表達式 )\\
157
- --- 字串運算子、比較運算子、邏輯運算符 \\
156
+ --- 表達式(它們由值、名稱、分隔符號和運算子組成;Julia 代碼的每一部分都必須是有效的表達式 )\\
157
+ --- 字串運算子、比較運算子、邏輯運算子 \\
158
158
--- 資料容器(字串和一維陣列)\\
159
159
--- 算術 \\
160
160
--- 類型系統和多重派遣 \\
0 commit comments