我是否可以选择C++.NET?

三断笛 2012-08-21 10:05:41
我目前有一定开发基础.但不是C,也不是C++.

我想学C,虽然大学时有学过C和C++,但毕竟太浅,而且毕业后就没再用过.我学C主要是想研究算法方面的知识,因为我认为C比C++更简洁,高效,更稳固,并且容易跨平台.
但是我目前的工作主要是估企业应用,根本用不到C,但这影响不到我学C的目标.所以我打算走曲线救国道路,先学C++,再转C.但这又带来了两个问题.

1.学习C++用C++.NET可以吗?
我目前希望学习C++以及.NET Framework,因为可以应用到我的工作中去.但是我担心C++.NET会太依赖.NET Framework,甚至没有它就不能运行,会和纯C++有很大区别.也就是说,我希望目前既可以学习C++,可以利用.NET Framework,并且又可以随时脱离.NET框架,用其他的框架运行.

2.学习C++.NET可以轻松转向C吗?
我的目的还是C.我是不是不调用C++的类库,不使用.NET Framework,不使用C++的对象及特有语法,就和C完全一样了呢(不考虑编译器)?我可否在C++中完全用C的方式写代码呢?C++转向C成本高吗?我以后还是打算向Linux/Unix发展,并不想在windows久留.
...全文
644 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
a472544436 2013-01-14
  • 打赏
  • 举报
回复
我觉得C++用.NET是你人生的一个转折点,很多东西你必须靠拿来主义思想来丰富自己,等有一天你把C++.NET吃透,再回去捣鼓你VC++你会站在一个新的起点,那就是跨平台、优化运行效率,等你所有基础都打得很扎实的时候,C就可能成就你人生的目标,语言是互通的,.NET平台其实几个语言用法都差不多,就语法一些小区别,JAVA也一样,Google是建立JAVA基础上的。 现实就是这样,编程语言本来就是国外研究出来的,你叫中国人一时去学习,难免有些牵强,读到大学才开始慢慢入门。学个JAVA和C还不管用,总是一些简单的控制台应用程序做例子。一点实用价值都没有的东西怎么可能有兴趣去把他学好,这是我们现状,教育背景本来就不象这个方向发展。去看看印度的网站,和启蒙教育,你就知道学习一种编程语言要创造一种环境,.net框架我认为是不错的,图形化界面,简洁明了,你当然要从这个入门才能真正学到点东西了,VC++我认为还没VB实用,等到你有一定的功底再去研究C的原理和象Pascl一样的严谨的编程思想,语言是互通的,最原始的语言象机器码,跨平台性是强啊,难以理解造成他现在被淘汰的趋势,你不要舍近求远,学一门语言觉得他要被淘汰了,又丢下所学的去捣鼓另一个,这样你在业界永远没有自己的建树。大部分企业都不是用下载来的开发工具,自己制作工具来做开发平台,特别体现在游戏开发领域,难道你真的用个TruboC来写大型游戏,别天真了,没有人愿意去把事情越做越复杂。 你完全可以把这些开发工具作为你的基础知识,只有你都熟悉了编程的根本思想和原理才能开发出创新独特的软件,不然永远是步别人的后尘,没有起色。这就是很多人学程序开发不入行的根本原因,网上传言“卖软件不如卖冰棍”,化的快、不现实,那不是根本原因,根本原因在自身的创造能力和创新过程,你编写一个软件,操作难度相当大,还漫天要价,没人会用的。更重要的是,没有多少人群会整天捧个电脑过日子,编程不要拘泥与Windows应用程序。
三断笛 2012-09-04
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

一切以工作为出发点,热爱工作,也就会对工作中所涉及的编程内容感兴趣,于是,该学什么,就不言而喻了!
[/Quote]
多谢指点!
结帖给分!
hblqhyz 2012-09-04
  • 打赏
  • 举报
回复
一切以工作为出发点,热爱工作,也就会对工作中所涉及的编程内容感兴趣,于是,该学什么,就不言而喻了!
lliai 2012-09-03
  • 打赏
  • 举报
回复
学习精神值得赞一个。
--茶-- 2012-08-30
  • 打赏
  • 举报
回复
企业应用开发用.net或java,如果是图像,视频,3D,用C++,如果涉及到嵌入式用C。不过没有绝对的事情
三断笛 2012-08-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

如果有可能,你还可以从一个垂直的角度看编程语言

比如同样基于JVM,Scala和Java的不同,同样基于CLR,F#和C#的巨大差异,同样基于原生环境,C和Go语言的差别。

推荐几篇让你产生兴趣的科普文章:
首先是赵姐夫的编程语言的发展趋势及未来方向
http://www.cnblogs.com/JeffreyZhao/archive/2010/08/30/1812515.htm……
[/Quote]
谢谢前辈的推荐,老赵和酷壳的文章的确相当精彩,我有订阅他们的博客,对我很有帮助.
现在的开发语言太多了,发展太快,我悟性先天不足,远远无法跟上时代的步伐,只奢望能啃啃古老的C和LISP就相当满足了.
三断笛 2012-08-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

c本身的语法。就是那些东西。但做出来的东西却是可以无限扩充。
c++也不错。当你写一些对于某些依赖库有要求时可以考虑。
但你理解的c++.net与c++几乎没有关系。
c++.net是完全依赖.net框架。
以你的目的。完全没有必要用c++.net.
其实c是开发必须学的。

