10 分钟尝试 10 种编程语言

oschina
 oschina
发布于 2013年09月13日
收藏 223

世界上有很多有趣的编程语言,但下载它们、安装编程环境可能会是一件非常耗时的事情,而你很可能只想试一下。好消息是,你可以直接在浏览器里运行很多的编程语言,通常还有附带有一些教程来指导你了解基础知识。

学着《七周七种语言》这本书的模式,下面是更简洁的版本。

动态语言

厌烦了长时间的编译、渴望一种轻量级的脚本环境?动态语言一定会让你喜欢。

尝试Lua语言

Lua是一种轻量级的动态编程语言,对协程(coroutine)有着很好的支持,因为有着简单的C API,使得它在游戏视频脚本处理方面非常流行。比如游戏引擎LÖVE Marmalade Quick

尝试Clojure语言

Clojure是大演讲家Rich Hickey的智力结晶,它是一种最古老的编程语言LISP的后裔。关于Clojure语言的社区很多,我最喜欢的一个Clojure项目是Sam AaronOvertone,一种即时音频编码工具。

尝试 R 语言 (需要简单的注册)

R语言是一种统计及图表技术的免费语言环境,有着大量的用户提交的程序包。你在思考如何画一个鸡蛋吗?试一下吧。

函数式编程语言

函数式编程的思想已经渗透到了大多数主流编程语言里,从C++到VB。然而,如果想真正的体验函数式编程的富于表达特征,你需要一种以函数式为主的语言。

尝试Erlang语言

Erlang绝对是一种非常有趣的语言,它能帮你打造永不宕机的高容错并行系统。它提供了非常棒的模式匹配能力。有很多的产品应用和工具都是用它开发的,包括RabbitMQ消息系统和分布式数据库Riak

尝试Haskell语言

Haskell语言深度的依赖Miranda编程语言,Miranda在80年代和90年代用于英国大学的教学。Haskell在此基础上增加了Monads和Type类,在一些大学里仍然有它的课程。它也非常流行于学院研究方面。

尝试OCaml语言

OCaml语言很像Miranda,是基于ML编程语言,在其中增加了面向对象结构。F#语言是基于OCaml语言的,甚至还有它的一个兼容模式。OCaml在业内仍然有使用,例如Jane Street Capital 和 XenSource。

Web 语言

我们已经知道有太多的语言可以编译成JavaScript语言。但仍然有价值看一下JavaScript语言的一些新功能特征。不妨看看去年Brendan EichStrangeloop上的一个谈话,题目是《The State of JavaScript》。下面是3个我认为非常有趣的脚本语言:

LiveScript

LiveScript是CoffeeScript的间接后裔,有着函数式编程特征,例如模式匹配函数函数组合。有兴趣的可以看一下10 LiveScript one liners to impress your friends

尝试 Elm 语言

Elm是一种函数式兼反应式(reactive)语言,适合开发高交互软件,包括各种游戏。反应式编程是一种有趣的趋势,我认为一些专门针对此设计的语言值得去研究一下。

PogoScript

不幸的是,没有针对这种语言的在线编辑器,但有一个命令行工具REPL。PogoScript适合做DSL开发,它能允许函数名中有空格。

秘教语言

秘教(Esoteric)语言基本上是只写不用的语言,有点像Perl,但用来娱乐。

尝试Brainfuck

Brainfuck是编程语言中的魔方。我去年用纯JavaScript开发出这个网站,你可以试一下fib的例子。

浏览器IDE

因为网上有这么多用来尝试的编程语言在线环境,可以推想,集成开发环境(IDE)也可以放到网上。可以预见以后不需要再等4小时来安装Visual Studio了。

Cloud 9是一个在线的开发Node.js应用的平台,集成了各种相关程序包。像Sploder这样的工具可以让你在线开发游戏。

Try F#网站无可争议的提供了广泛的学习这种语言的功能。云Tsunami IDE也提供了大量的学习开发F#的工具。CloudSharper也很快会提供一个利用WebSharper开发F# web应用的IDE。

提升级别

一旦用一种新语言完成了一些简单任务,你就可能想着提升到一些稍微大的任务上。我喜欢做Kata Catalogue里的一些习题,例如FizzBuzzGame of LifeMinesweeper

有些人喜欢研究Project Euler里的问题,另外一些人有自己的Hello World应用。比如Martin Trojer,这是一个Scheme解释器。而Luke Hoban在开发一个Ray跟踪器。

我建议去参加一些本地的研讨学习小组。伦敦Scala语言交流会每月都有一个编程活动,F#unctional伦敦人交流会刚好在月中有一个会议,下一次是关于Machine Learning

在每节后面有问题和习题的编程书籍是很好的学习工具,可以练习你学到的知识,但这样的书很少。最近出版的《Functional Programming with F#》是一个很优秀的例子,它的每章后面都有问题习题。

也许几个小时你就能熟悉一种语言的基本知识,但熟练掌握至少要几个星期,而精通,那就要至少几个月了。

想写出自己的编程语言吗?Pete Sestoft的《程序设计语言概念》对这个主题提供了很好的介绍。

[英文原文: Try 10 Programming Languages in 10 minutes ]
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:10 分钟尝试 10 种编程语言
加载中

最新评论(35

crossmix
crossmix
hello world ,goog,string,initial
Leo_Vip
Leo_Vip
搭建环境就不止10个小时
CasparLi
CasparLi

引用来自“壮哉我大东北”的评论

借地方问问。当你看到某些牛孩说自己会一大堆语言时,你怎么想?

嗯, 他要么在说谎, 要么在装B
CasparLi
CasparLi

引用来自“SupNatural”的评论

十分钟,装编译器或解析器够不够啊?

就是说让你看看语法, 了解了解 然后回去继续写Java(或者C)
mahengyang
mahengyang
erlang好玩
北落
北落

引用来自“Whale_Mo”的评论

引用来自“北落”的评论

10分钟也就学习个helloworld,7周7语言也得需要4天一门语言把

7周7语言那个,Ruby咱只用了2天因为咱有运用 Python和CoffeeScript的经验,Io则借用了Javascript的经验

Prolog倒是很惊奇一些推论东西可以让计算机自动完成,虽然很类似穷举喵/目前进度在这里暂停中喵/

那erlang haskell等那?
Whale_Mo
Whale_Mo

引用来自“北落”的评论

10分钟也就学习个helloworld,7周7语言也得需要4天一门语言把

7周7语言那个,Ruby咱只用了2天因为咱有运用 Python和CoffeeScript的经验,Io则借用了Javascript的经验

Prolog倒是很惊奇一些推论东西可以让计算机自动完成,虽然很类似穷举喵/目前进度在这里暂停中喵/
Whale_Mo
Whale_Mo

引用来自“壮哉我大东北”的评论

借地方问问。当你看到某些牛孩说自己会一大堆语言时,你怎么想?

计算机编程类语言,咱一般会这么枚举自己的技能:
长期运用、能够运用、掌握语法
当然枚举一下又是一大堆,不过基本是长期运用的更熟悉喵~
sjack
sjack

引用来自“壮哉我大东北”的评论

借地方问问。当你看到某些牛孩说自己会一大堆语言时,你怎么想?

什么都不想, 只想天上能掉 RmB
返回顶部
顶部