當前位置:首頁 » 編程軟體 » 宏編程藝術

宏編程藝術

發布時間: 2022-05-11 02:28:35

❶ C語言學習路線

一,UNIX下C語言的學習路線。
工具篇
「公欲善其事,必先利其器」。編程是一門實踐性很強的工作,在以後的學習或工作中,將常常會與以下工具打交道, 下面列出學習C語言編程常常用到的軟體和工具。
(一)操作系統
在UNIX或linux系統中學習C很方便,所以在開始的學習旅程前請先選擇一個UNIX或Linux操作系統。
目前可供個人免費使用的UNIX或Linux系統有FreeBSD、RedHat Linux、SUSE Linux等,而且在安裝包中還提供很多實用的工具,如:gcc, make等。
如果您一直使用Windows,身邊又沒有多餘的機器安裝UNIX,則可以使用VMware,通過VMware安裝虛擬系統。
(二)編譯工具
目前絕大多數Unix或Lnux系統都提供CC或GCC編譯器,最簡單的cc命令格式如下:
cc -o hello hello.c
在unix shell環境中敲入上面的代碼會將hello.c程序編譯成可執行文件hello。
make 工具如 GNU make、System V make 和 Berkeley make 是用來組織應用程序編譯過程的基本工具,但是每個 make 工具之間又有所不同。
大部分UNIX和Linux程序都是通過運行make來編譯的。make工具會讀取一個包含指令的文件(這個文件的名字通常都是 makefile 或 Makefile,不過後文中統一稱之為 「makefile」),並執行各種操作來編譯程序。
(三)調試工具
最簡單的調試工具:為程序添加列印語句
在對程序的運行機制有了一定的了解後,可以實用一些工具幫助進行調試,當然得學習一下這些工具得使用,如:dbx,gdb等。
還有一些內存工具可以幫查找內存泄漏或緩沖區溢出等一些問題,如:memwatch,yamd等
(四) 其他工具
1. vi或vim
Unix下文本編輯器。主要靠一堆命令來編輯文本文件,學Unix編程最好熟悉並熟練使用vi編輯器。
當然在實際工作中,可能需要一個集成編碼環境或一個功能強大的圖形化編輯工具。
2.netterm
最著名的網路終端軟體之一,可以使用它方便的連接到主機系統中。
3.Secure shell
一個支持ssh協議得客戶端工具,多數情況下用來連接linux系統。
書籍篇
「書是人類進步得階梯」。學習一門新的知識,當然要選擇幾本適合自己得書籍,下面介紹一些我自己學習C語言使用過的書籍:
1.《C primer plus》
推薦理由:適合作為入門書和基本函數查詢得參考資料。本書最新版為第五版,以ANSI C99為標准詳細介紹了C語言。
2.《The C programming_Language》
推薦理由:C語言之父得作品權威性毋庸置疑。雖然書籍出版時間比較老,好像也沒更新,不過仍不失為經典書籍,網上有這本書得英文電子版提供下載。
3.《C 專家編程》
推薦理由:本書可以幫助有一定經驗的C程序員成為C編程方面的專家,最關鍵的是本書寓教於樂,充分享受編程的樂趣。
4.《C缺陷與陷阱》
推薦理由:書中所揭示的知識能幫助繞過C語言自身得陷阱和缺陷,減少代碼中許多常見的Bug。
5.《unix環境高級編程》
推薦理由:既然是UNIX環境下C編程,就不得不說說UNIX編程書籍。Stevens先生的《unix環境高級編程》是竭力推薦的,也是案頭必備(如果對網路編程有興趣的,可以學習一下Stevens先生的《UNIX網路編程》兩卷,如果覺得還不過癮,可以再看看《TCP/IP詳解》三卷)。
6.《計算機編程藝術》
推薦理由:演算法大師得嘔心瀝血之作。計劃出版五卷書,目前好像已出版3卷。對演算法有興趣得可以研究一下。
過程篇
1.學習C語法
語法的學習對於一個具有編程底子的來說,就很輕鬆了;即使以前沒有學習過其他編程語言,我相信有2個星期,也能輕松搞定。
需要注意的是,不要太糾纏於語言的細節,比如:運算符優先順序與結合性的問題等。
2.學習C標准庫
ANSI C庫把函數分為不同的組,每個組都具有與之相關的頭文件。C語言標准庫相對於其他語言,比如C++,Java來說是非常短小精悍的,但首先應著重對以下庫進行學習:
ctype.h:字元處理
math.h:數學庫
stdio.h:標准I/O庫
stdlib.h:通用工具庫
string.h:字元串處理
time.h:時間和日期
如果想了解完成的ANSI C庫,可以購買相關的書籍,這些書籍一般會詳細介紹每個函數的用戶和一些注意點;
3.攻克C的難點
C語言聲明:
C語言的聲明確實覺得恐怖,比較晦澀難懂,而且聲明的形式和使用的形式還類似。比如如下的聲明恐怕就連很多熟悉C多年的程序員也不是一眼就能看出來的:
char * const * (*next)();
那麼有沒有一種好的記憶方法或規則來搞清楚呢,好像沒有,如果有的話也不是這樣折磨人了。不過可以看看《C專家編程》第三章的內容,或許會有所收獲。
也只能多學多練了,所謂熟能生巧嘛,希望這個問題不要在你的心靈上留下陰影。
數組與指針:
數組與指針的關系,在標准中並沒有作很詳細的規定,而且好多C入門的書籍在這個問題上並沒有給出很詳細的說明,所以會給人造成很多誤解。
對於這個問題,可以參考《C缺陷與陷阱》4.5節和《C專家編程》第4,9,10章,相信這裡面的內容搞透徹,以後就不會再被這個問題搞迷惑。
指針與內存:
如果以後編寫規模較大的程序,可能發現這個問題可能會是最大的煩惱,而且可能會是消耗最多調試時間的事項。
C版本的問題:
得特別小心該問題,最好不要的程序中混合使用不同版本C的特性,否則會帶來很迷惑的問題。如果一定要用,最好清楚自己在做什麼。
4. UNIX環境編程
學習了以上內容之後,就可以進行unix環境編程了。不過可能需要對操作系統理論有一點點的了解,這樣學起來會比較輕松一些。
Unix環境編程,應該著重IO和進程兩大塊內容。《Unix環境高級編程》中對Unix環境編程有著非常詳細且深入的論述,而且書中有大量實用性例子程序,不過可能得花上幾個月得時間,好好啃一啃了。
在扎實掌握以上內容,不代表得C語言學習支路已經完成,相反,才剛剛開始。以後需要用學到得知識去解決大量不同實際問題,在不斷得實踐過程中,會近一步加深對C的理解。有了以上基礎之後,會發現,在實踐過程中需要的其他知識,會非常快速的掌握。
二,Windows程序員的學習路線
1.當然要熟悉下C語言了 入門可以選用潭浩強的 《C程序設計》(當然最好能讀C Programming Language)特別要對其中的指針,結構體等東西一定要搞清楚了(要學好的很好至少要花費一個月時間) 為什麼要從C開始呢:<1> C好學 <2> 大多數的操作系統核心部分是用C開發的 <3> C的效率高且語言成熟
2.在1的基礎之上一定要認真學習一下數據結構 對C++程序員來說良好的數據結構可以讓一個程序員很輕松的完成程序設計 糟糕的數據結構可以把一個程序員累死 推薦書籍:嚴蔚敏的《數據結構(C語言版)》或北京大學的一本中C++版的數據結構 書中說到的每個主體在程序設計中都會用到 認真學好會對的以後的C++程序設計有太多的好處 (3個月時間)
3.學好了2之後可以學習下《C++ PROGRAM DESIGN》這本書初步介紹了C++和如何使用C++寫出Windows下的程序(要學好至少要花費3個月時間)
4.在3的基礎之上可以讀一本叫《Windows 95 程序設計》(它的最新版本是Programming Windows)這是一相Windows程序設計的領域的不朽之作(3個月時間) 通過2和3的學習已經成為了一個可以設計Windows程序的程序員了 要想更好的設計Windows程序設計 一定要藉助框架結構不可 為什麼:框架結構可以加快我們程序設計的速度 雖然使用框架使得我們的程序的效率低了那麼一點 但隨著當今計算機的運算能力的提升,不會感覺到這一點點的性能損失的反而會因為你使用的框架結構而使你的程序設計加快了速度 使用框架結構才算一個真正的VC++程序員
5.在4的基礎之上可以看一些簡單的MFC程序設計的書比如《Visual C++入門教程》之類的圖書 這可以使你能寫出一些帶有通用控制項的MFC程序 (1個月時間)
6.在5的基礎之上已經可以很快開發一個軟體了 但不了解MFC框架運行機制是很不好的 了解MFC的運行機制可以使以後的MFC程序設計工作做的更好 推薦書籍侯傑的《深入淺出MFC》 但這本書真的不適合初學者當你有了一定的開發經驗以後這本書對來說確實很好 若很熟悉Windows下的SDK程序設計並打算或已經開始使用MFC進行軟體開發 那這本書對來說再好不過了 (2個月時間)
7.在6的基礎之上可以看下這本書《VC++技術內幕》由潘愛民譯的 推薦看原著(3個月)
8.在以上基礎之上為了更好的使用VC++這個工具 推薦看一下《VC++6.0寶典》(3個月) 從開發工具的角度講這本書寫的很好
9.為了更好的工作可以參考一下VC++程序設計百例
10.之後可以看一下《Windows核心編程》 這本書很好的講解了Windows的編程 對你寫系統程序很有好處的 推薦看原版
11.只了解其形不算真正的了解 之後還要認真的讀一下Windows的內核源碼 相信WRK 很容易找到的 可以配合《深入解析Windows操作系統》《Windows內核原理與實現》和《Windows內核情景分析》
12.其它一些東東《COM原理》(潘愛民) OpenGL D3D VC的資料庫編程 圖形圖像 音視頻處理和網路都要有所了解和會使用
13.要做到一個好的程序員一定要對驅動程序有所了解所以寫一個文件驅動之類的東東是很有必要的
14.經過以上各步的學習完全成為一個優秀的Windows程序員了(前提是每一步要學好)
15.漏了一些重要的東東 編譯原理 匯編及 組成原理 和設計模式等也是很重要的東東 只有學好了這些才能明白語言為什麼要這樣組織才能高效。

