初心者向けRubyが欲しい(Rubyの良くないところ)

以前から何度か記事にしているように、わたしはへなちょこRubiest。
気が向いたとき、たまーに、Rubyプログラムを書いています。

最近の作品
>Wikipediaのセクションへのリンク(節リンク)を取得するツール (09/22)
>Dimoraが使いにくいので、CSVファイル(Excel/Calc)に出力するツールを作った (09/06)

で、最近、会社のとあるシステムがASP化されたので、Rubyで自動巡回プログラムを作ろうと思い立ちました。

そのとき
やっぱRubyって初心者向けじゃないよね。
と思いました。

と、同時に、誰か初心者向けRubyを作ってくれないかなー。と思いました。

以下わたしが、初心者向けRubyに望むこと。

rubygemsは、要らない


Rubyが初心者向けじゃない。と強く思うのが、これ。

今回、IEのコントロールプログラムを書こうと思って、「watir」をインストールしようと思いましたが・・・
これが、どうにもこうにも、うまくいきませんでした。
C:\Ruby187\bin>ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [i386-mingw32]

C:\Ruby187\bin>gem install watir
ERROR: Error installing watir:
The 'ffi' native gem requires installed build tools.

Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads' and follow the instructions
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'


ruby1.9.2やASR187を試してみたり、下の記事を参考にしてみたもののうまくいかず・・・・

> RubyInstallerのMinGW32なRubyでのgem installでmakeが必要なとき(きたももんががきたん。)

過去にも、exerbやocraのgem install で失敗しまくったりと、rubygemsには悪い思い出しかありません。

そういえば、Debianのメンテナが辞任するときも、Rubygemsを槍玉に挙げていましたね。
>DebianのRubyパッケージメンテナ辞任で騒動に (Rails Hub情報局)

Lucas Nussbaumは、RubyGemsは万人向けツールでないと言ったそうですが、まさにそのとおり。
普通に、バイナリやソースをコピーするとか、インストーラーとかのほうが初心者向けと思います。

Rubygemsは多くのプラットフォームをカバーするための仕組みなのかもしれませんが、Ruby利用者の拡大についていけなくなっていると感じます。

初心者向けパッケージは、Rubygems不要にして欲しいと思います。

何でも入りパッケージが欲しい


なぜRubygemsが必要になるかというと、必要なものが、基本パッケージに含まれていないからです。
watirもocraもRoRも、追加のインストールが必要になります。

何かをやりたい!と思い立ったとき、ライブラリのインストールから始めなきゃいけないのは、生産的ではないと思います。

rubygemsがクソだの何だのの前に、何も追加インストールせずに済む、全部入りRubyが欲しいな。と思います。

Win32もRoRもvRubyも。

ついでに、SQLサーバとhttpサーバもインストールしてもらえると、なお良いと思います。

初心者向けパッケージは一つでいい


Rubyののダウンロードページに行くと、Windows版バイナリだけでも、4種類のリンクが紹介されていて、混乱します。

ぶっちゃけ、初心者にとってみれば、MinGW32だろうが、mswin32だろうが、cgywinだろうが関係ありません。

そのくせ、インターネット上のサンプルコードが、微妙なパッケージの違いで、動かなかったりします。

できれば、「初心者向けRuby」として、単一パッケージで配布して欲しいな思います。


開発環境もつけて欲しい


Rubyをインストールするだけでは、開発環境はついてきません。

RDE? NetBeans? Eclipse?
なんでもいいので、初心者向けパッケージと一体化して欲しいな。と思います。


デフォルトの文字コードはSJISでいいんじゃね?


日本人が日本で開発したRuby。
が、そのわりには、日本語処理が特別扱いされているわけではなく、初心者がつまづく原因になっています。

どうせ初心者は、SJISしか利用しません。
もう、ソースコードも内部処理もファイル出力も、すべてSJISで統一したほうがすっきりするのではないかと思います。

マジックコメントも、無指定(デフォルト)はSJISにしたほうが便利と思います。

いちいちrequireだのincludeするのは面倒



たとえば今日の日付を表示したいとき。
print Date::today.to_s

簡単簡単。と思いきや、これだけではだめ。
require 'date'しないと動きません。

漢字コードなら require 'kconv'
URL操作なら require 'uri'

いちいちrequireするのは面倒。

メソッドを使うたびに、requreしているかどうか確認するのは、面倒だと思います。

いっそ、初心者用Rubyは、あらかじめ、全部requireされているってのはどうでしょうか?
もしくは、動的に自動requireしてくれるとか。

それくらいのCPUパワーは惜しくないと思います。

EXE ファイルを作って欲しい



本体だけで、Exeファイルくらい作って欲しいと思います。

別に、最適化なんて無くてもいい。
遅くてもいい、ファイルサイズが巨大でもいい。

とにかく、他人に配布できる形にならいいので。



以上、私がRubyに望むもの。
自分のことしか考えていない、単なるわがままですが (笑

いまのRubyがこういう仕様なのは、Rubyの歴史の中で生まれた必然だということは理解できます。
多くのユーザーやプラットフォームをサポートする仕組みとしては、現実解なのだと思います。

が、初心者(=Windowsユーザー)に最適化した、本当の意味でのlight weight languageがあってもいいんじゃない?とfocuslightsは思います。


関連記事

コメントの投稿

非公開コメント

驫瑾瑩 icq 轢 鱚諷? Agemi

<a href="http://icqmobilephones.net/">驫瑾瑩 瑜 轢 鱚諷? 邇褂?/a>
http://icqmobilephones.net/ - 瑜? 粳? 鱚諷?轢
プロフィール

Author:focuslights
since 2007.4.29
誤りのご指摘は大歓迎ですが、
考え方に対する抗議は
 一切お受けいたしません
リンク確認等は不要です。

すべての文章は、法律並びに
医学に対する資格を有さない、
一個人の心情を吐露したもの
であり、法務もしくは治療法
に関する情報提供を目的と
したものではありません。

本ブログにはいわゆる見通情報
(forward-looking statements)
を含み、実質的にこれら見込み
とは異なった現実的な結果に至
ることがあり得ます。
本ブログはそれらを参照した
ことによって引き起こされる
一切の結果に対して責任を負
いません。
また、見通し情報に更新もしく
は改正が望ましい場合であって
もその義務を負いません。

批判的な文章を掲載する際には
解決法の提示が望ましいと考え
ていますが、問題点を抽出整理
して、広く知らしめることで、
集合知により解決を図ることも
重要と考えているため、対案の
提示は必須とは考えていません。

青少年インターネット規制法案
の成立状況によっては、
本サイトが有害サイトに指定され
る可能性があります。
2008/5/1以降、18才未満の方
による本サイトの閲覧、参照、
引用を禁止します。

オーストラリアのカンガルー虐殺
反対活動を推進しています。


●273番までの記事一覧はこちら

Ne me blâmez pas.

最近は、抗議・反論を受け付けています。
非公開の場合、「管理者にだけ表示を許可する」にチェックをつけてご投稿下さい。

テンプレート「house」と「cfdn_12」を利用させていただいています

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
リンク
カレンダー
04 | 2012/05 | 06
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
ブログ検索
RSSフィード
By FC2ブログ

Powered By FC2ブログ
ブログやるならFC2ブログ

FC2カウンタ