一个C++小菜鸟的感悟

萱草江篱 2016-01-19 07:59:26
加精
做为一个自学的小菜鸟,磕磕碰碰断断续续的学了好几年,因为无知走了很多歪路,直到现在,(此处省略n万字的这几年的剧情),直接上大结局。

//------------------------------------
首先讲Qt,Qt最最最诱人之处便是跨平台,引得无数C++小菜鸟们趋之若鹜,本菜鸟也刚刚玩了个把月的Qt,但是结果发现!!!英语是硬伤!!!而且,关于Qt的入门书籍也难找,很多书一上手就将信号与槽,然后2D绘图和3D绘图,而对于QString和Qpixmap还有Qfile这些很基础的类讲的很粗略,还有其它情况,总而言之Qt的帮助文档已经是公认的好教材,可能大家都认为学会C++会入门编程后看看帮助文档的示例代码后就能上手了。

但是,英语是硬伤,再加上找不到如此基础的入门书籍使得我不得不放弃,如果各位看官有此类书籍欢迎留下书名

//------------------------------------
然后从微软的.NET说起,.NET和Qt一样,据说将来也会跨平台,可惜对C++的支持简直是怪异,学过C++.NET(或C++ CLI或C++ CLR,这三者都是同一种东西)的都知道有这精力学C++.NET不如去学C#干脆,
其实.NET我挺喜欢的,刚开始学编程的就是C#,但是那时候超级小白,只买了本《从零开始学C#》,只会把各种控件拖来拖去,在属性栏修修改改,再者就是双击控件添加一个事件,对指针数组函数类这些语法简直天书,可惜后来我没找到合适的进阶书籍,所以放弃了

后来去学了C++,学了半年的C++几乎全懂了,虽然C++很麻烦,win32API更是难以理解,但是我在基层方面的理解了一个程序是怎么运行的,一个int一个char一个string的内部构造是什么,win32API与MFC与NET与Qt的类库有什么区别,它们是怎么做出了的,我全都理解了。
这feel,倍儿爽!!!
虽然谈不上精通,但是以我目前所学的知识而言,这些已经足够了。

//------------------------------------
于是我准备开始写程序,那么现在问题来了!!!
我的手头有win32API,有MFC,有NET,有Qt,该选择哪个呢?
由于英语是硬伤,Qt排除,
学习MFC不如学习win32API,因为我手头有《Windows程序设计(第5版)》,这话本书很棒,感觉学完后编程的话就无障碍了,其实我知道我缺一个编程思想,需要自己构架一个程序框架出来,虽然英语是硬伤但是有了这本书就不是问题了,如果Qt也有这么好的书就好了,上面那本《从零开始学C#》其实很不错,Qt如果也有内容与《从零开始学C#》和《Windows程序设计(第5版)》类似的书籍就好了,求推荐!!!
但是据说NET将会支持跨平台使我琢磨着要放弃Qt。
NET虽好但是要用得好就得用C#了,我想起曾经论坛一位前辈是这么评价的,但不知道评价的是C#呢还是NET:一个激光大炮架只有在驴背上才能发挥出其威力,如果离开了驴就是一堆废铁,啥都不是。
我觉得C#离开了NET啥都不是,NET离开了C#同样难以驾驭,我很好奇NET为什么不能像Qt的类库一样对C++好用呢?

//------------------------------------
所以呢,综上所述,我的选择似乎只有C++win32API和C#.NET这两种组合了。

