Back to the desk
Boohoo, poor me. All of last week I had been home with a really nasty sinus infection - one of those you just get when you are a kid. At least in my case, I feel that as a kid the flu hit me much harder. I don’t really get “stay in bed” sick too much anymore. On the other hand, when you are a kid the last thing you want is stay in bed - BORING. Anyway, I am back at work and chopping away on the pile of stuff that has accumulated over the last week.
The only good thing about being sick is that you get to catch up on a lot of TV watching, even if you are falling constantly. Yesterday, I actually got to watch The Linguist and it was a light-hearted, interesting documentation. Try to catch a re-run if you are interested in languages!
And on a different note, a new semester session has begun (I am taking accelerated 7 week courses), out with Server Side Scripting, in with GMPT350 Global Project Management and MATH200 Applied Mathematics.
Databases are boring
As some may know, I love computers, I love everything about them. I like writing and reading on the computer - the wealth of information is amazing, I like smaller programming tasks (for now), I enjoyed Java, HTML, CSS, my current excursion into ASP.NET and VB.NET, I enjoy working with images and video. But there is one thing that I could never warm up to and that is anything related to databases. Databases bore me - just the thought of gigabytes of data makes me yawn. Unfortunately, the ASP.NET class at Davenport also covers some database stuff. It makes sense I guess, most web-based programs are connected to a database somewhere be it an online shop or a customer list, a service list or what-not. Have I just not found the right approach to it to see the beauty of databases?
So far, I have enjoyed every single chapter of this book, but now I have to force myself through pages and pages covering SQL, ADO, ODBC, COM, OLE and I can’t seem to finish. What’s up with all the acronyms? I have to fight through at least another 50 pages going on and on about data connections and sources, queries and relationships, propertiessssssss - sorry, my head hit the keyboard when I feel asleep typing this. Can anyone help me? What am I not getting? Is there a way to make this more enjoyable? It’s not like I need much - heck, I have spent hours of my life watching my hard drive defrag and download progress bars grow.
Oh well, back to the ADO.NET model….
Discuss why the data types are the same across languages in the MSIL.
The data types in the different languages in the Microsoft Intermediate Language (MSIL) to provide compatibility. In .NET, various languages can be used but in the end they have to be able to interface with each other. The .NET compiler compiles the languages into MSIL and it can only do this without problems since the data types are the same. It would be incredibly difficult if each language had its own data types or its own definitions of data types. A string for example is a “group” of characters or digits and every program understands it as such. Now imagine another programming language would define a string only as a group of characters and not consider digits and a combination of characters and digits would be called a word, then the VB string cisp238 would be considered a word in the other languages and the .NET compiler would have to examine all strings to see if they need to be converted to be compatible.
I found a real world examples: In VB.NET, the data type Long is a 64-bit number while in VB6 it was a 32-bit number. So, it would require a lot of care to bring those two languages together and every time one languages uses a data type Long you would have to exactly specify what it means. The rules for the different .NET languages are specified in the Common Language Specification (CLS).
I found an interesting link about how different languages define the primitive data type Boolean: http://en.wikipedia.org/wiki/Boolean_datatype which is a good example of the advantages of uniform data type definitions.
It also seems like MSIL is the great “equalizer”. People used to have arguments about the speed of different programming languages, or better the speed of the applications coded in those languages. The argument was that C++ was faster than VB but in .NET everything is going through the MSIL and that determines the speed.
Something funny happened on my way to work…
…well, maybe funny is not the right word. On my way to work, there was a truck in front of me and all of a sudden, something fell off the truck to the right and into the ditch. A second later, I saw a tire - the whole thing including rim - bounce down the highway and then off into the median. I was freaking out, what if more crap comes falling off the truck to hit me? I was swearing up a storm about some idiot dump truck driver who didn’t fasten his load properly! The truck pulled off to the right and in passing I noticed it was crooked - and it wasn’t a dump truck but a Comcast bucket truck and he actually lost two of his wheels WHILE DRIVING. I have no idea how that happens but I believe that getting hit by a truck tire including rim while drive 70mph on the highway must be a real blast - probably not the best way to start your day! Thank God nothing happened!
And in case someone is wondering why it got a little quiet around here, I am really busy with my ASP.NET class. Seems like this is the first class at Davenport that is challenging enough to keep me from blogging! I spent the last two weekends working through the chapters, doing examples and homework. This is a condensed 7 week class and we are doing what you are usually supposed to do in a whole semester, so it is 70 pages a week while still working full time. I am glad I am really enjoying this class and that the weather sucks anyway, otherwise I would be miserable.
Compare the HTML Server controls to Web controls (ASP.NET controls).
As I pointed out in the answer to the first question, HTML server controls are HTML controls with the runat attribute set to “server”. They are an easy way to create server-side code when you already know HTML. Unfortunately, since they are based on HTML their abilities are still limited.
Web controls are more advanced and they are not based on HTML anymore but on the Web control class. Some of the Web controls look like old style HTML controls but there are additional controls that include new functions. Web controls have several other advantages, for example they are able to determine the browser client agent. In HTML, you had to figure out a way to be compatible with one browser without breaking the code for another browser. Web controls are able to render their functionality automatically depending on the client agent.
Most Web controls can also fully use themes and templates to match the controls to the look and feel determined by CSS.