Showing posts with label Visual C#. Show all posts
Showing posts with label Visual C#. Show all posts

Sunday, April 15, 2012

Visual Studio 2011 beta

If you're lucky enough to be able to get hold of a copy, the Visual Studio 2011 beta is available now.

Filled with great new features including a lot of stuff aimed at building metro style applications, Visual Studio 2011 carries on a long tradition of programming IDE excellence.

Metro style applications, originally only available as a scripting solution is now a full fledged C# or Visual Basic programming target so your applications can indeed contain all that you might expect from compiled managed code.

A simulator will be included for testing of Metro apps that are targeting phones or tablets as well as touch screen PC's, great if your development kit doesn't actually include a touch screen (I must fix that!)

You can do remote debugging. This is so useful if you need to debug the exact experience as it appears on the target device. I've used a version of this on my Gadgeteer but I'm looking forward to debugging live on my phone.

Microsoft are also really pushing the store. Create and manage your Windows store developer account and publish applications to the store. Windows Phone is sadly lagging behind iPhone and Android in terms of application availability so Microsoft obviously have a strong desire to make this process as easy as possible, unlike Apple who seem to want to get in the way of the process as much as possible.

Visual Studio 2011 also places great emphasis on code quality. This is an area which has almost never been used in the past except where consultants like me get called in to find out why a long running project is dying. With Visual Studio 2011 you get those tools built in and integrated into your build process from day 1.

I'm greatly looking forward to the final release. Lets get this beta over with Microsoft!!

Thursday, April 12, 2012

SPOT

Smart Personal Objects Technology much hyped a few years back (Wow! almost a decade!) with its inclusion in smart watches etc has clung on to existence in the .Net Micro Framework and is once again coming into prominence with the rising interest in do-it-yourself hardware.

SPOT contains a number of useful APIs aimed at standardising applications, events, timers, images, fonts and a host of other things.

Extensions to SPOT now available in the just released .Net Micro Framework version 4.2 provide layers for hardware devices and give access to facilities such as communications systems like USB and other serial standards. It provides simple access to file systems on SD cards or USB flash drives and enables the use of small displays and touch screens to name but a small part of what it is capable of.

Like so many good ideas, SPOT was in advance of the capabilities of the hardware of the time, giving a sort of utopian view that couldn't be realised and which was, sadly, vilified by the press and to some extent, the community itself. Now however, with the arrival of open-source hardware like Arduino and Gadgeteer, SPOT is becoming a front line choice for hobbyists and professionals alike.

If you're even remotely interested in the maker ethos or have a hankering to create a smart doorbell or a super-smart "talkie toaster" then SPOT will make that task easier.

Wednesday, April 11, 2012

First experience Macbook Air as a Windows Development device

I had a little Phillips laptop for several years. It was light and had reasonable battery life. It had a dual core with four gigabytes of memory and a reasonably sized hard-disk and I took it everywhere with me.

A while ago I gave the little laptop away to my son and decided to get a new one. Well, I ummed and ahhed for a long time about what to do. Whether to get a really small one or a powerful beast. I also seriously began to consider whether to go for something like a Lenovo or to get an Apple laptop and re-program it with Windows. It was tough.

My professional life has changed drastically in the last year because I made a concious decision not to continue in the same big finance corporate world I had become used to for nearly a decade. I really wanted to go back to electronics, embedded systems, small interconnected and mobile gizmos; to return to my career roots if you will.

My interest in mobile phone programming has enabled me to touch on iPhone, Android and Windows Phone. I have also taken up Arduino, PIC, Atmel and Gadgeteer programming as well as starting to do electronic and PCB design again. Apple only allows development for their hardware to be done on a Mac. I accepted this and bought a Mac Mini a couple of years ago but I can do most everything else with a PC.

I have however become impressed with Apple hardware. My iPhone and iPad are constant companions and the iPad delayed my desire to buy a laptop for more than six months because I really didn't need one when I had the iPad around. So, i bit the bullet, or should that be the apple?, and bought a Macbook Air. When it arrived, rather than setting it up in dual boot mode I decided to run a Windows 7 install in a virtual machine and retained the OSX-Lion on the real machine. In the last week I've had a chance to test it out and I'm pleasantly surprised that it all works fine.

I have VirtualBox running a Windows 7 install, Visual Studio on that. Then I have XCode on OSX but most importantly, Mono, MonoToch, MonoDroid and all the tools that let me write code in C# on non MS platforms with the framework APIs I am used to. I can even write on Visual Studio and copy directly to Mono and test on another platform.

C# Growing fast

For years, and indeed, even now, Java has been top of the heap when it comes to number of lines of code produced world wide. C# however has been catching up and is now snapping at the heels of the well established languages according to the TIOBE index.

C#'s original mandate, according to Anders Hjelsberg, was to make a simple and well structured language without the complications of C++'s multiple inheritance nightmare. Those of you that remember or perhaps still use C++ will know the pain of ATL and all that jazz. Now if you tell me you understand it then ok. If on the other hand you say that you like it I'll be inclined to question your sanity.

For me, it makes the most obscurely unreadable incomprehensible code that ever was written outside of an obfuscation contest.

As you may know from this blog, C# is now a prime language, not only on Windows platforms but also, through the auspices of the Novell / Mono / Xamarin effort a language available to developers of iPhone and Android platforms. It's also a great choice for stand-alone embedded systems with the .Net Micro Framework enabling C# on Gadgeteer and other platforms.

I'd love to see C# neck and neck with Java as a language choice and who knows, maybe one day, it will topple that venerable and, lets face it, equally managed language from the top of the index.