热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

谈谈C/C++、C#、Java各自的应用方向,不辩论语言的优劣,口水仗的请绕道

上大学以来接触编程也有段时间了,C,C++,C#,Java都开过课,也都或多或少学了点(个人而言,java接触的最少,可能连入门都称不上),可悲的是,到现在对于这几门语言的应用领域了解的不是非常清楚,
上大学以来接触编程也有段时间了,C,C++,C#,Java都开过课,也都或多或少学了点(个人而言,java接触的最少,可能连入门都称不上),可悲的是,到现在对于这几门语言的应用领域了解的不是非常清楚,所以来请教下~

先申明一点:这里说的应用领域只谈论目前市场主流常见的开发,让我有一个直观的认识,比如说C#可以做网站就是一个很具体的说法,做出来的产品直观上看上去就是网站。不要争辩C#都能做什么之类的东东,至少用C#写驱动不是主流!我实在看怕了语言之争的口水仗了


先说下自己目前的认识:
1.首先C应该做的是底层的东西,嵌入式,单片机,驱动,感觉linux更是偏爱C

2.然后是C++,感觉写成C/C++比较合适。应该是性能要求较高的场合大部分用这个,比如网络,游戏等等。然后便是客户端软件,linux下有基于QT(号称一次编写,到处编译),windows上自然离不开VC++,MFC之类的了,感觉目前我们常用的windows桌面软件应该大部分都是C++写的吧?然后用上一些界面库(比如迅雷就是自己的一套名字叫BOLT界面库,还涉及到了lua和xml),还有什么DirectDraw技术之类的。

3.C#:ASP.NET做网站,WinForm可以写客户端,然后还有个WPF。silverLight作为WPF的子集我总感觉和Flash是不是重复了?而且一直不温不火。除了微软的官网,其它地方貌似没看到有网站用过。。。

4.Java,这个最迷茫了,学了java语法之后,只是简单看了下J2SE,java的那些spring和structs框架的之类的从来没接触过,干嘛用的?做网站的框架?.Net的MVC也没接触过。J2EE是做企业级应用的,啥叫企业级应用?也是网站?

=====
总结一下:个人而言,毕业后是不会从事java方面的编码工作了,因为对java近乎一无所知。最初接触的是Win32、MFC,然后是C#的WinForm,ASP.NET,WPF也略懂(自学WPF的目的完全是为了界面~),不过这几样感觉也没一样学的精的。
就业的方向应该主要分为三块,C/C++、C#.NET、Java。说白了我就是想知道企业招人进去主要是做什么东西?

(发现码字还真是麻烦,正确表达自己的意思更纠结)



123 个解决方案

#1


嵌入式不错,C/C++还是有奔头的
做应用的话,现在更趋向于C#了

#2


引用 1 楼  的回复:
嵌入式不错,C/C++还是有奔头的
做应用的话,现在更趋向于C#了

现在CS软件,用C#做的多吗?那C++一般做哪些软件用得最多呢?

#3


我平时用的软件也没几个是c#做的

#4


我现在正在学vc,c++,也想听听大家的意见。

#5


我公司还在用VC、MFC!

#6


感觉以后 C# 使用量会不小

#7


纯属个人观点,发表一下:
java做网站居多:jsp 
c#做一些特定的企业软件,公司软件居多winform。asp虽然也貌似很多,但是我觉得asp很不给力。
c/c++做的是我们平时生活中玩的用的比较多的,迅雷,酷狗,qq音乐,360,QQ,
不过这些都是以windows的vc为主。
linux c/c++呢,做一些嵌入式的产品,与硬件一起,做一些比较实用,智能一点点的东西。哈哈

#8


.Net/Java 企业开发

#9


SL轻量级的RIA开发,不需要安装.NET Framework
WPF重量级的RIA开发,需要.Net Framework支持

#10


Java:企业级的开发,各种MIS(B /S架构的)

举几个例子吧:
移动网上营业厅 的就是Java做的
还有中国银行的网银行也是Java做的 

Java做的东西还是非常的多的,

SSH框架,Struts、Hibernate、Spring 只是
三个框架
Spring 是Java EE框架
Struts 是MVC 框架
Hibernate 是ORM框架

看到的各大应用系统中常见的 以 .do .action 
做的一般就是java做的系统了,(当然静态化了的就是.html了)

#11


公司一直用的是C++,主要做的是三维仿真,现在的人好难招,大学出来的基本都是要重新回炉的,稍微好点的开的工资都是死贵死贵的,迷茫啊,现在开始转行脚本语言,还不知道路在何方啊

#12


C++学习来挺难的,都用C++工作快1年了,对C++还是一知半解

#13


选择一个方向慢慢学咯

#14


学习下。

#15


Mark 求高人

#16


#17


搭车了解一下,好像还没有很详细的说明啊

#18


个人认为,目前到了c++的生死存亡的关头。ios的大幅度流行和os x的崛起带动了objective-c(我学它费了好长时间)。Android普遍都是Java。微软嘛,就差用c#写系统了(vista这么晚发布的原因之一就是盖茨要用c#写系统,当然,失败了)。通过monotouch,可以用c#跨平台开发wp,ios,android。个人愚见:C++如果需求量大幅减小,那么世界会乱的。。。。

#19


