Microsoft Windows

Back to CV or Home or more Windows or Projects

Starting in Microsoft Windows 3.1 (MSW31), this Graphical User Interface (GUI) really began to change how we use computers. Since, at the time, we, Computer Logics, wanted to connect to a mainframe network, this meant adding lots of 3rd party software, to, for instance added tcp/ip protocol suite, until the arrival of version 3.11. Thankfully MS began to include full 'communications' software as part of the OS.

 

This 16-bit Operating System (OS) started to address multitasking and memory problems. This was the era of breaking the 1 MB, actually the 640 KB, Random Access Memory (RAM) barrier, and successfully using the hard disk system to massively extend memory, real and virtual, through disk file 'swapping'.

 

As Intel, and others, brought 32-bit CPU's into the then personal computer, there was a chance to re-write a new OS. OS/2, initially an IBM, MS joint effort, was born, but quite quickly MS broke off to bring out MS Windows 95 (MSW95). Lots of great ideas and innervations went into this new GUI, with a lot of emphasis on the so call 'User Friendly' initiative.

 

It seems many pundits commented that MSW95 still contained a lot of 16-bit code, and quite quickly MS released their "New Technology" OS, Windows NT, starting a second stream of their OS, with more security, scalability, etc. There was little obvious visual change, but as a programmer, working under the hood so to speak, there were very obvious differences. For a start it began to be difficult to continue to run certain 16-bit applications, but lots more was happening.

 

The very successful Windows 98 followed, and the short live Millennium Edition. NT morphed into Windows 2000, as MS began to strongly move into the server market, by far the biggest business part of the pie, despite the massive media coverage given to the user interface of the 95/98 stream of the OS. Server 2000 did give them market gains over the largely unix/linux form of servers. Keeping one fully functional OS is difficult, given the rapid, fast, even erratic, pace of the computer development, so it was inevitable that the two streams would join, somehow ...

 

Again, trust marketing to dream up something to call it. Perhaps they had learned that following the media concentration on 'looks', they should call it a "New Experience", so version XP was born, and the growth, change will continue in this decade, and onwards ...

 

I have been lucky to have owned, used, and developed software in all its forms. At one time walking down my workbench was a real museum, like walk through history. And that does not included the no longer functional 'luggable' - it was as large as an average suitcase, but twice as heavy, with a 5 1/4" drive, tiny orange base CRT, with a 'massive' 40 MB HDD. Of course the functional machines were now joined in a simple peer-to-peer network - 4 Mb ethernet, and I had a fast at the time ISDN internet connection (V.90 64KB) ...

 

Microsoft Visual Studio

 

One of the first Integrated Development Environments (IDE) that felt as if it worked was Visual Studio, version circa 3. It even had a separate IDE just to continue 16-bit development for a while, but that was shortly dropped. I joined the Microsoft Development Network, at the professional level, MSDN Pro, which I kept until December 2003. During this last year MS released their .NET initiative, which is really just version 7, but again marketing now have a say ...

 

To me the best part of the 'integration' was the extensive help system. You only had to type say -

    HANDLE h = CreateFile(

and a beautiful tooltip would be shown, leading you through the parameter list, like -
HANDLE WINAPI CreateFile(
LPCSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile );

Or, in C++, if you had designed a structure or a class you only needed to type the variable followed by a dot (.), or an indirect reference through "->", and the members of the object would be listed in a tooltip. All you had to do was choose an element, hit the tab key, and the IDE typed the code for you. This really helped avoiding stupid code, and gave many thousands more developers access to coding. But it can not help avoid bad code ... I guess only experience gives you some of that knowledge.

 

The .NET, DOTNET, started to really combine several coding forms. C++, C#, which touts as one of its innovations was to remove the seeming ambiguity of the C++ "->", making all reference by the dot (.). This certainly makes code easier to learn, hence the substantial number of people who say they can code in C#, but does it increase understanding of what really happens inside the compiler? ...

 

But .NET also smoothed out some the differences between web script languages, like VBScript, JavaScript, and creating and dealing with various web objects. COM/DCOM embedding was made relatively easily, Active Server Page (ASP, more specifically ASP.NET) came to fruition ... Writing code in almost any of it now diverse forms become relatively easy ...

 

Perhaps one of the best development through all this change was debugging. There are various stereotypic image as to what percentage of time is spent on design, coding, testing and debugging phases of code development, but most will settle on a fair percentage of time is spent on the testing, debugging stage. The ability to step through the source code, whatever its form, is fantastic ...

 

The ability to quickly write a prototype, of a part of the code, perhaps add some emulation, or simulation of external components, meant that that final test stage time could be substantially reduced. In fact, for example Visual Basic was marketed at a quite heavy weight Rapid Application Development (RAD) application, development in C/C++/C# became almost as fast, and often more reusable ...

 

Much of this came about as Microsoft continued to develop its Windows OS. With each OS grade, the tools to develop applications, components, objects improved, many times because it was 'visual'. Some low level items remained quite difficult as the hardware moved on, but the application layer exploded. 

 

Back to CV or Home or more Windows or Projects