web方向编程语言最全对比
web方向编程语言最全对比
目前一般公司的后台用的开发语言大概有以下几种:java,python,php,asp.net,c++,node.js,ruby on rails 等。
java
优点:性能好,适合大中项目,跨平台,安全性高,稳定可靠,运行效率高(尤其是JIT的出现之后差距更大了),不容易犯错(强类型、预编译、必须拦截异常等等),能有效的提高复用度,提升性能和吞吐能力,能规避安全问题。
缺点:开发复杂,开发和发布的效率相对较低,维护成本高,开发人员费用高
php:
优点:灵活,上手快,易修改,发布快捷,环境好部署
缺点:容易犯错,行效率不高,缺乏全局缓存
python
优点:简单易学,开发快,语言简洁,易于维护,开源,可移植,可扩展
缺点: 速度慢,性能差,格式强制,容易犯错
ruby on rails
优点:快速开发,使用者多,开发控件非常丰富
缺点:性能差(比python强),第三方包少
asp.net
优点:跨语言, 中小型项目上性能好,开发快,适合windows平台,维护成本低
缺点: 代码逻辑混乱,难于管理,代码的可重用性差
对于大型网站服务来说:业务规模、架构、整体性能 比你用什么语言来得重要.
对于小型网站首选ruby,因为快速开发是ruby的强项,也有像豆瓣知乎用python开发的,所以编程语言几乎都是应需而生,各有千秋,要说完美的编程语言,也许有,如果现在用的是lisp机的话那么lisp可以成为剩余的唯一一门编程语言.
不同公司用不同后台开发语言也有各自的原因。比如,要看需求是重展现还是重业务逻辑,重展现就用php等,重业务逻辑就用python等,也有原因是由于技术积累,比如腾讯一直用c++。所以,我们应该根据自己的兴趣爱好,结合行业发展,选择一门语言认真学习,这样才能在业界立足。
个人认为,对于大部分的 web 开发应用场景来说,Ruby 是最佳的解决方案。原因:
- 优美的语言特征;
- 极快的开发速度;
- 成熟的社区支持;
其他语言在 web 开发领域:
- Java 语法繁琐,很多东西实现得太复杂,过于繁杂,开发效率太低,一直都不是 web 开发的主流,但是靠java找工作的大学生很多;
- Python 比较分裂,语言上有2和3版本,就导致历史遗留问题了,因为python没有结束标志,web框架很多,且语言特征和框架都不如ruby;
- Scala 非常强大,如果学习过common lisp的人,就会感觉很不一样,但是多用于大数据的方面;
- JavaScript 后端一般是Nodejs,适合高并发实时应用,比如聊天,但是易读性和成熟度要输给Ruby,作增删改查(CRUD)没有ruby有优势,而且Ruby也有很好的高并发框架;
- Go 性能好,但是还不够成熟,第三方库较少,语法特性和开发效率不如Ruby;
- PHP 号称最好的编程语言,应用最广,入门简单,开发快捷,部署方便,对于一般的web小项目一般都是首选,但是其缺点也是最明显的,项目大了就会维护困难,语法远不如Ruby优雅,而且Ruby开发速度也不输 PHP;
Web 开发,最重要的就是快速迭代。架构设计与代码优化做的好,一般不会出现性能问题。Ruby优雅的语法,支持元编程,rails让你有不一样的体验,飞一般的开发速度,美妙的开发体验,绝对是 Web 开发的不二之选!精通rails就可以说成全栈工程师.而javascript不仅可以函数式编程还可以面向对象.但是我还是不太喜欢Ruby的原因是因为这门语言的功能冗余不紧凑,语法又很浮夸。
最后,我认为只有javascript是web领域最保值的编程语言.我个人认为,Javascript的语法很少,但是你要深入的了解她,你就会发现她深不可测。
Javascript是在我看来,就是一位长的朴素,但是很有内涵的女人。
女人心,海底针。你如果能像了解自己的女人一样去了解她,那回报一定是毕生的。因为前端不是代码是艺术,艺术是无价的.
优秀的前端工程师真的是code & art 兼备,所以优秀的前端工程师很难得,因为前端知识很散,不断出现新知识,经常被人鄙视,在很多人看来前端就是一个copy的过程,所以javascript的地位都懂了吧!以前我以为我喜欢编程,但是现在我几乎学过所有的编程语言,也就lisp能引起我的兴趣吧!有些事情总以为自己喜欢,做过了就发现不喜欢了,对一个事物由表面到成熟的过程,想法有所改变是必然的.
web方向编程语言最全对比的更多相关文章
- Python Web 方向(一)
Python Web 方向(一) --------Django站点创建 文章地址:http://www.cnblogs.com/likeli/p/5821744.html Python版本:2.7 推 ...
- vue,react,angular三大web前端流行框架简单对比
常用的到的网站 vue学习库: https://github.com/vuejs/awesome-vue#carousel (json数据的格式化,提高本地测试的效率) json在线编辑: http: ...
- 序-WEB方向指南
WEB 这个方向其实是目前从业人员最多的方向,也是学习安全门槛最低的方向,当然也是最容易恰饭的方向. 我从入行到现在也依旧没有脱离它,毕竟在我这个小城市.小圈子里,不干这个好像就要没饭吃了,但是你说它 ...
- C# ASP .NET WEB方向和WPF方向,我该如何去选择
一个2012年南航毕业学软件的学生,该如何去选择我的职业方向? 2011年11分月份,我被老师介绍在南京珠江路华丽国际大厦工作,开发一个大型国际物流平台,公司的开发人员比较少,设计网站的是高校的老师, ...
- Web/app端自动化测试对比
Web/app端自动化测试 做了一段时间的Android自动化测试,对比个人之前做的web端自动化测试,有一些感想.(由于个人接触的时间也不是太久,很多东西理解也并不深刻,先写下菜鸟时期的感想.) 区 ...
- Java与Web前端发展前景及薪资对比
Web前端和Java谁的薪资待遇高?关于这个问题,是很多网友都感兴趣的,在各大论坛贴吧上也看到了不少类似的问题. 现在的互联网行业飞速发展,因此有很多小伙伴想要进入IT行业分一杯羹,但是关于学习什么技 ...
- web网站——apache和nginx对比02
nginx介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理 ...
- 01-静态web服务器(Python)-面向对象的对比
普通写法,静态web服务器: 先创建TCP服务器套接字,然后等待客户端(这里是浏览器)请求连接. 客户端发起请求,用线程来处理连接的建立,这样可以实现多任务(也就是并发) 连接后根据请求发送指定页面 ...
- vitamio videoView 用隐藏除videoview的控件,并旋转屏幕方向实现的全屏功能,出现的画面不能填充满videoview(画面不完整)
使用vitamio 封装的播放器 当切换到全屏模式,有时候会出现播放的画面不是全屏的情况, 全屏时,画面只占左半部分并出现拉伸效果,还显示不全,等等其他情况 阅读分析源代码发现是getHolder() ...
随机推荐
- 报表工具highcharts使用心得
公司让做一个报表页面,搜索了下发现highcharts比较符合业务需求,下面就说一下使用心得. $('#container').highcharts({ title: { text: '部门统计图' ...
- static(静态)关键字
class Person{String name; //成员变量,实例变量(实例中的变量) //共享数据出现在对象之前static String country="cn"; //对 ...
- SVG路径path的贝塞尔曲线指令
深度好文分享: http://www.zhangxinxu.com/wordpress/2014/06/deep-understand-svg-path-bezier-curves-command/ ...
- Problem 6: Sum square difference
The sum of the squares of the first ten natural numbers is, 12 + 22 + ... + 102 = 385 The square of ...
- Educational Codeforces Round 63 (Rated for Div. 2) D. Beautiful Array (简单DP)
题目:https://codeforces.com/contest/1155/problem/D 题意:给你n,x,一个n个数的序列,你可以选择一段区间,区间的数都乘以x,然后求出最大字段和 思路: ...
- C# 泛型反射的调用
namespace ConsoleApplicationFan_fan{ class Program { static void Main(string[] args) { //获取类型 Consol ...
- re+正则01
# 正则 # 正则 ''' 正则就是带语法的字符串, 用来匹配目标字符串得到想要得字符串结果 ''' # 部分语法: # 1.单独字符 # \d 范围 [0-9] # \D 范围刨除 [^0-9] # ...
- 模糊查询出list
<resultMap id="shipList" type="com.sinochem.yunlian.yunliantraffic.domain.Ship&quo ...
- Python使用requests库,requests.post格式会引发参数不存在问题
Content-Type: application/json #############↓↓↓成功↓↓↓############# import requests url = 'http://loca ...
- JQuery图片自适应窗口轮播图(淡入淡出效果)
<script>var w = $(window).width();//获取窗口宽度var h = $(window).height();//获取窗口高度 $(".box&quo ...