Wiki Home

Wiki In DotNet

Namespace: WIN_COM_API
Microsoft recently released an Open Source Wiki product (FlexWiki) written in C#.

I downloaded the source off of Source Forge and was shocked to see the amount of C# code it took to implement a Wiki.

The source code for the FlexWiki Source Forge project can be found at:

I would be curious to hear how the source code size of Steve Black's VFP based Wiki (this Wiki) compares to the source code size of a .NET based Wiki. By source code size I'm assuming that there's some metric one could use in determining size or complexity - perhaps lines of source code (vs. comments and whitespace), PEM's, etc.


You have to be careful when comparing source code in the two different languages. In VFP when you use visual classes and the designers the information is stored in a dbf file with an extension of VCX. In Visual Studio, the visual designers actually create a code based persistence. So, if you set the value of a property in the property window of Visual Studio, a line of code is added to the program file to store that info.

That being said, it is true that some things take more code in .Net than VFP, and the reverse is also true for other things.

Finally, I'm not sure that the amount of code in an app says anything about the languge or its complexity. Actually, it may say more about the developers and their design. If they are just writing event driven procedure code it would have alot more code than something designed with Object Thinking would. -- Bob Archer

Considering that Wiki's have been around for a long time, the number of bugs present in the released version makes one think.

Some of the bugs are simple UI problems like there not being a scroll bar on the page but the page extends past the user viewable screen.

Also frames that are not resizable.

I could go on...

Bernard Bout

Indeed. Apart from a crude metric suitable for intra-project/language measurements, I think line counting is at best an interesting diversion. Also see: -?lc

Malcom, I have not seen the code for FlexWiki, but the Wiki that I wrote in VB.NET is relatively small. You can take a look at it here: -- Hector Correa

Language differences aside, the question about # of lines in a VFP app versus VB/C# .NET apps is a very interesting one. A modern programming language should allow developers to craft solutions while providing mechanisms for complexity management, modular design, code reuse. Notwithstanding the myriad advanced features in DOTNET and the compiler strong type checking, I believe VFP does a better job in terms of complexity management. I frequently read articles written in CODE Magazine, visit various onlinesoftware forums, and many of the solutions implemented in DOTNET would take much less code in VFP. In additon, I believe the VFP solution would be more understandable.
Often, many features that make a particular programming language desirable for use are based upon the language creator's vision about what a language should include and how best to implement those features. The Microsoft DOTNET development team has incorporated soo many features in the DOTNET platform that the product has a very steep learning curve.
What I like about VFP is the language is the ease of use balanced with powerful features. Even before the introduction of IntelliSense in VFP 7.0 an experienced VFP develop could "think" in VFP. While I have been working primarily with ASP.NET and learning more about WinForm based programming, I wonder if I will ever be able to "think" in DOTNET.
At the end of the day, what matters most to customers are :

1) the application does what is was intended to do
2) the application has acceptable performance
3) The application can be maintained & extended.
4) the application is affordable
I have read comments from several developers that program in both VFP and DOTNET about the time it takes to develop an application in DOTNET is greater than (in most cases) or equal to the # of hours to develop the same solution in VFP. IF DOTNET is supposed to be the "best" development platform on the market, it should allow developers to develop solutions efficiently while managing the software complexity problem.-JC

If only that were true. Many times the FIRST question our sales people are asked is "What language is it written in?" like this is some indicator of quality. -- Bob Archer
( Topic last updated: 2005.07.30 11:44:10 PM )