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() ...
随机推荐
- 软工作业PSP与单元测试训练:java语言判断电子邮箱格式
任务说明(二选一): 一.实现模块判断传入的身份证号码的正确性: 二.实现模块判断传入的电子邮箱账号的正确性: 实现要求: 一.实现功能模块: 1. 判断邮箱地址是否为空: 2. 判断邮箱地址是否 ...
- erlang并发编程
1.erlang中创建进程(非操作系统线程,比其要轻量很多)非常方便,运用spawn函数即可 spawn(Fun) -> pid() spawn(Node, Fun) -> pid() s ...
- sed 命令简介
sed 默认把文件内容全部显示出来(擅长取行 替换) 参数如下: - n 取消默认输出 一般与P一起使用 查看内容‘10,20p’ 显示10-20 行的内容 - i 修改文件内容 - i.bak ...
- 第一个jQuery
第一个jQuery <script src = "jquery.js"> $(document).ready(function){ alert("Hello ...
- 声明一个set集合,使用HashSet类,来保存十个字符串信息,然后通过这个集合,然后使用iterator()方法,得到一个迭代器,遍历所有的集合中所有的字符串;然后拿出所有的字符串拼接到一个StringBuffer对象中,然后输出它的长度和具体内容; 验证集合的remove()、size()、contains()、isEmpty()等
package com.lanxi.demo1_3; import java.util.HashSet; import java.util.Iterator; import java.util.Set ...
- Java赋值
public class Car { 方法1: private String 品牌="初始化值"; private String 价格; 方法2: public Car(Strin ...
- php websocket
php websocket项目开发,推荐使用:Workerman 本片内容使用Workerman实现了简单的及时聊天功能,具体代码如下: <?php // phpinfo(); header(' ...
- 运行caffe自带的mnist实例教程
运行caffe自带的mnist实例教程 本文结合几篇博文总结下来的,附上其中一篇原博文链接以供参考:http://blog.sina.com.cn/s/blog_168effc7e0102xjr1.h ...
- makefile笔记1 - 初识makefile
前情提要 上一篇<编译入门>讲了变成的基本问题.如果源文件只有一个,就如之前的例子,那么用gcc命令直接编译就可以了.但是很多实际的工程用到的源文件都是相当多的,这时候用命令一个个编译是很 ...
- MS SQL 全局临时表的删除
本来已经搜索到怎么删除了 如下: IF OBJECT_ID( 'tempdb..##TEMP_COPTD') IS NOT NULL Begin DROP TABLE ##TEMP_COPTD End ...