Lisp and Ruby
sdelmont writes "The developers of Rubinius, an experimental Ruby interpreter inspired by SmallTalk, have been discussing the possibility of adding a Lisp dialect to their VM. Pat Eyler collected some ideas and opinions from the people involved and it makes for some interesting reading. For many, Ruby already is an acceptable Lisp, and the language itself started as a 'perlification' of Lisp (even Matz says so) so it is perhaps fitting and might help explain why the whole idea feels right. Now, if someone added support for VB and gave it the respect it deserves, the world would be a better place."
Yeah, how dare MS make it easy for developers and even non developers to quickly create applications to fulfil their requirements.
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
And when that program gets too big for them to maintain (or they just don't feel like it anymore) they dump it on their IT area and we're stuck maintaining or converting an app in a technology we wouldn't have chosen that looks like it was designed by a pack of drunken monkeys.
Build a tool even an idiot can use and only an idiot will want to use it.
Some of what I say is fact, some is conjecture, the rest I'm just blowing out my ass...you guess.
To me, as an old Perl programmer, Ruby basically feels like what Perl 6 should have become: keeping with the idea of making things discoverable for the programmer and not having to work around syntax, but greatly cleaned up and with objects as an integrated part of the language, not so tacked-on as in Perl 5.
Ruby still has some pretty significant drawbacks, of course; it's slow, and has little support for Unicode (not that surprising, seeing it's from Japan). The libraries aren't as mature yet either; Perl has many year's headstart there so again no surprise. All of these are improving, though.
Trust the Computer. The Computer is your friend.
What most people don't realize is that Lisp is the inherent representation of virtually all programming languages. This is even true for languages like C, Java, Smalltalk, and Ruby. We can plainly see this by the very fact that basically every compiler or interpreter for those languages parses the language into an abstract syntax tree. And that's exactly what Lisp is: a textual representation of an AST. It is so powerful because it directly allows the programmer to access and modify what amounts to the AST of his or her program. This is something that a language like C isolates to the compiler, or at best the preprocessor.
What fewer people realize is that Smalltalk is Lisp with a slightly different syntax. The concepts are basically identical, however. So suppose the Ruby developers do all the hard work needed to switch their language over to a Smalltalk-like syntax. Do you know what will happen next? They'll ask themselves what could be improved next. And the first thing that'll happen is a consideration of making the syntax and semantics of the language more Lisp-like. And that's just because Lisp represents the most inherent aspects of what a programming language is.
That says far more about your circle of friends/co-workers than it does about the language.
Wax-Museum Fire Results In Hundreds Of New Danny DeVito Statues
I've been on the receiving end of many a poorly designed VB app, but is that the language's fault?
Assume we collect a random number of 3rd graders' essays. We can safely assume they will be pretty badly written. Do you automatically blame 'english' for the essays being bad? Maybe you also tout another language as superior just because the only ones you know speaking that other language are all 20+, and have picked up a bit or two about telling a story.
Btw, english is not my first language, and I think the VB slamming that is so fashionable around slashdot is just stupid. Not that I think there's any doubt about either after this.
It is if it helps introduce the concepts behind Lisp to a lot of people who never would have dared to venture into Lisp otherwise. Ruby was the first language with functional constructs I tried (very much due to the excitement around Rails). Now I'm reading up on Lambda Calculus and learning Haskell, and I'm not at all sure it would have happened, were it not for Ruby.
This is exactly the kind of reply I would expect from a VB developer or "non developer". By "quickly create applications to fulfil their requirements" you probably mean "create a horrible unmaintenable mess which not even the original author will touch, and which has is almost certainly going to be rewritten by a developer at some point in future". Enabling non developers make production code is *NOT* a good thing, I think most people with some experience in the industry will agree with this.
When you write code using the OpenStep frameworks, designed by NeXT and tidied up by NeXT and Sun, the path of least resistance is a clear model-view-controller separation. Someone asked me last week 'do you always follow strict MVC separation in your code?' I hadn't really thought about it, but I tend to because the framework just makes that the obvious way of working. In contrast, VB encourages you to keep model information in the view objects.
This is just one example. A good framework means that you implement good design patterns without thinking. If you do this, then your application will be more flexible and maintainable when you come to make changes to it in the future (or, more importantly, when someone else does). Developing with OpenStep is slightly harder than developing with VB. Maintaining an OpenStep application is far easier than maintaining a VB application.
I am TheRaven on Soylent News
I don't think I'd use Ruby for anything (except maybe as a teaching language), but I can't deny that it has done a superb job of introducing a new generation of programmers to the benefits of a true high-level language.
I am TheRaven on Soylent News
Not so much in response to the post, but to add to it...
I'm not that old, but I remember the same being said for:
- C++ compared to C
- Interpreted compared to Compiled
- Java compared to C++
- Servlets compared to CGI
The list could continue. Just wanted to highlight that "performance" is a short-lived reason to avoid a language. 8)Diplomacy is the art of saying, "Nice doggie!" until you can find a rock.
Nice bit of flamebait. Moving right along...
My company does all of that. We have a list of technologies that are approved, in containment and being retired. The department I work for is the likely place for these types of requests to be handled and we have a triage process that takes any request that comes in to well publicized email address and discusses it with the client to determine their needs and estimate the effort. If the client wants to go ahead it is prioritized and put in the schedule. Most times when they realize how much thought and effort it really takes to do it right they let us do it for them.
Even with all that there's always a guy (surprisingly never a woman) who read VB for dummies over the weekend and now thinks he knows as much as the entire IT department of a multi-billion dollar company. Unfortunately, what he doesn't realize is that writing a program is only a small piece of the problem. Once it's there you have to support and maintain it and that takes time. Then people begin asking for enhancements that he starts bolting on anywhere he can but it's getting harder and harder because he has no concept of design. Now his boss is telling him that he's spending too much time on it and it's not what he's getting paid for anyway. Then it gets dumped on IT and now we have to maintain it.
And anyone who says why don't you tell them that they'll have to keep maintaining it themselves or pay to have us migrate it to an approved technology has never worked in a large shop where politics often wins out over reality.
Besides, IT areas do a lot more than write programs. Coding is maybe 15-25% of the actual effort. There is analysis, design, integration (with other internal/external apps), regression testing and deployment to name a few. That's not to mention on-call support, enhancements and regulatory compliance not the least of which is SOX.
I don't have a problem with trained VB developers it's just that the simplicity of the tool and Microsoft's marketing give untrained people a false sense of ability.
Some of what I say is fact, some is conjecture, the rest I'm just blowing out my ass...you guess.