楼主目前如果是从事企业应用开发。而不是使用.net的。那几乎就是vc,delphi之类的了。
vc转c语……
[/Quote]
嗯,多谢前辈指点,让我知道了学习C++可以较低成本转至C,我的学习规划不会太错.
另外我十分想确定的一点是,我在C++.NET环境中,不使用.NET类库,也无法编译出脱离.NET Framework的本地代吗?比如说我仅使用STL.或者我完全写C代码.
三断笛 2012-08-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

看你说了这么多,无非就是这么个意思,我想学这个,但是怕太难了,我要学那个,担心没有用。我想轻轻松松学会一门语言,不但要有用,还要可以在学另一种语言的时候得到借鉴。更可悲的是,你眼里的语言也就是C C++ C++.NET(姑且算一种语言)这么几种。

我觉得作为学生,应该了解各种范式的语言,而不是向井底之蛙那样把某一种语言和它的变形当作编程语言世界的全部。

这里有个文档:http://r……
[/Quote]
前辈误会了....
我并不是觉得C难而先学C++的,而且C++也并不简单,甚至从某些方面说,C++比C更让人头疼,对不?

我想先选择C++的主要是因为C在我的工作中根本用不上,一门用不上的语言我难于在我的工作之余学好,而我希望我学习的东西能够应用到我的工作中去,毕竟工作和学习相结合才是最高效嘛.所以我打算先学习C++,并且觊觎强大的.NET Framework,等生活稳定,基本功扎实,后再转至C.

我学习C的目的是为了研究算法,并且可以方便地转移到Linux/Unix平台,进而研究人工智能,这是我感兴趣的领域.但这些现在都不是时候,就算我现在装了Ubuntu,安装了LISP,Prolog,我也没有太多精力研究,而且也在我的工作中根本用不上.我目前的重点还是工作,糊口.
threenewbee 2012-08-21
  • 打赏
  • 举报
回复
如果有可能,你还可以从一个垂直的角度看编程语言

比如同样基于JVM,Scala和Java的不同,同样基于CLR,F#和C#的巨大差异,同样基于原生环境,C和Go语言的差别。

推荐几篇让你产生兴趣的科普文章:
首先是赵姐夫的编程语言的发展趋势及未来方向
http://www.cnblogs.com/JeffreyZhao/archive/2010/08/30/1812515.html
这篇文章来自对C#之父的演讲
以及酷壳上的少即是极多
http://coolshell.cn/articles/7771.html
这篇文章来自Go设计者的一些观点
足球中国 2012-08-21
  • 打赏
  • 举报
回复
c本身的语法。就是那些东西。但做出来的东西却是可以无限扩充。
c++也不错。当你写一些对于某些依赖库有要求时可以考虑。
但你理解的c++.net与c++几乎没有关系。
c++.net是完全依赖.net框架。
以你的目的。完全没有必要用c++.net.
其实c是开发必须学的。

楼主目前如果是从事企业应用开发。而不是使用.net的。那几乎就是vc,delphi之类的了。
vc转c语言很容易的.因为c语言的语法比较简单。但你完全使用c来写东西。而不依赖别的dll之类的。
那有很多东西你都要了解。那算法是必须精通的。
现在很多公司连ms的c++的类库东东都不用的。

threenewbee 2012-08-21
  • 打赏
  • 举报
回复
看你说了这么多,无非就是这么个意思,我想学这个,但是怕太难了,我要学那个,担心没有用。我想轻轻松松学会一门语言,不但要有用,还要可以在学另一种语言的时候得到借鉴。更可悲的是,你眼里的语言也就是C C++ C++.NET(姑且算一种语言)这么几种。

我觉得作为学生,应该了解各种范式的语言,而不是向井底之蛙那样把某一种语言和它的变形当作编程语言世界的全部。

这里有个文档:http://rigaux.org/language-study/syntax-across-languages/

我觉得你至少应该学一种函数式编程语言,一种面向对象的编程语言,一种动态语言,一种操作系统脚本语言,一种声明式语言。你才能达到对各种新编程语言通吃,并且掌握各种编程思想的境界。
三断笛 2012-08-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

对于企业应用开发人员来说,如果连.net类库都不使用,只会几句c++语法顶个屁用呢?

赶紧去发展你的Linux/Unix,不要在.net上浪费你时间了。因为你的整体思路就是“找找看哪一个编程语言不用动脑子”,因此你并不适合.net。
[/Quote]
抱歉,我目前在我团队中的职责并不是负责.NET部分的开发,平时用到的并不多,我只是希望学习C++,以后转向C,并且可以将顺便强大的.NET库应用到我的工作中去.我的长远目标是算法,数据挖掘及人工智能方面.
对于C基本语法还是了解的,但是我知道C决不止语法这么简单,所以我决心更深入地学习它们,并且能减少我走的弯路,还望前辈指点.
  • 打赏
  • 举报
回复
如果把.net看作是c#或者c++,你就只纠结于几条编程语法而已,理解不了多少开发知识的。
  • 打赏
  • 举报
回复
对于企业应用开发人员来说,如果连.net类库都不使用,只会几句c++语法顶个屁用呢?

赶紧去发展你的Linux/Unix,不要在.net上浪费你时间了。因为你的整体思路就是“找找看哪一个编程语言不用动脑子”,因此你并不适合.net。

7,540

社区成员

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

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