While it may not have the highest performance, Ruby has some features that I wish I had at my disposal in any programming language.
Method Missing
If an undefined method is called on a object, the method name and parameters get passed to method_missing (unless method_missing is missing, then an exception is raised). Method missing enables ActiveRecord (the ORM used by Rails) to do things like: User.find_by_name("daniel") without actually defining a method for each attribute on an object.
Mixins
Understanding how powerful mixins are until using them can be difficult, but they allow adding functionality to classes without extending them. In a way, this solves a need for multiple inheritance. Sure, if I want some extra functionality on ArrayList in .NET I can extend it and make my own ArrayList. But what if a client wants my added functionality along with another person’s added functionality? If using Ruby, just "mixin" both our modules...
Content suppressed by ://URLFAN, for full article visit source
Joel Spolsky on Bill GatesFrom: dcmanges.com
Post Date: 2006-06-27 19:20:43
I just finished reading Joel Spolsky’s post on his BillG review .
From the post:
Bill Gates was amazingly technical. He understood Variants, and COM objects, and IDispatch and why Automation is different than vtables and why this might lead to dual interfaces. He worried about date functions. He didn’t meddle in software if he trusted the people who were working on it, but you couldn’t bullshit him for a minute because he was a programmer. A real, actual, programmer. ...
more Max Execution Time on ThreadFrom: dcmanges.com
Post Date: 2006-06-26 18:39:20
I posted a question to the microsoft.public.dotnet.languages.csharp newsgroup this morning about setting a max execution time on a thread. Peter Bromberg of EggHeadCafe helped me out, and then followed up by posting an article on his website. This will definitely help out with testing, especially as a loose way to enforce performance constraints. For example, it will help with testing TopCoder algorithms which have a 2 second max execution time. Thanks Peter!
...
more DotNet CultureInfoFrom: dcmanges.com
Post Date: 2006-06-05 13:00:08
Earlier today I discovered a bug in Life2Go where I used DateTime.Parse(”mm/dd/yyyy”). This is a perfect example of “it worked on my machine.” I wasn’t thinking about culture when I wrote the line, but for many people outside of the United States, 06/20/2006 is the 6th day of the 20th month, which throws an exception.
Testing it for 128 cultures which I could set on my machine, 105 threw an exception or did not result in June 20th, 2006. Writing th...
more Life2Go ReleaseFrom: dcmanges.com
Post Date: 2006-06-02 11:32:53
Kevin and I released Life2Go yesterday. The program used to be called Pod2Go, but we had to change the name (see Kevin’s post about the name change).
Although the Windows version is lacking some features the Mac version has, it is much more stable than the Windows beta we released a few months ago. The two versions should have almost identical features by version 2.0.
Anyway, if you have an iPod, check it out. You can use the program for free for two weeks.
...
more