small medium large xlarge

05 Aug 2010, 16:09
Brad Hutchins (58 posts)

I don’t even know why Ruby was included in this book at all. Seriously I would consider taking it out and putting one of the other candidates in instead. Programers know Ruby already. It is probably one of the most well known language. And this is do to no small effort of yourself (Bruce Tate… who was responsible for me getting into Ruby in the first place with your gutsy book “Beyond Java”). As well as the hard work of Andy Hunt, Obie Fernandez, Dave Thomas, David Black, Hal Fulton, David Heinemeier Hanson, David Flanagan, Peter Cooper, Kevin Baird, Brian Marick, Russ Olsen, Mike Clark, Michael Hartl, and of course Matz, and dozens of other authors… oh yeah… and some guy named Jim Weirich. :) Ruby is well covered.

Pick another OOP language. One, like the rest of the languages in this book, that shows real potential, but never really enjoyed a spot light moment.
Suggestions would be Python, Boo (a variant of Python), Lua, JavaScript, Go, “D” or the father of modern OOP languages, Smalltalk. My vote is for Smalltalk or “D”. :)

12 Aug 2010, 19:00
Brad Cantrell (15 posts)

Brad- I understand what your saying, I sort of wish that Bruce had used Smalltalk instead of Ruby (Bruce- you really should do your own Smalltalk book). But your other suggestions for languages are just dumb (no offence).

Python- Ruby’s OO is soooo much cleaner than Python’s use of double underscore modifiers and explicit use of self. Ruby is the language Python should have been had Guido not added features to Python on-the-fly rather than plan out the whole language at once.

Lua- is simply over-rated. Yes it is a fast and embeddable scripting language, but thats it. The inventors of Lua hype its functional programming features, but Python has twice as many functional programming features which are more powerful. I really hate having to explicitly declare variables as local in Lua.

Javascript- The book “Javascript:the Good Parts” is all you need to learn that language, Bruce made the right decision for teaching Io instead.

Go- is nothing more than a subset of C with some cosmetic changes to syntax and garbage collection and concurrency added. Libraries for concurrency and garbage collection for C and C++ have always been available, so I dont even consider Go to be a new language.

10 Jan 2013, 18:54
Stian Drøbak (6 posts)

“Programers know Ruby already.” based on what? You know it, and a lot of people seem to know it, so all programmers know it?

I liked that he included Ruby, it’s one that seemed easy enough to learn, so you got a good start, although I see why you didn’t like the choice, since you already knew it, leaving one less language for you to learn.

As for your suggestions, I can’t understand why you would put JavaScript or Python there, with your previous statement that “programers know __ already”. I am very certain that JavaScript is more used than Ruby, and I do think the same goes Python. Anyway the book is done, any changes done should reflect upon changes in the languages, and fixing up examples, and mistakes, if anything.

04 Aug 2013, 12:46
Bruce Tate (23 posts)

I included Ruby as a basis for comparison, and many of the Prag readers know something about it. Every seven in seven book has an existing technology that is well understood as a basis of comparison.

If you look at the flow, it makes sense from that perspective:

  • Ruby (very oo)
  • IO (prototype, starting to lean toward immutability through libraries)
  • Prolog (declarative, foundation for Erlang)
  • four functional languages

I like the overall flow of the book, and also like that there is a basis of comparison that is well-understood. Ruby was the most requested OO language among my readers, and I was only going to include one.

I hope this helps.

You must be logged in to comment