❷ UNIX編程藝術的目 錄

序 xxv
Part I 1
第1章 哲學 3
1.1 文化?什麼文化 3
1.2 Unix的生命力 4
1.3 反對學習Unix文化的理由 5
1.4 Unix之失 6
1.5 Unix之得 7
1.5.1 開源軟體 7
1.5.2 跨平台可移植性和開放標准 8
1.5.3 Internet和萬維網 8
1.5.4 開源社區 9
1.5.5 從頭到腳的靈活性 9
1.5.6 Unix Hack之趣 10
1.5.7 Unix的經驗別處也可適用 11
1.6 Unix哲學基礎 11
1.6.1 模塊原則:使用簡潔的介面拼合簡單的部件 14
1.6.2 清晰原則: 清晰勝於機巧 14
1.6.3 組合原則:設計時考慮拼接組合 15
1.6.4 分離原則: 策略同機制分離,介面同引擎分離 16
1.6.5 簡潔原則:設計要簡潔,復雜度能低則低 17
1.6.6 吝嗇原則: 除非確無它法,不要編寫龐大的程序 18
1.6.7 透明性原則:設計要可見,以便審查和調試 18
1.6.8 健壯原則: 健壯源於透明與簡潔 18
1.6.9 表示原則: 把知識疊入數據以求邏輯質朴而健壯 19
1.6.10 通俗原則:介面設計避免標新立異 20
1.6.11 緘默原則:如果一個程序沒什麼好說的,就保持沉默 20
1.6.12 補救原則: 出現異常時,馬上退出並給出足量錯誤信息 21
1.6.13 經濟原則: 寧花機器一分,不花程序員一秒 22
1.6.14 生成原則: 避免手工hack,盡量編寫程序去生成程序 22
1.6.15 優化原則: 雕琢前先得有原型,跑之前先學會走 23
1.6.16 多樣原則:決不相信所謂「不二法門」的斷言 24
1.6.17 擴展原則: 設計著眼未來,未來總比預想快 24
1.7 Unix哲學之一言以蔽之 25
1.8 應用Unix哲學 26
1.9 態度也要緊 26
第2章 歷史——雙流記 29
2.1 Unix的起源及歷史,1969-1995 29
2.1.1 創世紀:1969-1971 30
2.1.2 出埃及記:1971-1980 32
2.1.3 TCP/IP 和Unix內戰:1980-1990 35
2.1.4 反擊帝國:1991-1995 41
2.2 黑客的起源和歷史:1961-1995 43
2.2.1 游戲在校園的林間:1961-1980 44
2.2.2 互聯網大融合與自由軟體運動:1981-1991 45
2.2.3 Linux 和實用主義者的應對:1991-1998 48
2.3 開源運動:1998年及之後 49
2.4 Unix的歷史教訓 51
第3章 對比: Unix哲學同其他哲學的比較 53
3.1 操作系統的風格元素 53
3.1.1 什麼是操作系統的統一性理念 54
3.1.2 多任務能力 54
3.1.3 協作進程 55
3.1.4 內部邊界 57
3.1.5 文件屬性和記錄結構 57
3.1.6 二進制文件格式 58
3.1.7 首選用戶界面風格 58
3.1.8 目標受眾 59
3.1.9 開發的門坎 60
3.2 操作系統的比較 61
3.2.1 VMS 61
3.2.2 MacOS 64
3.2.3 OS/2 65
3.2.4 Windows NT 68
3.2.5 BeOS 71
3.2.6 MVS 72
3.2.7 VM/CMS 74
3.2.8 Linux 76
3.3 種什麼籽,得什麼果 78
Part II 81
第4章 模塊性:保持清晰,保持簡潔 83
4.1 封裝和最佳模塊大小 85
4.2 緊湊性和正交性 87
4.2.1 緊湊性 87
4.2.2 正交性 89
4.2.3 SPOT原則 91
4.2.4 緊湊性和強單一中心 92
4.2.5 分離的價值 94
4.3 軟體是多層的 95
4.3.1 自頂向下和自底向上 95
4.3.2 膠合層 97
4.3.3 實例分析:被視為薄膠合層的C語言 98
4.4 程序庫 99
4.4.1 實例分析:GIMP插件 100
4.5 Unix和面向對象語言 101
4.6 模塊式編碼 103
第5章 文本化:好協議產生好實踐 105
5.1 文本化的重要性 107
5.1.1 實例分析:Unix口令文件格式 109
5.1.2 實例分析:.newsrc格式 110
5.1.3 實例分析:PNG圖形文件格式 111
5.2 數據文件元格式 112
5.2.1 DSV 風格 113
5.2.2 RFC 822 格式 114
5.2.3 Cookie-Jar格式 115
5.2.4 Record-Jar格式 116
5.2.5 XML 117
5.2.6 Windows INI 格式 119
5.2.7 Unix文本文件格式的約定 120
5.2.8 文件壓縮的利弊 122
5.3 應用協議設計 123
5.3.1 實例分析:SMTP,一個簡單的套接字協議 124
5.3.2 實例分析:POP3,郵局協議 124
5.3.3 實例分析:IMAP,互聯網消息訪問協議 126
5.4 應用協議元格式 127
5.4.1 經典的互聯網應用元協議 127
5.4.2 作為通用應用協議的HTTP 128
5.4.3 BEEP:塊可擴展交換協議 130
5.4.4 XML-RPC,SOAP和Jabber 131
第6章 透明性:來點兒光 133
6.1 研究實例 135
6.1.1 實例分析:audacity 135
6.1.2 實例分析:fetchmail的–v選項 136
6.1.3 實例分析:GCC 139
6.1.4 實例分析:kmail 140
6.1.5 實例分析:SNG 142
6.1.6 實例分析:Terminfo資料庫 144
6.1.7 實例分析:Freeciv數據文件 146
6.2 為透明性和可顯性而設計 148
6.2.1 透明性之禪 149
6.2.2 為透明性和可顯性而編碼 150
6.2.3 透明性和避免過度保護 151
6.2.4 透明性和可編輯的表現形式 152
6.2.5 透明性、故障診斷和故障恢復 153
6.3 為可維護性而設計 154
第7章 多道程序設計: 分離進程為獨立的功能 157
7.1 從性能調整中分離復雜度控制 159
7.2 Unix IPC 方法的分類 160
7.2.1 把任務轉給專門程序 160
7.2.2 管道、重定向和過濾器 161
7.2.3 包裝器 166
7.2.4 安全性包裝器和Bernstein鏈 167
7.2.5 從進程 168
7.2.6 對等進程間通信 169
7.3 要避免的問題和方法 176
7.3.1 廢棄的Unix IPC方法 176
7.3.2 遠程過程調用 178
7.3.3 線程——恐嚇或威脅 180
7.4 在設計層次上的進程劃分 181
第8章 微型語言:尋找歌唱的樂符 183
8.1 理解語言分類法 185
8.2 應用微型語言 187
8.2.1 案例分析:sng 187
8.2.2 案例分析:正則表達式 188
8.2.3 案例分析:Glade 191
8.2.4 案例分析:m4 193
8.2.5 案例分析:XSLT 194
8.2.6 案例分析:The Documenter's Workbench Tools 195
8.2.7 案例分析:fetchmail的運行控制語法 199
8.2.8 案例分析:awk 200
8.2.9 案例分析:PostScript 202
8.2.10 案例分析:bc和dc 203
8.2.11 案例分析:Emacs Lisp 205
8.2.12 案例分析:JavaScript 205
8.3 設計微型語言 206
8.3.1 選擇正確的復雜度 207
8.3.2 擴展和嵌入語言 209
8.3.3 編寫自定義語法 210
8.3.4 宏—慎用 210
8.3.5 語言還是應用協議 212
第9章 生成:提升規格說明的層次 215
9.1 數據驅動編程 216
9.1.1 實例分析:ascii 217
9.1.2 實例分析:統計學的垃圾郵件統計 218
9.1.3 實例分析:fetchmailconf中的元類改動 219
9.2 專用代碼的生成 225
9.2.1 實例分析:生成ascii顯示的代碼 225
9.2.2 實例分析:為列表生成HTML代碼 227
第10章 配置:邁出正確的第一步 231
10.1 什麼應是可配置的 231
10.2 配置在哪裡 233
10.3 運行控制文件 234
10.3.1 實例分析:.netrc文件 236
10.3.2 到其它操作系統的可移植性 238
10.4 環境變數 238
10.4.1 系統環境變數 238
10.4.2 用戶環境變數 240
10.4.3 何時使用環境變數 240
10.4.4 到其它操作系統的可移植性 242
10.5 命令行選項 242
10.5.1 從–a到–z的命令行選項 243
10.5.2 到其它操作系統的可移植性 248
10.6 如何挑選方法 248
10.6.1 實例分析:fetchmail 249
10.6.2 實例分析:XFree86伺服器 251
10.7 論打破規則 252
第11章 介面:Unix環境下的用戶介面設計模式 253
11.1 最小立異原則的應用 254
11.2 Unix介面設計的歷史 256
11.3 介面設計評估 257
11.4 CLI和可視介面之間的權衡 259
11.4.1 實例分析:編寫計算器程序的兩種方式 262
11.5 透明度、表現力和可配置性 264
11.6 Unix介面設計模式 266
11.6.1 過濾器模式 266
11.6.2 Cantrip模式 268
11.6.3 源模式 268
11.6.4 接收器模式 269
11.6.5 編譯器模式 269
11.6.6 ed模式 270
11.6.7 Roguelike 模式 270
11.6.8 「引擎和介面分離」模式 273
11.6.9 CLI伺服器模式 278
11.6.10 基於語言的介面模式 279
11.7 應用Unix介面設計模式 280
11.7.1
11.8 網頁瀏覽器作為通用前端 281
11.9 沉默是金 284
第12章 優化 287
12.1 什麼也別做,就站在那兒 287
12.2 先估量,後優化 288
12.3 非定域性之害 290
12.4 吞吐量和延遲 291
12.4.1 批操作 292
12.4.2 重疊操作 293
12.4.3 緩存操作結果 293
第13章 復雜度:盡可能簡單,但別簡過了頭 295
13.1 談談復雜度 296
13.1.1 復雜度的三個來源 296
13.1.2 介面復雜度和實現復雜度的折中 298
13.1.3 必然的、可能的和偶然的復雜度 299
13.1.4 映射復雜度 300
13.1.5 當簡潔性不能勝任 302
13.2 五個編輯器的故事 302
13.2.1 ed 304
13.2.2 vi 305
13.2.3 Sam 306
13.2.4 Emacs 307
13.2.5 Wily 308
13.3 編輯器的適當規模 309
13.3.1 甄別復雜度問題 309
13.3.2 折衷無用 312
13.3.3 Emacs是個反Unix傳統的論據嗎 314
13.4 軟體的適度規模 316
Part III 319
第14章 語言:C還是非C 321
14.1 Unix下語言的豐饒 321
14.2 為什麼不是C 323
14.3 解釋型語言和混合策略 325
14.4 語言評估 325
14.4.1 C 326
14.4.2 C++ 327
14.4.3 Shell 330
14.4.4 Perl 332
14.4.5 Tcl 334
14.4.6 Python 336
14.4.7 Java 339
14.4.8 Emacs Lisp 342
14.5 未來趨勢 344
14.6 選擇X工具包 346
第15章 工具:開發的戰術 349
15.1 開發者友好的操作系統 349
15.2 編輯器選擇 350
15.2.1 了解vi 351
15.2.2 了解Emacs 351
15.2.3 非虔誠的選擇:兩者兼用 352
15.3 專用代碼生成器 352
15.3.1 yacc和lex 353
15.3.2 實例分析:fetchmailrc的語法 356
15.3.3 實例分析:Glade 356
15.4 make:自動化編譯 357
15.4.1 make的基本理論 357
15.4.2 非C/C++開發中的make 359
15.4.3 通用生成目標 359
15.4.4 生成Makefile 362
15.5 版本控制系統 364
15.5.1 為什麼需要版本控制 364
15.5.2 手工版本控制 365
15.5.3 自動化的版本控制 366
15.5.4 Unix的版本控制工具 367
15.6 運行期調試 369
15.7 性能分析 370
15.8 使用Emacs整合工具 370
15.8.1 Emacs和make 371
15.8.2 Emacs和運行期調試 371
15.8.3 Emacs和版本控制 371
15.8.4 Emacs和Profiling 372
15.8.5 像IDE一樣,但更強 373
第16章 重用:論不要重新發明輪子 375
16.1 豬小兵的故事 376
16.2 透明性是重用的關鍵 379
16.3 從重用到開源 380
16.4 生命中最美好的就是「開放」 381
16.5 何處找 384
16.6 使用開源軟體的問題 385
16.7 許可證問題 386
16.7.1 開放源碼的資格 386
16.7.2 標准開放源碼許可證 388
16.7.3 何時需要律師 390
Part IV 391
第17章 可移植性:軟體可移植性與遵循標准 393
17.1 C語言的演化 394
17.1.1 早期的C語言 395
17.1.2 C 語言標准 396
17.2 Unix 標准 398
17.2.1 標准和Unix之戰 398
17.2.2 慶功宴上的幽靈 401
17.2.3 開源世界的Unix標准 402
17.3 IETF和RFC標准化過程 403
17.4 規格DNA,代碼RNA 405
17.5 可移植性編程 408
17.5.1 可移植性和編程語言選擇 409
17.5.2 避免系統依賴性 412
17.5.3 移植工具 413
17.6 國際化 413
17.7 可移植性、開放標准以及開放源碼 414
第18章 文檔:向網路世界闡釋代碼 417
18.1 文檔概念 418
18.2 Unix風格 420
18.2.1 大文檔偏愛 420
18.2.2 文化風格 421
18.3 各種Unix文檔格式 422
18.3.1 troff和Documenter's Workbench Tools 422
18.3.2 TEX 424
18.3.3 Texinfo 425
18.3.4 POD 425
18.3.5 HTML 426
18.3.6 DocBook 426
18.4 當前的混亂和可能的出路 426
18.5 DocBook 427
18.5.1 文檔類型定義 427
18.5.2 其它DTD 428
18.5.3 DocBook 工具鏈 429
18.5.4 移植工具 431
18.5.5 編輯工具 432
18.5.6 相關標准和實踐 433
18.5.7 SGML 433
18.5.8 XML-DocBook 參考書籍 433
18.6 編寫Unix文檔的最佳實踐 434
第19章 開放源碼:在Unix新社區中編程 437
19.1 Unix和開放源碼 438
19.2 與開源開發者協同工作的最佳實踐 440
19.2.1 良好的修補實踐 440
19.2.2 良好的項目、檔案文件命名實踐 444
19.2.3 良好的開發實踐 447
19.2.4 良好的發行製作實踐 450
19.2.5 良好的交流實踐 454
19.3 許可證的邏輯:如何挑選 456
19.4 為什麼應使用某個標准許可證 457
19.5 各種開源許可證 457
19.5.1 MIT或者X Consortium許可證 457
19.5.2 經典BSD許可證 457
19.5.3 Artistic許可證 458
19.5.4 通用公共許可證 458
19.5.5 Mozilla 公共許可證 459
第20章 未來:危機與機遇 461
20.1 Unix傳統中的必然和偶然 461
20.2 Plan 9:未來之路 464
20.3 Unix設計中的問題 466
20.3.1 Unix文件就是一大袋位元組 466
20.3.2 Unix對GUI的支持孱弱 467
20.3.3 文件刪除不可撤銷 468
20.3.4 Unix假定文件系統是靜態的 469
20.3.5 作業控制設計拙劣 469
20.3.6 Unix API 沒有使用異常 470
20.3.7 ioctl(2)和fcntl(2)是個尷尬 471
20.3.8 Unix安全模型可能太過原始 471
20.3.9 Unix名字種類太多 472
20.3.10 文件系統可能有害論 472
20.3.11 朝向全局互聯網地址空間 472
20.4 Unix的環境問題 473
20.5 Unix文化中的問題 475
20.6 信任的理由 477
附錄A 縮寫詞表 479
附錄B 參考文獻 483
附錄C 貢獻者 495
附錄D 無根的根:無名師的Unix心傳 499
Colophon 510
索引 511

