软件设计专业学什么

结论:软件工程专业的课程很多,扎实的基础和实践很重要。

你必须学习C并打下坚实的基础。
快速学习VB,使用Windows。

Java面向对象,web开发必不可少。
数据结构是关键,算法是高效的。

网络操作、系统管理。
软件开发流程,SQL数据库。

多媒体技术,信息处理。
专业英语、国际交流。

设计实践,创新思维。
实际开发,解决问题。

《WINDOWS程序设计》和《WINDOWS核心编程》的区别

说实话,这两本书我都浏览了几页,觉得很有趣。
Jeffrey Richter 的《Programming the Windows Kernel》出版于 2 008 年。
当时,这本书经常受到科技论坛上的人推荐,并且确实详细解释了 Windows 的基本机制。
我记得有一段代码谈到了管理 GDI 对象句柄。
就连我这种自认为对底层了解不多的人也愣住了。

佩措尔德的书2 01 0年由清华大学出版,范敏等人译。
书名:《Windows 编程》。
有趣的是,我从公司同事那里借了这本书。
感觉就像一本参考书。
无论如何,我在编写控件时一遍又一遍地阅读了这篇文章。
书中包含一个优化消息循环的示例。
当时我正在调试一个卡住的对话框。
当我意识到这一点后,我立刻感觉程序变得顺利多了。

就内容而言,里希特的书确实很复杂。
从GDI、User3 2 和Kernel3 2 开始,甚至清晰地解释了内核堆栈的细节。
我读的时候,有一节讲的是线程本地存储(TLS)的实现原理,让我点点头。
虽然后来我没有在实际项目中使用它,但我发现它简单多了。

Petzold的书比较实用,比如文档/视图架构、COM组件等,而且讲得很详细。
我有一个朋友用这本书进行培训。
他总结道:“这本书就像一个螺丝刀包,在任何情况下都可以使用。
”我记得里希特的书卖了五万多册,不过这个数字可能有点高,到亚马逊上查一下就知道了。

我个人的建议:如果你想做系统级开发或者想了解Win3 2 API的来龙去脉,Richter的书是必读的。
但如果您想编写常规的桌面应用程序,Petzold 的书就足够了。
但尽管如此,最好的效果还是这两本书一起读。
例如,通过观看 Richter 谈论 GDI,然后查看 Petzold 的文档模板,您会立即启发自己。

我没有亲自查过这方面的数据,但是亚马逊和国内电子书平台的销售趋势可以看到。
对于技术书籍来说,主要是看其内容中积累了多少实用信息。
这两本书都很扎实。

WINDOWS系统编程,WINDOSWS程序设计,WINDOWS核心编程3本书的区别

说实话,C 和 Windows 编程确实是很有趣的比较点。
当我第一次接触Windows开发时,黑窗总是让我困惑——它和DOS时代很相似,但实际的过程却完全不同。
C语言是最简单的。
运行时,是按顺序一行一行执行的,就像我小时候写的“Hello World”一样。
我记得第一次编写控制台程序时,当我看到那个黑色窗口出现时,我感到非常自豪,尽管现在看起来有点傻。

有趣的是Windows编程,它是一套完全不同的逻辑。
比如WinMain函数,每次看到都会让我想起学VB时的感觉——事件驱动,模块化,彻底摧毁C中的实现思维。
我的一个朋友第一次调试Windows程序。
当他看到HINSTANCE和LPSTR元素的组合时,他立即说道:“这比C还难理解。
”事实上,这是Windows的基本规则。
就像我说的,宏定义太多了,你真的需要在早期阶段花一些时间。

说起程序员的分类,这确实是一个非常实用的话题。
诸如扫雷之类的常见应用程序可以由新手和中级程序员闭着眼睛编写。
但当遇到像谢霸这样需要处理复杂逻辑的软件时,高级程序员就不得不采取行动了。
当我在 Rising 公司实习时,我看到他们编写低级操作码并控制系统内存管理。
当时我就想:这些人都不是普通人。
系统的程序员都是神级存在。
如果没有一些基本知识,他们就无法处理 Word 等大型应用程序或 Rising 等防病毒程序。

至于C++和Windows之间的关系,我一直觉得很有趣。
它实际上并不是专门为 Windows 设计的,它仍然可以在 Mac/Linux 上使用。
但Windows开发离不开C/C++,尤其是Visual C++。
我有一个同事专门研究MFC。
他总是说,“如果没有MFC,Windows开发就直接吃API了,那会很痛苦”。
但话虽如此,如果你想用纯C++创建GUI,你确实需要依赖其他工具。
这是正确的。
当我编写一个小工具时,我必须使用C++来直接运行API。
我调试了半个月,最终不得不转用MFC来完成。
我当时真想狠狠地打自己一顿。

对于Windows API来说,直接从C调用是最原始的方式。
但C++的封装确实很省事,尤其是MFC,它对你隐藏了很多基本细节。
不过,我的经验是,虽然使用MFC方便,但是定位错误往往比直接使用C更麻烦。
所以现在很多团队都采用混合的方式,用C做核心下层,用MFC做上层接口。
我感觉这个最有道理。

我记得的数据可以追溯到 2 008 年左右。
C/C++ 仍然占 Windows 开发的 7 0% 左右,但我现在记不清具体的百分比了。
然而,趋势是明确的。
现在Visual Studio支持C语言,跨平台开发变得更加流行。
不过,短期内Windows的核心逻辑预计将基于C/C++。
上次看UWP文档,发现很多概念都是从C/C++演变而来的,很有趣。

顺便说一句,您提到了“Windows编程”和“基本Windows编程”。
我看入门书的时候,有一个写“Hello World”窗口的例子。
结果,您执行了错误消息循环并且程序停止。
那段时间,每天在那扇黑窗前调试,真是“痛并快乐着”。
其实Windows开发是这样的。
表面上看很简单,但深入挖掘就充满了陷阱。