怎么构建Ruby的开发环境?

怎么构建Ruby的开发环境?,第1张

安装Ruby

在Windows系统下,安装Ruby最简单的办法是使用RubyInstaller。如果是为了使用Ruby on Rails,则可以下载RailsInstaller并安装。这会安装Ruby和Rails等相关工具。在这里,我选择安装了Ruby 2.3 64位。安装过程很简单,在这里就不细数了。为了方便命令行使用,建议选中将Ruby可执行文件添加到PATH的选项。

安装完成之后,打了命令提示符。输入ruby -v查看是否安装成功。

安装Ruby DevKit

有时候可能需要安装一些本地C/C++编译的Ruby插件和开发工具。这时候就需要安装Ruby DevKit。安装方法也很简单,到Ruby下载页面,找到DEVELOPMENT KIT字样,然后下载和自己Ruby版本对应的开发工具包。这应该是一个压缩包,将其解压到合适的位置即可。然后在安装目录中打开命令提示符,依次运行下面的命令即可。

安装完成之后,再次安装这些需要本地编译的插件就不会失败了。

安装IDE

Ruby语言最好用的IDE还是Jetbrains的RubyMine。下载之后安装即可。具体的配置方法我就不说了,在极客学院这里有更详细的ntelliJ IDEA使用教程 ,对PHPStorm、RubyMine等Jetbrians系的其他软件也同样适用。

Ubuntu的充足的软件源用起来最爽了。优雅谈不上,不过倒是想分享一下使用经验。

目的:编程开发为主。不游戏,少娱乐。

缺乏的软件:(可以通过安装虚拟机来解决问题,但我用I5-580的CPU外加Nvidia GTS250的显卡感觉用起来很卡)

QQ系列。Linux版的QQ无法安装。需要的时候可以用WebQQ解决问题,或者手机QQ。

Adobe系列。个人无需求。

=== 嗯,以上是我想到的缺乏的软件。

常用工具:

Terminal。自带的就很好,还可以设置背景透明。如果只在Console不运行图形界面的话速度超级快。明显感觉到打字无延迟。(对比使用其它任何系统都有延迟)。最优雅的命令肯定是apt-get,一个可以得到所有的东西的命令。

LibraOffice。自带软件,可以解决办公软件问题。

Latex:我听人家讲Latex比Word优雅多了。

编程需求:

Ruby:RubyMine,神器。基于IntelliJ,自动补全,代码Refactor,非常完美。是收费软件,99USD,我感觉,如果真正使用的话,还是挺值的。

还有Vim / Eclipse也是常用,感觉这些没必要提了吧:)

(以下三个自带程序忘记名字了,在右上角的系统托盘可以查看)

IM:Skype,以及Ubuntu自带软件可以同步GTalk、FacebookChat,很方便。

SNS:自带程序可以同步Twitter/Facebook账号,设置快捷键可以一键Post。

Email:自带程序可以自动同步Email

音乐:嗯……我用的网页版的豆瓣FM。

浏览器:用Firefox/Chrome。这两款都很优雅。

输入法:iBus。虽然体验不如搜狗输入法好,但还说得过去。好像还有人推荐Rime据说很优雅

博客:GitHub + Jeklly + MarkDown Syntax。自己可以任意定义版式,Github来发布。同时Jeklly自带的主题就很漂亮。又漂亮又优雅。

用电脑还有神马需求么……想出来其它需求的话我可以更新一下回答。

符合 优雅 命题 的做法:

Ubuntu自带壁纸很漂亮有木有……(虽然其它系统都有)可以设置定时换壁纸很爽心悦目

想不到了

哦……对了以上内容我是在Mac下面打的,系统是OS X Mountain Lion。因为一台Mac装了Ubuntu之后,对应的驱动不太好找,不是很优雅。

我以前写Java,最近主要写Ruby,以及一点点JavaScript。

我觉得文章中有几点,是很可取的:

编程使用什么工具是重要的,然而工具终究不如自己的技术重要。很多人花了太多时间,折腾各种新的语言,希望它们会奇迹一般的改善代码质量,结果最后什么都没做出来。选择语言最重要的条件,应该是“够好用”就可以,因为项目的成功最终是靠人,而不是靠语言。

很多时候我们忙于学习不同的语言,而忽略了语言的最终目的,是写出可以解决问题的程序。

IntelliJ还可以进行非常迅速的结构变换,这让你就像艺术家在构造一个雕塑作品。最开头我可以大刀阔斧,把代码劈成大致的形状,然后再把它仔细推敲,揉捏成更好,更容易理解,更具魅力的形状。

是的。用IntelliJ来Refactor Java代码的体验,的确比 用RubyMine来Refactor Ruby代码、用WebStorm来Refactor Javascript代码的体验,要好太多太多了。虽然后者的体验也强于用Vim时候的体验,但用IntelliJ来的更加畅快淋漓,而且从来不用担心因为Refactor而出现命名错误(如果不用Reflection的话)。

很多人讨厌Java,其实是因为早期的GoF Design Patterns,试图提出千篇一律的模板,给程序带来了不必要的复杂性。然而Java语言本身,其实跟Design Patterns并不是等价的。Java的设计者跟Design Pattern的设计者,完全是不同的人。你完全可以使用Java写出非常简单的代码,而不使用Design Patterns。

我自己对于一些大公司规定的模式,比如“Programming towards Interface, not implementation”十分反感——这样子造成了很多interface,只有一个implementation;而在读代码的时候,就要跳转很多个文件,才能找到需要的内容。但我觉得这是写代码的人得问题,和Java无关。只是很多人在写Java的时候,太从字面上理解“Programming to Interface”了。

然后我不太同意的:

Python凑合可以用在不重要的地方,Ruby是垃圾,JavaScript是垃圾中的垃圾。原因很简单,因为Ruby和JavaScript的设计者,其实都只是民科。

我个人很喜欢Ruby的设计的,主要来自于MetaProgramming的部分——真的可以让代码量少很多。来自于更高级别抽象的代码量减少,直接意味着,整个程序变得更容易阅读和理解。我不觉得民科设计出来的东西,就意味着这个东西不好。而且Ruby程序,debug起来还是很容易的:RubyMine对于断点StepTrace也有很好的支持。而且,因为是Script Base的语言,可以很容易的去阅读/修改Library的代码,从而很快地理解对应的Library。

JavaScript还是有些坑的,比如没有原生的Class(ES6的class看起来只是function的一个syntax suger)、神奇的prototype和this的关系问题;但理解了原理,这些坑还是挺容易避免的。而且也有很多用JavaScript开发的不错的App和框架,异步编程的思想也很好(当然 思想这种东西,都任何语言都是可以支持的)。“垃圾中的垃圾”就太偏颇了。

对于Go / Scala / Clojure我几乎没有了解,无法评论。

然后讲一下,我对于Java很反感的地方:长,function不是object。

1. 依稀记得 当年写各种Data Access Object,里面有若干Getter / Setter,虽然用IDE可以自动生成Getter和Setter,但依然……读起来/维护起来 很辛苦。

2. 以前写Android程序,加EventListener。其实只是一个function而已,但只能通过Anonymous Class、在里面define function的方式——加一个EventListener,2层缩进就出去了。让代码变得好丑。

(在Java8里面,支持了Lambda,应该有所缓解吧;这里我还不是很清楚)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11304554.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存