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() ...
随机推荐
- LeakCanary 来检查 Android 内存泄漏
LeakCanary 来检查 Android 内存泄漏
- Tensorflow实战系列之五:
打算写实例分割的实战,类似mask-rcnn. Tensorflow实战先写五个系列吧,后面新的技术再添加~~
- SSL backend error when using OpenSSL pycurl install error
centos7 pip install pycurl 错误 pip uninstall pycurl export PYCURL_SSL_LIBRARY=nss pip install pycurl ...
- java基础知识—继承
1.不能被继承的父类成员: private成员.子类与父类不在同包,使用默认访问权限的成员.构造方法. 2.访问修饰符: 访问修饰符 本类 同包 子类 其它 ...
- C# FTP操作报550错误
最近在做FTP创建文件夹和上传文件的功能,测试之后一直提示“远程服务器返回错误: (550) 文件不可用(例如,未找到文件,无法访问文件)”,我在网上找了很久的解决方案也没有解决掉这个问题,网上找到的 ...
- 最近在学习Flask框架,那么就说下jinja2吧~~~
jinja是组成Flask的模板引擎,先写一个demo吧 {% block body %} <ul> {% for user in users %} <li><a hre ...
- 吴恩达机器学习笔记5-Octave基本操作
1.逻辑运算 1==2 %false :注释用%,这句话意思是判断1是否等于2,false,输出0 1~=2 %true 1不等于2 为true,输出为1 1&&0 %and 1|| ...
- 《Mem2Seq: Effectively Incorporating Knowledge Bases into End-to-EndTask-Oriented Dialog Systems》
Multihop Attention Networks (MANs) https://zhuanlan.zhihu.com/p/52067672 https://blog.csdn.net/qq_38 ...
- dos脚本》大神
关于dos命令行脚本编写 dos常用命令另查 开始之前先简单说明下cmd文件和bat文件的区别:在本质上两者没有区别,都是简单的文本编码方式,都可以用记事本创建.编辑和查看.两者所用的命令行代码也是共 ...
- TCP长连接与短连接、心跳机制
1. TCP连接 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次 ...