如何在Windows中开始编程?

我用简单的编译器在C和C ++中编写了简单的程序(在大学学过;我是统计学生)。 另外我是业余的PHP程序员。 现在我想开始编程的Windows。

  • 应用程序与用户界面
  • 没有用户界面的应用

我的目的是看看它是如何完成的。 我可能会做一个基本的应用程序,与Web服务器中的数据库交互。

我应该从哪里开始? Windows的Visual Studio? 。净? 我应该知道什么?

Solutions Collecting From Web of "如何在Windows中开始编程?"

如果你真的想学习底层的API,那么你应该开始没有一个框架。

通过Charles Petzold的书“Windows编程”,我们就像那些年前那样学习它。 关于窗口和消息如何工作的知识基础非常好,可以很好地为您服务。

从长远来看,一个好的框架,例如WinForms,Qt,VCL等将会提高生产力。 但是如果你从其中一个开始,那么你就有可能不知道发送和排队消息之间的区别,不知道HWNDHDCHANDLE之间的区别等等。

一个好的框架是好的,但是如果你明白它下面的东西,你会得到更多。

看到这个问题:
C#初学者的GUI编程:从哪里开始?

尤其是这个答案。

我认为你应该从Windows窗体开始,WPF是Windows Dev的新功能,它让所有的灯光,但我真的不建议开始与它。

  • 获取Visual Studio 2010 Express
  • 请参阅Windows窗体上的此MSDN页面

由Charles Petzold编写的Windows窗体是很好的书(Charles非常酷),自Visual 2005以来Windows窗体并没有太多改变,你应该学习最新的语言C#4。

Visual C#2010 Step by Step是获得.NET世界和所有选项(包括WPF)的一个好书,

看到这些SO问题:

希望有所帮助。

更新


因为你正在考虑用C或C ++进行Windows开发,是不是很容易。 我已经做了一些Win32 API,并相信我,你会写很严重/复杂的程序,甚至是简单的事情

您有两个MS选项,您可以使用C或C ++语言并调用Win32 API函数。

这本书就是圣经。

另一个MS选项是使用MFC,人们对MFC有一些相当强烈(坏)的看法。 我自己也没有做太多,所以不能说太多。 请参阅: https : //stackoverflow.com/questions/557114/stick-with-mfc-or-go-to-net

当然有非常多的非MS选项,我再也不推荐。 请参阅:本机Windows应用程序开发选项

底线 ,在我看来,C#是一门很好的语言,你会在这里得到TON的支持,Visual Studio是最好的工具之一,你将有乐趣学习C#/。NET,最大的好处是你可以使用您的C#知识甚至编写Web应用程序,云和移动应用程序等等。

我不确定为什么人们不经常使用跨平台的GUI工具包。 我倾向于在Java中编写我的GUI,并将控制转移到C ++以获得实际的程序逻辑。 如果您了解MVC架构模式,则可以使用Java来实现视图和控制器,并使用C ++来实现该视图。 如果程序简单,性能不重要,那么我经常直接用Java编写代码。 我列举了一些使用Java编码UI的缺点,而不是下面的其他语言。

优点

  • Java已经有了一个大型的库,里面有很多有用的实用工具,而且可以从中学习其他语言。 有许多经过充分测试的Swing组件可供使用,在线教程也为许多常见用例提供了很好的起点。
  • 查看JogAmp网站,并尝试他们的演示。 我更喜欢使用C / C ++来为用户界面执行渲染和Java,但是如果性能不重要,JogAmp API在控制要使用哪一个OpenGL子集方面有很大的灵活性。
  • Java对数据库和servlet有广泛的支持 – 查看JDBC API。
  • Java是开源的,并不限制您使用特定的IDE(或操作系统! )。
  • Java带有一个名为Javadoc的内置文档生成器,它运行得非常好。 实际上, JDK的文档是使用它生成的。

缺点

  • Java是一种解释型语言,因此性能通常会比其他编译语言差。
  • Java迫使你使用面向对象的原则构建你的整个程序逻辑,即使它们不适合你的特定用例(例如简单的一次性实验)。 有时你的代码可能会比完成特定任务所需要的更为冗长。

编辑 :有很多初学者的资源,比如这个 。

我要走出去,并推荐使用Visual Studio 2010 C#Express的C# 。 它让你熟悉你可能熟悉的C / C ++风格。

有各种样本代码可供下载。 当我开始学习编程Windows Phone时,我发现他们非常有帮助。

Visual Studio非常适合C#。 如果您打算发布您的开发内容,您应该考虑通过outlook.com创建一个使用微软帐户。

如果你想为Windows 8开发,我会建议你安装Windows 8并使用它开发。

我想你可以从C#.net,然后ASP.net开始