JBTALKS.CC

标题: 求程序语言的选择 [打印本页]

作者: goodhermit95    时间: 2014-12-23 07:19 AM
标题: 求程序语言的选择
小弟玩了VB玩了7年,也是我第一个接触的语言,可是发现VB真的很长篇大论(虽然intellesence很强),最新学校开始学C,想趁这个机会换去比较high performance的语言

刚刚玩了下C#,虽然google了VB vs C#的性能是差不多的,可是随便玩了下发现C#顺畅很多,VS2013对C#的intellesence也不错,但是我对C/C++情有独钟,可以直接#include library,因为我很注重性能,也就是10秒的东西1秒算完,1秒的东西0.1秒算完,0.1秒的东西0.01秒算完,efficiency高,吃cpu低还省电(虽然是一点点,但是用户多的话就差很多了)

搜索了下,Native C/C++虽然性能很强可是貌似没有GUI设计的支持,要的话就是under .NET的managed C++,性能跟C#/VB是差不多的,不过这个也有争议,有一篇文章说明managed C++的dll function call还是比C#/VB快很多,50,000次的话整200倍。有个叫Qt的也不过是模拟出来(GUI),不是call system api draw button那些出来的,想到这里我发现GUI好看不好看我也是很在乎的,就会联想到运用directX 的WPF,可是WPF好像渐渐消失了,原因是要花很多时间掌握他的架构,被Windows 8 的WinRT代替,我对metro UI完全不感兴趣,虽然出现了很久依然觉得很恶心,也不是说代替,只是推出新的东西,到最后不懂会不会像XNA那样被放弃治疗

说到底我很注重性能,可是Native C/C++要花很长的时间来设计GUI,而且还要自己控制好datatype那些(还是小部分罢了,还有很多要注意),花了很多时间做出来的interface也不如WPF的hardware accelerated的漂亮,我做的program又不是很底层的API。我google到一句话 “为什么10多分钟可以完成的东西要花250k行code去做",所以我想放弃native C/C++,可是managed C++性能是否真的跟C#/VB没有差别?(google说都是compile去MSIL的)Managed C++的code的打法我还可以接受的,可是架构方面要去理解,linker compiler settings什么了,这个时候问题就来了,都是under .NET的为什么要自找麻烦,直接用C#就好了,C#的code好像比C++还要短
microsoft还把C++的windows forms applications拿掉了,是不推荐我们用吗

我也google到说以前microsoft推C++,因为当时CPU性能不够快,过后又推high level programming language因为CPU性能够了,转换去更快的开发速度,可是现在因为考虑电池耗电问题所以打算继续推C++,我个人是一直很注重性能的,不管CPU够不够。

所以我想,如果managed C++性能很强大我就跟MS VC++,如果跟C#/VB差不多的话,WPF有前途保障的话就C# WPF,(directx draw出来的真的看了很爽)算到来我觉得我最喜欢的native C++(看到performance comparasion chart跟它的response真的很爽)应该只是用在performance intensive的地方而且是做成dll给C++/C#用
java的话虽然很强大可是我真的不喜欢,不知道为什么,学了以后也是工作应酬用罢了,考虑回vb的话真的太长篇大论了,学过C真的会受不了

我做的program很多类型,有network socket的,有macro的,也有不少一直call winapi的,也有单纯的gui property变来变去,database也是要考虑的,.net的database真的很蛇。。。不舍得放开它,native的话要写很长啊

还有就是我试过了 managed C++吃的ram真的是少到离谱,所以我对他们说什么都是convert去MSIL都是一样的很质疑

以我的需求,哪个好?native C++,C# WPF, managed C++?
作者: Irvine1987    时间: 2014-12-23 10:04 AM
你的application都是high level的,用C# aka Java 就可以了,library比较完善,都很够用了

本人用C,因为我偏hardware,gui的东西不适合用太low level的language做。

