Tuesday, July 19, 2005

JavaScript - The World's Most Misunderstood Programming Language

Incredible article on Javascript!

I have been programming Object Oriented languages for a very long time (since OO Turbo-Pascal in late 80’s). The truth is that I myself had probably misunderstood JavaScript. Why? Two sets of reasons: a) all those reasons described in the article mentioned bellow, b) as a result of a I devoted no time in studying it.

Well, better late than never: From now on I am going to think twice when I need a piece of functionality on the client.

Do read this article by Douglas Crockford:

JavaScript - The World's Most Misunderstood Programming Language

P.S. Don’t miss in the article above the link to the code for inheritance in JavaScript. I am not going thought the cons of JavaScript here but in the pros compare it to inheritance models supported by C# and Java.

BTW: What do you think of multiple inheritance. We used to be able to use it in the C++ days (C++ is still around but anyway). Do you miss it in C# or Java? (I mean multiple inheritance of classes not interfaces i.e. class c inherits class a and class b. In C# and Java you can inherit form max one class and implement as many interfaces as required. But of course interfaces do not include base implementations…).

Also: Can you give me your best example where you really missed multiple inheritance?

Thursday, July 14, 2005

VS.NET Copy Project

Here is a solution for an issue I run into today.
In VS.NET 2003 I tried to use the "Copy Project" feature to copy (deploy) the files required to run a web application to another web server. Nevertheless I got an error saying (more or less): ..."error occurred while copying the project" ... "Visual Studio .NET has detected that the specified Web server is not running ASP.NET version 1.1. You will be unable to run ASP.NET Web applications or services".
I was evaluating Community Server 1.1 and I had a full source installation on my Windows XP workstation altering bits and pieces to customize the application. I had previously installed a binary installation of the same product to my Windows 2003 Web Server.
First I made sure ASP.NET was running on my remote web server. Just to be on the safe side I even run aspnet_regiis -i, but it did not fix the problem. I had never encountered an issue like that so I googled for it. I found similar problems but all had solutions I had already tried with no luck. So mine had to be different.
I figured out what was wrong when I tried to find out what my VS.NET was doing on my workstation to determine the ASP.NET version on my remote web server. It turned out that VS.NET did an HTTP request to:
This file (an actual ASPX page named get_aspx_ver.aspx) does not exist so the server returns the well known "resource not found" error page. But ASP.NET in that default error page, returns the .NET Framework version information which is in turn used by VS.NET to verify version information. Silly but true!
Now! The problem was that Community Server by default had defined Custom Error Pages. So suddenly it occurred to me and here is what I did to solve the problem:
I went to my remote web server, and added the following lines to the web.config of my application:
P.S: I also added the same lines to the web.config in my workstation since I was about to overwrite the web.config on the server. Remember I was originally trying to copy the files needed to run the project from my workstation to the web server using Copy Project feature of VS.NET.