我是Mac的长期用户,具有相当多的编程经验,我想尝试为Windows编程。问题是我不知道从哪里开始,我应该先学习什么? .Net,Win32?
[澄清] :我的最终目标是使用最新的API创建一个或多或少复杂的应用程序,但我想知道我所摒弃的基础。
答案 0 :(得分:15)
从编写Windows第5版的圣经开始。它仍然非常相关。
http://www.charlespetzold.com/pw5/
你将开始用Win32做C。一旦你明白你也可以学习.NET。虽然有些人可能会告诉你跳过Win32并直接进入.NET。但是,在运行Win32时,您将了解Windows的实际工作方式。
答案 1 :(得分:7)
我要看看Visual Studio Express Editions之一的副本并从那里开始。它具有在Windows上构建Windows / Web应用程序所需的所有工具。
你可以从win32级开始,但是根据你想要做什么,你可能会发现你能够用.net和visual studio做你需要的一切。
答案 2 :(得分:2)
一旦你完成建议的windows编程圣经开始阅读The Old New Thing,Raymond Chen的博客。
关于Windows的内部工作方式有很多有趣的见解,为什么它是这样的。
答案 3 :(得分:2)
对于Windows上的快速应用程序开发,.NET似乎是当今最有效的解决方案。但是,如果您渴望从应用程序中获得额外的性能,我建议您仔细阅读Programming Windows和Windows via C/C++。虽然有些材料已经过时了,但是很多材料仍然与今天的Windows编程有关。如果您选择.NET路线,可以查看一些书籍,包括Illustrated C# 2008,Accelerated C# 2008,当然还有我们自己的Jon Skeet C# in Depth.
答案 4 :(得分:1)
.Net更容易。
我的最终目标是使用最新的API创建一个或多或少复杂的应用程序
最新的API是.Net(Win32较旧)。
然而,我想知道我所贬低的基础。
Win32支持.Net(虽然你在.Net环境中编程时可能几乎看不到Win32文件......例如,Mono项目或多或少成功地将.Net API移植到非Windows)
答案 5 :(得分:1)
阅读Petzold并查看所有未记录的东西的高级Win32 api新闻组新闻://comp.os.ms-windows.programmer.win32(所有Win32 apis的源代码......)
答案 6 :(得分:0)
我建议开始使用.NET(C#或任何其他.NET语言)进行编程,因为那是微软最现代化的通用应用程序平台。我个人喜欢里希特书籍CLR via C#和Applied Microsoft .NET Programming。即使第二本书有点陈旧且不包含较新的.NET功能,也是很好的起点。
要真正学习Windows平台,我完全同意Bobby关于阅读Petzold Programming Windows的建议。