但是我舍不得C++,因为我当年要学编程的最最最原始的动力就是想写个外挂出来,嘿嘿!玩游戏太累,开个挂让电脑自己来,而开挂呢涉及的可是C语言甚至更加基础的语言比如汇编语言,使用C++更加贴切,
还有啊,C++可以控制单片机,因为我是做模具的,公司很多产品都是机器加工单,如果做出单片机自动化的话,嘿嘿,不用多说了,公司里也有几台自动化机器,但是实在是太低级了,淘汰是迟早的事,是现在工业的潮流是自动化嘛。
但是C#.NET实在是太好用了,也舍不得,可惜C++.NET实在是。。。不得不说垃圾。而且据说C#.NET也可以控制下位机,但是好像不能开挂。。。开挂的话应该要用C++写个dll引过去的吧。
可能有的看官会说干嘛不两种语言一起使用呢?C++写基础,C#写界面。其实我个人认为这是大神的活儿,我一个小菜鸟就不要一心二用了,即使这两种语言很相似。
不管学编程还是其它什么的,求精而不求多,样样都会的肯定没一样是精通的,什么都会点皮毛但没一样拿得出手等于什么都不会。

//------------------------------------
写的时候我也是在思考,写到这里我决定学C++win32API吧,根据我的需求:外挂+单片机,应该选择C++为上,C#不能开挂,英语是硬伤,Qt和MFC和win32API现在就win32API学的最好,书也好找,
而困难呢就是UI难写些,不过从C++来说,如果这关都过不了不如去学C#算了,毕竟C++的精华在于各种语法,在于C++的高效率,
而C#貌似是专门为了NET而设计的语言的。。。

//------------------------------------
不知道各位大神的看法如何,欢迎指点!!!
...全文
10161 55 打赏 收藏 转发到动态 举报
写回复
用AI写文章
55 条回复
切换为时间正序
请发表友善的回复…
发表回复
還是 2016-04-11
  • 打赏
  • 举报
回复
说说我自己吧,最开始我看的是windows程序设计(大三看了(java,php,红龙...),后来发现功底不够,红龙看不懂才看的windows程序设计),然后是MFC 深入浅出(+视频),还有就是c++的一本高质量编程一直在看(确实不错)。 感觉c++要写出好的代码确实是很需要功底的。目前公司的软件算法是c++写的,界面是c#(WPF)。小菜鸟一枚,去年毕业的。加油
leileilove100 2016-02-26
  • 打赏
  • 举报
回复
如果想做客户端开发的话Qt不错的,MFC没有前途了,windows api可以适度了解一下,Qt的qml开发界面和小游戏都是不错的选择,可以跨平台,.net不了解不做评论
qq_33924660 2016-02-04
  • 打赏
  • 举报
回复
做成初学者Windows程序设计(第5版)选定一本,能再推荐一本学c++的好的书么,求详细的书名?
萱草江篱 2016-02-04
  • 打赏
  • 举报
回复
只是研究下,学习Qt的编程思想,Qt是不学的
萱草江篱 2016-02-04
  • 打赏
  • 举报
回复
最新发现,Qt居然开源的,研究Qt代码去,嘿嘿
ooolinux 2016-02-04
  • 打赏
  • 举报
回复
引用 50 楼 qq_33924660 的回复:
做成初学者Windows程序设计(第5版)选定一本,能再推荐一本学c++的好的书么,求详细的书名?
http://blog.163.com/tab_98/blog/static/11924097201592403030131/
max_min_ 2016-02-02
  • 打赏
  • 举报
回复
c++语言不要只是拘泥于 win平台了。 语言只是工具而已。
u010231493 2016-02-01
  • 打赏
  • 举报
回复
如果是我的话,就用c++ 。想要漂亮界面用cef duilib
木千 2016-01-30
  • 打赏
  • 举报
回复
Qt推荐《c++ gui qt 4编程》,不过现在打算放弃QT了 我和楼主正好相反,先学C语言,然后是win32api 第一次看到MFC的程序很震惊,居然不用句柄??后来学c++才明白是被封装了
joii han 2016-01-27
  • 打赏
  • 举报
回复
其实都差不多,多看看第三方库吧
十万个纳尼 2016-01-25
  • 打赏
  • 举报
回复
楼主想要深入了解QT,有一本书强烈推荐你看《QT中的C++技术》你想了解的信号、槽、字符串有非常详细的实现讲解。
  • 打赏
  • 举报
