【问题标题】:How to start programming in Windows? [closed]如何在 Windows 中开始编程? [关闭]
【发布时间】:2011-02-26 06:20:13
【问题描述】:

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

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

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

我应该从哪里开始?视窗视觉工作室? 。网?我应该知道什么?

【问题讨论】:

  • 您想坚持使用您已经知道的 C 或 C++ 语言,还是愿意学习另一种语言,例如 C#? (令我惊讶的是,到目前为止所有的答案都是假设你想使用 .NET 平台。)有很多荒谬的选项可供选择。 Windows 编程是一个非常广泛的话题。
  • @Code Gray 真的! =P 但老实说,在 Windows 编程中走 C\C++ 路线并不容易。
  • 如果需要,我愿意学习另一种语言,是的,我愿意。
  • @ilhan 我的一个朋友,就像你一样,来自古老的 C 背景,他在 VC# Step by Step 方面做得很好。
  • @giddy 您可能会发现窗口和消息很难,但如果您没有良好的基础,它会阻碍您。

标签: windows


【解决方案1】:

如果您真的想学习底层 API,那么您应该从不使用其中一个框架开始。

像我们多年前通过 Charles Petzold 的书 Programming Windows 一样学习它。一个关于窗口和消息如何工作的非常好的知识基础将为您提供很好的服务。

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

一个好的框架,很棒,但如果你了解它下面的内容,你会从中得到更多。

【讨论】:

    【解决方案2】:

    看到这个问题:
    C# GUI programming for beginners: Where to start?

    特别是this 在那里回答。

    我认为你应该从 Windows 窗体开始,WPF 是 Windows Dev 的新事物,它得到了所有的关注,但我真的不建议从它开始。

    Programming Windows Forms by Charles Petzold 是一本好书(Charles 很酷),Windows 窗体自 Visual 2005 以来没有太大变化,你应该学习最新的语言 C# 4。

    Visual C# 2010 Step by Step 是一本了解 .NET 世界和所有选项(包括 WPF)的好书

    查看这些 SO 问题:

    希望对您有所帮助。

    更新


    如果您正在考虑使用 C 或 C++ 进行 Windows 开发,这并不容易。我已经完成了一些 Win32 API,相信我你会为即使是简单的事情编写非常长/复杂的程序

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

    This book is the Bible for that.

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

    当然有很多非 MS 选项,我也不推荐。 见:Native Windows Application Development Options

    底线,在我看来,C# 是一门非常出色的语言,您将在这里获得大量支持,Visual Studio 是最好的工具之一,您将在学习 C# 时获得乐趣/.NET,最大的优势是您可以使用您的 C# 知识编写 Web 应用程序、云和移动应用程序等等。

    【讨论】:

      【解决方案3】:

      我不确定为什么人们不经常使用跨平台 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 强制您使用面向对象的原则来构建整个程序逻辑,即使它们不适合您的特定用例(例如简单的一次性实验)。有时,您的代码最终可能会比完成特定任务所需的冗长得多。

      编辑:有很多适合初学者的资源,比如this one

      【讨论】:

      • 人们回避 JAVA 之类的 GUI 工作的原因是,它生成的非本地 GUI 看起来很差,消耗大量系统资源,并且在执行垃圾收集时随机冻结。
      • 哇,我正要发表与@David 相同的评论,尽管措辞不够谨慎。 +1
      • @(Mr. Heffernan):Java 可以使用 AWT 框架生成本机 GUI。另外,看看 Nimbus 的外观和感觉 - 许多程序员忽略了使用它(大约需要三行代码),因此默认使用过时的 Metal L&F:download.oracle.com/javase/tutorial/uiswing/lookandfeel/…
      • @void 你知道一些原生 java GUI 的例子吗?
      • @void 我对一个使用 Java GUI 构建的应用程序示例感兴趣,它看起来和感觉都是原生的。你知道一个吗?
      【解决方案4】:

      我将竭尽全力推荐使用Visual Studio 2010 C# Express 的C#。它让您熟悉您可能熟悉的 C/C++ 风格。

      【讨论】:

        【解决方案5】:

        有多种示例代码可供下载。当我开始学习为 windows phone 编程时,我发现它们非常有用。

        Visual Studio 非常适合 C#。如果您打算发布您开发的内容,您可能应该考虑通过 Outlook.com 创建一个 Microsoft 帐户。

        如果你想为 windows 8 开发,我建议你安装 windows 8 并使用它进行开发。

        【讨论】:

          【解决方案6】:

          我认为你可以从 C#.net 开始,然后是 ASP.net

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-10-17
            • 1970-01-01
            • 1970-01-01
            • 2016-10-06
            • 2013-01-30
            • 1970-01-01
            • 2013-04-29
            • 1970-01-01
            相关资源
            最近更新 更多