C#补充,选学C++还是C?

光与电的误会 2014-04-05 12:32:06
学C#很多年了,现在想学C++或者C作为C#的补充,哪一个好点呢?还是哪个都行,或者都学?
...全文
1141 44 打赏 收藏 转发到动态 举报
写回复
用AI写文章
44 条回复
切换为时间正序
请发表友善的回复…
发表回复
Vince蓝 2014-04-11
  • 打赏
  • 举报
回复
引用 17 楼 sp1234 的回复:
[quote=引用 13 楼 chensiel 的回复:] 说学了很多年,其实没有专门接受过C#的培训,本科的时候学的还是java,但是编程不是我们学习的重点,主要还是一些系统原理,语言什么的都自学,用C#+VS来实现自己的想法目前看来省时省力,就没学其它的。
很遗憾,你一点也没有搞懂我说的是什么。 我就是针对那种口口声声说“我本科学的事java,我后来又花巨资上了一年多培训班学c#”这类说法说的。你整天纠结于某个编程语言,难道你就真的(除了几个以某编程语言为帽子的课程以外)没有学过软件开发真正需要的基础知识课程吗?[/quote] 首先,我对需要学习编程语言之外的东西的观点表示赞同,也对花钱去学习一门或几门语言表示反对! 补充,编程语言都学不精,就不要老想着其他事情,没意思,语言是工具,没工具就没办法干活,工欲善其事,必先利其器,要学会跑那也得先会爬吧; 除非有人一开始就请你做架构设计师,你又是天才,可以天马行空地设计出一个良好的系统架构而不参与任何的详细设计; 尽可能多会几门语言有利无弊,就说现在的android吧,C、C++、JAVA都会总比只会其中一门好,否则就把自己限制在某个领域了,就难以理解 Android Framework
Vince蓝 2014-04-11
  • 打赏
  • 举报
回复
引用 23 楼 lhfslhfs 的回复:
真正读懂谭浩强的《C程序设计》,你就可以打造一个自己的LINUX出来!
大学那会刚学C就是这本书,但是给我们上课的那老头基本不用,只是在批评作者时拿出来指给我们看哪里哪里不严谨或者说得绕卖弄学问; 当时还觉得这老头不就是个MIT出来的么,至于那么鸡蛋里挑骨头么,百思不得骑姐; 后来有幸看到里奇的TCPL,还有C语言指针、C专家编程等等,才明白老头为什么老是要求我们尽量看英文书了; 大部分国人写书都太浮躁,或者太功利,没本事的抄,有本事的可能又忙所以没时间所以写不好,你说写得好吧,又太绕了,很多概念看英文原版的就很容易理解,看国人的书反而懵了…… 技术类书籍,我也尝试过买国人写的书,好书确实有,很少,反而在网上看到过有些没法出版的手稿写得很不错(作者自称内容太精炼页数不够不予出版) 如果不与TCPL比较,谭浩强这本书算是写的好的了。
snipes 2014-04-08
  • 打赏
  • 举报
回复
引用 10 楼 sp1234 的回复:
c,而不是c++。 不过,如果你所谓的“学”知识学语法,那么这种学校可能就很垃圾了。 我们招聘时,有的人上来就介绍说“我在xxx鸟学习了一年零两个月,学习了c#、java、c++......”,我问他“除了这些编程语言以外,请说出你们学习的课程都包括什么?我想跟你聊一下你们的课程中那些不带着编程语言的帽子的那些课程”,他犹豫半天告诉我“没有。不过我们在学习c#的时候,老师带着我们做了好几个项目啊”。我说“算了,学编程语言时做的项目,我不想听。那就来说说你的工作以后吧”。学习方面就这样了,看不出学了什么。 所以如果学习c,最好其目的还是为了做为其它“原理”课程的辅助。 记得在以前我们学习汇编或者c的时候,我们同时正在学习机器的外设控制方面的编程,我们可以写许多小巧的设备驱动,也做过一两个较大型的windows设备驱动。
同意。
hzyufo 2014-04-08
  • 打赏
  • 举报