❸ 數控加工,宏程序倒圓角

5:球刀倒外型R角
刀半徑=3 , 工件半徑=2
G40G49G69G17
M8
G0G90G54X..Y..S3000M3
Z25
Z1
G1Z0F2500
#1=90
WHILE[#1GE0] DO1 (表示從90度加工到0度後結束循環)
#2=5×COS[#1]-2 (2為R半徑,5為R半徑加刀半徑)
#3=5×SIN[#1]-5 (前後2個5都是為R半徑加刀半徑)
G1Z#3F3000
G10L12P1R#2
.
.
.
.
#1=#1-1.5
END1
G0Z58
M30

❹ 現在編程的主流語言都是什麼

語言沒有好壞 只是各自有各自的特點
、Java

Java編程語言(第三版)---Java四大名著----James Gosling(Java之父)

Java編程思想(第2版)----Java四大名著----Bruce Eckel

Java編程思想(第3版)----Java四大名著----------------Bruce Eckel

JAVA 2核心技術 卷I:基礎知識(原書第7版)---Java四大名著-----Cay Horstmann

JAVA 2核心技術 卷II:高級特性(原書第7版)----Java四大名著-----Cay Horstmann

Effective Java中文版------Java四大名著--------Joshua Bloch

精通Struts:基於MVC的Java Web設計與開發---孫衛琴

精通Hibernate:Java對象持久化技術詳解---孫衛琴

Tomcat與Java Web開發技術詳解------------孫衛琴

Java與模式------------------------------閻宏

2、c#

C#程序設計-------Charles Petzold「windows編程泰山北斗」---C#語言「倚天屠龍雙劍」

C# Primer中文版--------Stanley B.Lippman---C#語言「倚天屠龍雙劍」

.NET框架程序設計(修訂版)--------Jeffrey Richter「windows編程泰山北斗」---.NET平台四大天王

c#Windows程序設計----------Charles Petzold「windows編程泰山北斗」------.NET平台四大天王

.NET程序設計技術內幕-------------Jeff Prosise---.NET平台四大天王

.NET本質論--第1卷:公共語言運行庫(中文版)--------Chris Sells---.NET平台四大天王

3、C++

C++程序設計語言(特別版)---c++八大金剛----Bjarne Stroustrup「C++之父」

C++ Primer (第3版)中文版----c++八大金剛---Stanley B.Lippman

C++ Primer (第4版)中文版----c++八大金剛---Stanley B.Lippman

C++標准程序庫—自修教程與參考手冊--c++八大金剛--Nicolai M.Josuttis

C++語言的設計和演化-----c++八大金剛----Bjarne Stroustrup「C++之父」

深度探索C++對象模型---c++八大金剛----Stanley B.Lippman

Essential C++中文版---c++八大金剛---Stanley B.Lippman

Effective C++中文版 2nd Edition-----c++八大金剛------Scott Meyers

More Effective C++中文版----c++八大金剛------Scott Meyers

C++編程思想(第2版) 第1卷:標准C++導引--------Bruce Eckel

C++編程思想(第2版)第2卷:實用編程技術 --------Bruce Eckel

C++程序設計--------------------------譚浩強

C++ 程序設計教程(第2版)--------------錢能

C++ Primer Plus(第五版)中文版---Stephen Prata

廣博如四庫全書The c++ programming language、c++ Primer
深奧如山重水復Inside the c++ object model
程序庫大全The c++ standard libray
工程經驗之積累Effective c++、More Effective c++、Exceptional c++

c++八大金剛:
1、Essentital c++---lippman---C++之父,旁枝暫略,主攻核心,輕薄短小,初學者

2、The c++ programming language----C++之父,技術權威,用詞深峻,思想深遠,c++網路全書代表,聖經。
3、c++ Primer----lippman---縱橫書市十數年,c++最佳教本,c++網路全書代表。
4、Inside the c++ object model-----lippman----揭示c++底層,非常好,非常難。
5、Effective c++-----通過50個編程實例,展示專家經驗,行文有趣,深處淺出。
6、More Effective c++----通過35個編程實例,展示專家經驗,行文有趣,深處淺出。
7、The c++ standard libray---c++標准庫的網路全書。
8、設計模式:可復用面向對象軟體的基礎------good!

4、c

C程序設計語言(第2版·新版)---C語言「倚天屠龍雙劍」---Brian W.Kernighan「C語言之父」

C Primer Plus中文版(第五版)--------C語言「倚天屠龍雙劍」---Stephen Prata

C程序設計(第三版)---------------------------譚浩強

C語言大全(第四版)---------------------------HERBERT SCHILDT

C語言介面與實現:創建可重用軟體的技術-------------DAVID R.HANSON

C語言參考手冊(原書第5版)--------------------------Samuel P.Harbison

C程序設計教程---------------------------------H.M.Deitel/P.J.Deitel

C陷阱與缺陷-----------------------------------Andrew Koenig

5、VB

Visual Basic .NET技術內幕-----VB編程三劍客-----------Francesco Balena「vb首席大師」

Windows程序設計-Visual Basic.NET語言描述--VB編程三劍客-----Charles Petzold「windows編程泰山北斗」---

.NET框架程序設計:Visual Basic.NET語言描述--VB編程三劍客--Jeffrey Richter「windows編程泰山北斗」---,Francesco Balena「vb首席大師」

Visual Basic 6編程技術大全------------------------Francesco Balena「vb首席大師」

Visual Basic.NET 從入門到精通-------------------------Petroutsos,E.

高級VISUAL BASIC編程-----------------------------------MATTHEW CURLAND

6、Delphi

Inside VCL(深入核心——VCL架構剖析)----------李維

Delphi 7高效資料庫程序設計--------------李維

面向對象開發實踐之路(Delphi版)----------李維

7、VC

Windows 程序設計(第5版)-----Charles Petzold「windows編程泰山北斗」---

Windows核心編程----------Jeffrey Richter「windows編程泰山北斗」---

Windows高級編程指南---------Jeffrey Richter「windows編程泰山北斗」---

深入淺出MFC(第二版)-----「MFC四大天王」-------侯捷

MFC Windows程序設計(第2版)---MFC四大天王」---------Jeff Prosise

Visual C++ 技術內幕(第4版)--MFC四大天王」--------David Kruglinski

深入解析MFC-------------MFC四大天王」-----------George Shepherd

Visual C++.NET 技術內幕(第6版)-MFC四大天王」------------David Kruglinski

8、vf

Visual Foxpro程序設計參考手冊-------------------張洪舉

專家門診——Visual FoxPro開發答疑160問-------------------張洪舉

Visual FoxPro 6.0/9.0解決方案與範例大全-------------------張洪舉

Visual FoxPro軟體開發模式與應用案例-------------------張洪舉

9、黑客

應用密碼學(協議演算法與C源程序-----------Bruce Schneier

網路信息安全的真相-----------Bruce Schneier

黑客大曝光:網路安全機密與解決方案(第5版)--------STUART MCCLURE

軟體加密技術內幕------------看雪學院

加密與解密——軟體保護技術與完全解決方案------------看雪學院

加密與解密(第二版)--------段鋼

10、匯編

Intel微處理器結構、編程與介面(第六版)---------Barry B. Brey

80*86、奔騰機匯編語言程序設計---------Barry B. Brey

Windows環境下32位匯編語言程序設計(第2版)-----------羅雲彬

IBM-PC匯編語言程序設計(第2版) 本書是國內優秀教材--------沈美明 溫冬嬋

IBM PC匯編語言程序設計(第五版) 這本書籍是國外優秀教材-------PETER ABEL著,沈美明 溫冬蟬譯

11、驅動開發

Windows WDM設備驅動程序開發指南------------------------------------ Chris Cant

Windows 2000/XP WDM設備驅動程序開發(第2版)--------------------------武安河

WINDOWS 2000/XP WDM設備驅動程序開發-------------------------------- 武安河

12、網路

計算機網路第四版中文版----網路編程三劍客--------------Andrew S.Tanenbaum

TCP/IP詳解3卷本--------------------Richard Stevens----網路編程三劍客

UNIX網路編程2卷本--------------------Richard Stevens----網路編程三劍客

用TCP/IP進行網際互聯-----------Douglas E. Comer

高級TCP/IP編程-------------------Jon C. Snader

C++網路編程-----------------------Douglas Schmidt

UNIX環境高級編程(第2版)--------------------Richard Stevens

13、演算法

計算機程序設計藝術-------Donald.E.Knuth----------演算法「倚天屠龍」雙劍

演算法導論-----------------Thomas H. Cormen--------演算法「倚天屠龍」雙劍

離散數學及其應用----------Kenneth H.Rosen

具體數學—計算機科學基礎--------Donald.E.Knuth

14、圖形編程
Windows 圖形編程----------------FENG YUAN --圖形編程界的Charles Petzold之書

15、數據結構

數據結構 C++語言描述》58.00(Data Structures C++) William Ford,William Topp 劉衛東 沈官林

數據結構演算法與應用-C++語言描述》49.00Sartej Sahni 汪詩林 孫曉東等機械工業出版社

16、軟體工程

設計模式--可復用面向對象軟體的基礎

重構—改善既有代碼的設計

17、操作系統

深入理解計算機系統(修訂版)-------RANDAL E.BRYANT

18、Unix

UNIX 網路編程 卷I 套接字聯網API(英文版 第三版
UNIX 編程藝術
UNIX環境高級編程(英文影印第2版-----UNIX編程「聖經
UNIX環境高級編程(英文影印版)(第2版)
99-UNIX環境高級編程(第2版)
UNIX環境高級編程(第2版)---UNIX編程「聖經
UNIX網路編程 第1卷:套介面API(第3版)
UNIX網路編程卷2:進程間通信(第2版)(英文影印版)
UNIX 網路編程(第二版)第2卷:進程間通信
UNIX編程環境
UNIX 網路編程 卷I 套接字聯網API(英文版 第三版
UNIX系統編程
UNIX環境高級編程
UNIX環境高級編程(英文影印版
88-LINUX內核分析及編程
UNIX 網路編程 卷I 套接字聯網API(英文版 第三版)
UNIX網路編程 第1卷:套介面API(第3版)
UNIX 網路編程(第二版)第2卷:進程間通信
UNIX網路編程卷2:進程間通信(第2版)(英文影印版)
UNIX 網路編程(第2版)第1卷:套介面API和X/Open 傳輸介面API
UNIX網路編程(卷1):連網的APLS:套接字與XTI(第二版)(英文影印版)
UNIX環境高級編程
UNIX 環境高級編程(英文版)
UNIX環境高級編程(第2版)
Unix技術手冊

19、Linux

Linux內核設計與實現
Linux內核完全注釋
LINUX內核分析及編程
GNU/Linux 編程指南(第二版)
Linux設備驅動程序(第三版)
嵌入式設計及Linux驅動開發指南——基於ARM 9處理器
Linux設備驅動程序 第三版(英文影印版)
Linux內核設計與實現(第2版)
Linux內核設計與實現(英文影印版)(第2版)
linux技術手冊

20、游戲編程

Windows游戲編程大師技巧(第二版
游戲之旅--我的編程感悟
OpenGL超級寶典:第三版
OpenGL編程指南(第四版)
Java 游戲高級編程
J2ME手機游戲編程入門
游戲之旅——我的編程感悟
游戲開發中的人工智慧(英文影印版)
3D游戲:卷2 動畫與高級實時渲染技術
面向對象的游戲開發
Java 游戲高級編程
3D游戲編程大師技巧
游戲編程精粹
面向對象的游戲開發
3D游戲 卷1:實時渲染與軟體技術
3D游戲:卷2 動畫與高級實時渲染技…
J2ME手機游戲編程入門
Direct3D游戲編程入門教程(第二版…

21、移動開發

Windows Mobile手機應用開發
SYMBIAN OS C++手機應用開發
68-Windows Mobile手機應用開發--傅曦 齊宇 徐駿
48-SYMBIAN OS C++手機應用開發 (第2卷)------------------RICHARD HARRISON著,周良忠 王伯欣譯
68-SYMBIAN OS C++手機應用開發---------------RICHARD HARRISON著,周良忠譯
Windows CE.net內核定製及應用程序開發---------周毓林 寧楊 陸貴強 付林林
嵌入式系統Windows CE 開發技巧與實例--傅曦
Palm OS編程實踐---絕版

22、單片機

單片機輕松入門----------------------------------周堅(平凡老師)

單片機典型模塊設計實例導航-----------------------求是科技

例說8051----------------------------------------張義和 陳敵北

KEIL CX51 V7.0單片機高級語言編程與ΜVISION2應用實踐-----徐愛鈞

單片機應用程序設計技術(修訂版)--------------------周航慈

8051單片機實踐與應用-------------------------------吳金戎

MCS-51系列單片機實用介面技術---------------------李華

23、串並口通訊

Visual C++/Turbo C串口通信編程實踐------------------龔建偉

VISUAL BASIC與RS-232串列通信控制(最新版)----------范逸之

24、電子

無線電識圖與電路故障分析輕松入門(第二版) -------------------胡斌

無線電元器件檢測與修理技術輕松入門(第二版) -------------------胡斌

圖表細說電子技術識圖-------------------胡斌

圖表細說電子元器件-------------------胡斌

圖表細說元器件及實用電路-------------------胡斌
回答者:qqpenghan - 初入江湖 二級 5-25 11:53

五、匯編書籍推薦
http://www.ithao123.com/assemble/0013.html

帖一:溫東蟬等《ibm pc匯編語言程序設計》 清華大學出版社;
《80x86匯編語言程序設計》楊季文

帖二:以下是本人覺得不錯的書:
<80386/80486系統編程實踐>
淅江大學 呂曉慶
說明:本書算得上是最系統講述PM編程的書,附有一個完整的PM內核例子(代碼有誤,不能運行)。對學習異常、任務機制相當有幫助。
適合范圍:中高級PM學習(本人強烈推薦)

<80X86匯編語言程序設計>
清華大學 楊季和
說明:本書後半部講述PM編程,不夠系統,但所有例子均可運行。
適合范圍:中級PM學習(本人強烈推薦)

<微型計算機從8086到80386>
淅江大學 周明德
說明:關於PM理論不錯,但缺少實踐。
適合范圍:中級PM學習

INTEL的手冊三部曲(英文版)
說明:一句話:官方資料!
適合范圍:中高級IA架構研究
下載地址:http://www.intel.com/design/pentium4/manuals/index_new.htm

帖三:《匯編語言》
作者:王爽
說明:由易到難,前後關聯性強,與以往的匯編語言教材的編輯順序有很大不同。
適合范圍:入門

帖四:《Intel匯編語言程序設計(第四版)》 非常好,以前想學匯編,可一直學不下去,現在看這本書,半個月看了差不多一半,而且感覺都能看懂,值得推薦。
羅雲彬的《Win32下的匯編語言程序設計》 講Win32匯編的,有點類似用C寫Windows程序,不過書中大篇幅講述了 PE 結構,講得非常詳細,還有相應的例子。值得一看。

ARM、80x86等匯編語言的學習經驗、學習方法和學習網站
http://hi..com/xiangyu138/blog/item/94c3b80166b73502738da50e.html

ARM、NiosII技術網站
http://www.ithao123.com/redianjishu/arm.html

1、簡明x86匯編語言教程(1)-匯編語言簡介
2、簡明x86匯編語言教程(2)-認識處理器
3、簡明x86匯編語言教程(3)-使用寄存器
4、簡明x86匯編語言教程(4)-操作內存
5、簡明x86匯編語言教程(5)-串操作
6、簡明x86匯編語言教程(6)-利用子程序與中斷
7、簡明x86匯編語言教程(7)-編譯優化
8、Win32Asm及其編程工具和資源的介紹
9、MASM宏使用總結
10、ARM中C和匯編混合編程及示例
11、VC7中匯編和C++混合的初步心得
12、Linux下的匯編程序設計
13、如何學習匯編語言
14、匯編語言超濃縮教程

❺ excel中如何讓單元格和按鈕關聯

給按鈕添加宏,通過宏可以控制單元格。

例如:做一個按鈕,然後給按鈕附加一個宏。該宏代碼使得單元格A1取一個1~100的隨機數值。代碼如下:

Sub 按鈕1_Click()

Dim a As Integer

Randomize

a = Rnd * 1000

Cells(1, 1) = a

End Sub

這樣按一下按鈕,單元格a1就會更新一個隨機數。如圖:

❻ 語言有哪一些特色

不同寫作題材的語言特色

記敘文的語言特色
記敘文的語言特色,無論是記敘文還是小說,散文還是隨筆,通訊還是童話,總的來講是要求生動、形象,富有表現力。從記敘文的語言構成來說,大約有五個合作夥伴,即:敘述性語言,對話性語言,抒情性語言,描寫性語言和議論性語言。敘述性語言要客觀化,對話性語言要個性化,抒情性語言要情感化,描寫性語言要細節化,議論性語言要深刻化。當然,這五個合作夥伴不一定都能夠同時出現在同一篇文章里,它只是在需要的時候,義無反顧地提供支持。
揣摩記敘文的語言特色,可從這樣幾個方面人手:①在整體感知文章內容的基礎上揣摩文章的語言特色,不孤立地僅從局部去抓文章的語言特色;②按文章所屬的文體的特點去揣摩文章的語言特色,在共性中體現出文章的個性;③在「生動、形象,富有表現力」的「總特色」下,體會記敘文語言的客觀化、個性化、情感化、細節化、深刻化是如何在一篇文章中構成和諧的完美的整體的;④在關注作者個人因素,如氣質、素養、閱歷、經歷、性格等的同時,還要關注作者的個體差異,不同的寫作個性會有不同的語言特色;⑤仔細推敲文章的字、詞、句等語言材料,尤其是含義深刻的語句。
說明文的語言特色
說明文的語言特色,總的要求是准確、簡潔、富有表現力。無論是事物說明還是事理說明,抑或是科學小品,都不能例外。准確、簡潔,是說明文語言的最本質的特徵。從說明文的主要功能來看,說明文主要是傳播知識的。要使說明文傳播的知識准確無誤,就必須使用准確的語言冷靜客觀地解說事物,闡明事理,准確是說明文語言的先決條件;要使傳播知識的說明文讓讀者一讀就明白,說明文的語言就必須簡潔。在此前提下,一篇具體的說明文,由於說明對象、讀者對象和作者語言風格的不同,其語言特色可以平實見長,但有時也可以生動活潑。或概括,或具體;或簡潔,或豐腴;或精練,詳盡;或平易朴實,或幽默風趣,可根據具體的文章而定。
揣摩說明文的語言特色,可從這樣幾個方面人手:①要有綜合觀念。揣摩說明文的語言特色不能置說明對象的特徵,說明順序和說明方法於不顧,要把這些內容綜合起來看。②抓住說明文語言准確性的本質特徵,去理解文章中表時間、空間、數量、范圍、程度、特徵、性質、程序等詞語。③弄清什麼是平實說明,什麼是生動說明。④認真分析文章所用到的各種說明方法,各種說明方法在文章中的科學運用,正是說明文語言特色的正確體現。⑤注意說明文中動詞、數量詞、修飾限制性詞語的准確運用。
議論文的語言特色
議論文的語言特色主要體現在准確、鮮明、富有概括力上。議論文是說理的文章,要講清道理,文章中的每一句話必須准確,議論文語言的准確性,常常體現在句子中狀語、定語等修飾成分上。議論文是以理服人的文章,要把道理說得讓人心服口服,文章的論點一定要鮮明,作者的褒貶態度也一定要鮮明,作者在文中主張什麼,反對什麼,歌頌什麼,批判什麼,一定要通過鮮明的觀點、充足的論據和嚴密的論證,明明白白地告訴讀者,議論文善於將事物加以抽象,從而反映事物的特點。因此議論文的語言概括力特別強,常常用比較抽象的詞語表現豐富的內容。
揣摩議論文的語言特色,可以從這樣幾個方面人手:①在整體感知文章內容的前提下,理解文章的語言特色;②在把握論點、琢磨論據、分析論證的過程中理解文章的語言特色;③注意理解句子中定語、狀語等修飾限製成分;④反復琢磨關鍵語句中的關鍵性詞語;⑤反復推敲文章中概括力很強的詞語;⑥注意作者的情感傾向。[1]
編輯本段
不同文體的語言特色

詩歌
一般說來,詩歌語言常見的有以下一些特點:
(1)清新。表現為語言新穎,不落俗套。如王維的《山居秋暝》就是如此。
(2)平淡。也稱質朴。表現為使用白描,不加修飾,真切深刻而又平易近人,直接而明朗。如白居易的《村夜》:「霜草蒼蒼蟲切切,村南村北行人絕。獨出門前望野田,月明蕎麥花如雪。」如畫一般的山村之夜在作者的筆下如此寧靜,如此祥和,而如此生動地展現出來。
(3)絢麗。主要指富麗的詞藻,絢爛的文采、奇幻情思。如李商隱的《板橋曉別》:「回望高城落曉河,長亭窗戶壓微波。水仙欲上鯉魚去,一夜芙蓉紅淚多。」本來是一次生活中常見的離別,經過詩人那特有的奇幻絢麗的語言,便將現實與幻想融為體,創造出色彩繽紛的童話般的幻境。
(4)含蓄。指意在言外,或引而不發,或欲說還休。如杜牧的《將赴吳興登樂游原一絕》:「清時有味是無能,閑愛孤雲靜愛僧。欲把一麾江海去,樂游原上望昭陵。」詩人託事於物,以登樂游原起興,說到望昭陵便戛然而止,不再多說一字,但他對祖國的熱愛對盛世的追懷,對自無所施展的悲憤,無不包括在內。
(5)簡潔。指干凈利落,言簡意賅。如賈島的《題李凝幽居》「閑居少鄰並,草徑入荒園。」十個字便將幽居的特點托出。再如柳宗元的《江雪》「千山鳥飛絕,萬徑人蹤滅。」僅十個字即寫出了環境的清冷,鉤勒出空曠寥廓、幽寂冷漠的背景。而「孤舟蓑笠翁,獨釣寒江雪」這十個字突出垂釣老人孤獨傲岸,抗風斗雪的傲然之氣和不屈精神,把詩人雖在逆境之中,雖覺孤獨寂寞,但決不同流合污的氣節展露無遺。這些作品均是簡潔的典型。
(6)作者人生經歷和性格特點所導致的語言特點。如李白的詩豪放飄逸,熱情奔放,氣勢磅礴;杜甫的詩則沉鬱頓挫;王維的詩清新空靈;李商隱的詩瑰麗含蓄。
(7)詩歌所表現的流派所具有的語言特色。現實主義詩歌提倡客觀地觀察生活,並按照生的本來樣式精確細膩的描寫生活,表現生活。真實地反映現實,針砭時弊。如杜甫、白居易、陸游等人的作品。 浪漫主義的詩歌則善於抒發對理想世界的熱烈追求,感情熱烈奔放,語言絢麗多彩,想像瑰麗神奇,多使用比喻,誇張等修辭手法。如李白、李商隱、李賀等人的作品。宋詞中以柳永、李清照、姜夔等為代表的婉約派,其作品比較婉曲,比較含蓄,多以艷情為題材,嚴守音律。以蘇軾、辛棄疾為代表的豪放派,其作品反映社會生活廣闊,風格多樣,曠達灑脫,慷慨激昂。[2]
(8)詩歌的修辭手法所具有的語言特色。
以上鑒賞手段並不是關於詩歌語言特色的唯一描述,常見的分析方法還有:從語言的形式、表意和意象等層次進行分析的方法。但由於中學教材採用上述分類方法,並且此種方法較為全面,所以廣為流傳。
散文
就總體而言,散文的語言特色有散中見整,清新自然。散文的語言具有樸素、自然、流暢、簡凈等特點。它不刻意雕飾而不乏文采,不有意追求而自得其意蘊。而且,散文的語言經過情感的陶冶、鍛煉,又有很強的抒情味和感染力。[3]
小說
大體上講小說的語言可分為兩類:一類是以敘述為特色,另一類以描寫為特色。這兩類並沒有伯仲之分。以敘述為特色的小說,追求整篇作品的味道,以描寫為特色的小說,追求形象的鮮明性。以敘述為特色的小說可以叫情節小說,以描寫為特色的小說叫細節小說。以敘述為特色的小說讀起來舒暢,它以語感為先導,吸引讀者進入它的藝術世界,這種語感貫穿於作品的始終,處處可以感到這種語感的存在,它往往給讀者的第一感覺就是好讀、暢快。以描寫為特色的小說,它往往以一個接著一個的細節抓讀者,它給讀者的感覺就是形象,就是一個又一個鮮明具體的細節,作品就是以細節與細節的內在聯系,吸引讀者不斷地看下去,這里不說讀下去;以敘述為特色的小說可以說讀下去,不說看下去。以描寫為特色的小說,它的語言可能很簡練,如果讀的話可能有點澀,但描寫的細節很抓人,不得不看下去,它就像看畫面藝術一樣,只是畫面,只是形象,這畫面、這形象很吸引人。如《紅樓夢》就是以敘述為特色的小說,《三國演義》則是以描寫為特色的小說。
小說的語言和散文的語言,雖然都是散文化的語言,但它們是不同的。小說是客觀性的語言,作者有什麼思想感情,作者並不站出來說,而是讓人物、讓情節代作者說;而散文則是主觀性的語言,作者不站出來說,還不行,作者可以直抒胸意。
當然,不能這么絕對化,但大體上確實是這樣。有些激情澎湃的小說,作者近乎站出來說話了,因為作品的激情是那麼得強,使得情感和態度已明明白白的表露了。就像一個人臉上的表情,什麼都透出來,就缺開口了。但是,這還是客觀性的語言,因為作者並沒有說出口。[4]
編輯本段
不同程序語言的語言特色

匯編語言
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序通常由三部分組成:指令、偽指令和宏指令。匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。

❼ 親們,現在想學習資料庫,有什麼推薦的網址或是好書嗎從基礎開始的

是這樣的我看過幾本跟你分享一下
《資料庫系統概論》 王珊 薩師煊著 這本是我們大學的教材
老師選擇他做教材肯定有其原因
個人覺得用這個了解SQL語言還是不錯的 從零開始很基礎 很細致 例子也很實用
《oracle從入門到精通》這本書是工作後師傅借給我讓看的
這本書總體來說不錯 基礎講的不是很細 但還是比較全的 基礎方法都羅列出來了 而且都有例子
關鍵是這本書會有很多大的實例讓你分析參考 這一點還是非常有用的
《ORACLE DBA 高效入職指南》這是我工作以後買的
這本書帶你入門的話特別好 非常貼近實際 非常貼近生活的例子
但是這本書 太過於基礎了 雖然有他的優勢 但是整本書有用的地方不多
也就是說你能從這本書獲取的知識不夠豐富 例子很少 而且都是小例子
《oracle9i/10g/11g編程藝術》這本書很多人推薦
我也買了 很貴 但是初學我個人不推薦 而且翻譯的也不是很好吧
我覺得初學的話看不懂這個 這個層次稍稍有點高 比較宏觀
我覺得要有基礎以後再看這本書效果更好 但是要想有提高這本書還是必須要看的
我看過的就這幾本
還有很多人都推薦說直接看資料庫文檔 但那個是純英文的 上來就看只能讓人望而生畏
我覺得還是有基礎以後在考慮吧
這是我個人的一些小體會 我也是菜鳥 剛剛接觸沒多久
但是有一點體會很深 看多少書不如真正操作 一邊看書一邊做
積累處理報錯的經驗 進步會更快
希望對你有幫助

❽ 數控車床編程中的宏程序是什麼

數控加工工藝編程與操作?!!!!!樓上這位仁史還沒出道吧,朋友學的是什麼系統哦,法拉克還是西門子……?編程是互通的,其思維模式很相近,如果你是想學一般的基礎的,那你直接把系統的編程手冊拿到學就是了,那是從最基本的東西開始的,別小看,那是最重要的,我開始是一直做的是西門子的加工中心,所以在西門子系統方面更熟悉一點,也很喜歡那種編程方式,比法拉克舒服多了,法拉克也會,因為現在大部分的職稱考試都以法拉克為准,建議你復印一份系統的編程手冊(我就是這樣,全冊我都學完了,還註上了自己的例子和心得體會,這樣學習效果最好),如果你自己家裡有電腦隨時可坐在電腦前,那你就在官網上下載,這是能找到了,只是要知道你加工床子的系統編號! 如果你是想提升,給你推薦一本書,絕對的經典!好像叫數控宏程序提升與訓練,是以法拉克為範本寫的,是廣州的一個幾屆數控大賽冠軍寫的,裡面全是中高級的宏程序編制方法技巧和思維方式,相當不錯,他說任何一個好的宏程序編出來都不會超過64行!其實中高級最講究的是技巧,優化,和簡單,你在學習中會感受到美感和藝術性的,真的,就像高手玩C++一樣,沒有熟悉的底子和思維模式是不行的,努力加油,祝你好運!~所以如果你做好准備想提升了,就去附近最大的書店淘一兩本好書來提升吧!記住一句話:後處理再發達,始終也無法取代手工編程,各有各的優勢,其實平時大多的程序只要不是四軸或以上的,大部分可以可以通過手工宏程序來解決

❾ 學WOW做宏看什麼書

JAVA
JAVA腳本

❿ 如何評價Functional Programming in Scala 這本書

這本書比較奇葩的一點就是找了我來寫序,而我可能是全中國程序員圈子裡最不適合給《Scala函數式編程》寫序的人。
三年前我寫過《Scala七大死穴》,算是把Scala批判了一番。 前幾天我則在准備 ThoughtWorks 咨詢師大會上的討論話題《沒有函數的函數式編程》,又要杯葛函數式編程的樣子。
看起來,我無論對Scala還是對函數式編程,都沒什麼好評嘛。宏江莫不是瘋了,居然要我來寫序?
等等,事情似乎不是這樣。 最近幾年, ThoughtWorks 的客戶在越來越多的項目中採用了 Scala 技術棧,ThoughtWorks 也孵化出了若干基於 Scalaz 的開源項目。 我本人也在這些項目中起到了一些作用。
為什麼我會做這些「口嫌體正直」的事呢? 這得從十年前說起。
我最早接觸函數式編程是在 C++ 中。 C++ 和 Scala 一樣,也是一門多範式語言。 C++ 的標准庫 和 Boost 都提供了許多函數式編程的設施。 但是,在我職業生涯初期,給我留下深刻印象的函數式編程庫要數 Boost.Egg 。
利用 Boost.Egg ,你可以寫出 my_list|filtered(&is_not_X)|filtered(&is_not_Y) 這樣的代碼。 你會注意到這種用法和 Scala 標准庫非常相像, 它大致相當於 Scala 的 myList.filter(isNotX _).filter(isNotY _), 這種 filter 的用法,本書第 47 頁也有講解。
Boost.Egg 的另一個特點是「非侵入」,比如上例的 filtered 函數,本身並不是 my_list的成員。 相反,我們通過重載 |運算符給原有的類型添加新功能。 這種做法在 Scala 裡面相當於隱式轉換,本書 107 頁的例子正是利用隱式轉換,給字元串添加了中綴操作符。
雖然 Boost.Egg 沒能流行起來,但對我個人而言很重要,因為它很大程度塑造了我對代碼的品位。
有趣的是,Boost.Egg 的作者 Shunsuke Sogame 近年來的開源項目,都是些 Scala 項目,可能這也是因為 C++ 和 Scala 非常相似的緣故吧。
另一個對我代碼品位影響很大的技術是 Lua 中的協程 (coroutine)。 Lua的作者 Roberto Ierusalimschy 把協程稱為「單趟延續執行流」(One-shot continuation)。 有了協程或者延續執行流,程序員可以手動切換執行流,不再需要編寫事件回調函數,而可以編寫直接命令式風格代碼但不阻塞真正的線程。 我的前東家網易在開發游戲時,會大量使用協程來處理業務邏輯,一個游戲程序內同一時刻會運行成千上萬個協程。
而在其他不支持協程或者延續執行流的語言中,程序員需要非阻塞或非同步編程時,就必須採用層層嵌套回調函數的CPS(Continuation-Passing Style)風格。 這種風格在邏輯復雜時,會陷入「回調地獄」(Callback Hell)的陷阱,使得代碼很難讀懂,維護起來很困難。
Scala語言本身並不支持協程或者延續執行流。 因此,一般來說,程序員需要非阻塞或非同步編程時,就必須使用類似本書178頁的技術,注冊回調函數或者用 for/yield 語句來執行非同步操作。 如果流程很復雜的話,即使是 for/yield 語法仍然會陷入回調地獄。
我對 Scala 開源社區的貢獻之一是 stateless-future。 這個庫提供了一些宏,實現了延續執行流,可以把命令式風格的代碼轉換成 CPS 風格。 通過這種做法,程序員不再需要手寫本書178頁那樣的代碼了,編寫的代碼風格更像普通的 Java 或者 PHP 風格,直接像流水賬一樣描述順序流程。
後來,我把這種避免回調函數的思路,推廣到了其他用途上。比如,我開發了基於 Scala.js 的前端框架 Binding.scala。使用 Binding.scala 的用戶,編寫普通的 HTML 模板,描述視圖中的變數綁定關系,而不需要編寫高階函數就能做出交互復雜的網頁。
而我的另一個開源庫Each,則更進一步,支持一切 monad 。大多數情況下,使用了 Each 就不需要編寫任何高階函數,我稱之為「沒有函數的函數式編程」。 這意味,本書11章到15章的全部內容,你都可以直接編寫類似 Java 的命令式語法,而 Each 則自動幫你生成使用 monad 的代碼。
總之,我是 Scala 函數式編程的死對頭,我寫的 Scala 庫,恰恰是為了避免使用本書中敦敦教導的各種高階函數。如果你是個 Java 程序員,想在最短的時間內用 Scala 開始「搬磚」,那麼,從實用角度出發,我建議你合上本書,直接用 Each 即可。因為,雖然 Each 最終會生成 Monad 風格代碼,但是,本書中涉及的使用高階函數的細節,就像匯編語言一樣,就算你不知道也照樣可以幹活。
不過,如果你是個求道者,追求編程藝術的真理,希望刨根到底,理解函數式編程的內在理論和實現機制,那麼本書很適合你。
這本書絕不輕易放過每個知識點,全書包含有大量習題,要求你自己實現 Scala 標准庫或者 Scalaz 中的既有功能。所以,當你讀完本書,做完習題後,雖然你的應用開發能力並不會直接提升,但你會體會到構建函數式語言和框架時的難點和取捨,從而增進你的框架開發和語言設計的能力。

熱點內容
app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:714
php跳過if 發布:2025-05-12 15:34:29 瀏覽:467
不定時演算法 發布:2025-05-12 15:30:16 瀏覽:131
c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:166
動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:736
wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:148
三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:397
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:542
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:630
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:365