RAD with Ruby
Amit Upadhyay writes "KDE's award winning integrated development environment KDevelop, has integrated support for Ruby,
an excellent and easy to use object oriented scrpting language. If you
are looking for a good programming tool for quickly developing a
professional one off application, Ruby (with KDE bindings) maybe just the thing for you. There is a quick tutorial and an online book to get you started. You may also want to read a quite informative comparison of Python with Ruby. If you are web developer or write enterprise applications with JAVA etc, take a look at Ruby on Rails(api), they have a nice blog too. KDevelop provides a GUI builder and Debugger for rapid application development(RAD) with Ruby, which is getting better. There is a nice tutorial on using KDE libraries with Ruby. And if you have lots of code in C/C++, extending Ruby to use them is easy.
"
"
And Python and essp. Perl just plain drools...
Ruby will be easy for any Perl user to learn, and it really is OO from the bottom up, not just bolted on like Perl's so-called OO.
And Ruby's OO makes much more sense than Java's and Python's OO. I can't explain it, but I can't think OO in Java or Python, and I can in Ruby.
-> I dislike sigs...
Windows support is the big thing it needs to match the flexibility of Python+Glade for RAD stuff. I'm using Python+Glade every day at the moment for prototyping and for making up quick little proof-of-concept solutions, but Windows support is neccessary for my employer to take it at all seriously (even tho I do most of my actual development on Linux).
Don't get me wrong, I'm quite the Ruby fan myself. However, what the hell kind of story is this? There is little to no real meat to this story, it's just a long winded ad for two Free Software applications! What's to discuss, how great these two things are? Where's the thought provoking stories from the olden days of the site?
With so many other languages out there, why bother with Ruby?
s tE xample
Perhaps an example would be best.
http://www.rubyonrails.org/show/AccessControlLi
NOTE: In the above example, the Model Code (just a handfule of lines) is what creates all the database-mapped classes and relationships. In other words, the implementation of functions used in the Example Usage were created on the fly!
If you haven't done enough object-relational mapping using other languages to be blown away by this example, then here are 37 other reasons:
http://hypermetrics.com/ruby37.html
Ruby Home
http://www.ruby-lang.org/
That's all the news in there. I really don't understand why the submitter chose to include a whole bunch of Python vs Ruby links. The actual news bit isn't about that at all...
Cooper
--
I don't need a pass to pass this pass
- Groo The Wanderer -
I'm quite partial to scsh.
..."
/") -- but something with variables, control flow, conditionals, etc.
I mention this because I understand Ruby's semantics are like Scheme (but the syntax is different, or we'd call it a Scheme).
The intro from the scsh paper (Olin Shivers) convinced me to try it out:
"Shell programming terrifies me. There is something about writing a simple shell script that is just much, much more unpleasant than writing a simple C program, or a simple COMMON LISP program, or a simple Mips assembler program
He's not talking about a simple shell program (like "rm -fr
http://www.thebricktestament.com/the_law/when_to_
... scripting language?
The Tao of math: The numbers you can count are not the real numbers.
I actually wish I had had these details all in one place when I was looking afew months back (abit of googling eventually showed all those pages).
Personally, I have found if you are really interested in RAD w/ Ruby + QT is fine for linux.
But Wx is cross platform and free! and tools like VisualWx which has support for WxRuby certainly help.
Unfortunately it is only on windows atm AFAIK
Java is not an acronym, nor is it capitalised. "Debugging" is not a proper noun, and so should not be capitalised. "May be", in this context, is two words.
I could go on, but I'm not the one being paid to do this.
AccessControlListExample
Since I wanted to see what the fuss was about, I recently grabbed the most recent KDevelop and took it for a spin. It's got a ton of really, really cool stuff in there. Integration with valgrind is sweet. The debugger integration is a Good Thing. The reasonably intuitive API documentation access is great. The integration with QT designer is beautiful.
If I were just starting to code, I'd probably use Kdevelop.
However, I found over the course of a couple of painful days that I'm too dependent on some features of emacs to make the switch worthwhile. Quick searching. Tab indentation. Keyboard split buffers. Mouseless cut and paste.
Some of these have equivalents in Kdevelop that would just require relearning a different way to work, which is fine, if somewhat aggravating in my personal case. But some, like tab indentation, don't. So I'm back in good old emacs.
I hear that there may be an effort to embed emacs as one of the source code editor options, in which case I'd definitely switch. I'd probably even switch if there were some reasonable emacs-like bindings in Kate. It looks like a really cool tool generally, and I'm hopeful that I'll be able to make a switch sometime in the not too distant future.
Developing web applications is a nightmare, because the knowledge domain is too big and too heterogeneous.
Ruby seems on the right track: the decision of not using thousands of XML configuration files but rather doing everything in code seems like heaven.
Why Ruby? Page:s Google cache:
HERE
As long as we're dumping Ruby links, I must plug a project I work on and a project I work with daily:
/. for more information and links.
JRuby is a 100% java implementation of Ruby 1.8. The most recent release is pretty old, but the version in CVS is shaping up nicely and is getting quite stable. I joined development over a month ago, and work has been rapidly ramping up.
The Ruby Development Tool aims to bring a full Ruby develop/test/debug environment to the Eclipse platform. It is also rapidly maturing, and may in the future use portions of JRuby for parsing and debugging. While using or developing JRuby, the RDT is a welcome companion, allowing me to stay within Eclipse when developing both Java and Ruby.
I would also recommend tracing back to previous Ruby posts on
"a good programming tool for quickly developing a professional one off application"
All well and good, but if your professional application is proprietary (non-open), you'll need a paid-up Qt licence to go with it.
I've been getting into wxPerl as I've decided it's gained critical mass and you can do real things with it. Of course some functions are still getting filled out but it has a great mailing list and it is fun.
Seems to me it would be really interesting if there was a wxRuby and a way to package the wxRuby app. Perhaps when parrot is finished this will be a ring to bind them?
Yeah, um, it's just Java, a word, not JAVA. It's not an acronym for anything, like SQL (Standard [English] Query Language). It's not all caps for no good reason, like .NET. It's not even a witty recursive acronym like GNU (GNU is Not Unix) or PHP (PHP Hypertext Preprocessor). Just a word for coffee commandeered for another use.</nitpic>
Well, the trouble is that Ruby is a great language in search of a good implementation.
The current Ruby implementation has various weaknesses -- primitive text support is the most mentioned one (you can't step through a string char by char, I kid you not). Lack of native threading (it uses weird homemade application-level threads) some concurrency issues (it's C with lots of static variables -- I may be very out-of-date here though) and integration problems (it's very much designed with a 'C and UNIX and nothing else' mindset) are also problematic.
Thus, a port of Ruby to the Java or
Whence? Hence. Whither? Thither.
Of course, any scripting language is a big disadvantage when compared to perl because only perl has CPAN. The organized central archive for extensions with support distributed as a standard module was a brilliant move by Larry Wall; every other scripting language is still playing catchup, and still no one else can compare to even where CPAN was four years ago. (RAA is better than nothing, but it's still not there. CPAN's hierarchical naming scheme, while occasionally inconsistent, was a really good idea)
For commercial use, I'd also want some of ruby's remaining licensing issues cleaned up, but I understand that's been taken care of. (I haven't checked lately)
The word "maybe" is a noun or adverb, not a verb. You meant to say "Ruby...may be just the thing for you." Words mean things, and if you can grasp the subtleties of a language like Ruby you could probably also understand the syntax of a language like English if you tried.
Can someone please tell me what the advantage of Ruby+Qt is? I'm not knocking open source. I can see lots of use for commodity/infrastructure software. In fact I plan to open source a CRUD tool I needed to build for a project. But to pay the bills, I need to develop vertical. $1550+ seems a little steep just to maintain my intelectual advantage. Especially when I can do it for $379.
Where's the flowchart preprocessor for KDevelop? I need to whip out flowcharts to snag marketdroid budget slices, then compile the flowcharts into Ruby or Perl for prototypes, then all the way "down" to C++ or Java. In the same IDE, showing the flowcharts back to the marketdroids in demos at every step, to keep their ADD nailed to their check-signing hand.
--
make install -not war
"Nitpic" is not a word.
SQL stands for Structured Query Language
"PHP Hypertext Preprocessor" should read "PHP: Hypertext Preprocessor" (you forgot the colon).
</nitpick>
Have a nice day.
Thanks; never used Java or Struts so that'd be why I wondered what all the fuss was about.
I learned Python last winter and have not looked back to Java despite being a Java programmer since it was in wide-distribution.
And since Python makes win32 programming easy for those who don't use Visual Studio, I have learned to be a Windows programmer over the last couple of weeks.
What do I gain over Python by switching to Ruby? I see a lot of explainations, but as far as I can tell, in addition to the awesomeness of Python's language and libraries, these are the things that I need that I can't seem to find in Ruby(but might not be looking in the right place):
1) Java byte-code compiling (jython)
2) full win32 APIs
3) full win32 COM access
4) Complete Object Database implementation (ZODB)
5) List-comprehension
Someone please educate me on the advantages of Ruby over Python. Cause right now, it is hard to imagine a better language than the snake!
You have to read this. It's more than an intro to Ruby... It's a mini adventure!
Why's Poignant Guide to Ruby
Those foxes! That cat! The crazy goat!
I am bald
...or at least the 2nd edition of the programming manual is not free. Of, course there is no reason why it should be free. However, this might explain why the post was entered.
Hey, it's not easy to sell books these days.
I like both ruby and python. In a recent project were we tried to use ruby for linux OS control I came across a dangerous problem.
The Ruby thread scheduler relies on gettime to schedule threads. What's the problem with this? Just change our clock back in time will running a threaded ruby application. You'll notice that your thread stalls and will stay that way until time catches up with it.
For this reason alone I can never recommend Ruby until it gets a proper thread scheduler that employs a more reliable scheduling method or uses pthreads.
Another cool scripting language is Lush.
Python and Ruby have too many anachronistic features for my taste. Also, Lush is good with numerical stuff, which is what I need.
Ruby distinguishes variables from constants by the fact that the identifiers of constants start with a capital letter. Python relies on indentation for semantics
I can say only one thing: WTF?
Ever since FORTRAN came out people realized that typing variables with tricks on the name and using indentation to mean stuff were very, very st00pid. ideas.
I love Ruby.
I discovered Ruby a while back after reading Dave Thomas' "The Pragmatic Programmer". One of his suggestions was to learn a new programming language each year. I psuedo-randomly picked Ruby. It has some interesting and unique features, that have helped me later on with C++ and Java programs.
One of the advantages of learning new languages, even though they may not get used professionally, is the ideas and metaphors that come with the language. Each language was designed to solve a problem, and almost every programming language excels in the problem space for which it was designed. Each also leads to a new way of thinking and approaching a problem (flow, lists, objects, aspects).
By learning from the experiences of others, we can become better programmers and build better programs. We always here why YAPL? or YASL? I say why not? You don't have to use every little language that pops up at work. But, if you learn about the thought processes behind it, you can apply the solutions in other languages.
The article discusses doing RAD in KDevelop. This isn't for enterprise apps but, for getting proof of concepts or prototypes together quickly. I seem to remember a while back an article about doing KDE RAD with JavaScript and DCOM. That was some cool stuff. I played with it and was able to get an app together in a matter of minutes.
Can't we all drop the negative attitudes for a bit and remeber why we got into programming?
----- If communism is a system where the government owns business, what do you call a system where business owns govern
Yes, I'm still looking for something like this, and I want it to be cross-platform. Of course it should be RAD-like, that is, it should have some kind of GUI builder which is truly effective. But most importantly, it should be definitely focused on building forms and reports. On the other hand, I could care less if the underlying language is Python, Ruby, Pascal, or even some sanitized version of Visual Basic.
What I'm describing is the cross-platform equivalent of VB, PowerBuilder, or Delphi. Kylix was a great hope, then Borland let it die. Rekall might be it, but is probably lacking in certain areas.
In my opinion, something like Python with WxWidgets, coupled with some decent GUI builder (which?), some decent forms builder (which?) and some Reports builder (ReportLab maybe?) could be pretty close to this ideal.
However, for spelling's sake, you should use plural
No, actually, he's correct. However, for grammar's sake, you should go back to school.
(e.g. "I know, my friend. They've been quite rare, these days.")
Oy! There's an easier way. I wrote 110 lines of Common Lisp code that interprets strings like "cat /etc/passwd | sort > foo" and captures any results that sh would normally print to stdout.
/etc/passwd | sort") and then manipulate the results inside Lisp. If all you need is the side-effect, that's ok too: (capture "cat /etc/passwd | sort > foo").
Thus, you can be inside Common Lisp (a script or a listener), call (capture "cat
Eventually I might add the option of declaring aliases that can call a mix of sh and Lisp code; who knows, maybe even a way to let you put in a BNF to declare your own preferred mini-language.
So anyway, you can now use Lisp syntax where it's best, and revert to sh syntax when you have to. This lets you leverage existing scripts and files.
Plus... this interpreter doesn't invoke sh to run the Unix commands, thus reducing that overhead.
Plus... by using Lisp, you can load other Lisp code into the current image. That saves excess spawning of processes, lets you use the Lisp debugger's full power, and gives you more global knowledge about what's happening.
I know its rumored.. anyone have any facts?
---- Booth was a patriot ----
If you do not have anything to say, look for a grammerical/spelling error and post accordingly. Do this even if the error has all ready been pointed out. Do not concider the fact that not everyone is a native english speaker. Just do it. It is the right thing to do.
In the great CONS chain of life, you can either be the CAR or be in the CDR.
T'es qu'un gros bouffon.
Tes subtilités, tu peux te les carer ou je pense.
Sure. But get this. I tried to post my code as "Code" and the spam filter on slashdot tells me I have too many "junk" characters. That's anti-Lisp bigotry! ;P
;)
Email me at ericmoss@inebraska.com and I'll send it to you. Maybe you can get it to post correctly.
Use "ECODE" instead of "PRE" or "CODE".
http://www.thebricktestament.com/the_law/when_to_
Look again.
Got time? Spend some of it coding or testing