Sunday, September 04, 2005

End of my "Drag 'n Drop" development phase - Part 1.

I spent a good amount of the weekend "soul searching" and evaluating my perception ,and those around me , of where i was heading with all the seminars , hands on labs ,and other iniatives that came along with being a "Microsoft Student Champ". Now i know most of you are going to be wondering - "so what ?!" .As Sriram put it very well the other day,compare majority of the regions MS student developer space with their Linux counterparts and you cant stop to wonder what the very purpose of these advocates are if :
 (a) Dont have passion for technology
(b) Are in it for something good on their resume, CDs and t-shirts

It is also true that knowing how to create applications ,however new the API or technology was still not peanuts.and whats the big deal in just knowing how to do something without understanding the underlying funda's .Now hold on here .If you think knowing how the data is represented or the various layers of business logic or knowing the syntax for comppiling on the command line is is 'geeky thoery' - then you are so so wrong . Like i was .

Because like i found out later - any one with a encouraging learning curve would in a week or two be able to :
  • connect to a DB and give security
  • make ur app talk to a webservice
  • xml feed or data representation for ur mobile devices
  • windows forms !
arrghgh !!!! Please i repeat ,this is not anywhere close to development.The only thing you will efectively do with a stint in these is to probably have a fair edge at the sniper maps in Counterstrike or so .

For all those who thought .net was all there was going on ,and that developers cant live without the wizards .Other notions that spring up are that ppl in MS have no clue of what the hell is happening outside windows, cant live without a pretty looking IDE , and are basically guys who found this the easiest thing to do .

NO ....i repeat NO way. And i wish i could explain in details with each of you who think otherwise.I'd probably try to elaborate on why i say so. Take a look at some of the developer tools ,contrary to pupoular belief that the work that happens in MS ,is done on VS.

.NET Framework 1.1
.NET Framework
.NET Passport 2.5
Application Center 2000
Collaboration Data Objects 2.0
Data Access Components 2.7
Data Access Components 2.8
DirectX 9.0b
MapPoint Web Service 3.0
Mobile Internet Toolkit 1.0
Software Development Kit for Java 4.0
Virtual PC 2004
Virtual PC for Mac Version 6.1
Virtual PC for Mac Version 7
Visual Basic .NET 2002
Visual Basic .NET 2003
Visual Basic 6.0
Visual C# .NET 2003
Visual C++ .NET 2003
Visual C++ 6.0
Visual FoxPro 8.0
Visual FoxPro 9.0
Visual InterDev 6.0
Visual SourceSafe 6.0
Visual Studio .NET 2002
Visual Studio .NET 2003
Visual Studio 6.0
Windows Software Development Kit 3.1
Windows XP Driver Development Kit
XML Parser 3.0
( NOTE : Also check out the complete list of pre-release products included in the Visual Studio 2005 Beta 2 Go-Live License )

For Office and Business solutions and products tht have interesting API 's spaning across :

In fact Sriram tells me that ,the good ol 'command line' makes a comeback for him at Hyderabad for his work But the topics that got me really all excited were :
Will take me some time to go through each of the above.So while im at it , ive decided to go back in time and anayse how it all evolved. Starting with the windows version history for DOS , tried finding the first API call ever ,but i cudnt find it :( . But i found this worth a look

A model of an API call
What Are the Differences Between a 16-Bit Windows API and a 32-Bit Windows API?
* Case sensitivity.
* Unicode or ANSI options.
* Parameter data types.

Then found this dated to 1994,that talked bout Creating Useful Native Visual Basic and Microsoft Access Functions.For Getting started with System programming in Windows ,you can check out WHDC for :

System and Device Design - Designing for Windows compatibility and reliability from the beginning prevents much rework later.

Driver Development - Microsoft provides the Windows Driver Development Kit (DDK) and a collection of testing tools to help you build reliable, stable, and secure drivers.

Logo Program Testing - To supplement your company's quality assurance practices, the Windows Hardware Quality Labs (WHQL) testing programs and the Windows Hardware Compatibility Tests (HCT) will help ensure that your hardware and drivers qualify for the "Designed for Windows" logo.

Qualification Service - Windows Quality Online Services provides the Web site infrastructure that you use to qualify your products for Microsoft logo programs and to list them in product catalogs and directories.

Product Maintenance - Windows Quality Online Services offer several methods for maintaining and distributing drivers, including the ability for your company to view Windows Error Reporting (WER) data associated with driver failures.

Well heres to the start of some serious and exciting stage of system level programming  ... Cheers to that .
End of Part - 1 .