What have you found for these years?

2009-02-12

ruby 1.8.7

ruby-core/talk 這幾天在大戰 1.8.7 的發展方向。
想當然爾,絕大多數的人都在抗議 1.8.7 增加太多新功能。

對於我個人而言,我幾乎所有的程式在 1.8.6 是可以直接搬到 1.8.7
而不用做任何修改。我並不覺得 1.8.7 有改很多東西...
是有加很多新東西,但是並不覺得有做什麼 compatibility change.

當然 rails 爛掉了,還有不少 lib 也爛了。native gem 先不論,
我是覺得是因為 rails 程式寫得很髒才會爛的。他們用了太多非常
implementation specific 的東西。對於有在寫 C++ 而言的我,
很多東西本來就是不應該去碰的,例如 argument evaluation order,
hash key order 等等。

但我也覺得大多數的人好像只是不滿意 1.8.7 這個名字。

有人說 1.8.7 應該是 1.9, 而 1.9 應該是 2.0.

我提議所有的版本號都可以做個修改,大概是這樣的規則:

1.8.6-p144 => 18.6.144
1.8.7-p72 => 18.7.72
1.9.0-p1 => 19.0.1
1.9.1-p0 => 19.1.0

這樣他們大概就沒有意見了吧? :o
總覺得只是名稱上的認知差異罷了...

無怪 Matz 要說

[quote="Matz"]
Perhaps, people became less geek these days.
[/quote]

而 why the lucky stiff 則說

[quote="why"]
Sometimes this community feels like one of those marriages where the
lady marries the guy because she thinks she can change the guy.
But the guy's the guy! I don't know.
[/quote]

不過 Charles Oliver Nutter 也說得很是

[quote="Charles"]
Unless, of course, the guy can be convinced that he's causing the lady
some sort of pain and seek to change himself. Quietly ignoring the
problem is what *leads* to mobs and divorces. I think what we're doing
here is entirely appropriate: raise concerns, discuss, hope for change
or compromise.

It may be Matz's language, but it's everyone's community.
[/quote]

另外剛剛又看到 Engine Yard 居然願意接手 1.8.6 !!!!!
這家公司真的是滿讓人欣賞的 :s


p.s.

引爆點,1.8.8 要 backport 更多東西:
New hash : syntax for the 1.8 series?

[quote="Akinori MUSHA"]
Yes. Backporting syntactic changes is a big part of the plan for ruby
1.8.8, although some features in 1.9 can never be integrated into 1.8
because of compatibility constraints or implementation limitations.
Considering those unfortunate cases, I am thinking of making the 1.8
interpreter at least capable in parsing 1.9 specific constructs
without error, although it may not be able to actually run it.
[...全文]
[/quote]

離題後另一個人開新主題:
1.8.7 Specifics

ruby-talk 大家講話就不客氣了... ruby-core 上都還客客氣氣 XD
If you are unhappy with the direction of Ruby 1.8.7+, respond

沒啥人回應...
If you are happy with the direction of Ruby 1.8.7+, respond

3 retries:

Anonymous said...

其實只要維持 backward compatible... 我倒是覺得沒這麼嚴重

我倒是覺得,ruby core team 似乎沒有很重視關於版本演進的思考議題 (比如哪個版要釋出什麼功能之類,roadmap 感覺訂的不是很嚴謹)...

godfat 真常 said...

我也是這樣覺得。雖然說 1.8.7 跟 1.8.6,
確實有些不相容之處。但不應該有這麼嚴重,
是覺得有些人的寫法還是太髒了點。
我想最不妥的引入,應該是 Enumerator,
例如 File#lines 原本傳 Array 變 Enumerator
就不是很好。不過就稍微改一下就好嘛...
加個 to_a 就好了,兩邊都可相容。

不過 ruby core team 沒有 roadmap 確實是真的。
不是不嚴謹,是根本沒有 XDDDD
比較像是他們決定就是決定了,有些是私下討論,
或是在 ruby-dev, 這是純日文的 mailing list...
對於使用英文的人來說,這些也像是沒有公開似的。

想想覺得 why 說得滿對的
其實 ruby 就是這樣啊... 一直以來都是 XD
那就是他的特色之一吧。
是說使用者抱怨也是很正常的就是了,
就看 core team 決定怎麼做,
還有有沒有人要出來做某個 branch 的 maintainer 吧

godfat 真常 said...

我錯了,其實 1.8.6 沒有 File#lines, 不好意思沒有查證

Post a Comment

All texts are licensed under CC Attribution 3.0