回复
引用 2 楼 u013812682 的回复:
我的英语也不好,现在还是大三_q_q_,但是也在看Qt,开始学的时候看文档是真的难,但是努力学了几个月以后,就不是问题了,前期,用翻译软件就行了,后面一般的文档就能看懂,自己做了很多小项目,小游戏,就是觉得3D是有点难,希望一起加油!
我也大三,我也学Qt,同志啊
  • 打赏
  • 举报
回复
我英语也就四级水平,看英文文档感觉没有多大难度,比较专业类的文档不会卖关子。 最后教你一个办法,打开有道,划词翻译,想翻译那一句就翻译那一句,感觉倍儿棒
萱草江篱 2016-01-24
  • 打赏
  • 举报
回复
引用 41 楼 llimite 的回复:
C艹是个的杂种。什么都支持,模板 泛型 自动类型 GC 。
但是我们不必全部都学了啊 就想这个世界那么大,而我们活在这世界上,却不必把整个世界遛个遍,却依然活的很好
SlimTracy 2016-01-23
  • 打赏
  • 举报
回复
C艹是个的杂种。什么都支持,模板 泛型 自动类型 GC 。
dousha99 2016-01-23
  • 打赏
  • 举报
回复
我个人觉得不需要为使用什么语言纠结。如果说纯粹是个人爱好的话学什么都无所谓。 如果实在拿不定主意,那就一个一个试,用需求驱动式学习(要用什么不会再学),很快就能找到合适自己的。 关于英语硬伤的话,如果不去面对的话也不行啊,可以花一点时间翻字典或者查翻译,学习曲线会有点陡,但是坚持下来就可以。不用刻意地背,因为是兴趣,用兴趣和需求驱动就可以了。
  • 打赏
  • 举报
回复
如果只局限在windows, C#够你用了, C#一样可以调用win32 api和调用native dll. 开发界面用wpf也很快. win 手机平板基本只能用C#开发, 像objc是苹果的官方语言一样,C#就是 微软的官方语言.
萱草江篱 2016-01-22
  • 打赏
  • 举报
回复
引用 37 楼 a810783926 的回复:
[quote=引用 26 楼 u012995856 的回复:] 为啥不去学习英语呢
因为日常生活词汇和编程常用词汇的范围是不一样的,很多编程常用词汇就算过了英语六级也不一定碰的上, 而且英语单词也是一词多义的,在日常生活和编程两个语境里的意思都是有区别的, 我在学校里学了那么多英语词汇碰上MSDN和Qt的帮助文档几乎没用到多少词汇,大多是非是日常用词汇[/quote] 所以我都是一边读MSDN一边积累词汇的
萱草江篱 2016-01-22
  • 打赏
  • 举报
回复
引用 26 楼 u012995856 的回复:
为啥不去学习英语呢
因为日常生活词汇和编程常用词汇的范围是不一样的,很多编程常用词汇就算过了英语六级也不一定碰的上, 而且英语单词也是一词多义的,在日常生活和编程两个语境里的意思都是有区别的, 我在学校里学了那么多英语词汇碰上MSDN和Qt的帮助文档几乎没用到多少词汇,大多是非是日常用词汇
gjdjdjdbxbxjdj 2016-01-22
  • 打赏
  • 举报
回复
哇(⊙0⊙) 好厉害 但是我不上班 我有工作的人了 以后如果从事IT行业的话肯定是自己做老板的多 哈哈哈哈 不过你倒是一语惊醒梦中人,也许吧,我学会了Qt或者win32API,几年后我就抛弃了转其它了,因为时代在进步,可能几年后Qt没人要了,NET也被NET core或什么代替了,就好像曾经的com编程,现在新手还有谁在学呢 这样的话我喜欢哪个学那个好了 反正迟早要丢掉的 留下的全都是经验
加载更多回复(35)

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