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 是最佳的解决方案。原因:

  1. 优美的语言特征;
  2. 极快的开发速度;
  3. 成熟的社区支持;
    其他语言在 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方向编程语言最全对比的更多相关文章

  1. Python Web 方向(一)

    Python Web 方向(一) --------Django站点创建 文章地址:http://www.cnblogs.com/likeli/p/5821744.html Python版本:2.7 推 ...

  2. vue,react,angular三大web前端流行框架简单对比

    常用的到的网站 vue学习库: https://github.com/vuejs/awesome-vue#carousel (json数据的格式化,提高本地测试的效率) json在线编辑: http: ...

  3. 序-WEB方向指南

    WEB 这个方向其实是目前从业人员最多的方向,也是学习安全门槛最低的方向,当然也是最容易恰饭的方向. 我从入行到现在也依旧没有脱离它,毕竟在我这个小城市.小圈子里,不干这个好像就要没饭吃了,但是你说它 ...

  4. C# ASP .NET WEB方向和WPF方向,我该如何去选择

    一个2012年南航毕业学软件的学生,该如何去选择我的职业方向? 2011年11分月份,我被老师介绍在南京珠江路华丽国际大厦工作,开发一个大型国际物流平台,公司的开发人员比较少,设计网站的是高校的老师, ...

  5. Web/app端自动化测试对比

    Web/app端自动化测试 做了一段时间的Android自动化测试,对比个人之前做的web端自动化测试,有一些感想.(由于个人接触的时间也不是太久,很多东西理解也并不深刻,先写下菜鸟时期的感想.) 区 ...

  6. Java与Web前端发展前景及薪资对比

    Web前端和Java谁的薪资待遇高?关于这个问题,是很多网友都感兴趣的,在各大论坛贴吧上也看到了不少类似的问题. 现在的互联网行业飞速发展,因此有很多小伙伴想要进入IT行业分一杯羹,但是关于学习什么技 ...

  7. web网站——apache和nginx对比02

    nginx介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理 ...

  8. 01-静态web服务器(Python)-面向对象的对比

    普通写法,静态web服务器: 先创建TCP服务器套接字,然后等待客户端(这里是浏览器)请求连接. 客户端发起请求,用线程来处理连接的建立,这样可以实现多任务(也就是并发) 连接后根据请求发送指定页面 ...

  9. vitamio videoView 用隐藏除videoview的控件,并旋转屏幕方向实现的全屏功能,出现的画面不能填充满videoview(画面不完整)

    使用vitamio 封装的播放器 当切换到全屏模式,有时候会出现播放的画面不是全屏的情况, 全屏时,画面只占左半部分并出现拉伸效果,还显示不全,等等其他情况 阅读分析源代码发现是getHolder() ...

随机推荐

  1. Win7下“回收站已损坏,是否清空该驱动器上的回收站”解决方法

    最近买的移动硬盘,总是不能进行安全删除,有事还会提示“回收站已损坏,是否清空该驱动器上的回收站”,可以通过下面的命令进行解决: 开始–>运行–>cmd 点确定 在cmd窗口输入rd /s ...

  2. 字符串及其操作,字符的Unicode编码

    plainText=input('message:') for c in plainText: print(chr(ord(c)-3),end='') plainText=input('message ...

  3. uboot使用笔记

    一.从最基础的uboot开始 首先是打算直接用程序把已有的镜像烧写进去sd卡里面,但是问题来了,烧写不进去 原因: 可能是windows 7的某些版本和win⑩的系统为了保护磁盘,设定了保护等级,直接 ...

  4. CG-ctf WP

    week one 1 /x00 提示:有多种解法,你能找到几种 源码: writer up: 题目直接给出了源码,get 到一个 nctf 这个变量,int ereg(string pattern, ...

  5. 第一周CTF (合天CTF)

    0X00 第一周 0x01 基础 50 . 下载下来发现是一个exe文件 ,尝试了一下没打开,然后把后缀名一个一个的试一试,改成txt用记事本打开,得到了一个“假冒的flag” *(别问我怎么知道的) ...

  6. selenium多窗口切换定位

    from selenium import webdriverimport unittest,time,refrom selenium.webdriver.common.keys import Keys ...

  7. while循环--登录

    user = "fallen577" password = " count = 0 while count < 3: username = input(" ...

  8. 来自C++之父的建议

    You don’t have to know every detail of C++ to write good programs; Focus on programming techniques, ...

  9. mysql 性能监控

    1.监控thread_cache命中率admin@localhost : (none) 07:51:20> show variables like '%thread%';+----------- ...

  10. shell截取指定字符串之间的内容

    #!/bin/bash#截取字符串 #path=ss/usr/share/src/root/home/admin path=ss/usr/share/src/root/home/admin/src/a ...