首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >对于web开发人员来说,什么是一种好的桌面编程语言?

对于web开发人员来说,什么是一种好的桌面编程语言?
EN

Stack Overflow用户
提问于 2009-02-09 10:52:59
回答 22查看 9.6K关注 0票数 16

我想学一门桌面编程语言,最好是C、C++或C#。我是一个PHP/HTML/CSS程序员,我想进入桌面应用程序。我需要一些非常强大的东西,我希望能够创建与Windows GUI的应用程序。

Stack Overflow社区会推荐什么?在深入学习这些语言之前,有没有什么我应该掌握的知识?

EN

回答 22

Stack Overflow用户

发布于 2009-02-09 10:53:58

先简要地看一下C语言,再写几个教程程序。C很小,定义良好,明确的语言定义(Kernighan和Ritchie -C编程语言)只有几百页长。尽管理解指针和递归可能是一项挑战,但语言本身很小,完全了解该语言是可能的。编写C的乐趣之一是,不需要不断参考文档来了解如何使用鲜为人知的特性x或库函数y就可以编写代码,这并不是太难。

但是,要真正编写有用的应用程序,您需要使用C++或C#。这取决于你想要写什么。由于垃圾收集和一般易用性,C#可能会在大多数面向业务的情况下得分,但C++在高性能、低级别或游戏域方面会得分。还有大量的C++库代码,可以相对容易地加以利用(以及易于修改的纯C代码)。如果你的目标是写一些考虑到特定问题的东西,那么这种可用性很可能会抵消C++在完成任务时的较高开销。

作为示例,我在Sourceforge上对'image‘进行了过滤搜索,并返回了以下项目计数

C#:139

C++:569

即使有了更多以商业为导向的专业,C++的分数仍然更高--“金融”。

C#:12

C++:32

对于任何数学或技术方面的东西,分数都会对C# --“分形”进行很大的加权。

C#:4

C++:44

C: 24 <-- (明确排除C++)

当然,这是一个相当粗糙的分析,但例如,如果我的目标是编写一个桌面分形生成器程序,那么我会选择C++而不是C#,因为在C++中处理UI所涉及的额外工作很容易被C++中过多的示例代码所抵消。如果我正在编写一个业务应用程序,而使用示例代码和大量UI来处理没有太大的优势,那么我会选择C#。

事后编辑:至少让自己先熟悉C的另一个原因是,在Mac和iPhone上也有Objective-C作为主要的开发环境。Objective-C是具有非常薄的包装器的C语言,并且只是C++的近亲,所以如果你想要将代码移植到Mac上或者直接在Mac上进行开发,那么我认为如果你至少对C++ (或C#)是如何在C上构建有一些了解的话,你会发现它不那么令人困惑,而不是不得不在树上“横跨”。

票数 17
EN

Stack Overflow用户

发布于 2009-02-09 10:54:50

“我需要一些非常强大的东西,我希望能够用Windows GUI创建应用程序。”

对于丰富的windows图形用户界面,我很想看看"xaml“的变种: WPF (全桌面)和Silverlight (像flash) -这将为你提供最新的工具等,以及大量的样式功能。

为此,C#将是主要的选择。托管C++是一种选择,但还有更多的工作要做。

票数 16
EN

Stack Overflow用户

发布于 2009-02-09 11:54:29

我的建议是学习C++。C#很好,但它会妨碍你编写可移植的代码。如果你学习C++,你会有很多选择。在windows中,您可以使用Windows Forms应用程序或带有.NET框架的WPF。MFC是另一个不错的选择。QT是另一种选择,它可以在多个平台上工作。因此,通过学习一种语言,您可以为多个平台编写代码,并获得各种GUI工具。在学习C++之后,学习C#将是微不足道的。

万事如意

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/527700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档