学习c吧。。。。底层清楚,顶层净是业务逻辑了。。。

#20


好像欧美的外包服务大部分是c#开发的,大陆本土java用的多,c++和c效率高一些做底层开发,当然vc++的mfc还是比重很大的。。。个人觉得c#用monotouch可以跨平台开发wp7,安卓,ios开发会很火

#21


C++守住自己的一亩三分地是绰绰有余的,毕竟是面向对象的语言里比较底层的了,JAVA依旧会是老大很多年,C#将来是windows平台和微软推的主要语言,再懂一门脚本语言就行了

#22


C#与JAVA还是目前主流。如果找工作,这两种至少要会一种。如果不为找工作,在企业作应用或自己开发,哪种都可以:PHP\JSP\ADROD\DELPHI\ASP......

#23


你会在工作中慢慢得到你所困惑的,这个过程很重要,谁都迷茫过

#24


每种语言都有涉及

#25


JAVA用做大型电子商务,平台建设等企业级应用是非常广泛的。
C&C++用来做系统软件是非常不错的。
C#在WIN上对抗JAVA的。功能语法基本类似。

#26


其实啊,多看看招聘网站,就知道企业要啥样的人了

#27


引用 1 楼  的回复:
嵌入式不错,C/C++还是有奔头的
做应用的话,现在更趋向于C#了

能举一个用C#开发的,又不卡的软件吗?

#28


我觉得C#最大的应用是让不会编程的人学会了什么是编程。

#29


C#很容易上手,但是很多C#开发高手的c/c++基础是非常好的.

#30


Mark

#31


刚毕业,还没有感受到。。。。。。

#32


现在CS软件,用C#做的多?

#33


个人比较钟爱C++

#34


用C#做

#35


C++ 做

#36


用c做应用层软件的飘过。

#37


看你想做什么了,说实话,我曾经一直很坚定的用.net,但是当你到了一定程度之后,你会发现.net的限制太多了,主要表现在跨平台问题上,Windows Server的那个问题多啊。。。但是VS的方便与简单却是是很大的一块蛋糕,但是这块蛋糕可能会害死你。。。- -b
在主要的商用应用上,个人感觉还是Java的比较多,金融,通讯,大型应用。
网站的表现层的话,个人感觉PHP的比较多,LAMP还是挺吃香的。
C/C++是基础,毕竟这两个是标准,只是每个厂商的实现有些差别,而且学会了C++在学其他的也快很多。

个人的建议是,除非必要,否则不要从Windows平台学习。。。并不是说Windows学习有什么坏处,只是说M$的产品局限太大了。

建议是 C/C++ 如果需要可以学习Java,至于.net嘛,可学可不学。。。

#38


补充一下,如果你特别喜欢Windows桌面编程的话,就学C#吧。。。做Winform应用却是快的。。。WPF和Winform没啥太大的区别,只是表现形式不一样而已,个人更喜欢WPF,哈哈哈

#39


路过,支持一下!

#40


路过学习下

#41


C。C#。JAVA。C++。。。似乎都差不多呀。。。。。。。。。会一个就好了。。。总结。。呵呵 

#42


太杂了,抓住一个深入研究就好!

#43


我们公司开发的PC机上的视频回会议客户端是用VC/MFC开发的,视频会议平台服务器是用C++实现的,企业微博平台是使用Java等实现的...

#44


还有就是视频监控客户端用的也是VC/MFC

#45


C#开发桌面客户端也不少,好像飞信就是用它开发的,而且网上能找到相关源码的!

#46


火车头是C#开发的,搞垃圾站的时候每天都用,是卡一点,不过现在电脑硬件发展也很快啊,以后没有什么卡不卡的问题了。 同类软件基本上看都不看。

#47


选语言如同选老婆。要找门当户对,适合自己的。
C是个带着高度近视眼镜的女博士,如果你没两把刷子,不要乱上。
C++是个狂傲不羁的富家小姐,出身名门,小资,要驾驭她就要多做各种功课讨她欢心。
C#是个过日子人,上的厅堂,下得厨房,娘家还很有钱,只要你不背叛她就能长久过下去。
JAVA是个风尘女子,跨平台,即插即用。玩玩可以,真娶回家,其实成本不低。

#48


C++能做的,.net/java未必能做起来。.net/java能做的,C++都能做的。
所以两者不好像比较,而且应用的范围领域完全不同的。在数据采集、工业控制、单片机等多个要求时序性、实时性较高的系统环境下,永远都是C/C++的天下。.net/java充其量只能算是彼此互为对手,但都还不能和C/C++抗衡的,毕竟他们的速度太慢了......

#49


wuliao

#50


学习一下,楼上的都很深刻。

推荐阅读
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 本文是关于C#类型系统、值类型和引用类型的概念性笔记。介绍了C#1系统类型的三个特性,静态类型的含义,显式类型和隐式类型的区别。还讨论了类、结构、数组类型、枚举、委托类型和接口类型属于哪一种类型。同时纠正了关于结构、引用类型和对象传递的错误表述。最后提到了C#4中使用动态类型的关键字。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • 整整的花了一个下午的时候,才在lua中调用了动态链接库。比起其他脚本语言,lua的调用方式算是比较繁琐的,但是lua的编程思想非常的统一& ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
author-avatar
手机用户2502902237
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有