我想学习一种桌面编程语言,最好是C、C++或C#。我是PHP/HTML/CSS程序员,想尝试开发桌面应用程序。我需要一个相当强大的工具,并且希望能够创建具有Windows图形用户界面(GUI)的应用程序。
Stack Overflow社区会推荐什么?在深入学习这些语言之前,是否有任何需要了解的知识?
我想学习一种桌面编程语言,最好是C、C++或C#。我是PHP/HTML/CSS程序员,想尝试开发桌面应用程序。我需要一个相当强大的工具,并且希望能够创建具有Windows图形用户界面(GUI)的应用程序。
Stack Overflow社区会推荐什么?在深入学习这些语言之前,是否有任何需要了解的知识?
编辑:
一位网页程序员想要创建Windows应用程序,你建议使用C语言?
/编辑
C#会更容易上手,你可以使用WinForms或WPF以及.NET中的所有新Microsoft工具来构建Windows应用程序。如果你熟悉PHP,应该已经熟悉其语法、面向对象的概念、异常处理等。
我建议你不要用C语言复杂化自己的生活,特别是如果你只是想创建Windows图形用户界面。它们提供了很好的教育体验,并且对于更高级的事情(例如使用其他工具包进行跨平台开发)很有用,但代价是陡峭的学习曲线和降低的生产率。
此外,如果你是一位网页开发者,那么在这三个选项中,C#是唯一可以(实际上)用于Web的语言。ASP.NET并不算是一个糟糕的框架,也值得探究。
当然,这只是一个相当粗略的分析。例如,如果我想编写一个桌面分形生成器程序,那么我会选择C++而不是C#,因为在C++中处理UI所需的额外工作量很容易被C++中大量可用的示例代码抵消。另一方面,如果我正在编写一个业务应用程序,在这种情况下没有大量的UI需要处理并且没有使用示例代码的重要优势,则我会选择C#。
事后编辑:至少熟悉C的另一个原因是,Mac和iPhone上的主要开发环境也有Objective-C。Objective-C是带有非常薄包装的C,与C++实际上只是近亲,因此,如果你预计可能会处于想要将代码移植到Mac上或直接在其上开发的位置,则认识一些C++(或C#)是比"侧步"跨越树更少混乱的基础。
C#和其他编程语言解决的问题非常不同,但鉴于您的Web背景以及其快速开发方法,我肯定会选择C#。
C#是这些语言中最高级的语言,这意味着它是最容易实现你想要的功能的语言。
使用C++甚至使用C可以制作Windows GUI,但这更加困难。
首先,一定要从基础开始学习:学习C语言。
然后,根据你的实际目标来选择。如果你想有任何跨平台的机会,就不能选择C#。你应该选择C++和Qt或wxWindows。
C/C++都允许低级编程。这意味着一切皆有可能,但即使是简单的事情也可能很难。如果你说你想要一个强大的东西时指的是这个,那么你应该从C++开始。它至少提供了一些不错的GUI库(gtk+和gtkmm或qt),而用C进行GUI编程则很痛苦。
另一方面,如果你想快速开发应用程序(这就是你所说的强大),那么C#可能是最好的选择。
我建议您使用C#。虽然不像其他两种语言那么强大,但是对于您的需求,我认为C#会是最少痛苦的选择。C和C ++是低级语言,因此我认为它们将会给图形用户界面等方面带来很多工作。