Joao Pedrosa
Posts: 114
Nickname: dewd
Registered: Dec, 2005
|
|
Re: What Are Your Ruby Pain Points, Really?
|
Posted: Feb 17, 2007 8:43 AM
|
|
In general I am happy with Ruby. I think Ruby and JavaScript (and its variations) will continue to make progress. JavaScript is the closest language to Ruby which will continue to grow in popularity over time, so I think the two of them can co-exist just fine, like Ruby on the server side and JavaScript on the client side. I am really happy with the jQuery JS library, which seems to be a very nice Domain Specific Language for JS, while making something similar to how Ruby would, with some powerful standardization on iterations and chaining of operations.
Standard JavaScript can be a pain, but once they make things like jQuery, it starts to feel less painful. The important thing is that the core was kind of right from the beginning, while the libraries can fix the shortcomings.
That's how Ruby could improve. For example, instead of trying to use native threads for multi-CPU usage, maybe a smart library could be used, which would hide the high-performance concurrent operations from the user. Ruby been so malleable, it would be very easy to use the library, with or without wrappers. The crux is that the core already provides the right functionalities.
My pain points are these:
1. Native threads, mainly for Windows programming.
2. More performance, because the faster the better. Simple like that! :-) I think a good library for concurrency programming could be created, for example, instead of relying on locking/multiple processes only.
3. Native Windows C/C++ compiler which was free and compatible with as many Windows as possible, and as optimized as possible. Everywhere else we can have "gcc" which is easier to standardize on. On Windows it has always been a little painful, as the compilers were commercial. Imagine if all the Java SDKs where commercial as well. It seems that Microsoft has started providing some free compilers, but there may be some tradeoffs to using them, don't know. This is external to Ruby, but very important, because Ruby relies heavily on C. Now that tools have become free/commodities, one day this might be fixed for good.
Ruby 2.0 will improve these things. The remaining issues will be fixed with time. And some other issues maybe will never be completely fixed, as they may go against my use cases of Ruby programming.
I've come to a point that I don't feel any void with Ruby. Sometimes I might feel that something is incomplete, while other times I don't see an easy alternative to what is available, for example, I would rather avoid reintroducing manual compilation for Ruby files... If it's "JIT", fine. :-)
|
|