下午好,
我考虑过编写一个我可能会或可能不会商业化的应用程序,具体取决于最终应用程序的好坏程度。这就像一个个人项目,我希望能够学习更多有关编程的知识,因为目前我只了解C和C#。这就是我考虑将该项目作为非托管C ++ Win32应用程序启动的原因。问题是,与C#相比,甚至显示一个简单的窗口是最困难的...
有多少人/公司使用Win32 API& C ++在今天的商业世界中?与C#相比,它的表现如何?
有问题的应用程序最终可能是特定语言的IDE,但内置命令识别和拼写检查等功能。
非常感谢。
答案 0 :(得分:3)
似乎在需要性能时,人们愿意为C ++放弃C#。 看看这个“成功”故事Lessons from Evernote’s flight from .NET。
在我们的测试硬件上,Evernote 4 开始快五倍,并使用 Evernote 3.5的记忆的一半。
Evernote选择WTL和Chromium Embedded Framework。基本上他们在他们的应用程序中重用了Google的Chrome。
答案 1 :(得分:2)
对于您的第一个项目以及没有C ++和Win32之前的经验,我强烈建议您使用C#,因为您可以更轻松地完成某些工作,从而获得自信和技能。
答案 2 :(得分:2)
我非常喜欢Windows下的C ++,我一直都是在成年后做的。也就是说,如果您没有C ++经验,并且想要编写一个Windows应用程序,我建议使用.NET下的C#路由。虽然我喜欢原生C ++,但我真的不喜欢C ++ / CLI,以及引用的可怕^
后缀。
鉴于这是一个个人项目,我不会过分担心企业是否使用C ++或C#,但我会说现在找C#开发人员比C ++开发人员更容易。不,我不喜欢一种语言而不是另一种语言,它似乎是现实(至少在我的经验中)。至于C ++ / CLI开发人员?他们在地上很瘦:)
使用C#你肯定会比使用Visual C ++ / MFC / some-other-gui更快地运行,但是请记住,在C#中你可能无法做到某些事情(并且必须导入本机win32通过DllImport
来电,但我怀疑你是否会遇到这些边缘情况。
答案 3 :(得分:2)
C#是一条简单的路线,也是微软经常推出的路线。但是,他们没有告诉你的是,他们所有的标题产品(Visual Studio的部分除外)都是用C / C ++编写的。事实上,我说你熟悉的大多数主要软件包都是用C / C ++编写的。
答案 4 :(得分:0)
我也会使用c#,因为它在商业世界(至少在GUI方面)比非托管c ++ / win32更常见。您还可以更快地获得所需的结果,特别是如果您不了解c ++。
另一方面,c ++表现更好(如果写得正确) - 所以如果你计划在你的应用程序中进行一些密集的工作 - 也许c#只是不会处理它(但我强烈怀疑是这种情况)。
最后,但并非最不重要 - 如果您正在为客户进行规划,由于某种原因,他们没有也无法获得.NET框架(或任何其他框架,即Java) - 那么本机代码是您唯一的解决方案。
答案 5 :(得分:0)
我只使用C ++已有好几年了,但我从来没有编写任何需要用户界面的程序。当我这样做时,我试图学习使用Qt,但发现它有些痛苦并最终放弃了。我最近刚开始参加C#.NET课程,第一周我就开始为我的公司计费系统开发一个非常先进的应用程序。
如果你已经是一名经验丰富的C ++老手并且比C#.NET更喜欢它,那么我会说一定要去做。但是,在这种情况下,我强烈建议您使用C#.NET,原因有很多。
1)无论您使用何种API,在C#中执行某些操作所需的时间可能至少比在C ++中执行时快10倍。
2)C ++的学习曲线已经尝试用UI编写应用程序(在C ++中已经非常困难),这将花费很长时间。