Scott McMahan | |||||||||||||
| |||||||||||||
Contents SoftBase Systems
| SoftBase Systems, Inc (1994 - present).NET Research ProjectAfter not having developed for the Windows platform since the Visual C++ 6.0 and Windows 2000 days (except I wanted to learn Mono and C#, but never found time), I was given a 64-bit Windows workstation, a copy of Visual Studio, a copy of DB2, a lot of systems programming books, a C# book, and asked to do a research project that involved understanding how various aspects of Windows worked and what hook points were available. I can't get into exactly what this research was about, because it is a company secret and I can't blab about it on my web site. I learned how the Windows kernel and APIs related to the .NET runtime, and where hook points were available to call native code. I learned about data access paths like ADO.NET, and what was available for object-relational mapping and persistence (mainly Hibernate and LINQ). I also looked into the future to see how the new Entity Framework was changing how databases were accessed. All of this research gave me an in-depth understanding of how all the parts of modern Windows came together and played different roles to support the development of business applications. Since I last looked at Windows as a development platform, a lot had changed (Borland was no longer a player with their C++ compiler, which I had always liked better than Visual C++ in the past), but a lot had not changed (Richter and Hart still had their systems programming books, although vastly updated; Richter's books are still a treasure chest of information for systems programmers). The introduction of the .NET runtime presented a whole new abstraction layer and set of system services. The sheer bulk of all the technologies that are now available to developers on Windows means that a general knowledge of how it all works is harder than ever to maintain. Windows is now getting so complex that specialization is almost unavoidable. I also investigated the feasibility of porting an already quite portable C code base to 64-bit Windows. This code was ported to 64-bit Solaris sometime in the early 2000s, and was recompiled on 64-bit Linux with almost no changes. The code had once run on 32-bit Windows, but had not been recompiled there in a considerable number of years. Ironically, the switch from Borland C++ to Visual C++ seemed to be the biggest issue, not portability to 64-bit Windows. | ||||||||||||
| |||||||||||||
This web site is dynamically generated. You can override the current color scheme, layout, and style sheet. Your change will last during your current session. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Live site statistics
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||