Tool List Motherload

I have no clue how anyone can use this many tools and I don’t really care, all I know is that there are lots of good tools there. My little tool list does not even come close.

Check out Scott Hanselman’s tool list.


I am a boxing fan. I enjoy ESPN Friday Night Fights not so much because of type of match-ups they make (they really are making bad ones lately), but in large part because of Teddy’s Atlas commentary. Teddy Atlas is good, old school, some would say dinosaur, boxing trainer. With Teddy they say, you get what you see, he is not pretending to be something he is not, love it or hate it. Good or bad.

One of the things he often talks about during fights is the need for a fighter to know his identify. Whether they are inside or outside fighter. Whether they use their natural given resources in most effective way,  whether they work with them, or against them. Not knowing your identity makes you much less effective. If you have long hands you should be outside fighter, you need room to throw punches and you are much less effective inside in close range.

I believe that same applies to programming languages. They are “born” with certain identities. Once they start losing that identity they start slow and certain death. Soon they will be replaced with something that has clearly defined identity.

This is what is happening right now with C#. It is losing its identity. C# was created as strongly typed language and that is its core identity. Now, some big brains in Microsoft, with apparently nothing to do, are adding dynamic typing to C#. Why? I don’t know why, they probably have lot of very good sounding explanations for it, but what this actually marks is beginning of the end of C# as language. It will be replaced in couple of years, I can’t say whether it is 4 or 10, but it will be replaced with language that has its identity clearly defined. Not replaced in sense that we’ll just throw it away, languages don’t die like that, but replaced in sense that new development will move to something else. VB 5/6 was replaced that way with .NET and C#.

C# will get diluted with so much unnecessary language features that nobody will want or like to use it effectively. I don’t think we need all this LINQ, Lambda, var typing and least of all dynamic keyword… It’s just junk that gets added… How about some decent Data Access Layer? Or fixing font, line and image rendering in WPF? Or fixing VS.NET WPF designer? Or wrapping up IronRuby? Nah, adding dynamic, LINQ and var typing to C# is much more fun.

I already start seeing people using var and dynamic for everything. Every single thing. And they’ll force you to use it too, since they will develop frameworks that rely on these features so you must use them as well. Then, when things start blowing up, because dynamic typing is not really dynamic, but a compiler gimmick, people will start throwing language away. We’ll hear it is not readable anymore, or it is too complex to learn, or… You name it…

Now, I don’t have anything against dynamic languages at all. I am not that grumpy old troll that can’t learn something new. That’s not it. I use Ruby and like it. JavaScript is fine too, thank you very much. But, when you need dynamic language then use dynamic language not one that is kind of dynamic.

It is this loss of identity that is bothering me. C# is simply not created as dynamically typed language and adding dynamic typing will dilute its effectiveness, even if it is only perceived effectiveness. Its like fighter with short hands trying to fight outside fight… It will get knocked down by fighter that knows his identity.

Rob Conery on his blog has also some good points against this as well, but opposing voices have never stopped Microsoft in past so they will not this time either…

On the bright side, maybe this is how new and better things get born. We have to first destroy the good things we have today…


No, its not number of years spent writing the code. It is the choice made between two solutions that both match requirements to solve the problem. Experienced ones choose simpler solution every single time.


Give up? Never!

And that’s the real secret of success. Try again, again and again until success cannot be denied to you anymore. Simple to say, but much, much harder to do. Setting long term goal and sticking to it for years on end is the formula.

While researchers have long focused on measurements of intelligence, such as the IQ test, as the crucial marker of future success, these scientists point out that most of the variation in individual achievement – what makes one person successful, while another might struggle – has nothing to do with being smart. Instead, it largely depends on personality traits such as grit and conscientiousness. It’s not that intelligence isn’t really important – Newton was clearly a genius – but that having a high IQ is not nearly enough.

From The truth about grit article in The Boston Globe.


Three kinds of people

There are three kinds of people in this world: Those who make things happen; those who watch things happen; and those who just wonder what a heck happened?

If you are first kind, we might have a job for you.


Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...

© 2009 Denis Basaric: DevComponents Blog