|
Maybe he should show a little class as well.
C# is no more a "real" language than VB.Net is. I've been doing enterprise level applications for both the web and desktop apps for over 15 years. Some of the biggest projects I worked on were in either language, a few projects were mixed language.
One language is not superior over the other and in stating or acting like it is so, completely shows a lack of understanding of .NET as a whole.
|
|
|
|
|
Maybe a little too harsh (or too honest :P ) about VB.Net, but I agree with absolutely every point you made here.
|
|
|
|
|
I use it. I code in VB. If I had a choice for a C# version I would switch to it. However, when I decided DNN over Rainbow was because of DNN's friendliness (was coded in VB).
Now I understand how it works. I noticed over the years I do not do much maintenance, I check the community's work first.
I'd rather have it running on Linux.
I think if it is a good conversion is not a waste of time.
I'll get your version, if I am happy, then I'll cheer you up, if I don't my silence will be your flame
Please put up a site similar to DNN where people can check number of participants, a forum, etc. Or maybe ask the DNN team to open a forum for CSharpers. If you do not receive community feedback it is a waste of time. The world corrects itself socially by means of argument interaction. Allow your C# DNN world to be corrected.
|
|
|
|
|
The people who work on rainbow instead of dnn, generally did so becuase they wanted the c# core.
The DNN community won, not becuase VB was friendlier, but becuase it marketed the community especially in america much better. Documentaion, etc....
For 2.0 & 3.0 Rainbow rewrote the core from scratch... again in c#. Becuase the guys who do it mainly work on the project for fun and learning. You can look and codeplex and try out RLINQ with is the 3.0 with Linq and some other cool stuff starting to integrate.
If DNN were in c#, myself and several others probably would have not only been using DNN, but also contributing to the code base a while ago, but not so much anymore. The 2.0 Rainbow core that is in beta is quite nice and the entire core was refactored quite a bit. Same for the 3.0.
If for example as the author of this article percieved, the c# code base made the DNN base faster, and attracts more "core" developers as opposed to "module" developers, then the task was more than worth the means, and all the heads of the DNN community should rejoice.
http://www.jonavi.com
|
|
|
|
|
Jeffrey Scott Flesher wrote: and admitted that the reason he picked VB was so the the newbies would flock to it and help it grow; he made the right choice by the way
Maybe... DotNetNuke is (not necessarily rightfully so) frowned upon by the more skilled portion of the .NET developer community. Maybe it was good to attract newbies to it, but at the same time it can't be good to not attract professionals. Since it's quite possible to write DNN modules in either language, I would much rather see that the core platform was in C#, while still allowing modules in VB.NET or any other .NET language.
NB. This is not about which language is better, it's just a matter of metrics. The vast majority of the skilled .NET developers use C#.
|
|
|
|
|
I agree; which is why I spent a year working on a VB to C# program; but never did get 100%; nor have I seen one that did; close; but on complex classes they all fell short of useful. I gave up on DNN and .Net; I switched to PHP and Joomla 1.5. I would still like to see a C# version of DNN; maybe it would be worth looking at; but not the VB version; I lost all respect for VB; PHP has a lot of short comings also; it looks like C; but has variables like VB; and some funny idea's about concatenation with the dot operator; but I'm getting use to it. I like C# language; but I don't like Microsoft anymore or any less; and I never had much luck with mono. I want a web site that will run under Linux; this is kind of off point; but it makes my point about the language war; VB vs C#; C# wins hands down; now the OS war; Microsoft vs Linux; Linux wins; don't get me wrong; I'm running Microsoft 2008 Server x64 on the machine I'm writing this on; and I still have a DNN portal running on Microsoft 2003 Server; but all my new sites are on Linux using Joomla; I write Templates, Modules and Components for Joomla; I don't miss DNN at all. But I stand my ground; this effort was worth the time; too bad it didn't win.
|
|
|
|
|
Jeffrey Scott Flesher wrote: PHP has a lot of short comings also; it looks like C; but has variables like VB; and some funny idea's about concatenation with the dot operator;
PHP is evolving into a quite nice language now, I think. The dot operator is not necessarily "funny" (other languages, such as Perl, use it). In fact it's quite good, since it doesn't double as an addition or logical operator (+ or &)
Jeffrey Scott Flesher wrote: all my new sites are on Linux using Joomla; I write Templates, Modules and Components for Joomla
Nice. Joomla is definitely a powerful CMS, although I found the architecture to be rather weird, at least in the previous version.
OT:
And please Jeffrey, why do you write these posts as one huge chunk of text? Separated with semi colons?! Is it C#/PHP sickness? It makes the post very hard to read.
|
|
|
|
|
When I was in studying for my PhD (back in the 80's); I developed a habit of writing; which I can't seem to break now; I never was good at short hand; I write mostly in C languages to this day; so its possible. To this day I have to have someone else proof read for me if I'm publishing something for someone else to read. If I think about it I can do better.
I got Gulf War Syndrome in 1990 after getting my Anthrax shot; after serving in Kuwait during the occupation I got worse; Oil fires, depleted Uranium and chemicals in the water supply; it fried my brain; I can't work like normal people do anymore; like most vets with this problem; I can't learn new things very easy. I guess that's why I like C; I knew it very well before this happened; I started programming back in the 70's; old habits are hard to break.
A funny story about this bad habit on not using periods that I like to tell was when I failed my minimal English Comp test for the third time; you can only take it every 6 months; so this was getting me down; so I hired a tutor; who was a young English Teacher at the College; she got copies of all my test and immediately knew what the problem was; but when I asked why? She took it line by line trying to prove me wrong; which after getting frustrated with me over my usage of the semi colon; took the papers to her professor; who in turn agreed that although I correctly used it; it was still not proper; I passed the test that year; one of my papers was published in an English book on the subject of how not to write; entitled "Pitfalls of a run away mind"; its a documentary on how to dump your thoughts to paper; its a classic English writing assignment; it explains that the period is an end to a thought and not for the beginning of another and paragraphs are the end of a subject; such that; if you dump all your thoughts on paper and never lose your train of thought you should never need one; but I still write this way to this day; it's my trademark now.
With that in mind; programming is the same way; each instruction should be ended with a semi colon; that's why VB sucks and C rules; no other reason than that is needed.
modified on Thursday, August 7, 2008 12:06 PM
|
|
|
|
|
Rob,
You obviously aren't speaking on behalf of the DNN community. As a member of that community I personally welcome a C# version!
|
|
|
|
|
While I am not quite C# savvy I am both VB and C++ savvy as well as Java.
I wouldnt call this a "complete waste of time" nor would I call it "the way it should be... aka C#".
First, with the advent of 2.0's MSIL, CLR etc, if anyone knows anyone in the know at MS they will readily tell you that:
1. VB is essentially now a kind of shelled C#. This is what PO'd many a VB 6 coder, the transition of VB from where it was to where it is. VB was considered the choice for RAD in business as of VB 5/6. Gobs, heaping gobs of businesses used it as well as VBA in MS Office. Be it good or bad there was more of this stuff in business than C related code in similar usage context.
When MS transitioned VB heaps (heaps++) of businesses and coders flipped out as heaps++ of that code out there would need be revisited to keep app's alice with the current Visual Studio environment. This is where VB lost heaps++ of jobs.
2. With Net 2.0 everything compiles to MSIL and uses the common language runtime. While C# may end up with a bit more efficiency in compiled constructs than VB Microsoft claims such differences are pretty much completely immaterial.
I will certainly agree that DNN would probably see an infusion of coders if they decided to go pure C# with the project. But... a BIG part of Microsoft's efforts have been to make the source language INDEPENDENT of the finished assemblies. Thus, there is no reason (assuming things are properly structured) that BOTH languages could still be utilized for say modules.
With that said when we want talk "speed/efficiency" whether its C# or VB according to Microsoft things are rather moot. Microsoft's goal in convergence of technologies is to BRING engineering to the non-engineer. This is well known to anyone who knows anyone "up the ladder" at Microsoft and they desire to do this across the entire development spectrum. Microsofts XNA project is a beginning of bringing game development to the massses, a very early beginning. Visual Web Developer is a sizeable step towards drag/drop truly dynamic web's. While presently one really still need understand engineering to do much I assure you within then next 10 years that will change. Microsoft is working towards a drag/drop, draw associations, set properties, describe environment and done apps/webs. Its WHERE the money is. They can service whatall, say 2 million coders around the world or create engineering software that billions can use and create apps, games, whatall. This IS the focus. In fact, numerous texts on ASP.Net 2.0 refer to using Visual Web Developer not as "webs" but as creating "portals"... an interesting tidbit.
Performance wise... well... You C# tribesman can scream and yell but reality is ole' unix/linux is still running rings around the MS technologies in performance. Java based Portals/CMS systems will support a FAR (far) larger load and will run rings around DNN in performance. This still stands true of Joomla/Mambo/Drupal as well not that I am a unix/php freak. I have no bias really.
Reality these days is what it is. For example, most AAA video games those that push graphics and CPU envelopes are all being coded in Java, its simply so much better in end performance that its the best choice. This also stands true for countless sizeable businesses. For example, Verizon, ATT (cingular) etc. that have countless retail outlets use those outlets service management via Java based apps/cms. When you sign up for a call plan, pay your bill at the counter etc. they all log to the internet and more and more are using java as it scales excellent. Since they are constantly changing the business models they are also constantly changing the UI's and business logic.
These sorts of centralized mechinisms are becoming more and more the standards for service oriented businesses. I did not know much of this until just a few scant weeks back when a friend of a friend and I met. He'd worked at Verizon and recently took a job with Circuit City regional engineering. Circuit City and according to him most large retailers are moving towards Java based applications. Essentially the platform is scalable, efficient, etc etc. enough in that large retail/service corporations can now tie together all aspects of business. While large hard goods retailers are only at the very beginnings of what's possible time will bring it to bare. Things such as using your digital cable or Internet to order at Walmart online, make sure items are in stock at a local store or store(s), warehourses, paid for via credit/debit card and later that day or the following all ready for you to pick up.
MS is quite aware of all this... The goal at MS is to bring 95% of what software engineering has been and still is today and transform it into simple drag/drop, associate various logic, set properties and wella... your average Joe can create real working app's without having to be a engineer thus creating a environment where billions of people can create software.
|
|
|
|
|
Glad hear of your efforts. There was several other before that have tried conversions to C#. The latest one I remember is:
http://sharpnuke.net[^]
While I have a lot of respect for the DNN team and the fact that they have done an outstanding job over the years, I still miss not having a C# version of the core. VB Syntax stinks (not meaning to step on other people's choice of langauge, just my personal view) and hinders me from digging in the product. I still have to at times, but I sure do not sit down and decide (without whips and chains) to plow through a mile of VB code
Any chance of a zipped up version of the source?
|
|
|
|
|
"... plow through a mile of VB code"
Why do you need to do that?
- learn how the app works and perhaps fix bugs? (good )
- change the Core for my own use ("forking")? (very bad!)
- create modules? (use any .NET language & don't modify the Core!!)
|
|
|
|
|
Primarily to understand how everything is fitting together to be ready to extend areas as need.
Forks in open source are not bad, they can expand a project into areas it may not have went otherwise. This is why I do not touch open source with restrictive licenses, I try to use only BSD.
I think just about everyone in DNN planet knows you can make modules in any .NET language since it is all over the DotNetNuke site.... I did say core!
|
|
|
|
|
I agree, forks are not bad.
Open source tends to be apps that people will need to customize.
DNN is a prime example, where if I need to use it in production for a company / project I will likley have to play around with some internals if I want to get some things done. If I had to wait for the approval, test, release process through a community.... well... it will never happen.
Fork, and then offer your changes to the commnunity if they are not propietary. If they are not accepted, and the next version would break your app, so you deal with it. But if the core does not answer ones needs... best to make it work one way or another
http://www.jonavi.com
|
|
|
|
|
I really question the usefullness of this. Even if I were a C# guy, this would not do me a whole lot of good as each DNN revision will be released in VB.NET. So you'll have to go through this process each time?
Also, the latest DNN version (4.4) has a ton of performance improvements. Have you compared the C# version to that?
Finally, I'm not sure if you mentioned this, but just for the sake of full disclosure, you might want to mention that DNN modules can be created in any .NET language (i.e., only the core framework is VB.NET). This could be an ideal compromise.
|
|
|
|
|
If the c# core caught up to the vb.net version, 100% in features, and Stability, I would be surprised if The DNN Commnunity did not want to switch out to making the core c# instead of vb.net, especially if the work is handed to them.
As mentioned earlier, you also attract more C# guys to the project who like to play/work on cores, and not front end modules.
http://www.jonavi.com
|
|
|
|
|
Can you elaborate on how you converted the code, and the specialized tools you made for the project?
Thanks,
Jeff
|
|
|
|
|
I'm planning another article on that next after this project gets closer to stable. I'll share the source code and tools i used during the conversion process. thanks. again, there's nothing wrong with vb, i just personally like the verbosity of it. i did this as a way to learn a project i like a lot even more. it opened up the meaning once i converted it to c#.
C-ya
|
|
|
|
|
Excellent work. As someone who really doesn't care which language I work in, one still must admit that c# results in much more optimized code than vb.
So I applaud your efforts. I am about to download the latest (4.4) code myself. Thanks!
Oh yeah, I would also be very interested in the 'tools' you created. In fact, while some folks may dis (for lord knows what silly reason) the effort, the tools you built to help in the conversion seem to be at least as important as the conversion itself! Please tell!
|
|
|
|
|
What version of the original DNN vb source did you base your conversion on?
|
|
|
|
|
Try to always read the WIKI on the project page hosted on google at http://code.google.com/p/cs-dotnetnuke/w/list. But currently it is at 4.3.4. I'm going to fix a few more obvious bugs and then upgrade it to 4.3.7.
C-ya
|
|
|
|
|
Can people make edits to the WIKI? Or maybe a discussion board - but I guess Google code doesn't have that yet. I think the first wiki page you have '1 Jan 2006' instead of 2007.
I'm downloading it right now. Nice work. How are you going to keep up with changes to the VB version? I guess you'll do a diff on the VB and manually port any changes accross, or not?
"For fifty bucks I'd put my face in their soup and blow." - George Costanza CP article: SmartPager - a Flickr-style pager control with go-to-page popup layer.
|
|
|
|
|
No edits as of yet, i wish they had a forum or something, maybe in the future. I'm going to manually diff versions and apply the patches to the code base each release. There's still a few major bugs that keep the current trunk from working properly that i'm planning on fixing this weekend before any updates are applied. I'll get it done though as soon as possible, remember i'm doing this on my free time (the weekend) for the benefit of the community. i really love asp.net and think everybody should be using it.
C-ya
|
|
|
|
|
c4tes wrote: remember i'm doing this on my free time (the weekend) for the benefit of the community
And remembering it, stick with the official version. If you are a C#-only snob, tfb.
As an exercise, C4tes, this is interesting, but your version will be outdated over and over again as the very large DNN team takes the real application forward. Sooner or later, you'll get tired of being a translator aand start writing your own code once again. At that moment, everyone who uses your app might as well have something written in VB6.
Jon
Information doesn't want to be free.
It wants to be sixty-nine cents @ pound.
|
|
|
|
|
Just finished the updating to v4.3.5, grab it today and report issues.
C-ya
|
|
|
|
|