阅读更多
近日,Hacker News中有一个问题引起了广泛的讨论:如果要开发一个大型的web应用程序,你会选择什么编程语言来进行后端开发,要考虑到开发时间、成本和可维护性。

以下是部分回复:

1.  Java

hendzen 写道
对于一个“大型”的web应用,我会老老实实地使用Java,并会选择Jetty作为HTTP服务器,Jersey/JAX-RS作为web框架。JVM是无与伦比的,并且新员工入职培训也相对轻松得多,因为大部分人都了解Java。

尽管不像Rails/Django那么时髦,但是你将得益于众多高性能、可靠的Java库,更不用说那些伟大的分析工具。

meddlepal 写道
我同意,我会选择Java来开发核心功能,对于一些非核心功能,我可能会选择Groovy或JRuby。

Jersey/JAX-RS非常不错,但我感觉有些风险,我更倾向于Play2。

Java/JVM生态系统中有很多非常积极的东西,如伟大的虚拟机、库、庞大的社区以及大量的开发者。这是开发一个大型web应用真正要考虑的。

2.  .NET

Avalaxy  写道
比起Java平台,我更倾向于ASP.NET MVC(比如C#)。.NET栈是非常强大的,我个人认为比Java强得多,并且ASP.NET MVC框架包含了大量RoR中的优秀特性。

ralphael  写道
我投.NET、MVC和SQL Server一票。

这个平台上拥有大量的示例程序,况且stackoverflow.com就是基于.NET的。

spobo  写道
.NET绝对不是一个坏的选择。

过去几年,微软已经真正到达了顶峰,它们最新的框架非常易于开发者掌握和使用,微软同时也开始基于.NET来推动其开源项目,比如codeplex和NuGet,微软同时还是jQuery的核心贡献者。微软最近还发布了WebAPI,为开发者创建REST-ful JSON/XML应用提供了一个相当平缓的方式。

3.  PHP

interwho  写道
对我个人而言,我会选择PHP:

  • 更快地解决事情;
  • 网上有大量的类可以使用,这让事情变得简单;
  • 个人认为,比其他一些语言更容易维护;
  • 可在几乎所有的网站托管服务器中运行,价格便宜;
  • 可扩展。
如果你需要其他更强大的功能,你可以无缝过渡到另一种语言。

4.  Ruby或Python

olalonde  写道
Ruby/Rails和Python/Django似乎是YC初创企业最常见的选择,它们在开发时间、成本、可维护性方面具备一定的优势。

spdy  写道
Python/Django或Ruby on Rails。如果你行动快速、经常改变主意,就选它们。

netgineer  写道
在面向服务架构中,我会选择Ruby。在不同系统之间使用HTTP/JSON用于内部API。如果性能是瓶颈,你可以考虑在部分系统中使用一个稍低级别的语言(Java、Haskell、Go、Erlang等)。

Rails使SOA开发更加容易和快速,除了API客户端,我没有其他好的解决方案。

3pt14159 写道
Python(Tornado或Twisted)+ Riak。为什么呢?你可以轻松扩展,并且有大量的库,开箱即用,并且你也无须担心你的数据库受影响。

5.  Clojure

Zak  写道
我倾向于Clojure,因为:

  • 属性清单和类似于继承的行为对于映射和记录是非常自然和方便的。我认为,这些特性将有益于大型应用程序。
  • Clojure可以抽象数据库,保存和执行关系模型比ORM更加直接。
  • Clojure可以利用Java库,这意味着你在实现一些常用功能时会非常轻松。

6. 选择喜欢(擅长)的语言

spobo 写道
使用一个更高级的编程语言,同时使用标准接口与前端进行通信。如果你为后端构建了一个REST API,使用什么语言是不重要的。你可以随时更换更高性能的部件,也可以使用不同的语言来开发不同的功能。

如果你想降低开发成本,就使用大多数开发者已选择的生态系统,Python、PHP、Ruby、Java、.NET都可以,这些语言都有一些伟大的框架,帮助你进行快速开发。

但是,不管你做什么,不要强制让你的开发人员去使用不喜欢的语言。听从你的开发团队,要相信每种语言都有很大的潜力。

如果让你来选择,你会选择哪种语言呢?欢迎讨论。

36
7
评论 共 89 条 请登录后发表评论
29 楼 smallboby 2012-08-07 14:08
play framework..
web.py
28 楼 allenny 2012-08-07 13:07
Java我很熟,但是我倾向于高级语言,比如Python或者Groovy。相对于网络的延迟,语言的性能差别可以忽略(在大多数应用场景下)。
27 楼 freezingsky 2012-08-07 12:55
java用得多,.net也用过,但不是很熟。PHP没用过,其他的,也没用过。哎!纠结!
26 楼 lioncin 2012-08-07 12:19
不管别人怎么说 我只用我的python
25 楼 zhoutong123a 2012-08-07 11:57
java和。net差不多吧,具体还要看写的人,php感觉功能上有弱弱,不适合做后台
24 楼 ray_linn 2012-08-07 11:28
.NET ~没商量~
23 楼 hardPass 2012-08-07 11:11
golang
22 楼 langyahuashi 2012-08-07 09:41
keer2345 写道
PL SQL

ad6543210 写道
上面幾個應該是java最多人用了.
但是java有高性能?難道我用的java跟大家都不一樣嘛..
明明電腦差就不能用了

java作为静态语言性能不会差的,肯定比php,ruby,python这些动态语言的性能要好很多
21 楼 witcheryne 2012-08-07 09:39
Shakesbeer168 写道
請問Node.js已經可以用來寫大型的程式了嗎?就我知道很少企業軟體會選擇Node.js。

少, 光追node.js版本升级, 就能追疯掉.
20 楼 witcheryne 2012-08-07 09:33
quansia 写道
这篇文章没什么实际意义

+1
的确没什么意义...
最有意义的是第6条
19 楼 quansia 2012-08-07 09:30
这篇文章没什么实际意义
18 楼 loookto 2012-08-07 09:04
ad6543210 写道
上面幾個應該是java最多人用了.
但是java有高性能?難道我用的java跟大家都不一樣嘛..
明明電腦差就不能用了

生成环境下,一般核心系统不会跑在你的本本或则台式机上
17 楼 shuaiji 2012-08-07 08:59
就JAVA 还熟点,其他都基本都不会
16 楼 ad6543210 2012-08-07 08:10
上面幾個應該是java最多人用了.
但是java有高性能?難道我用的java跟大家都不一樣嘛..
明明電腦差就不能用了
15 楼 keer2345 2012-08-06 23:19
PL SQL
14 楼 qiushyfm 2012-08-06 22:45
很显然是Java.就目前网络来看,大型的网站还是java是主导。淘宝、人人、苏宁等核心系统都是java的。
13 楼 greateWei 2012-08-06 22:15
我的选择还是使用Java,除了强大的开源库外,Java开发人员相对丰富,开发工具强大且免费,具体Java技术框架我会选择Spring + Hibernate + Wicket or Play or Tapstry,数据库首选是Mysql or Postgresql
12 楼 Shakesbeer168 2012-08-06 21:17
請問Node.js已經可以用來寫大型的程式了嗎?就我知道很少企業軟體會選擇Node.js。
11 楼 winhell 2012-08-06 20:48
月经贴,不解释!
10 楼 java小细胞 2012-08-06 20:26
damoqiongqiu 写道
项目的体量不是技术选型的最终决定因素,最关键的因素是项目的场景,比如新浪、搜狐这样的大型门户站点,当然是PHP居多;专业的行业应用,比如电力、电信、医疗等等,Java当仁不让。

为什么呢?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • java 后端开发好吗_Java语言哪里好?为什么那么多人选择Java后端开发?

    为什么那么多人选择Java后端开发?到后来我看到了这张图之后,终于明白了这个趋势的原因。根据最新2020年TIOB编程语言指数排行榜中,java位高居第三。TIOBE编程排行榜是根据全球工程师、课程及搜索引擎数量作为指数得...

  • 后端开发为什么使用Java是最好的选择呢?

    作为一门老牌编程语言,Java的诞生已经经过了28年。看着不算年轻(go语言和nodejs都是09年发布),但也不是最老的那个(python是1990年发布的,Perl是87年发布的)。岁月的积淀给java带来了大量的用户,它被安装在...

  • 一文看懂Web后端开发

    后端开发(Back-End Development,也称服务端开发、服务器端开发等)是创建完整可运行的Web应用服务端程序(服务端程序和资源合称为后端,即在服务器上运行的、不涉及用户界面的部分)的过程,是Web应用程序开发的一...

  • 后端开发:需要学习哪些技术?

    互联网行业发展至今,后端开发的职责早已不再是过去简单地围绕着数据库编排 CRUD(Create、Retrieve、Update、Delete)服务。很多时候,后端应用的第一行代码尚未写就,工程师便需要与产品、运营、法务等人员和网络...

  • 前端工程师,掌握哪个后端语言好一些?

    如果想快速掌握一门后端编程语言,而且未来想自己独立完成前后端的整体开发任务,那么PHP是不错的选择,一方面前端程序员学习PHP会更容易,另一方面PHP语言本身的开发技术体系比较成熟,有大量的案例可以参考。...

  • 网络开发语言之争:PHP与Python - 哪一种最适合Web应用程序?

    原文: PHP Vs Python: Which Is Best For Web Applications In 2021? 链接:...感谢开发优秀功能应用程序的web和移动应用程序开发公司。在构建移动或网络

  • 后端需要学习什么?

    后端需要学习什么? 后端程序员应该需要掌握编程语言、操作系统、数据库、服务器基础、计算机网络协议、数据结构 和算法、开发工具等相关的知识。 开篇声明:本文为尽可能追求专业、公证、准确、全面,以下内容部分...

  • 2022年最好用的后端框架有哪些?做开发的你一定要知道

    是的,网站和应用程序的质量会影响到结果,所以为网站和应用程序开发选择适当的后端框架至关重要。 框架已经成为 Web 开发的重要组成部分,可以帮助你开发出丰富多彩的交互式网站和 Web 应用。对于后端(服务器端)...

  • web前端开发和后端开发哪个难度大?

    因为涉及到的具体的应用的领域不同,所以说不能简单地说哪一个难,对于前端而言你会感觉到入门会非常的简单,这也是会给许多人一种错觉,前端很简单,但是只能说是在入门理解上是有利于新手的,前端在主要是在于网页...

  • 后端开发中常用的语言

    由于 C 语言所产生的代码运行速度与汇编语言编写的代码运行速度几乎一样,所以采用 C 语言作为系统开发语言。目前,C 语言是最广泛使用的系统程序设计语言。大多数先进的软件都是使用 C 语言实现的。 C++ 是 C 语言...

  • 聊聊开发中经历的几种后端语言

    前言 谈这个话题,没有任何语言之争,只是个人开发的经历。有时候的开发语言的选择也只是趋势的选择,

  • 前端开发和后端开发(java)都是干什么的?前端和Java那个好?

    前端开发和后端开发都是干什么的?有哪些区别?通俗地讲,前端干的工作是用户可以直接看得见的,而后端开发的工作主要在服务端,用户不太能直接看到。虽然前端开发和后端开发的工作有巨大的区别,但是他们的工作都是...

  • 编程语言应该如何选择?

      关于编程语言的选择,我一直认为你选择了什么样的编程语言,就会在以后大概率走上什么样的道路。如果你一开始就把编程语言选错了,你将会走许多弯路,最后不得不回到“正确的道路”。说到这,可能会有人反驳说:...

  • JAVA后端应该学什么技术?

    va语言是最常见的后端开发语言之一,Java语言由于自身具备构建多线程的能力,且体系结构比较中立,所以在大型互联网平台的开发中得到了广泛的采用。 目前要想从事Java的后端开发应该学习以下内容: 1 ...

  • 后端开发还不用 Java?!看完这篇文章你就知道自己错了!

    导言:java作为一种成熟且广泛应用的编程语言,被应用于创建桌面和移动程序、参与大数据处理、进行后端开发和对嵌入式设备进行编程等。其中后端开发是java应用最多的方向,而在后端开发中早已有多门语言在此厮杀,新...

  • 大红大紫的 Golang 真的是后端开发中的万能药吗?

    IT 行业不断盛行,2009 年诞生于 Google 的 Golang(Go 语言,简称 Go)越来越受到软件工程师的欢迎和追捧,成为如今炙手可热的后端编程语言。在用 Golang 开发的软件项目列表中,有 Docker(容器技术)、Kubernetes...

  • 后端开发基础能力以及就Java的主流开发框架介绍

    后端开发,以Java语言开发为例,需要熟悉的Spring ,SpringMVC,SpringBoot,MyBatis,Swagger,事务管理,路由,表单,中间件等知识点进行了解

  • 计算机是学前端开发好还是后端开发好?

    前后端是什么? 做前端还是后端? 这两者哪一个好? 这两者哪一个薪资更高? 这两者哪一个比较容易学? 这两者哪一个更有发展前景? Emmm,其实,想要在IT技术领域深耕下去,无论是前端还是后端,没有哪一个是容易的。 今天...

  • 基于springboot+Javaweb的二手图书交易系统源码数据库文档.zip

    基于springboot+Javaweb的二手图书交易系统源码数据库文档.zip

Global site tag (gtag.js) - Google Analytics