Is there a open source effort to port VCL (Delphi Lib) to .NET
A:
Yes, VCL.NET, available for years. It's open-source (you get the source code when you buy Delphi).
However, VCL.NET was just a migration layer for those who wanted to bring their existing VCL applications to .NET with minimal effort. This didn't have much success though, so VCL.NET seems to have been dropped.
In fact .NET Framework is to large extent a copy of VCL. It shares the same design concepts, very similar class hierarchy in many areas, similar UI designer etc. . It's no wonder, as they both were designed by the same person.
Eugene Mayevski 'EldoS Corp
2010-10-26 20:36:43
Couple of points... 1) You get the src for VCL.NET but it is not Open. 2) .NET is only slightly related to VCL. It owes to VB, MFC and java as well. 3) Ander H is CA for the C# compiler, not the library
Henk Holterman
2010-10-26 20:44:03
Getting the source code when you buy a commercial product is *not* open-source, it's a commercial product sold with source included. Open-source means that you can get the source on request, without having to buy anything.
Mason Wheeler
2010-10-26 20:45:11
@Henk 1) definition of open source changes over time. There's nothing to discuss here: if you get the source, it's open. If you don't, it's closed. 2) It owes to many things, but it's most close to VCL. 3) I stand corrected
Eugene Mayevski 'EldoS Corp
2010-10-26 21:04:19
@Mason It's a question of terminology which changes over time, as new licenses are involved. You will find this confusion in Wikipedia as well. Being free is not a requirement for open-source.
Eugene Mayevski 'EldoS Corp
2010-10-26 21:05:28
@Eugene, regarding 2: I've used VCL a long time, before .NET. Only the WinForms part has a vague resemblance to VCL (but also to VB6), for the rest it is N/A or not very close.
Henk Holterman
2010-10-26 21:07:00
@Eugene: All that means is that some people who write some things on Wikipedia don't know what they're talking about. (Which is no big surprise.) See http://www.opensource.org/osd.html for the official Open Source Definition.
Mason Wheeler
2010-10-26 21:21:27
@Henk so did we and I can see an almost exact copy of VCL's Classes unit, overall WinForms hierarchy, visual designer, the concepts in C# language (consider properties and events, taken from Delphi -- neither Java nor VB have these concepts implemented in the way they are implemented in Delphi and C#) etc. .
Eugene Mayevski 'EldoS Corp
2010-10-26 21:34:15
@Mason "Version 1.9" says everything to me :). Also, when some organization attempts to privatize the meaning of some word, this starts to look suspicious.
Eugene Mayevski 'EldoS Corp
2010-10-26 21:35:44
Just to set the record straight and part of the reason for the confusion regarding VCL's influence on .NET, is that it suffers from a couple levels of indirection. Accoprding to MS, the lineage of .NET stems from J++ and WFC... However, with WFC it's design *was* influenced by Anders Hejlsberg, since that is what he went to MS to originally do. Since most of those that worked on WFC and J++ moved on, there is a very pervasive attitude that .NET came from WFC which was assumed to have been fully and independently developed with no external influence. WinForms was mechanically ported from WFC.
Allen Bauer
2010-10-26 22:02:57
@Allen while the indirection does exist, the similarity between VCL and later .NET Framework (at least in the aspects I mentioned) is quite obvious, no? I mean if the developers looked at VCL (they don't need to have developed VCL before, they just need a copy of documentation to study), they could get inspiration in VCL. Or am I wrong?
Eugene Mayevski 'EldoS Corp
2010-10-27 09:31:27
@Eugen: Some of your points relate to the language(s), not library.
Henk Holterman
2010-10-27 11:20:53
@Henk These points are what made the libraries more similar. Eg. there exist several ways to retrieve stream size (a call to Seek(), a call to getLength() method, use of Size/Length property). Existence of properties made it possible to have Length property (similar to Size in VCL). If properties were not made, the developer would have been implemented in some other way.
Eugene Mayevski 'EldoS Corp
2010-10-27 12:13:20
@Eugene - I was actually trying to refute Henk's claim that ".NET is only slightly related to VCL. It owes to VB, MFC and java as well." I've had direct experience with some of those (from those within MS) that try to deny the link between VCL, Delphi and .NET. Yes, there have been other external influences, but most of the time the denial comes from ignorance rather than actually educating themselves. IOW, you are very correct in your assessment that VCL and .NET clearly share a common lineage. BTW, MFC itself owes a lot to Borland's OWL (Object Windows Library).
Allen Bauer
2010-10-27 14:29:13
@Allen thank you very much for clarification
Eugene Mayevski 'EldoS Corp
2010-10-27 16:11:09
@Allen, agrre with most of it, but when I look at System.Diagnostics.Debug I smell VB6. Etc.
Henk Holterman
2010-10-27 17:26:02
@Henk, System.Diagnostics.Debug <> Windows Forms, which is where the bulk of the influence from VCL was placed.
Allen Bauer
2010-10-27 18:32:27
@Rob: I'm not 100% sure but from what I heard a few years back (patents) I consider it very unlikely.
Henk Holterman
2010-10-27 07:14:35
+1
A:
ShineOn is a free and open source port of most of the RTL to .Net. Not the VCL though.
Lars Truijens
2010-10-27 09:15:42