【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
(本文摘自《草根》杂志第四期)
企业及个人对软件开发语言和类型如何决择
现在如果听到有人再谈起软件或软件开发,可能不会再向前些年IT行业刚起步时那样陌生了。随着电脑的高度普及,和对信息化的需求,使我们的生产生活早已离不开计算机和形形色色的自动化设备。当然我们使用计算机就离不开使用软件,一开机便运行的是操作系统软件,听歌看电影用的是播放器软件,写文档用的是Offic软件,聊天用到是即时通讯类软件以及做图使用绘图软件,但就目前的趋势来讲,这些软件的发展形式都慢慢像互联网开始靠拢。
软件开发类型
据信息产业部的统计中国目前注册的大小软件公司近13000家, 北京则占6000多家这样的公司。而我们使用的软件不管是花钱买的还是免费下载的,如果一家出一个软件,总是感觉没这么多。为什么我们能见到的软件这么少呢?因为软件有个人用户也有企业用户,你自己用的都是一些大众的软件,就算是花钱买也是很便宜的,软件公司是靠买出的数量赚钱。还有一些软件是软件公司为一些企业按照他们的业务需求定制开发的。比如OA系统,进销存系统,客房管理系统等,个人是不使用这样软件的。所以说不同的企业有不同的业务,也就需要不同的软件,这些软件都是在企业内部使用,所以我们很少看到,更很少用到,用到的也是自己公司内部的系统。
对于应用软件的人群来说软件是不分类型的,想干什么活找对软件就可以了。但是对于软件公司则要考虑什么类型的软件,应该使用那种语言开发性价比比较高,对于求职的程序员也会面临学那种语言比较好找工作,待遇会好一点,对那种类型的软件开发比较有兴趣。如果选择软件行业的话,首先选择一个好的软件公司应该是首先要考虑的方面。同时我觉得不管是求职还是创业的话,选择一个好的软件开发的类型也是很重要的。目前软件开发类型大体上可以分为Web应用软件、应用软件、嵌入式应用和系统软件四种,以下通过一个图表展示了当前各种类型的软件应用比例:
从图表中我们可以看到目前开发Web方向的应用软件占所有软件的一半以上。当然,每种类型的软件还可以细分下去, 比如应用软件又可以分为单机软件和网络软件(C/S结构)等,Web也可以再分。以下是每种类型介绍和一些常见软件的所属类型:
应用软件
应用软件是专门为某一应用目的而编制的软件,较常见的如: 1、文字处理软件 2、信息管理软件 3、辅助设计软件 4、实时控制软件, 5、单机版的游戏。单机版的软件就是在自己的机器中安装和使用的,例如office、影音播放器、杀毒软件等。开发这类软件在国内不大容易赚钱,因为中国的特色“盗版”,这一般不是国内软件公司开发的首选 。C/S网络版软件是一个系统除要在自己电脑中运行客户端,还要借助服务器在两边共同运行。例如,QQ软件,网络版游戏等。
系统软件
包括操作系统、数据库系统和单独计价销售的嵌入式操作系统。系统软件在为应用软件提供基本功能的同时,也进行着对硬件的管理,使在一台计算机上同时或先后运行的不同应用软件有条不紊地合用硬件设备。有代表性的系统软件有: 1、操作系统 2、数据库管理系统 3、编译软件。这类软件只有那么少数比较大的企业(有钱玩的公司)在开发(例如,微软,SUN等),在国内这样的企业就更少了,所以也不适合创业去开发这类软件。
嵌入式软件
特指嵌入在设备、电器和仪器等中的没有单独计算价格的软件。不包括单独计价销售的嵌入式软件。例如手机,电冰箱中的软件。这类软件企业也比较多,因为他是软件和硬件一起卖,盗版现象不多,但开发这类的软件需要有很丰富的经验,(软件和硬件都需要了解)学习也比较难,所以也不建议初学者直接从这类软件开始学起。
Web应用软件
开发WEB的企业多,如果学习WEB开发你的选择机会也会很多。所以Web应用开发,也就是B/S结构的web应用软件开发,是企业和各人学习的首选。其实所有以C/S结构开发的软件大多可以选择使用B/S结构开发,都可以进行同样的业务处理B/S结构的如(web应用网站,电子商务系统,酒店管理系统)。Web软件应用不光是只有你可以看到的网站,还有很大一部分是你没有权限进入的企业内部业务系统。Web应用类型软件为什么开发最多?有如下几个原因:
互联网发展之快,人们的生活和工作都离不开,应用非常广泛
B/S结构软件随着Internet技术的兴起,是对C/S结构的一种变化或者改进的结构
B/S架构是GUI与服务器分离,不存在盗版,是企业喜欢开发的软件类型
B/S 架构,客户端只需要浏览器就可以访问,不受操作系统的限制
WEB界面部署、维护和升级方式简单、成本降低
它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的连接方式访问和操作共同的数据库
它能够有效地保护数据平台和管理访问权限,并且服务器端的数据库也很安全
具有分布性特点,可以随时随地进行查询、浏览等业务处理
不需要安装客户端程序,也不需要客户端更新,即可实现所有用户的同步更新
软件开发语言(技术)
看完了软件开发类型,我们再来了解一下,软件开发可以使用的编程语言。 为了使人类能方便地控制计算机的运行,人们发明了各种计算机程序的编制工具,计算机语言就是其中的一种。 所谓的编程语言,就好比学英语和英国或美国人对话,学日语和日本人对语,编程语言则是命令计算机按你的指令去执行任务。而计算机语言又经过不断的发展,根据不同软件需求的领域,以及为了方更程序员的学习,已经从最早的比较单一机器语言,过渡到今天我们广泛使用的各种语言。如下所示眼花缭乱:
计算机语言的增多,虽然给我们的选择空间比较大,但同时也给企业和个人学习对编程语言的选择带来困惑。当然,像Java、C、Visual Basic、PHP、C++、C#、Delphi语言的开发都有不同的应用领域。现流行的编程语言不存在好和不好的说法,不同软件系统,应该运用合适的语言,杀鸡焉用牛刀,就是这个道理。比如说:开发Office办工软件选择C++, 开发QQ聊天软件选择Java, 开发网页可以选择jsp, PHP或Asp等,所以说要针对开发领域选择某一种编程语言。
如果开发同一个领域的软件,例如,现在开发最多的一种Web应用软件,可以使用Jsp、PHP和Asp.net等技术实现。那么软件企业该如此选择主要的开发语言呢?想做一个编程的人员入行又该如此选择主要的开发语言呢?这都是一些人比较关心的语题。
企业的选择开发平台关心的问题
1、是否能完成即定的开发目的
2、是否更能节约开发成本
3、人才是否更容易补充
4、后续维护是否简单、可靠
5、结合OS、网络及其他设施升级情况,估算几年后的运行情况
个人学习选择
1. 是否是自己感兴趣的语言
2. 看自已的基础是否适合学习
3. 这门语言末来的发展前景
4. 用户职位是否够多
5. 是否有大量可以参考的学习资料
6. 是否好就业,能否达到预期的工资待遇
前面介绍过每种计算机语言都有自己的开发领域,开发那种类型的软件就选择对应的开发语言。但是同一类型的软件也会有多种语言可以开发,例如开发Web应用程序可以选择PHP、JSP和ASP等, 它们都是Web开发技术。
来源:oschina
链接:https://my.oschina.net/u/84274/blog/8944