回复
引用 17 楼 sp1234 的回复:
[quote=引用 13 楼 chensiel 的回复:] 说学了很多年,其实没有专门接受过C#的培训,本科的时候学的还是java,但是编程不是我们学习的重点,主要还是一些系统原理,语言什么的都自学,用C#+VS来实现自己的想法目前看来省时省力,就没学其它的。
很遗憾,你一点也没有搞懂我说的是什么。 我就是针对那种口口声声说“我本科学的事java,我后来又花巨资上了一年多培训班学c#”这类说法说的。你整天纠结于某个编程语言,难道你就真的(除了几个以某编程语言为帽子的课程以外)没有学过软件开发真正需要的基础知识课程吗?[/quote] ......求助..........应该怎么提高自己在编程方面的思路和能力.......最近才开始学c#...但是找不到“需求”.......学的有点漫无目的....感觉自己看别人的代码/书上的讲解示例经常形成今天学明天忘。(只针对我自己对自己的认识理解).....想通过像解数学题一样通过解各色各样的题目来加深对知识的理解和印象........希望能给点建议........
mjp1234airen4385 2014-04-08
  • 打赏
  • 举报
回复
引用 11 楼 chensiel 的回复:
其实我问这个问题时没想那么复杂,学C#之外的如C++不是为了学习编程。 现在有个很现实的问题,在做的项目,客户端用的是WinForm程序,C#开发够用了,但是需要CLR运行环境,所以呢需要开发一个不依赖CLR的桌面程序,用来检测系统环境,运行配置脚本并启动WinForm。
这个问题,一般制作安装程序的过程中,安装程序会有一些配置选项,可以检测dotnet环境十分存在的。
thewitcher~ 2014-04-08
  • 打赏
  • 举报
回复
C++吧 ,以前在学校学了c,C# ,愚笨,没理解什么 。 学了C++,突然意识到C++函数指针就是C#委托。。。 还有其它等等。。
大道曙光 2014-04-07
  • 打赏
  • 举报
回复
引用 4 楼 u012936747 的回复:
[quote=引用 3 楼 chensiel 的回复:] [quote=引用 2 楼 u012936747 的回复:] 选C++吧,和C#更相近
谢谢回复,那用什么开发工具比较好?想先做桌面窗口程序,VS开发WinForm那是非常方便,找了很多,没发现C++的可视化工具。 学C++主要是因为C#依赖.net framework,想用C++做启动程序。[/quote] RAD工具根据你用的GUI库决定 如果是MFC就用VS,wxWidegts用Dialogblocks,VCL用C++ Builder QT有自己的QT Create,可以挂载到VS下(VC++),也可以单独用(MinGW) 我比较喜欢wxWidgets,但是配置有点麻烦,开源的要自己编译[/quote]codeblocks中有wxwidgets的工程模板。不过我没用过。
bigbaldy 2014-04-07
  • 打赏
  • 举报
回复
引用 37 楼 chensiel 的回复:
引用 26 楼 bigbaldy 的回复:
如果要补充,肯定是学C,C++重复了,用C可以搞驱动和单片机,而且,说实在话,C++的语法够学的,既然已经搞了C#,没必要C++了,C和C#是最佳无敌组合,要开发效率有开发效率,要运行效率有运行效率,而且无所不能,完美互补
这是我希望看到的回复,对我这个问题而言最有价值,谢谢。那如果目前只用来开发win32桌面程序,需要快速上手,有什么好的开发工具可以帮助我吗?以后应该会接触单片机,驱动,arm等,学c就可以吧?
桌面程序就用C#呗,没有更好的选择了,而且.net库的问题根本就不用担心,win7自带3.5,win8 4.5,而且Nvidia和AMD各自的显卡驱动都是需要.net framework4.0才能安装的,你想想,还有哪些机器会没有.net? 对于单片机和驱动,那当然是C的天下,有空的话在学学汇编,底层的东西有时还是会用到的,不过现在也很少很少用了,即使要用,也是很基础的东西,汇编纯语法的话,有个2-3天就能搞定了,实际上写驱动用到的汇编都是非常容易的
ktei2008 2014-04-07
  • 打赏
  • 举报
