【问题标题】:question on web development lanaguages [closed]关于Web开发语言的问题[关闭]
【发布时间】:2011-03-03 08:12:45
【问题描述】:

我刚刚大学毕业,过去几年一直在使用 java 语言。我想改变,

你们认为最有用的 Web 开发语言是什么?你们会推荐我学习什么

所以你们都解释了不同的语言,

假设我想创建一个文件共享 Web 服务,如果我要用一种语言为客户端开发,我如何使用不同的语言服务器端?我怎样才能让他们互动?

【问题讨论】:

  • 这个问题目前的形式太开放了,没有一个答案。
  • 这是主观的,因为您将得到的回复是个人的。排名前 2 位的主要 Web 框架是 php 和 asp.net。研究这两个并选择。
  • 我会为您的编辑创建一个单独的问题。
  • 在此线程中对 5 个不同的答案投了 7 票反对。这是相当不同寻常的。有人应该坦白并说出原因。毕竟,旗帜确实说“主观”。

标签: web-services web-applications


【解决方案1】:

Javascript - 您需要在客户端工作。我推荐这本书Javascript The Good Parts。由于其原型性质,Javascript 也是一种有趣的语言。如果您想在服务器端执行 Javascript,请查看 node.js,由于代码重用的可能性,这很有趣。

Python - 具有出色 Web 工具包的多方面语言。不像其他语言那样富有表现力(与 Ruby 的 DSL 能力不匹配),但干净且可扩展。看看 Pylons、Django、CherryPy。

Perl - Perl Web 应用程序运行良好,即使该语言并不“酷”。 Mason、Template Toolkit 是竞争者。

Ruby - Rails 是一个很棒的 RAD 框架。有大量可疑的做法(猴子补丁),但从可用性的角度来看,它们并没有破坏平台(另一方面是可维护性......)。如果你不想要 Rails,也有最小的 Ruby Web 框架。

PHP - 公地悲剧。它可以工作,随处安装,但语言和运行时很糟糕。

Factor - 非传统,使用连接语言!

Smalltalk - Seaside 使用起来很有趣。

Common LISP - UnCommonWeb 是一个很棒的延续风格的 Web 框架。

Erlang - 这种语言因其完整的热重载和高可用性特性而非常出色。您还可以使用内置数据库 (Mnesia) 或 CouchDB。

Scala/Groovy/Clojure - 更多 JVM 语言可供尝试,以忠于 Java 平台。该分组中最有趣的语言是 Clojure。

C/C++ - 为什么不呢,它可以工作,而且速度很快。

Bourne Shell - 功能较少的 Perl。

C#/VB.Net/其他 CLR 语言 - 在模型方面从 Java 轻松跳转。 ASP.NET MVC 中良好的 RAD 支持。使用所有 ASP.NET 将您限制在 Windows 上(单声道很好,但不是 100%)。喝小贩酷爱总是很有趣。

ColdFusion - 当只有 Java 和所有固有的灵活性还不够时,向网站中间件扔一些奇怪的数据库表。它和我桌上的 ColdFusion 反应器一样好用。

【讨论】:

  • 我可能会忽略 perl。它的使用量几乎没有以前那么多了,而且我知道这些天很少有初创公司和公司第一次使用它。
  • 不错的答案 - 可能还值得一提移动平台(Apple 的 Objective-C 和 Android 的 Java)
  • PHP 很糟糕。我不认为他列出了所有可能的语言,而是列出了人们可以找到工作的最受欢迎的语言。
  • 既然你已经在工作了......为什么不简单介绍一下 ColdFusion、ASP.NET 和 C# 呢? :)
  • @Leonix:那么欢迎来到少数派。没有脚本,Web 变得越来越无法使用,尤其是随着越来越多的应用程序转向单页面界面模型(Gmail 等)
【解决方案2】:

不要局限于一种特定的语言。 PHP 可能是最流行的。但是您可以选择许多其他语言。仅举几例:ASP.NET、Python、Ruby。

以下是 Joel Spolsky 的一篇好文章,他谈到了language wars.

在一天结束的时候。你应该问自己的问题是:

哪种语言最适合手头的任务?

【讨论】:

  • 为什么投反对票?请解释一下?
