您是否知道其他任何具有Python等交互模式的编程语言?

时间:2010-04-04 17:22:44

标签: python language-agnostic programming-languages language-features

Python语言有一个众所周知的名为interactive mode的功能,其中解释器可以直接从tty读取命令 我通常使用此模式来测试给定模块是否在类路径中,或者测试一些片段。

您知道其他任何具有交互模式的编程语言吗?

如果可以,请提供语言名称,并在可能的情况下提供网络参考  如果已经提到过,你可以投票支持它。

31 个答案:

答案 0 :(得分:25)

大多数(所有?)lisps(包括常见的lisp,scheme和clojure),sml,ocaml,haskell,F#,erlang,scala,ruby,python,lua,groovy,prolog。

答案 1 :(得分:5)

bash / tcsh / csh / ksh /...

它们都是编程语言并且有CLI:)

答案 2 :(得分:5)

正如已经指出的那样,许多语言可以交互使用,尽管它们的使用方式有多么不同。我最熟悉的交互式环境,以及我所发现的最适合所有交互式编程的自由环境的环境(不是我已经尝试过的)是Slime,一种emacs的模式允许与正在运行的Common Lisp交互,也可以与Clojure一起使用,Clojure是JVM的Lisp。

如果Lisp不是你的一杯茶,那么各种Smalltalk环境都值得一提。许多Smalltalk系统的一个有趣的事情是它们几乎暴露了在编程环境中实现系统的所有代码 - 如果你想要你可以在使用它时浏览甚至重写部分编程环境,就像你一样会写新代码。实际上,提供给您的系统与您编写的代码之间的界限非常模糊。 Squeak是一个有趣的免费Smalltalk,而Cincom提供了商业Smalltalk的评估版本,这是一个很好的环境恕我直言。

无论如何,如果你对使用交互式环境感兴趣,你可能会比使用这两种环境更糟糕,但当然还有很多其他系统允许在某种程度上进行交互式编程。

答案 3 :(得分:5)

Haskell甚至还有两个(主流)互动口译员,Hugsghci

答案 4 :(得分:5)

答案 5 :(得分:5)

Tcl / tk有一个。从第一天起就一直在那里。这不是Python独有的功能。

答案 6 :(得分:3)

Lisp和Scheme具有交互模式。

答案 7 :(得分:3)

C ++。

Seriously

答案 8 :(得分:2)

Ruby有irb,它是一个交互式解释器,而Ruby与Python非常相似。

irb at Wikipedia
Ruby at Wikipedia

答案 9 :(得分:2)

Perl - 有趣的是,在此之前有很多答案

答案 10 :(得分:1)

C#有一个。

答案 11 :(得分:1)

Prolog也有一个

答案 12 :(得分:1)

FORTH立刻想到了。

APL也是如此。

我记得很久以前在SDS-930(我想)上看到了一个互动的FORTRAN实现。

答案 13 :(得分:1)

您可以使用LINQPad

进行几乎交互式的C#和VB.NET

答案 14 :(得分:1)

徽标编程语言。

某些实现非常具有交互性,有些人甚至不使用任何其他模式。

答案 15 :(得分:1)

也有repl for C

答案 16 :(得分:1)

R统计程序;)

答案 17 :(得分:1)

VIC20和C64的基础

答案 18 :(得分:1)

任何解释性语言最有可能都有。

答案 19 :(得分:1)

即便是Java也有一个!

它被称为Beanshell:http://www.beanshell.org/

答案 20 :(得分:1)

哦,我忘记了BASIC的一个:)

答案 21 :(得分:1)

Lua也有互动模式。

答案 22 :(得分:1)

如果您没有指定要运行的文件名,大多数脚本语言将从stdin读取并执行在控制台上键入的代码。 Php和perl都会这样做。

Ruby有irb。

Lua有一个更正式的交互模式,比如python,它会在提示符下显示代码的缩进级别。这非常有用,因为lua通常用作嵌入式脚本语言,而且您不必运行完整的应用程序来测试代码片段。

答案 23 :(得分:1)

我想其中一个是LISP。 试试clisp

答案 24 :(得分:1)

Ruby 有它..还有 Groovy 有它(允许你有效地测试 Java 代码)。

答案 25 :(得分:0)

Visual Basic .NET具有交互模式。

答案 26 :(得分:0)

Scala有REPL

  

Scala解释器(通常称为读取 - 评估 - 打印的REPL   Loop)坐落在一个不寻常的设计空间 - 一个互动的解释器   一种静态类型的语言横跨历史上的两个世界   已经很明显了。在版本2.8中,REPL进一步利用了   独特的可能性。

答案 27 :(得分:0)

答案 28 :(得分:0)

Boo是Python和C#之间的良好中间点 - 类型推理和程序兼容的编程,兼容.Net,以及编译到CLR程序集和.EXE的能力。

答案 29 :(得分:0)

Erlang以及Haskell,我猜Ruby。还有像Firebug

这样的Javascript CLI

答案 30 :(得分:0)

正如它的名字一样,以科学为导向的专有Interactive Data Language(通常只是称为IDL,但为了避免与其他IDL混淆而在这里拼写)具有许多用户的交互模式比他们在其中编程更频繁地使用。