These are exciting days in the world of C++. Every month the C/C++ User Journal is packed with exciting articles on brilliant innovations in the areas of...
* Standards advancement
Hashes WhooHoo! Regexes! At last!
* Template metaprogramming
* New template libraries.
* Even Duck Typing!
And I read it all and just feel vaguely nauseated.
C++ is just so hard compared to Ruby. So fragile, so stiff, so error-prone with incredibly subtle gotchas on every corner.
It pains me now to even look at C++, even though for many years it was my language of choice.
Ruby advocacy is not merely sharing the pleasure, it's important for avoiding the pain of being forced financially back into writing C/C++...
John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter@tait.co.nz
New Zealand
Carter's Clarification of Murphy's Law.
"Things only ever go right so that they may go more spectacularly wrong later."
From this principle, all of life and physics may be deduced.
In article <Pine.LNX.4.63.0507140919460.29274@parore.tait.co.nz>,
···
John Carter <john.carter@tait.co.nz> wrote:
These are exciting days in the world of C++. Every month the C/C++ User
Journal is packed with exciting articles on brilliant innovations in the
areas of...
* Standards advancement
Hashes WhooHoo! Regexes! At last!
* Template metaprogramming
* New template libraries.
* Even Duck Typing!
And I read it all and just feel vaguely nauseated.
C++ is just so hard compared to Ruby. So fragile, so stiff, so
error-prone with incredibly subtle gotchas on every corner.
It pains me now to even look at C++, even though for many years it was my
language of choice.
Ruby advocacy is not merely sharing the pleasure, it's important for
avoiding the pain of being forced financially back into writing C/C++...
C++ can be painful, but as you say things are changing in C++ land. There
are some nice developments going on, especially with Boost.
I have to use C++ for some things (Ruby on it's own just isn't fast enough
yet) but I do find that the two (Ruby and C++) complement each other
rather nicely (especially usign Swig or by embedding ruby into a C++ app).
These are exciting days in the world of C++. Every month the C/C++ User Journal is packed with exciting articles on brilliant innovations in the areas of...
* Standards advancement
Hashes WhooHoo! Regexes! At last!
* Template metaprogramming
* New template libraries.
* Even Duck Typing!
And I read it all and just feel vaguely nauseated.
C++ is just so hard compared to Ruby. So fragile, so stiff, so error-prone with incredibly subtle gotchas on every corner.
It pains me now to even look at C++, even though for many years it was my language of choice.
Ruby advocacy is not merely sharing the pleasure, it's important for avoiding the pain of being forced financially back into writing C/C++...
It's ruined my Java, too. I recently discovered java.lang.reflect.Proxy (as used by the wonderful EasyMock framework), and I've since had to suppress the urge to make everything an interface with so implementation just so that I can make a Proxy out of it and call methods dynamically. It's no Ruby (or Smalltalk), but it's something.
It's ruined my Perl. I can't stand Perl syntax any more. "Why do I have to keep remembering these stupid semicolons? Why do I need $ symbols everywhere? What are all these arrows for? Is this a value or a reference? Aargh!"
Fortunately, that's exactly the effect I was hoping for.
I find myself writting lots of anonymous inner classes in a vain attempt at
doing code blocks in Java.
···
On 7/14/05, jason r tibbetts <tibbettj@verdi.iisd.sra.com> wrote:
John Carter wrote:
> These are exciting days in the world of C++. Every month the C/C++ User
> Journal is packed with exciting articles on brilliant innovations in the
> areas of...
> * Standards advancement
> Hashes WhooHoo! Regexes! At last!
> * Template metaprogramming
> * New template libraries.
> * Even Duck Typing!
>
> And I read it all and just feel vaguely nauseated.
>
> C++ is just so hard compared to Ruby. So fragile, so stiff, so
> error-prone with incredibly subtle gotchas on every corner.
>
> It pains me now to even look at C++, even though for many years it was
> my language of choice.
>
> Ruby advocacy is not merely sharing the pleasure, it's important for
> avoiding the pain of being forced financially back into writing C/C++...
It's ruined my Java, too. I recently discovered java.lang.reflect.Proxy
(as used by the wonderful EasyMock framework), and I've since had to
suppress the urge to make everything an interface with so implementation
just so that I can make a Proxy out of it and call methods dynamically.
It's no Ruby (or Smalltalk), but it's something.
It's ruined my Perl. I can't stand Perl syntax any more. "Why do I have to keep remembering these stupid semicolons? Why do I need $ symbols everywhere? What are all these arrows for? Is this a value or a reference? Aargh!"
Fortunately, that's exactly the effect I was hoping for.
I actively use and still love C++ after 10 years. It does not prevent me from loving Ruby even more ;-). I must admit, though, that my C++ style got affected a great deal by the latter.
after working with it for a few months i'm starting to see some holes.
there doesn't seem to be a 'standard' gui that's fully implemented for
ruby. the gui's that AREA available need work. and for newbies they
aren't easy to work with at all.
in tcl/tk you can use this to create a button
button .b -text "quit" -command {exit}
pack .b
i'd really like something like this for ruby (off the top of my head):
class quit_button < button
def initalize
button_text("quit")
self.show
placeongrid()
# you get the idea
end
def button_text(t)
quit_text=t
end
def click
app.cleanup
end
end
even with my limited knowledge/experience of ruby this is straight
forward to me
On 7/14/05, Gennady Bystritksy <gfb@tonesoft.com> wrote:
Kero wrote:
>>Two!
>
>
> C++ managed to ruin itself in a few months.
I actively use and still love C++ after 10 years. It does not prevent me
from loving Ruby even more ;-). I must admit, though, that my C++ style
got affected a great deal by the latter.
Can you expand on this a little? I find myself "borrowing" paradigms
and styles from one language/platform/pattern/etc. to the next as I
play with them, and would love to hear others' experiences in
cross-language idea implementation.
···
On 7/14/05, Gennady Bystritksy <gfb@tonesoft.com> wrote:
Kero wrote:
>>Two!
>
>
> C++ managed to ruin itself in a few months.
I actively use and still love C++ after 10 years. It does not prevent me
from loving Ruby even more ;-). I must admit, though, that my C++ style
got affected a great deal by the latter.
--
I tend to view "truly flexible" by another term: "Make everything
equally hard". -- DHH
i'd really like something like this for ruby (off the top of my head):
class quit_button < button
def initalize
button_text("quit")
self.show
placeongrid()
# you get the idea
end
def button_text(t)
quit_text=t
end
def click
app.cleanup
end
end
Inheritance just for the purpose to add callbacks/configuration
already proved to be wrong a long time ago. The only framework which
tried this was self, but as self is OO without classes it's not
comparable.
From the length of your example you should see where the problem is.
···
--
Best regards, emailto: scholz at scriptolutions dot com
Lothar Scholz http://www.ruby-ide.com
CTO Scriptolutions Ruby, PHP, Python IDE 's
after working with it for a few months i'm starting to see some holes.
I didn't say there were no holes. No language is perfect. But so far the
positive experiences outweigh the negative ones, easily.
there doesn't seem to be a 'standard' gui that's fully implemented for
ruby. the gui's that AREA available need work. and for newbies they
aren't easy to work with at all.
uhm. some people like some GUI binding of Ruby. Others hate the same
binding. Personally, I haven't seen a single good GUI library in any
language; so I can't hold this against Ruby
in tcl/tk you can use this to create a button
button .b -text "quit" -command {exit}
pack .b
and in Ruby/Tk you do:
b = TkButton.new(nil, "text"=>"quit").pack
b.command { exit }
there doesn't seem to be a 'standard' gui that's fully implemented for
ruby.
Well, there isn't a "standard" GUI that's fully implemented for all the platforms Ruby runs on. wxWidgets is probably the closest, but it's not a full implementation of the OS X GUI, for example.
I actively use and still love C++ after 10 years. It does not prevent me
from loving Ruby even more ;-). I must admit, though, that my C++ style
got affected a great deal by the latter.
Why do you love it?
Hmm, I do not know. Maybe when you spent time to get to know something in depth, you start appreciating it more. Maybe because it allows me to refactor legacy C code to gradually get to OO implementation with all its benefits (true unit testing, code reuse, etc.)
In any case, if you keep to a certain (hopefully right) way of doing C++, it may be pretty enjoyable. I adopted many principles that often keep me from trouble there. However, I know that I always can step aside from them if I need to be more flexible sometimes.
And of course it makes you feel special that you are comfortable and can deal with something many people only whining about
Gennady.
···
On 7/14/05, Gennady Bystritksy <gfb@tonesoft.com> wrote:
Inheritance just for the purpose to add callbacks/configuration
already proved to be wrong a long time ago. The only framework which
tried this was self, but as self is OO without classes it's not
comparable.
wxWindows (now wxWidgets, I'm told) does this, and made programming windows in C++ oodles easier for me. But that's neither here nor there.
Inheritance just for the purpose to add callbacks/configuration
already proved to be wrong a long time ago. The only framework which
tried this was self, but as self is OO without classes it's not
comparable.
obviously my example wasn't meant as the next innovation for ruby
it was just an example of the kind of simplicity i'd like to see.
From the length of your example you should see where the problem is.
even as i was typing it up i could see where there were problems. as
it was i completely forgot to type in the second and third parts of my
language.
the second being about ruby installs, and the third being back to the
gui subject and more specfically gui builders.