【解决方案3】:

毫无疑问,PHP。 PHP 从一开始就是为生成 HTML 而设计的。它与数据库非常集成(因此是经典的 LAMP),而且它是服务器端的,因此用户无法将其关闭、编辑等。

一种良好的、结构化的 OO 语言,快速学习它应该没有问题。

而且,当然,它的使用非常广泛,因此查找 IDE(我推荐 Netbeans,但您也可以尝试 Eclipse),或查找在线课程或书籍或支持(仅此站点就有 43,803 个问题)不会有任何问题标记为 PHP)。

【讨论】:

  • 您刚刚描述了任意数量的可能语言。
  • “好” - 排除 PHP...
  • -1??刚刚描述了多少种语言?同意,期待一个非常重要的点 - PHP == PHP 超文本预处理器。 HTML(和 HTTP)中的超文本。 Rasmus Lerdorf 将其设计为“用于 Web 开发以生成动态网页”。当然,我在网页开发中使用过其他语言——只是为了尝试一下,但那是关键。并且确定无处不在的 Lamp 必须说明什么?我对 PAMP(使用 Perl)、RAMP(使用 Ruby 等)了解不多?当然还有其他选择,但我认为我为 PHP 提供了一个很好的案例(当然不值得一票否决(ymmv))
【解决方案4】:

如果您所说的“Web 开发语言”是指为交互式网站开发而设计的编程语言,那么我肯定会推荐 PHP。 PHP 在 Web 开发行业中应用非常广泛,据我所知,它是一种非常强大的语言。

请参阅http://en.wikipedia.org/wiki/PHP 了解更多信息,或查看 www.php.net。

【讨论】:

  • @Pascal:这取决于您要完成的工作。出于 Web 开发的目的,我会谦虚地假设“强大的语言”具有良好的字符串处理能力和安全性的声誉——而且,可以说,PHP 具备这两点。当然,还有其他语言绝对值得考虑,但从我所见,PHP(也许还有 Perl)似乎是行业标准。
  • +1 托马斯,以反驳反对意见(有人真的支持 PHP ;-)
【解决方案5】:

我认为这真的取决于你想在职业上做什么。

如果您想走服务路线,我建议您研究 c/c++ 或 python。直到今天,真正繁重的 Web 服务或 Web 服务组件都是用 c 和 c++ 等语言编写的。有一些关于编写 apache 模块、nginx 组件和轻量级扩展的很棒的指南,可以让您轻松进入该领域。

另一方面,能够快速为 Web 服务构建用户界面原型确实很容易,并且非常适合 sprint 演示和展示和讲述。熟悉 Javascript、CSS 和 HTML 非常有用,可能会带您进入一个您从未真正了解过的世界。