回复
引用 23 楼 lhfslhfs 的回复:
真正读懂谭浩强的《C程序设计》,你就可以打造一个自己的LINUX出来!
Hilarious enough, but I highly doubt this...
江湖评谈 2014-04-07
  • 打赏
  • 举报
回复
C++ 完爆 C# 简直 超越C#几个档次
xwj 2014-04-07
  • 打赏
  • 举报
回复
c++好,语言精通的越多,面越广
IT_Linux 2014-04-07
  • 打赏
  • 举报
回复
学C吧,C语言可以让你真正领悟到编程的乐趣所在。。
光与电的误会 2014-04-07
  • 打赏
  • 举报
回复
引用 26 楼 bigbaldy 的回复:
如果要补充,肯定是学C,C++重复了,用C可以搞驱动和单片机,而且,说实在话,C++的语法够学的,既然已经搞了C#,没必要C++了,C和C#是最佳无敌组合,要开发效率有开发效率,要运行效率有运行效率,而且无所不能,完美互补
这是我希望看到的回复,对我这个问题而言最有价值,谢谢。那如果目前只用来开发win32桌面程序,需要快速上手,有什么好的开发工具可以帮助我吗?以后应该会接触单片机,驱动,arm等,学c就可以吧?
ErrorErro 2014-04-07
  • 打赏
  • 举报
回复
引用 33 楼 mayadong7349 的回复:
[quote=引用 4 楼 u012936747 的回复:] [quote=引用 3 楼 chensiel 的回复:] [quote=引用 2 楼 u012936747 的回复:] 选C++吧,和C#更相近
谢谢回复,那用什么开发工具比较好?想先做桌面窗口程序,VS开发WinForm那是非常方便,找了很多,没发现C++的可视化工具。 学C++主要是因为C#依赖.net framework,想用C++做启动程序。[/quote] RAD工具根据你用的GUI库决定 如果是MFC就用VS,wxWidegts用Dialogblocks,VCL用C++ Builder QT有自己的QT Create,可以挂载到VS下(VC++),也可以单独用(MinGW) 我比较喜欢wxWidgets,但是配置有点麻烦,开源的要自己编译[/quote]codeblocks中有wxwidgets的工程模板。不过我没用过。[/quote] 需要一个RAD,要不然怎么设计界面
冰宇孑 2014-04-07
  • 打赏
  • 举报
回复
精通c#更重要
skyworth98 2014-04-07
  • 打赏
  • 举报
回复
引用 6 楼 caozhy 的回复:
没听说C/C++对于C#有什么补充作用。
sp 没有什么太大的联系,弄不好还会闹出邯郸学步的笑话 学精一门,然后去看其它的就容易很多了
  • 打赏
  • 举报
回复
引用 13 楼 chensiel 的回复:
说学了很多年,其实没有专门接受过C#的培训,本科的时候学的还是java,但是编程不是我们学习的重点,主要还是一些系统原理,语言什么的都自学,用C#+VS来实现自己的想法目前看来省时省力,就没学其它的。
很遗憾,你一点也没有搞懂我说的是什么。 我就是针对那种口口声声说“我本科学的事java,我后来又花巨资上了一年多培训班学c#”这类说法说的。你整天纠结于某个编程语言,难道你就真的(除了几个以某编程语言为帽子的课程以外)没有学过软件开发真正需要的基础知识课程吗?
  • 打赏
  • 举报
