tag:blogger.com,1999:blog-9944221.post3373303924582155395..comments2023-11-03T06:15:55.087-05:00Comments on Meme Agora: Ruby Matters: A Place to Put Your StuffNeal Fordhttp://www.blogger.com/profile/12839796402858974817noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-9944221.post-65268828014684011412007-09-04T14:28:00.000-05:002007-09-04T14:28:00.000-05:00I enjoyed your talks on Ruby and JRuby at NFJS (i'...I enjoyed your talks on Ruby and JRuby at NFJS (i'm no longer stalking you :-)). Now I am learning Ruby the language and finding it a joy to solve problems that would have taken me down some very dark alleys in Java/C#/C++. <BR/><BR/>My langugage path is similar to yours C=>C++/Smalltalk=>Java/C#, with some wobbles on the way Objective C, Eiffel and Modula-2. <BR/><BR/>As I start to GET this meta programming lark, I'm wondering why it isn't mainstream. Sadly, adequate support for it in mainstream languages has been severely lacking. I think Ruby/JRuby, Groovy and Microsoft's DLR will at last bring meta programming to the masses.<BR/><BR/>Whether we can handle it is another matter...clevehttps://www.blogger.com/profile/16619572638254653530noreply@blogger.comtag:blogger.com,1999:blog-9944221.post-78460191316741783552007-09-04T13:12:00.000-05:002007-09-04T13:12:00.000-05:00C++0x will allow easier meta-programming construct...C++0x will allow easier meta-programming constructs. I have written some of my best apis in C++. C++ has a well defined syntax and was designed so that you can create your own custom types to act as natural as built in types within this syntax. The black magic comes about when people try to do things outside the syntax. <BR/><BR/>That is where dynamic languages shine in the context of meta-programming...they allow for more natural syntax..DSL if you will. Lua comes to my mind.<BR/><BR/>However, ironically the best language to create DSLs that I have found is Haskell. Primarily because of the power of creating your own monads and the ability to define your own operators completely.Maxim Khailohttps://www.blogger.com/profile/17506881105692780568noreply@blogger.comtag:blogger.com,1999:blog-9944221.post-90314596614362381172007-09-04T10:47:00.000-05:002007-09-04T10:47:00.000-05:00What is an example of something that you can't do ...What is an example of something that you can't do in Python because there is "no place to put your stuff"? Python objects also have classes and metaclasses.Paul Prescodhttps://www.blogger.com/profile/15412258048017521995noreply@blogger.comtag:blogger.com,1999:blog-9944221.post-21837387618557955002007-09-04T04:40:00.000-05:002007-09-04T04:40:00.000-05:00C++ priesthood .. Huh! I like the term .. truly so...<I>C++ priesthood</I> .. Huh! I like the term .. truly some of the template metaprogramming tricks in C++ are nothing short of black magic.Anonymoushttps://www.blogger.com/profile/01613713587074301135noreply@blogger.comtag:blogger.com,1999:blog-9944221.post-38624900526799271312007-09-03T22:51:00.000-05:002007-09-03T22:51:00.000-05:00Your path through languages is somewhat similar to...Your path through languages is somewhat similar to my own. I began with C moved to C++, then Java, and now I'm interested in Ruby, Smalltalk, Lisp and Erlang.<BR/><BR/>Sadly I had to return to C++ after Java and I felt so constrained once more. I even remember most of the secrets of const.<BR/><BR/>Luckily I'm sneaking out the back to visit C# and ActionScript professionally while messing around with Ruby and Squeak on the side.<BR/><BR/>I'm looking forward to the rest of your articles.Robert Stehwienhttps://www.blogger.com/profile/18158506849512588527noreply@blogger.com