【讨论】:

    【解决方案6】:

    最有用的语言?就功能而言,所有 Web 开发语言几乎都可以与另一种语言做相同的事情。

    但这是我的看法。 PHP-它是最流行的 Web 开发语言,拥有大量资源,非常容易上手,易于学习。然而,PHP 有很多不好的做法,因此为什么有些人远离 PHP(但实际上,这是程序员的错,而不是语言不好的做法)。

    Python/Django-是一个流行的 Python 框架。不像 PHP 那样流行,但可以完成同样的事情。

    如果您刚刚开始,我建议您查看 PHP、django、Rails on Ruby 并使用它们做一些项目。然后决定你最喜欢哪一个。

    所有语言都做同样的事情,所以没有一种语言比另一种更好。

    【讨论】:

      【解决方案7】:

      我会回答“我应该学习什么语言”部分,第一部分是一个巨大的依赖。

      执行以下操作:

      1. 找到您想为之工作的网站或网络公司。
      2. 了解他们使用的技术。
      3. 了解共同点。

      如果您想为之工作的所有网站都使用 Python 和 jQuery,请学习一下。如果他们都在使用 J2EE 框架,请了解这一点。如果他们是 Rails 商店,请了解这一点。

      【讨论】:

        【解决方案8】:

        PHP 是一种非常有效的快速开发语言。 “敏捷”是这里的关键词。 大多数初创公司或页面都以 php 开头,因为它易于学习、适应和高度灵活。当应用程序发展到大型网站时,大多数情况下会切换到更紧凑的解决方案,不太灵活但目标更明确。这主要是 python、erlang 或 scala。 (见推特和许多其他人)。 同样适用于数据库。大多数人从 mysql 开始,但切换到更接近使用的数据库解决方案。 (mongodb、postgresql等)

        所以首先 ruby​​ 或 php 是要走的路。

        【讨论】:

          【解决方案9】:

          目前还没有一个关于 .NET 的答案,所以我会投一票。 .NET 是一个极其广泛和深入的框架,结合了支持多种语言的通用运行时,包括 C#、VB.NET、F#(函数式语言)以及包括 Ruby 和 Python 在内的动态语言。它还包括一个非常强大的 IDE,Visual Studio。

          ASP.NET 是 Web 标记语言。您可以在两种路径之间进行选择,一种是基于 ASP.NET 控件的表单和控件方法,另一种是基于 MVC 模式并大量使用 JQuery 的非表单方法。其中任何一个都将使用其中一种 .NET 语言进行编码。

          .NET 知识为您提供了非常广泛的范围,包括 Web 开发、服务、服务器端开发、Windows 桌面应用程序以及使用 WPF(桌面应用程序)或 Silverlight(Web 应用程序)的高度交互的图形应用程序。 C# 为您提供了一个高性能的托管代码环境,它是强类型的,可在服务器以及基于 Silverlight 的客户端 Web 应用程序上运行。 C# 看起来和感觉都非常熟悉,因为它与 Java 有着相同的根源,但它也通过其泛型实现和 LINQ 进行了显着扩展,LINQ 是一种内置于 .NET、C# 和 VB 的类似 SQL 的查询语言.NET。

          有一些免费工具可以帮助您入门。查找 Visual Studio Express 工具以及适用于您的数据库的 SQL Server Express。还有用于在 Linux 中开发和运行的 Mono 环境。

          【讨论】:

          • 两张反对票。有人想大声说出原因吗?
          【解决方案10】:

          当然是 JavaScript :)

          这不仅可以让您发挥前端的魔力,而且您还可以利用 Node.js 和/或 CouchDB 等服务器端 JavaScript 为自己构建一个仅使用一种语言的完整堆栈。

          确实,您应该始终从手头的问题中寻找线索,了解什么是解决问题的最佳语言。

          尽管如此,对于像您这样的人来说,想要学习“Web 开发语言”,javascript 几乎是必须具备的。

          如果您非常渴望拥有一种单独的后端语言:
          我不会太担心 Ruby、PHP、Python; Ruby 和 Python 是不错的语言,尤其是 Ruby - 但它们通常被认为太慢/太贵。
          如果你想为未来学习一些东西,可以使用 Haskell、Erlang、Scala、Clojure 甚至 LISP。

          @LeonixSolutions:
          很少有不使用 javascript 的“现代”网站,有些可能 - 在不同程度上允许那些关闭了 javascript 的功能。尽管我们越来越多地看到只有登陆页面在没有 JS 的情况下才能完全发挥作用——主要是因为它们没有。

          无论如何,JavaScript 都是服务器端语言的完美选择。事实上 - 它比其他服务器端语言具有相当大的优势,正是因为它希望为有 JS 挑战的用户提供功能。见 fx http://www.yuiblog.com/blog/2010/04/09/node-js-yui-3-dom-manipulation-oh-my/
          和示例http://github.com/davglass/nodejs-yui3/blob/master/examples/tnt-calendar-serve.js 呈现一个JS RIA 小部件服务器端并提供纯html + GET 请求以进行交互。

          【讨论】:

          • +1 对于 node.js - 单语言 Web 开发的概念是一大优势。
          • 总是在关闭 JS 的情况下进行冲浪。许多其他人也是如此。我强烈推荐服务器端的东西。
          • @LeonixSolutions,如果您因为误解 javascript 作为“仅限浏览器”的语言而投了反对票,那么我希望您能重新考虑。
          猜你喜欢
          • 1970-01-01
          • 2012-05-14
          • 2012-11-27
          • 1970-01-01
          • 1970-01-01
          • 2011-06-16
          • 2015-08-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多