《C程序员:从校园到职场》出版预告(2):从“百花齐放”到“一枝独秀”

  1. 云栖社区>
  2. 博客>
  3. 正文

《C程序员:从校园到职场》出版预告(2):从“百花齐放”到“一枝独秀”

周兆熊 2015-06-21 11:29:09 浏览874
展开阅读全文

古语云“治大国如烹小鲜”,写作一本书和写作一篇文章在本质上是一样,首先要确定自己要想写作的内容是什么。
对于本科学生来说,每个人都有至少一个专业,大学四年自己主要的学习内容就围绕专业来展开;对于研究生来说,每个人都至少有一个研究方向,在校三年的学习计划要围绕这个方向来安排;当然,对于入职的程序员来说,每个人也会有至少一项工作内容,自己或领导制定的工作计划的基础就是工作内容(具体来说就是要开发一个什么样的软件或系统)。
对于我来说,从入职到现在,我的大部分时间都是在从事语音业务的开发。总结起来,我的工作内容囊括了如下图所示的5大领域。
这里写图片描述
我逐一来进行说明。
(1) 编程语言:我所做的工作主要使用C语言。除了编码规范(程序样式、变量及函数的命名、注释等)之外,内存操作、异常保护等都是重点和难点所在。
(2) 数据库技术:我所做的工作主要使用SQL语言,涉及到的数据库包括ORACLE和SYBASE等。编写创建数据表和存储过程的脚本占据了我大部分的开发时间。
(3) 操作系统:我所做的工作主要使用Linux操作系统。与Windows下的开发相比,Linux下的开发需要开发者熟记很多操作命令及文件配置。
(4) 研发流程:“没有规矩,不成方圆”,从接手任务到完成任务,开发流程为“需求评审–>软件详细设计–>代码编写–>程序自测–>版本提交–>系统测试支持”。软件项目实际工作从本质上来说就是将在校学习的过程规范化。
(5) 系统架构:任何一个软件,都需要有一个总体的框架,每个开发人员负责不同的功能模块。就像OSI参考模型一样,软件系统也需要分工合作,也需要各个部分配合来满足用户的需求。

在最开始构思本书的时候,对于内容选择,我思考了很久。要想精通系统架构,需要在岗位上工作很多年。我现在来给大家谈论系统架构,还为时尚早。因此在上图中的5个部分中,我可以比较详细地介绍给读者的是前4个部分。
难道要把这4个部分放到一本书中呈献给大家吗?我回忆起自己在校的学习时光,大学4年学习了好几十门课程,但毕业之后真正用到的只有那么有限的几门课程的知识。就拿C语言课程来说,一学期的课程下来,老师不仅将C语言所涉及到的全部东西走马观花似的“灌输”给了学生,还附带将数据结构(如链表、树等)一并“抬”了出来,真是让学生们有点“消化不良”。大学的课程“百花齐放”,让很多学生望而生畏,失去了学习的兴趣,深陷“迷茫”的泥沼中而不能自拔。
那么,我是否也要将一本软件开发的“百科全书”展现在读者面前,让他们“一劳永逸”呢?显然,我不希望让大家看到一本“大书”而对软件开发产生畏惧,让他们觉得软件开发如珠峰一样难以攀登。既然如此,那么我就将某一方面的知识详细地告诉大家吧。
这样一来,我就要在“编程语言”、“数据库技术”、“操作系统”和“研发流程”四者之中选择一个作为本书的主题,我毫不犹豫地选择了第一个,也就是C语言。为什么是C语言呢?有如下几个方面的原因:
(1) 在这四个主题中,我对C语言最熟悉,讲解起来更有自信。:)
(2) C语言是计算机相关专业的核心基础课程,打好C语言基础对于学好其他课程或者是将来就业都是很有好处的。
(3) 在C语言编程方面,我积累了较为丰富的实践经验,这些经验可供广大的读者参考学习。
就这样,我放弃了在书中让多个主题“百花齐放”的想法,而选择了让C语言“一枝独秀”。
“剧透”一下吧,本书从C语言的发展历程讲起,结合丰富的代码实例讲述了程序的样式、变量和函数、内存操作、文件、指针和结构体、算法和协议、程序重构、SQL语句和Shell命令以及程序问题排查等诸多C程序开发中的典型问题。
此时,你可能会问:你说本书只讲解C语言的知识,现在市面上的C语言书籍已经很多了,你的书有什么特色呢?且听下回分解。


本人微信公众号:zhouzxi,请扫描以下二维码:
这里写图片描述

网友评论

登录后评论
0/500
评论
周兆熊
+ 关注