With the news in February that Microsoft and Nokia have agreed to form a working partnership, the stage has been set for one of the hardest corporate fight backs since Steve Jobs came back to Apple in 1997. During the 1990s, Nokia was the world leader in mobile handsets and their position seemed assured, but then a Canadian outfit called Research In Motion started making something called a Blackberry, which at first was just a device to allow corporate types to check their e-mail. Soon this market started to grow and strangely it grew in a direction that wasn’t being lead by the once dominant market leader; instead a Californian computer maker was calling the shots, how could it have gone so wrong for the plucky Fins so quickly?
Nokia, so beloved by consumers in western countries, found their core market moving to emerging economies; the problem with emerging economies – however – is that their consumers want what us westerners have too, which could spell distaster for Nokia if something wasn’t done to shore up it’s position. They tried a few things, the latest one being embracing a little known mobile OS called MeeGo, but none of these worked.
So, with the news that Nokia and Microsoft have penned a deal that will see these two tech giants working together, what can we expect?
The first device born out of this marriage is the Nokia Lumia 800, which seems to be good start. Running Windows Phone 7.5 (Mango) the device is designed to compete against the likes of the Apple iPhone & high-end Android devices and promises to bring the Windows Phone OS in from the cold. It boasts some impressive tech specs, specifically: a 3.7″ AMOLED screen, 8 megapixel camera with Carl-Zeiss lens and 1.4 GHz Qualcomm processor, all wrapped up in a polycarbonate unibody design. The benefit of buying the Nokia Lumia, over the other Windows Phones out there is the inclusion of Nokia Drive, which is a complete satellite navigation app for free, equivalent apps on the iPhone or Android would cost somewhere in the region of £50 (€ 60, US$ 80) for the UK and Ireland alone; though whether this is enough to entice people to go for the Nokia over other handsets, only time will tell.
The Lumia will hit the shops on 16th November, but will it signify the beginning of the fight back for Nokia or just another failed attempt to reclaim their position?
OK, so one post in and I’ve already gone ‘Geek’, to those of the audience who don’t appreciate geekiness I have only this to say: Could you imagine a World without that smartphone you’re tied to or even a World without, god forbid, the Internet? No? I thought so…
So, lately I have been investigating C# and .NET; after being a confirmed PHP nut for so many years I thought it would make sense to see what else is out there. The last time I had anything to do with Microsoft programming I was writing VBScript for ASP, which at the time was a poor competitor to PHP, so it’s definitely been time to look again.
Anyway, preamble aside, apologies if you’ve found this post from Google and just want to know why you shouldn’t use named parameters in C#. As some of you may know, C# introduced named parameters in version 4.0; for those of you who don’t know what I’m on about, named parameters is the practice of specifying a parameter name in order to pass a value to that parameter.
Take this as an example, you’re writing some code that uses a library and you decide that it might be quite nice to specify the parameter name for each value when calling a method in the library; if you’re using Visual Studio, Intellisense gives you the parameter names so why not use them? Here’s why… Suppose the author of the library – you’re using – decides that the parameter name he specified in version 1.0 doesn’t describe itself very well and wants to change it? He thinks nothing of it since most languages don’t use named parameters and changes the name to something a little more meaningful. You go ahead and install his updated library, expecting to use all the new functionality you’ve been waiting for, and BOOM! Your wonderful app no longer works, worse still you’ve not written unit tests and your client or customer finds the bug before you do. If you didn’t specify the parameter name, when passing the value into that method, it wouldn’t matter what he named the parameter in any version.
Named parameters will unlikely cause the same kind of problems if you’re accessing private methods as you have full visibility of the class you’re working on, but for purposes of coding convention I would keep away from using them unless you have a compelling reason to do so.
I’ve been keeping a website in one guise or another for some years now, in fact I think my first attempt was a Flash driven affair back in 2001, which I finally integrated into Blogger in order to make it easier to update; I should really see if my blog posts are still there in the Blogger account.
So here it is, the next incarnation of my website; not really here for fun but rather as a place to show the World what I’ve been up to for the past few years and what I think about the tech industry. Some posts might be quite general – in fact, if they were assessed for suitability by the BBFC they would be given a U certificate, “Suitable for all” – whereas other posts should be given a G certificate, “Geeks only”.
I will try to keep this blog up to date as much as possible, but who knows how long that will last; I notice the last update on my previous website was made on 18th April 2010, and even that was after a long pause. So feel free to check back every now and then, you might be surprised; I did say you might be.