JAVA(最适合大型项目)
java不擅长做桌面程序,擅长做桌面程序的只有windows系列,因为提供底层api。java最擅长做业务性很强的东西,业务性的项目有几个特点:规则性强,建模重要,规模较大,考虑需要全面,不需要语言多复杂。而java就是这种语言,由于面对对象,所以建模有用处;由于项目规模一般较大,所以最初的繁琐配置不算什么大事;由于规则性强,而java的对现实模拟的那种规则更贴近实际;java的各种配置(至所以有时候对资源的读取复杂),都是为了通盘考虑实现的,所以我们有时候做的时候不够敏捷,但是越大的项目越敏捷;最后,java语义不复杂。所以java适合做的并不能紧紧说做什么项目(网站,企业应用),而是根据复杂度和业务来决定的。
JavaScript(适合Web、服务器)
用来嵌入HTML页面和用户进行交互,还可以处理表单,设置cookie。JavaScript不允许读写客户机器上的文件,JavaScript不允许写服务器机器上的文件,JavaScript不能关闭不是它自己打开的窗口,JavaScript不能从来自另一个服务器的已经打开的网页中读取信息。NodeJS可以开发服务器,一说服务器端,大多会想到大数据处理,并发,线程,进程或者其他的概念。在这里明确一下,Node.js适合做的是服务器端前端的响应,比如用户请求来了,推一条数据回去,或者用户数据来了,记录一些东西。如果你希望收集一些用户的数据,然后在后面做分析,那么这一类的工作,最好不要让Node.js,或者不要让JavaScript来做。
C/C++(适合底层、开源库)
C++适合用来开发那些既对性能有很高要求,同时又逻辑较为复杂的程序。典型例子是游戏。如果只对性能有要求,但逻辑不复杂的,用C的会多些(后台服务、嵌入式)。如果逻辑复杂,但对性能要求不高的,用Java或.Net的会多些。(界面开发、业务框架等)。C 语言目前主要用于像操作系统这样一类偏底层的的应用开发,还有一些开源的软件,也会选择C开发,这些系统主要优先考虑程序执行效率和生成的可执行文件的体积(C 代码生成的可执行文件体积相对更小)。C/C++ 整套的语法不具备“功能完备性”,单纯地使用这门语言本身提供的功能您无法创建任何有意义的程序,您必须借助操作系统的 API 接口函数来达到相应的功能。
PHP(适合敏捷Web、服务器脚本)
PHP擅长的是web开发(前端后端都可以)。许多小型网站都用PHP开发,比如微信小程序,公众号,app接口、服务端脚本等。最重要的是PHP 支持C++ 的扩展。
C#(适合web、窗体应用、3d游戏)
C#强项就是快速开发。最适合开发asp.net的WEB应用程序和winform桌面应用程序 。C#擅长网络开发,包括B/s和C/s。游戏会有很大很大一部分用C#开发,包括大型的3D网络游戏(Unity3D)。