您是否像在.Net或Java中一样高效地使用Javascript?

时间:2010-04-05 00:19:23

标签: java .net javascript

我主要在javascript和vb.net中编码。我发现,如果我能在javascript和vb.net中实现相同的功能,那么我觉得使用javascript来完成任务会更有效率和更富有表现力。我经常发现自己正在研究服务器端的javascript实现,看看是否有任何主流,以便我可以在javascript中编写我的后端业务逻辑和数据访问。鉴于.Net中的所有高级工具和语言功能,这种偏好对我来说似乎有点自相矛盾。我并不是说一个比另一个更好(自从我开始编程以来,我一直是vb程序员),我只是想知道我的偏好是完全主观还是其他人分享它。那么,是否有其他人喜欢使用javascript进行编码,以至于您更喜欢使用.Net和Java环境,以及为什么呢?

9 个答案:

答案 0 :(得分:2)

就个人而言,我在.NET中比在JavaScript中更“高效”,仅仅因为框架更丰富并且内置了许多功能。我还没有开始在JavaScript中使用TDD编写代码,可能是因为Visual Studio中缺少可用的工具。对于Visual Studio中的C#和VB,有许多不同的方法可以实现非常高效的TDD。就语言而言,我会说JavaScript可能会“更快”地将某些内容组合在一起,因为它是动态的 - 这可能导致更简洁的代码,LOC-明智。注意:“快速”和“高效”当然是不同的测量。

答案 1 :(得分:1)

javascript只是具有更高的信噪比,因为它不需要所有声明的超结构和显式类型转换。如果您对编码充满信心,那么编写和调试的速度会快得多。

对于静态类型语言,我花费更多时间考虑语言需求而不是解决问题的需求。

如果要进行直接比较,请尝试使用ActionScript。它实际上是添加了所有索具的javascript - 他们希望它将成为下一个标准版本但却失败了。这是一种试金石 - 由于明确的输入和错误检查,有些人更喜欢它。因为开销,你和我不会那么多。

答案 2 :(得分:0)

我感觉Javascript中的编程效率低于Java。主要原因是Javascript实现存在更多可移植性问题;例如不同浏览器之间。其他问题包括其他人提到的问题:

  • Java有更好的工具支持,包括编码和跨多个部署平台的调试。
  • Java拥有更广泛的库,包括标准库和第三方扩展库。
  • 在经典的Javascript中做多线程的东西是太麻烦了。
  • Java的主要静态类型系统(根据我的经验)使其更适合大型编程。

但是,仍然存在Javascript是比Java或C#更好的解决方案,尽管存在上述生产力问题,以及可能对Java有任何偏见。

答案 3 :(得分:0)

在开发一个相当大的应用程序时,由于静态类型和更大,更成熟的库和工具集,我觉得java / c#更有效率。

这个问题非常主观,不同的人会有不同的经历和意见。如果你有选择,你应该做自己最好的工作。

答案 4 :(得分:0)

node.js是目前热门的服务器端JavaScript解决方案。这将远离.NET,但它正在获得牵引力。

我认为JavaScript作为一种语言提供了与其他动态编程语言非常相似的权衡集。它具有一些非常出色的功能,可以用较少的代码完成很多工作,但它没有相同的安全功能或速度。

在大多数情况下,我发现使用JavaScript可以比使用Java更快地完成更多工作,但重构有时会很繁琐。偶尔有些时候会出现棘手的运行时错误,这些错误会在Java编译时被捕获。

这也有助于我在JavaScript中工作很多,并建立了一个大型库和可重用代码框架。 JavaScript并没有太多开箱即用。

答案 5 :(得分:0)

  

我认为JavaScript编程效率低于Java。主要原因是跨不同浏览器的JS实现存在更多可移植性问题。

我曾经也是这样认为的,但是当我学会了JavaScript时,我也学会了巧妙地解决这个问题,我不再考虑浏览器差异了。当出现问题时,几乎总是使用HTML和/或CSS。

另一方面,我从未在编写ASP.NET时度过愉快的时光,无论我需要做什么,都很难找到任何有用的文章/文档/示例。最近我需要与MS SQL数据库进行交互,如MSDN上所见,“System.Data.SqlClient命名空间”包含26个类,每个类都有丰富的方法,成员,属性等。可能总共有大约1000个文档标识符。只需要少数几个就可以编写完美的代码,问题是在所有垃圾之间发现这一小撮。无处可寻的是一个整齐的小20行示例,其中包含有用的功能(或至少如果是这样,我还没有找到它)。我想人们可以学会解决.NET和MSDN的问题,但是当我有完美的替代方案时,我无法理解.NET如何变得如此普遍。

在我的情况下:
ASP.NET - >由于浪费时间发现什么功能做了一些微不足道的任务,大规模的生产力会失败。

答案 6 :(得分:0)

好的,我的意见是我是一名javascript开发人员而且我所做的一切,我对.Net(c#)和Php有很好的了解,而且我用javascript非常高效,因为我正在用C#构建,但总是取决于应用程序,只有服务器端代码构建时,你不能做的一件事是在后端代码和前端代码之间完全独立,你必须混合(服务器代码和xhtml || css代码,但与javascript和一些webservice或ashx文件,你可以真正解决这个问题,你会得到很多好处。例如,你可以建立两个前端(设计师)和第二个只是程序员的团队,并相信这是伟大的,很多时间只是后端团队不会想到后端团队的相同方式,很多时候他们的目标都有不同的目标。第二个好点和非常好的是你不关心你的前端设计师是否正在建设该网站只是使用javascript或闪存,是ecmascript(javascript风味),或iPhone

不好的一点是,你必须要知道很多! javascript,因为几乎所有的时间你都没有使用intelligenSense或IDE编写代码,只是你和你的知识,当你在编写代码时出错,你没有很多来自浏览器的反馈,所以debuggin至少是一个问题如果你不使用firebug(firefox)|| .NET IDE。

对于“kwyjibo”,我只使用完全JAVASCRIPT AJAX解决方案,只有当网站非常复杂并且必须是一个真正非常用户友好的“酷”解决方案时。

但是,你可以是同样的生产力=)

答案 7 :(得分:0)

我一直在想自己,如果JavaScript在桌面上运行,它会拆除Ruby,Python和Perl作为临时脚本的首选语言 - 但那是纯粹的推测:)

但是,既然你问过,生产力和熟悉程度齐头并进。我最多每年写几行JS,所以我不断回头阅读文档来完成任务。另一方面,我每天都使用.NET:)

我认为有一些论点认为Javascript比VB.NET更有效率。 VB的设计很笨重,写出'公共属性,无论类型得到什么......结束设置(值为类型)结束集'所需的额外半秒将加起来(即使IDE填充了大部分样板自动化。)

C#在简洁性方面更接近JavaScript。 (并且只为自己说话,我发现我在F#中的效率比C#高得多:))因此,您可以以相同的速度编写两种语言的代码,调试速度有多快?至少对我来说,Firebug还可以,但世界上没有任何东西能胜过Visual Studio调试器。

如果你发现VB.NET不合适,你就是好公司;)尝试切换到C#作为你的默认语言,看看它是否有所作为。

答案 8 :(得分:-1)

我认为如果应用程序需要很多正确性和良好的结构。它应该是服务器端语言。你可以用Javascript来实现,但我想这不是很复杂。