还有就是,我比较建议你用java,cross plateform在现今很重要。
作者: goodhermit95    时间: 2014-12-23 11:19 AM
本帖最后由 goodhermit95 于 2014-12-23 11:34 AM 编辑
Irvine1987 发表于 2014-12-23 10:04 AM
你的application都是high level的,用C# aka Java 就可以了,library比较完善,都很够用了

本人用C,因为 ...


那么说也对,都是接近GUI的,我想太多了
因为看到自己的program占ram很低真的很爽,一切operation马上完成也是很爽,所以在想如果native C/C++可以做GUI的话就可以满足我的需求,看来是不适合,考虑到要自己从hardware做到gui的话
我之前用的vb.net很讨厌的,明明一点点东西ram就吃一大堆== 而且GUI redraw每次吃掉很多CPU,希望WPF用GPU可以解决,可是google又看到不少complain WPF性能差,而且前途不保障
JAVA的话明年会学,我去看了下syntax跟c#差不多,现在有个project idea既然熟悉.NET就先用着吧,因为我身边的人几乎没有人有java runtime也没有人愿意装 = ='' 包过我自己的电脑也没有

作者: Irvine1987    时间: 2014-12-23 11:30 AM
goodhermit95 发表于 2014-12-23 11:19 AM
那么说也对,都是接近GUI的,我想太多了
因为看到自己的program占ram很低真的很爽,一切operation马上完 ...

反正最后都是会C,基本上上面全部都是C开发出来的东西。对我来说rapid development比较重要,performace先hardware补上,software optimize放在最后。

plateform确定了就开始弄就ok了。
作者: tonywonghs    时间: 2014-12-23 11:39 AM
会VB就不需要考虑C#了,毕竟是差不多的东西,功能和performance也差不多~~

如果你是为了进修自己的话,native C++或managed C++任选一个吧。。而且对你的.NET也有帮助,以后有什么需要还可以自己写DLL。

Java嘛就见仁见智,看你有没有需要接触到,如果没有就不要花时间了。。毕竟JVM不是普通的慢~~

如果要cross platform可以看xojo或purebasic之类,编写速度快又performance好。。Python也不错,library一堆多,就速度差点~~
作者: goodhermit95    时间: 2014-12-24 02:01 AM
谢谢大家的建议,因为写的都是接近GUI的东西所以放弃native C/C++了,因为WPF的GUI看了真的很爽所以现在已经开始研究WPF,跟着C#吧~

请问有没有类似WPF的framework用GPU Draw GUI的?因为WPF真的很不靠谱,过了五年不知道还在不在
作者: tonywonghs    时间: 2014-12-24 03:27 PM
科技进步很快,五年后肯定面目全非,就像以前红极一时的ATL,ActiveX等等~~如果你是在windows platform上的话,你也不要想太多了,目前windows GUI就是主打WPF。。
作者: goodhermit95    时间: 2014-12-25 10:27 AM
tonywonghs 发表于 2014-12-24 03:27 PM
科技进步很快,五年后肯定面目全非,就像以前红极一时的ATL,ActiveX等等~~如果你是在windows platform上的 ...

那好吧,已经选择WPF且开始学习了,谢谢大家
作者: goodhermit95    时间: 2014-12-29 06:44 PM

请问哪里可以找到这本?跑了很多书店都没有
pdf的看到眼睛很痛
作者: 身在此楼    时间: 2015-1-21 10:36 AM
提示: 作者被禁止或删除 内容自动屏蔽
作者: goodhermit95    时间: 2016-1-22 08:57 PM
erm回来报道一下 谢谢大家建议我找到方向了 现在在玩mvvm mvc linq json这些
作者: AhPang    时间: 2016-7-13 10:27 PM
本帖最后由 AhPang 于 2016-7-13 10:37 PM 编辑

我开始也是学MVC,觉得被限制只能用那几个web control而已。
现在改用了angularjs+webapi+entityframework开发起来特别灵活。开发次序也改成从后台开始了,entityframework->webapi->angularjs觉得速度快多了。




欢迎光临 JBTALKS.CC (https://www.jbtalks.cc/) Powered by Discuz! X2.5