这么问,是因为我既喜欢偏硬件的开发,也想学习CSHARP。所以希望可以只学一种语言,不然我就要学习两种语言了。
谢谢懂行的高手指点!万谢!
17 个解决方案
#1
C++学好了,我认为一切都不是问题了。
#2
#3
2楼做广告!!
#4
期待细节
#5
#6
C#是一种面向.NET虚拟机中间代码(IL)的语言,所以C#不适合开发硬件驱动程序。最初,C#是仿照Java创立的。
随着C#的发展,C#和Java,和C++越来越远。
C#相比C++来说,语法简洁,并且更加符合现代编程语言的特征。
C++的一个主要设计目标是最大程度的兼容C语言编译器。所以,全局变量、宏、预处理关键字等等都保留了下来。
C#完全面向对象,并且不使用指针。C#从语言设计之初,就抛弃了C++繁琐和容易出错的语法,比如:
if (i = 2) ...
在C++里面,可以编译,但是在C#里,无法编译。因为大多数情况下,程序员试图表达的是 if (i == 2)
再比如:
switch (i)
{
case 1:
i++;
case 2:
i += 2;
}
在C++里面,可以编译,当i=1,则会贯通两个分支,在C#里,会报错。
C++里,指针是一个非常灵活的特性,但是也非常容易出错,在C#里,不使用指针。
C++里,一个对象创建之后,程序员负责回收:
Class1 *p = new Class1();
...
delete(p);
C#里,垃圾回收器会自动回收不用的对象。
C#支持泛型,从语法的角度看,很类似C++的模板,但是 C# 泛型类型替换是在运行时执行的。同样,C# 泛型语法得以简化。
C#支持委托,C#的委托实现了安全的回调机制,在C++里面,使用的是函数指针——函数指针指向哪里,就会运行到哪里,如果指针指向的地址和程序员的预期不一致(比如黑客构造了一段代码,并且让指针指向那里),程序就存在潜在的风险。
C#从2.0开始,逐渐远离了Java,事实上,到C# 4.0,C#已经从Visual Basic,函数式编程语言、查询语言、动态脚本语言上吸取了很多优点。
#7
C#=(C++)++
#8
C#是一门新的开发语言,自然集众多语言优点而一身(有抄袭之嫌),
理论和实际上可以跨平台,
之所以最终选择了C++语法,是因为C++语法本身面向对象的特点和C语系语法使用非常广泛可以快速被大部分
开发人员所接受.
之所以最终选择了C++语法,是因为C++语法本身面向对象的特点和C语系语法使用非常广泛可以快速被大部分
开发人员所接受.
#10
c#不适合搞底层开发
#11
语言都有共通之处,学了一门语言后,学另外一门其实并不难
#12
说点有意思的
C是C++爸爸,是C#的爷爷
C++之所以在C之后加“++”符号,来源于C语言中“++”运算符.
C#之所以在C之后加“#”符号,因为在乐谱中,“#”表示升调,“#”加在C之后,表示是对C/C++的升级.
C是C++爸爸,是C#的爷爷
C++之所以在C之后加“++”符号,来源于C语言中“++”运算符.
C#之所以在C之后加“#”符号,因为在乐谱中,“#”表示升调,“#”加在C之后,表示是对C/C++的升级.
#13
可以说
青出于蓝而胜于蓝
C#在绝大多数应用上优于C/C++,开发效率比他爸他爷快,而且背后还有个Microsoft撑腰,是微软平台开发的主流。
但一到底层开发,涉及到性能效率,C#就比不过他爸他爷了。
其实,选择学哪一个语言并不重要。你工作后所使用的语言并不一定是你学过的,很多情况下项目用哪种语言你就得现学这种语言。
重要的是,理解语言的基本(变量,表达式,函数,三种控制结构等等),编程思想(面向对象,事件驱动),基本的算法等等
青出于蓝而胜于蓝
C#在绝大多数应用上优于C/C++,开发效率比他爸他爷快,而且背后还有个Microsoft撑腰,是微软平台开发的主流。
但一到底层开发,涉及到性能效率,C#就比不过他爸他爷了。
其实,选择学哪一个语言并不重要。你工作后所使用的语言并不一定是你学过的,很多情况下项目用哪种语言你就得现学这种语言。
重要的是,理解语言的基本(变量,表达式,函数,三种控制结构等等),编程思想(面向对象,事件驱动),基本的算法等等
#14
这个我最有发言权,学校学过了C(最基本的),后来好几次自学C++,从VC++6.0学到VS2005都没学会,后来看到VS2005 C#,有点兴趣了,到VS2008开始学,居然还业余做了几个小网站和软件骗了点钱花花,所以C#特别适合懒人和笨笨的人学,哈哈哈(不是说那些C#高手哦)
#15
我是LZ,谢谢大家的帮助!虽然分数有限,我心领了!
#16
c++是c的超集,这是对的,但c++和c#完全是两种语言,不兼容。c#和java是一层次的语言。
c++比c#强大,但门槛更高,薪水更高。
c++比c#强大,但门槛更高,薪水更高。
#17
会c的没几个会c++,会c++的都会c,但编程思维不一样,所以不是说
c++编程的人一定能把c编好。
c++编程的人一定能把c编好。
#1
C++学好了,我认为一切都不是问题了。
#2
#3
2楼做广告!!
#4
期待细节
#5
#6
C#是一种面向.NET虚拟机中间代码(IL)的语言,所以C#不适合开发硬件驱动程序。最初,C#是仿照Java创立的。
随着C#的发展,C#和Java,和C++越来越远。
C#相比C++来说,语法简洁,并且更加符合现代编程语言的特征。
C++的一个主要设计目标是最大程度的兼容C语言编译器。所以,全局变量、宏、预处理关键字等等都保留了下来。
C#完全面向对象,并且不使用指针。C#从语言设计之初,就抛弃了C++繁琐和容易出错的语法,比如:
if (i = 2) ...
在C++里面,可以编译,但是在C#里,无法编译。因为大多数情况下,程序员试图表达的是 if (i == 2)
再比如:
switch (i)
{
case 1:
i++;
case 2:
i += 2;
}
在C++里面,可以编译,当i=1,则会贯通两个分支,在C#里,会报错。
C++里,指针是一个非常灵活的特性,但是也非常容易出错,在C#里,不使用指针。
C++里,一个对象创建之后,程序员负责回收:
Class1 *p = new Class1();
...
delete(p);
C#里,垃圾回收器会自动回收不用的对象。
C#支持泛型,从语法的角度看,很类似C++的模板,但是 C# 泛型类型替换是在运行时执行的。同样,C# 泛型语法得以简化。
C#支持委托,C#的委托实现了安全的回调机制,在C++里面,使用的是函数指针——函数指针指向哪里,就会运行到哪里,如果指针指向的地址和程序员的预期不一致(比如黑客构造了一段代码,并且让指针指向那里),程序就存在潜在的风险。
C#从2.0开始,逐渐远离了Java,事实上,到C# 4.0,C#已经从Visual Basic,函数式编程语言、查询语言、动态脚本语言上吸取了很多优点。
#7
C#=(C++)++
#8
C#是一门新的开发语言,自然集众多语言优点而一身(有抄袭之嫌),
理论和实际上可以跨平台,
之所以最终选择了C++语法,是因为C++语法本身面向对象的特点和C语系语法使用非常广泛可以快速被大部分
开发人员所接受.
之所以最终选择了C++语法,是因为C++语法本身面向对象的特点和C语系语法使用非常广泛可以快速被大部分
开发人员所接受.
#9
#10
c#不适合搞底层开发
#11
语言都有共通之处,学了一门语言后,学另外一门其实并不难
#12
说点有意思的
C是C++爸爸,是C#的爷爷
C++之所以在C之后加“++”符号,来源于C语言中“++”运算符.
C#之所以在C之后加“#”符号,因为在乐谱中,“#”表示升调,“#”加在C之后,表示是对C/C++的升级.
C是C++爸爸,是C#的爷爷
C++之所以在C之后加“++”符号,来源于C语言中“++”运算符.
C#之所以在C之后加“#”符号,因为在乐谱中,“#”表示升调,“#”加在C之后,表示是对C/C++的升级.
#13
可以说
青出于蓝而胜于蓝
C#在绝大多数应用上优于C/C++,开发效率比他爸他爷快,而且背后还有个Microsoft撑腰,是微软平台开发的主流。
但一到底层开发,涉及到性能效率,C#就比不过他爸他爷了。
其实,选择学哪一个语言并不重要。你工作后所使用的语言并不一定是你学过的,很多情况下项目用哪种语言你就得现学这种语言。
重要的是,理解语言的基本(变量,表达式,函数,三种控制结构等等),编程思想(面向对象,事件驱动),基本的算法等等
青出于蓝而胜于蓝
C#在绝大多数应用上优于C/C++,开发效率比他爸他爷快,而且背后还有个Microsoft撑腰,是微软平台开发的主流。
但一到底层开发,涉及到性能效率,C#就比不过他爸他爷了。
其实,选择学哪一个语言并不重要。你工作后所使用的语言并不一定是你学过的,很多情况下项目用哪种语言你就得现学这种语言。
重要的是,理解语言的基本(变量,表达式,函数,三种控制结构等等),编程思想(面向对象,事件驱动),基本的算法等等
#14
这个我最有发言权,学校学过了C(最基本的),后来好几次自学C++,从VC++6.0学到VS2005都没学会,后来看到VS2005 C#,有点兴趣了,到VS2008开始学,居然还业余做了几个小网站和软件骗了点钱花花,所以C#特别适合懒人和笨笨的人学,哈哈哈(不是说那些C#高手哦)
#15
我是LZ,谢谢大家的帮助!虽然分数有限,我心领了!
#16
c++是c的超集,这是对的,但c++和c#完全是两种语言,不兼容。c#和java是一层次的语言。
c++比c#强大,但门槛更高,薪水更高。
c++比c#强大,但门槛更高,薪水更高。
#17
会c的没几个会c++,会c++的都会c,但编程思维不一样,所以不是说
c++编程的人一定能把c编好。
c++编程的人一定能把c编好。