10 Favorite Software Books

Software Business, Software Development 1 Comment »

These are my 10 favorite software-related books. The order is roughly based on how many times I have read them.

10. Code Complete (Steve McConnell)

A good book, but it’s long so I don’t re-read it as often as I should.

9. Programmer’s at Work (Susan Lammers)

A bit dated, this book has some interesting tales from pioneers in the software industry. I liked it much more than Founders at Work, which to me read more like a book of how some people got lucky.

8. Coder to Developer (Mike Gunderloy)

Some very good advice for how to work with Visual Studio more effectively.

7. Developer to Designer (Mike Gunderloy)

Perhaps some of this book is obvious and it has a lot of needless details, but I still like it.

6. Rapid Development (Steve McConnell)

If you find yourself working on medium to large project teams, this book is invaluable.

5. User Interface Design for Programmers (Joel Spolsky)

I love the UI examples and stories that Joel tells.

4. Joel on Software (Joel Spolsky)

A collection of great articles from Joel Spolsky’s Joel on Software web site. These articles are getting a bit dated, but they are always fun to read.

3. Eric Sink on the Business of Software (Eric Sink)

This an excellent collection of Eric’s writings from his blog and MSDN.

2. Micro-ISV: From Vision to Reality (Bob Walsh)

A great book that outlines how you can get started with your own Micro-ISV. I also find all the case studies to be inspiring.

1. Pragmatic Programmer (Andrew Hunt, David Thomas)

My all-time favorite programming book. The topics in it are obvious, perhaps even simple. But the book is short, fun-to-read and always worth revisiting.

You’ll notice there are not any actual technical books listed. I think that’s probably because they go out of date so quickly that I never end up re-reading them much.

What are your favorite software-related books?

Microsoft Has Gone Insane

Interesting Companies, Software Business, Software Development 10 Comments »

There have been some postings lately about how Microsoft is dead. The most famous probably being the one by Paul Graham. Now granted, Paul wasn’t really saying that they were literally dead, just that other companies and technologies are making them irrelevant. And in this industry, being irrelevant is equivalent to being dead. However, I don’t think it’s other companies that are causing it. I think it is Microsoft themselves. Here’s a little secret: I think Microsoft has gone insane. What makes me think that, you ask? Well, let’s look at some evidence:

Office 2007 Ribbon Bar and New File Formats

Microsoft is rebelling against the standards that they helped create. I’m pretty sure the first toolbars appeared in Office apps in the early 90’s. Microsoft now thinks it can catch lightening in a bottle again with its Ribbon Bar. I applaud them for attempting to innovate, but I’m not liking the Ribbon Bar. It throws everything in your face. It’s overwhelming. And this makes it harder to find stuff.

And was a new file format really necessary? I think Microsoft was just sick of all these other apps starting to have built-in compatibility with all the office file formats so they felt they needed to come up with something new.

I know a lot of companies that have no plans to switch to Office 2007 and are actually investigating OpenOffice.

Vista

I won’t go on about Vista being late. Software is always late (hello, Mac OS X Leopard). I will go on about the User Account Control (UAC). Who thought that monstrosity up? I have it disabled on all my Vista installations because it’s just gets in the way far too often to be practical. It comes up when installing any software, which is somewhat understandable, but also comes up when doing seemingly innocent things like adjusting the time.

Definitely an Insane Idea. “Wow”, indeed.

Another crazy thing about Vista is that Microsoft will not support using Visual Studio 2003 with it. A lot of places are still using Visual Studio 2003 and are now getting new computers with Vista. They’re forced to set up virtual machines in order to do their work. It’s crazy!

.NET

.NET used to be great. I loved the initial releases of .NET. I talked it up to anyone I could. I’ve built a lot of software with Visual Studio 2003 and .NET 1.1. But since the release of .NET 2.0 things have gone downhill. Fast.

.NET 2.0 was released on November 2005, along with Visual Studio 2005. Kind of late in the year to release a product with the year in its name, but that’s just me, I guess. Anyway, now all the talk is about .NET 3.0 and Visual Studio Orcas. There’s WPF, WCF, WF, CardSpaces, Silverlight, C# 3.0, LINQ and more I’m sure I’m forgetting. Microsoft and their 10 million employees are banging out new technologies faster than anyone can keep up. You want to use those technologies with Visual Studio 2005? Well, you have to download the .NET 3.0 framework and install a bunch of (beta) add-ons for Visual Studio. “This will all be seemless with Orcas”, we’re told.

When technologies start to get too complicated, people start evaluating others. Why do you think people (like me) migrated from Java to .NET back in 2002/2003? It was because Java had gotten too complex and .NET was a breath of fresh air.

