Watching the discussion on the Ruby Rogues Parley about the difference between procs and lambdas I realized that, by being tightly coupled with the context they are created, procs could easily create memory leaks.
Watching the discussion on the Ruby Rogues Parley about the difference between procs and lambdas I realized that, by being tightly coupled with the context they are created, procs could easily create memory leaks.
Duck typing is the “feature” that I currently like the most in Ruby, mainly because it makes it easier to create well-designed code - after all, you don’t need to worry about the type system: your focus is on the message you’re sending and the kind of role the object you’re interacting with can assume.
I may be wrong but TDD and testing in general aren’t as common in the C++ world as they are in Java or Ruby, and because of that and the fact that I already had TDD internalized, I’ve always found the process of learning C++ very hard. Besides that, for a beginner, having to deal with the language, different compilers, the compilation process and a crazy amount of boring gigantic books on the subject makes the journey of becoming a good C++ programmer very challenging. However, Jeff Langr published a beta version of his book “Modern C++ Programming with TDD” and with it he may be changing this perilous landscape!
In the last 2 years I worked at a company that fully embraced Test Driven Development (TDD) and automated testing in general. During that time no one around me questioned it: I had to create automated tests for every production code I wrote, and it had to be done preferably through TDD. The people from there even used to say that “code written without TDD isn’t a professional one”.
I must say that I disagree with the whole “TDD Is The Only True Way” story, but I thoroughly believe in something closely related: “production code without automated tests isn’t a professional one”.