Korundum Brings eXtreme RAD to Linux
anonymous writes "The Free Software community is on a quest for the next generation development environment. Is it .Net, is it Java? Many (including Havoc) are quick to dismiss some of the gems invented by the Free Software community itself. Yes, Ruby is an incredibly consistent and clean language designed specifically to incorporate many of the best features and ideas of predecessors. Absolutely everything in Ruby is an object and practically everything can be redefined or extended on the fly. The effects and resulting power of such flexibility can be quite astounding to those who have adapted to contemporary language limitations. Now, the Ruby environment has been seamlessly integrated into KDE through Korundum, meaning that well-integrated and first-class desktop citizens for Linux can be sketched and developed in an extremely short time. Caveat: No explicit compilation is required and programming seems so easy it feels like cheating."
According to OSNews, another KDE developer has announced the Rubydium JIT.
I've been using Ruby a short time and will say that without a doubt it is the nicest language I've used for development of anything. period. Now of course some people work differently and prefer different languages but I have fallen in love with it.
:)
After a long, long time mired in the quagmire of Java configuration files and the like I finally gave it a go with a small project (an app server). It took me roughly a tenth of the time it would have in Java and I'll gladly shoulder the cost of slower execution speeds with a little more processor power
A RAD for KDE? It really should have been called k-rad.
So how is this different to the GTK/Gnome bindings for Ruby that have been out for years?
Personally, I'd love to see Ruby used as the next-gen language for Free Software application development. It rocks!
-- "So, what's the deal with Auntie Gerschwitz et all?"
.. for that perfect development environment (besides vi and the command line, anyway).
.. ever named a method with a string used elsewhere in the language? they NEVER get highlighted correctly and I end up just mentally ignoring the highlighting).
I'd love a Ruby IDE or "smart editor" but none of the ones I've used can even highlight synax correctly (ever had a regexp like this? %r{'\"(.*\))>} (just made it up)
Also attaching Ruby to KDE, wow. Ruby is so small and elegant, and KDE is.. so.. large.
I much prefer RubyCocoa or whatever it's called that I used once. The Mac and Ruby are made for one another.
One of the best features of Ruby is code blocks. I've skimmed through maybe half of that tutorial, and there are no code blocks in sight.
Now you may wonder why should anybody care about this. Well, simple: there are many, many ways of using Ruby's blocks to make code easier to understand. In the case of a GUI toolkit, I can think of two offhand:
Creating contained components in a code block passed to the container is no harder at all; in Ruby, just make the container's constructor yield self to its block. And what you gain is much nicer than what most people will give credit for: the code that creates the contained elements is visibly "inside" the code that creates the container. Once you're attuned to this convention, it becomes easier to see the structure of the GUI and the code from the indentation in the source.
Are you adequate?
The Qt/Ruby bindings are probably nice. But how do they bring something that wasn't there before? We have had Qt/Python bindings, Gtk/Python bindings, Gtk/Ruby bindings, wxWindows/Python bindings, and wxWindows/Ruby bindings. All of them are pretty nice and pretty easy to use. Several of them are supported by visual GUI builders. Qt/Rube seems like just another possible combination.
I'm a Linux user and all I learned from my 1+ year full Debian Desktop is mainly configuring Linux and getting the UI working the way I wanted...
Now I'm looking at some old Windows app and asking myself how hard it can be to build a GUI for some command-line only tools I now have to use...
So, is it ok as a beginner langage ? I mean all experience I have is with HTML and one have to start somewhere...
It takes 40+ muscles to frown, but only four to extend your arm and bitchslap the motherfucker
Ruby is a powerful language for Artificial Intelligence because of his Dynamic OOP.
Can Ruby create humanoids that create new self-humanoids? WOWWWWWW!!!
open4free ©
Every so often a new language is proposed as the solution for the problem of developing applications. However, most of these languages are really generic programming languages. What we really need is a platform that centers around persistant data and views, with built in transaction mechanisms. Instead of a language to program in, we need a language to specify data centric applications.
....right here.
The activity graphs show a lot of recent movement, too... good times!
The Army reading list
My eyes are playing tricks on me.
Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
Well just so people don't think Linux is the only target for Korundum. It works well on FreeBSD, it should work on any BSD, or any system which can compile the kde bindings in fact. I think this is a major jump for Ruby and hope that devlopers will continue to develop Ruby. Using KDE to develop applications makes it easy with the KDE integration. Thank you Alex(lypanov) for doing such a great job and also introducing me to this great software.
I hope in the future there will be even more expansion from what is already with the bindings. This project is certainly a need for the programming community. Happy coding!
--dross
How did they "fall flat on their faces"? Python has full lexical closures and bound methods.
They aren't used as much in Python because it also has some other constructs that are often preferred by users (eg list comprehensions).
To my mind, efficient numerical computing requires an intrinsic array type, because a lot of numerical computing has to operate at high speed on lists of numbers, especially graphics stuff. Interpreted/p-code/JITed languages that have been good with numerics (Matlab, Java) have an array type. Lisp didn't start with an array type but got one by the Lisp Machine/Common Lisp days.
A numerical array type (the built-in list types don't count because of the memory and speed overhead) is a work in progress in Python. The reason I say work in progress is on account of the Numeric/Numarray transition and that not all numeric/graphics packages for Python know about Numeric or Numarray so you take a hit getting lists of numbers in an out of them.
My bottom line for numerical computing (i.e. looking for a Matlab replacement) is 1) some kind of numerical array type that is 2) compatible with graphics routines for plotting graphs as well as bitmaps where I can specify the colors of individual pixels. Python is working on this (for example, TKInter has a bitmap canvas object, but can I get/set the bitmap raster as a Numeric or a Numarray?) Where is Ruby on this?