The quality, too, is telling. Visual Studio 2003 did not have its first service pack release until 2006 (3 years after it was released) mostly because it just worked. Visual Studio 2005 had its first service pack released 1 year after it was released, and people were clamoring for it long before then because of bugs and slow performance. Because of this, I know a lot of companies and organizations that are sticking with Visual Studio 2003.

I’m also annoyed at Microsoft’s naming conventions. On the one hand they go with really lame names like Windows Presentation Foundation when they had a cool code name like Avalon they could have kept using. Then, in complete contrast, for other products they switch from the boring name (Windows Presentation Foundation/Everywhere) to a name like Silverlight. It makes no sense. Surely a sign of insanity.

Visual Basic

Which way are they going with this? First they kill Visual Basic 6, quite possible the most popular programming language on the planet, and replace it with Visual Basic .NET. Then for .NET 2.0 they decide that Visual Basic will start to get back some of the ease-of-use capabilities it that VB6 had, such as edit-and-continue. BASIC (and Visual Basic) is what identifies Microsoft. Altair BASIC was their first product. Visual Basic is what brought legions of programmers to Microsoft’s Windows platform.

I know a lot of companies that don’t want to switch to .NET and are now evaluating other options.

Insane, Insane again

Microsoft is one of the largest and most profitable companies on the planet. It seems like they should be able to do more. Their revenue of $44B for 2006 would put them at number 63 in the world if they were a country.

Microsoft is now like a crazy rich uncle who thinks you have to tolerate him because he’s rich. Microsoft is not dead, but they moving towards irrelevance. Is it a coincidence that all this is happening at about the same time that Bill Gates has been transitioning from the company? Perhaps not.

Migrating From Visual Basic to REALbasic

REALbasic, Software Business, Software Development 5 Comments »

At REAL World 2007, I met and talked with a lot of people that have software solutions written in Visual Basic 6 and are wondering what they should do about them. Since Microsoft is no longer supporting VB6, it has left many, many people with a quandary: Do they stick with Microsoft and move on up to Visual Basic .NET, do they tough it out with VB6 or do they consider moving to something else such as REALbasic?

Frankly, I think a lot of VB6 developers are overwhelmed by Microsoft’s .NET offerings. Microsoft has more technologies out now than anyone could possible follow and its mad rush of new technologies continues with .NET 3.0 and Orcas. It’s hard to keep up when you’re trying to deliver software. And besides, it’s not like it easy to migrate from VB6 to VB.NET, even with Visual Studio’s migration assistant.

I also don’t think people really want to continue with VB6. It’s several years old now, the IDE UI is poor, it probably isn’t fully Vista compatible and really just doesn’t have a future. I think REALbasic is a realistic alternative to Visual Basic and I don’t think I’m alone. In fact, I got the impression while at REAL World that there are a lot of companies that would be extremely interested in migrating from VB6 to REALbasic, but it’s not at straightforward as they would like.

First, there is not a lot of information on how to go about moving your software from VB6 to REALbasic. Sure, REAL Software has their VB6 to RB whitepaper and their VB project converter. But the white paper does not go into much depth and the project converter is not well regarded in the community. In fact, there’s been much talk on the REALbasic forums about creating an all-new community project converter.

In my opinion a converter is probably not a realistic goal. Sure, some simple code could be converted, but not the complicated stuff. And who really needs help with the simply stuff, anyway? I think that a migration analyzer would be more useful, perhaps like MoMA for .NET to Mono migration. An analyzer scans your projects and gives you a report of areas that you need to focus on while migrating your code.

In most cases, I think REALbasic is a much better choice for VB6 developers than .NET is. REALbasic is more powerful than VB, but not nearly as complex as .NET. RB has a fully object-oriented language, many more controls than VB and is currently supported by an excellent company. And of course, it is cross-platform, which is not insignificant.

The biggest areas where REALbasic falls down when compared to VB are:

  • 3rd party controls. REALbasic cannot use all the ActiveX and COM controls that VB can. And there are fewer REALbasic 3rd party developers making controls.
  • REALbasic cannot create DLLs or COM components
  • Reporting solutions are few and far between

Still, I think it makes sense for more VB6 shops and developers to evaluate REALbasic to see if it makes sense for them to use. In order to help with this, I am pleased to announce that LogicalVue Software is now offering a new service: VB to REALbasic Migration Analysis

Follow the link for full details, but to briefly summarize: We will review your VB software and provide you with a report of how good of a candidate it is for migration to REALbasic. This report will describe the level of effort, areas to focus on and provide general guidance. And if you like, we can also provide estimates for helping you do the actual migration.

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Login