16得票3回答
使用Groovy元类覆盖方法

我有一个POJO,它使用服务来执行某些操作:public class PlainOldJavaObject { private IService service; public String publicMethod(String x) { return d...

14得票7回答
高级语言用于开箱即用的GUI桌面应用程序编程

在我转向Web开发后停止使用C++编程,我被PHP的高级结构,如哈希表或其动态弱类型所吸引。我记得C/C++指针的焦虑和低级Win32 API句柄和消息循环的迷宫,这阻止了我利用像Code::Blocks这样的桌面应用程序环境。我也不是很喜欢笨重的静态类型C#/.NET环境。还有其他想法吗?

13得票7回答
动态语言(如Ruby或Clojure)的特性在Scala中缺失了哪些?

如果你选择像Scala(或F#、Haskell、C#)这样的静态类型语言而不是像Ruby、Python、Clojure、Groovy等动态类型语言(具有宏或运行时元编程功能),你在实践中失去了什么?请考虑最佳静态类型语言和最佳(在您的意见中)动态类型语言,而不是最差的语言。 答案概述: 在...

13得票4回答
Lisp与Python——静态编译对比

为什么Lisp(具有所有动态特性)可以静态编译,但Python不能(不损失所有动态特性)?

12得票4回答
动态语言是否需要依赖注入?

为了编写可测试的C#代码,我会大量使用DI。 然而最近我在尝试IronPython时发现,由于可以mock任何方法/类/函数等,所以不再需要使用DI。 对于像Python这样的动态语言,情况是否如此? 换句话说:class Person(Address) { ... 你可以拥有:clas...

11得票3回答
从PHP/Ruby/Python转换到Play框架的优势

Play框架最强大的卖点之一是其开发循环周期。只需修复代码,返回浏览器,点击重新加载,然后继续操作即可,无需编写、编译和部署,这与J2EE Web开发常见的烦恼完全不同。 然而,对于来自PHP、Ruby或Python等动态语言的Web开发人员来说,这几乎是司空见惯的,而且被认为是开发Web应...

11得票6回答
动态语言中的“动态”是否会过多?

在过去的几个月中,我一直在从Java转向Groovy,我能够欣赏它带来的许多好处:更少的代码、闭包、构建器、MOP最终使得像Grails这样的框架成为可能,编写测试时更容易进行模拟等等。 然而,我的同事们“指责”我的代码不够Groovy。换句话说,我仍然声明参数和字段的类型,倾向于使用继承和...

10得票13回答
Python/Ruby作为移动操作系统

我想知道为什么智能手机/移动设备操作系统不能用动态语言作为首选语言? iPhone采用Objective-C,Google Android采用Java,Windows Mobile使用各种.NET语言。 如果使用Python、Ruby或其他动态语言编写移动操作系统,会有什么理由呢?我知道在低...

10得票1回答
动态语言是如何进行即时编译的?

在动态语言中,动态类型的代码如何被即时编译成机器码?更具体地说,编译器是否在某个时刻推断出类型?还是在这些情况下严格解释执行? 例如,如果我有以下伪代码: def func(arg) if (arg) return 6 else return...

10得票3回答
在Java中模拟鸭子类型

问题:我想要在Java中泛型地访问任何Java对象的属性/字段,类似于动态语言(比如Groovy、JavaScript)的方式。我不知道我在编写这个代码时它所属的对象类型或属性/字段名是什么。但是当我准备使用它时,我会知道属性/字段名。 目前的解决方案:到目前为止,我已经编写了一个简单的封装...