A Disappointment in the Enterprise Library

Last week, I posted about the availability of the new set of application blocks in the form of the Enterprise Library.  While I am still very excited about these blocks, and am already working to incorporate them in 2 current projects, there was one major disappointment.   When I opened the code for these application blocks, I was shocked to realize that the source code for the blocks was only available in C# !  The documentation and Quick Starts are in both C# and VB (and well done), but the blocks themselves are C# only.  This is a step backwards from the previous version where at least most of the blocks had both C# and VB versions of the source code.

The issue is not one of being able to use the application blocks - we all know that if we want to use them as black boxes, it doesn't matter what .NET language was used to implement them.  The issue is the affront and the message to VB developers.  These blocks are meant to be modifiable and if the the code is only available in C#, then many VB developers won't be interested, or even able, to do that.  Further more, another goal of the blocks is to be able to learn from them - to open them up, look at the code, and learn how to implement MS suggested best practices.  Again, many VB developers won't be interested or able to do that.  Finally, even for those of us who don't have a problem reading and writing C#, what is the message about C# and VB that this decision is sending ?!!

 

 

 

8 Comments

  • Without starting a VB/C#/C++ Holy war, but...

    Most of the professional developers (system developers, not necessarily RAD developers) come from the C/C++ for those developers it is much easier to move to C# than it is to move to VB.NET.



    As for Microsoft, I believe that most of its developers come from a C/C++ background, and I think that it the reason they choose to use C# to develop their .NET projects, whether it be BizTalk, GMPC, .NET BCL, and now Enterprise Library etc....



    As a developer (I'm a C# guy...) I'd prefer a faster delivery richer feature set than the comfort of being able to look at the source code in my 'native' language.



    I don't think that the fact that Enterprise Library is in C# should prevent any VB developer from using it. For a non-professional / beginner developer, he can look at Enterprise Library as a black box, and IMHO, a professional / advanced VB developer should have no problem to look and even write a little bit of C# code...



    .Asher.

  • Asher,



    I certainly don't want to start a (nother) language war - it is pointless.



    I agree with your argument regarding the backround of Microsoft developers - but only when it comes to developig something that is meant to be a black box, eg Windows, CLR, etc. However, as I mentioned, when the end product is meant to be open - so that developers can learn from the written code and/or modify it, it should be available in both languages.



    I agree that a professional/advanced developer is / should be able to read and write in both C# and VB. So maybe you will join me in a campaign to have the next applications blocks released only in VB ?! :-)

  • The lack of the vb source makes it hard to work out what its doing and how to implement the blocks in your own app. You may not want to change it but you do want to understand it

  • simple...learn c#..its not that difficult

  • Jackie, I too think it is a step backwards but I have a genuine question for you:

    When the Framework code is made available for us to step into while debugging, will you ask for it to be available in VB as well OR will we then start a proper campaign advocating literacy in both languages?

  • Bah! Let them eat C#.

  • Just take a look at the EDRA(Shadowfax) code. That too is in C#. Thougth they mercifully add VB samples and Wizard support for VB in the latest version.



    Maybe we need to get MS to recruit a few VB developers(Ones who code in VB, instead of code VB :-))

  • From my experience, I would say that the Application Blocks, if not meant to be, should be meant to be used as a black box as I have seen VB and C# developers take the code and modify it for their own use and royally screw up the functionality and break it by adding bugs. I think understanding the Framework is what is necessary to modifying any source and the languange is just a semantic and if you can read/write VB, you can easily learn C#. The problem is there are too many people who call themselves VB Developers just because they have written some VB code for their job or school or whatever but that does not mean that he/she should be modifying complex code or that he/she could even understand it due to the language used to write it. True developers don't whine about not having an example written in their language, but instead evolve and do what is necessary. I don't write Perl, PHP, APL, C, Pascal but when I need an example, I read what is necessary. That is reality whether we like it or not.



    My $0.02,

    Jey

Comments have been disabled for this content.