回复
引用 14 楼 u014538192 的回复:
1 如果你想学好C#!就一定要看这个!对你很多帮助! .把C#当成一门新的语言学习; .看《C#入门经典》和《C#高级编程》; .不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言; .不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点 .会用Visual vs,并不说明你会C#; .学c#并不难,长期坚持实践和不遗余力的博览群书; .如果不是天才的话,想学编程就不要想玩游戏! .看Visual vs的书,是学不了C#语言的; .浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!? .浮躁的人容易问:我到底该学什么;——别问,学就对了; .浮躁的人容易问:XX有钱途吗;——建议你去抢银行; .浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行; .浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人; .把时髦的技术挂在嘴边,还不如把过时的技术记在心里; .C#不仅仅是支持面向对象的程序设计语言; .学习编程最好的方法之一就是阅读源代码; .在任何时刻都不要认为自己手中的书已经足够了; .看得懂的书,请仔细看;看不懂的书,请硬着头皮看; .别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍; .和别人一起讨论有意义的C#知识点,而不是争吵XX行不行或者YY与ZZ哪个好; .请不要认为学过XX语言再改学C#会有什么问题——你只不过又在学一门全新的语言而已; .读完了《C#高级编程》以后再来认定自己是不是已经对C#入门了; .学习编程的秘诀是:编程,编程,再编程; .记住:面向对象技术不只是C#专有的; .请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码; .把在书中看到的有意义的例子扩充; .请重视C#中的异常处理技术,并将其切实的运用到自己的程序中; .经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去; .不要漏掉书中任何一个练习题——请全部做完并记录下解题思路; .C#语言和C#的集成开发环境要同时学习和掌握; .既然决定了学C#,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的; .就让C#语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C#语言本身为主; .当你写C#程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析 自己的错误并重新设计和编写; .决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的; .每学到一个C#难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了; .记录下在和别人交流时发现的自己忽视或不理解的知识点; .请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成XX; .保存好你写过的所有的程序——那是你最好的积累之一; .请不要做浮躁的人; .请热爱C#!
ssa 2014-04-06
  • 打赏
  • 举报
回复
c++和c#语法差不多
cazwell 2014-04-06
  • 打赏
  • 举报
回复
1 如果你想学好C#!就一定要看这个!对你很多帮助! .把C#当成一门新的语言学习; .看《C#入门经典》和《C#高级编程》; .不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言; .不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点 .会用Visual vs,并不说明你会C#; .学c#并不难,长期坚持实践和不遗余力的博览群书; .如果不是天才的话,想学编程就不要想玩游戏! .看Visual vs的书,是学不了C#语言的; .浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!? .浮躁的人容易问:我到底该学什么;——别问,学就对了; .浮躁的人容易问:XX有钱途吗;——建议你去抢银行; .浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行; .浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人; .把时髦的技术挂在嘴边,还不如把过时的技术记在心里; .C#不仅仅是支持面向对象的程序设计语言; .学习编程最好的方法之一就是阅读源代码; .在任何时刻都不要认为自己手中的书已经足够了; .看得懂的书,请仔细看;看不懂的书,请硬着头皮看; .别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍; .和别人一起讨论有意义的C#知识点,而不是争吵XX行不行或者YY与ZZ哪个好; .请不要认为学过XX语言再改学C#会有什么问题——你只不过又在学一门全新的语言而已; .读完了《C#高级编程》以后再来认定自己是不是已经对C#入门了; .学习编程的秘诀是:编程,编程,再编程; .记住:面向对象技术不只是C#专有的; .请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码; .把在书中看到的有意义的例子扩充; .请重视C#中的异常处理技术,并将其切实的运用到自己的程序中; .经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去; .不要漏掉书中任何一个练习题——请全部做完并记录下解题思路; .C#语言和C#的集成开发环境要同时学习和掌握; .既然决定了学C#,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的; .就让C#语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C#语言本身为主; .当你写C#程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析 自己的错误并重新设计和编写; .决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的; .每学到一个C#难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了; .记录下在和别人交流时发现的自己忽视或不理解的知识点; .请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成XX; .保存好你写过的所有的程序——那是你最好的积累之一; .请不要做浮躁的人; .请热爱C#!
加载更多回复(21)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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