Programming
Back in June, I posted my own version of the Joel Test – updated for 2010. [See Here.] Do you have a change management system? Can everyone make a build in one step? Do your daily builds include automated tests? Is work item tracking integrated with source control? Do you fix bugs and write new code? Do you track progress and manage change? Do you have a requirements management system? Do programmers have quiet working conditions and teaming rooms? Do you use the best tools money can buy? Are your...
I know I’m late to the iPhone development party, and consequently I’m also late to the Objective-C debates. But I can’t help but chime in; so here goes . . . Back in the Day Back in the C programming days (while I was apparently sleeping), there seem to have been two directions: The C++ road, and the objective-C road. I have never seen Objective-C until OS-X, and I have never worked with it until a couple of weeks ago, but there is certainly a lot of goodness going on here – much more than C++ ever...
New Apple iMac Arrives The latest edition to the growing home computing center is an Apple iMac (Intel E7600 Core 2 Duo/8Gb RAM/1Tb HD/21.5"), which I promptly setup to use Boot Camp with Windows 7 as the default OS. This makes a great Family Room machine, in Windows or MacOS (despite missing HDMI port), and doubles as the iPhone development platform. What is more interesting is the purchase survey, which I took today. Apple New Purchase Survey Going though the questions it became clear that there...
My first thought – who needs another language? Are new languages the new rage? If I were to design a new language (I am not qualified, trust me), what would it address . . . It would be garbage collected (no brainer) It would run in a VM (actually, many different VMs ) It would also be statically typed (I think many would disagree these days) Threading would be a focus (with message passing as a language feature). Certainly include some aspects of functional programming languages It would have first...
Visual Studio 2010 beta2 + Framework 4.0 . . . with a few comments on Windows Virtual PC. Installation I don’t “work” on my laptop – mostly used for travel, library, watching Hulu and channel 9, etc. Since I will be out of town for a while, however, I decided to install VS20101b2 in a winVPC for the trip on the laptop. The only complaint about the new VPC offering from Microsoft is that when it is running, it takes forever for my notebook to initiate sleep mode. I don’t recall the old product having...
Static Reflection in .Net Where have I been? I recently took a few minutes to look through the latest MSDN magazine and ran across a nice article by Jeremy Miller on “Functional Programming for Everyday .NET Development”. The section titled “Lambdas as Data” was my first introduction to static reflection in .Net. Where the heck have I been? I don’t write database persistence code, so I am not familiar with NHibernate (or fluent NHibernate) (which is where Jeremy’s sample comes from), but I am still...
Designing Software for Scientists Creating a software design for scientists can be tricky business. Unlike the businessman, who is better off looking at the pretty database report or marveling over the catchy name of the latest Forms over Data application, the scientist can actually contribute to the implementation – provided you use the right architecture. In year’s past (I’m referring to 20+ years ago), the typical Physicist / Chemist / etc. was nearly on par with the typical software engineer...
The Process class in .Net makes it easy to run command line tools from within a .Net program. Here is an implementation with a couple of twists: Environment variable expansion Optional asynchronous execution Transformation of output into an enumerable collection of objects The implementation takes the form of an object named CommandLineTool with the following constructors: public CommandLineTool(string command) : this(command, String.Empty, Environment.CurrentDirectory, _defaultTransform) { }public...
Remember when a program was termed a “GUI Application” - a program with a Graphical User Interface? It had features like menus that “dropped-down” (or “popped up”), scroll bars to reveal more of the virtual surface area, a pointing device (still called a cursor), and lots and lots of Drag & Drop. Thankfully, that moniker has mostly died. Now it is time another term to fall by the wayside – the Web Application. What is a Web Application? Just what is a web application, anyway. An application delivered...
Below are a few thoughts on the upcoming framework 4.0. I am not sure if the feature set is finalized, but I’ll comment on what I think are some of the more interesting features being planned for this release, as seen in the beta. Managed Extensibility Framework Plug-in architectures are a fairly common pattern for many scenarios, and I have seen quite a few over the years. MEF seems to be a nice combination of plug-in/IoC container/Dependency Injection framework. It’s use in Visual Studio 2010 should...
Full Programming Archive