|
I appreciated what you have done! waiting for your next article.
|
|
|
|
|
You have achieved absoultely nothing but I will give you 9/10 if you decide that is was really just something to do because you were bored.
C# programmers can write their own modules for DNN anytime.
Nobody cares what language the core is written in , only about 1% of modules need to care.
The audience is people who use DNN and unless your conversion has somehow discovered a great new way to present a web site then the world will still be the same tomorrow.
Pity your obvious talents couldn't be employed on something the DNN community actually need although right now, I can't think of anything.
The only thing a C# version adds is maintenance costs, inconsistency, user confusion, division. Hey it sounds like C# itself but then the world has always needed two ways of doing the same thing.
Rob
|
|
|
|
|
Shaun Walker himself said he would like a C# version; 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; but still would like to see a C# version for the die hards like us or should I say some of us; since I don't speak for everyone; the problem is keeping them in sync; which if you did a little research instead of waisting our time reading a rant; you'd know that is what this project is all about. Any good programmer cares what the core is written in; that's why I use Rainbow instead of DNN; VB sucks; it's for the newbies; C# is for real programmers. This project is great and I take my hat off to the people involved; this is opening the community up to a huge group of people like myself that will not, nor should not take it serious enough to use for a production web site. If you are one of the people who actually buy into the fact that C# and VB compile into the same output then you need to learn more about C# and optimization. I have been a computer programmer since 1976; seen a lot of languages; liked some hated others; C is still my favorite; C++ add some needed features Borland rocked but MFC sucked; MS finally got it right with C#. I made this comment to educate you not start a war so please take it that way; we have to learn by asking a question and not stating an opinion based on limited knowledge; I think that if you really get into the sprite of translating VB into C# you would have a better understanding of the work these guys are doing; and by the way how much money did it cost you? Your last points about adding maintenance cost don't really fly; you see your not working on the core your just deploying it for the most part; inconsistency isn't going to be an issue since they are following the main core; user confusion? you have a VB version or a C# version; if that confuses you then you need to find a new hobby; division? yes; I'll agree; I'm one that will only use the C# version and say that the VB version is slow at best; but the plan is to keep both version the same so we don't branch off; so division doesn't fly ether. There are two kinds of people those that think there are two kinds of people and those that know the truth; C# rules and VB drools; the right way or the lazy way. Line for line there are still more C code out there then VB for good reason; I couldn't imagine Windows being written in VB so why would I want my web site written with it.
|
|
|
|
|
Jeffrey Scott Flesher wrote: VB sucks; it's for the newbies; C# is for real programmers
Oh boy, here we go again...! Sorry, can't let this pass...
It doesn't matter whether it's woodword or website-coding - life is easier if you use the right tool for the right job. Even a master craftsman uses a hammer and nail sometimes; if you're putting up fenceposts in your back garden you do not need to turn them on a lathe adn polish them first.
VB is a perfect tool for smaller (and not just the very small) projects that require quick turnaround. Don't knock it; it can do a perfectly good job. It's even done, unless I've misundertood, a decent job of DNN...
Put another way: if VB is for newbies only, then C# is for coding snobs.
I like VB. It's friendly
Fred
|
|
|
|
|
Your right; sorry about the comment; it was just my opinion; I've been a computer programmer for 31 years now; and when I started basic was just that; for newbies; so get over it; it wasn't meant as a put down; C# is for real programmers; well; OK; I went overboard; VB programmers are just as real as C# ones. I like C; I've written in so many languages over the years; most of them not by my choice; VB is one of them; don't get me wrong I like it; my comment wasn't to start a VB vs C# war; believe me the last thing I wanted was another war; my comment was in defense of the comment about what a waste of time; it's my opinion that if DNN was written in optimized C# that it would run faster; but the fact is that until we do its just my opinion; I love DNN and the people that take their time to write it; and yes in VB; I did agree with that choice of tools if you re-read my first post; I use it for my site (vetshelpcenter.com) but it's slow; even on my dual Zeon with SCSI drives or my AMD duel core running x64 with SATA drives; I'm thinking about porting it to Linux to see if I can get it to run faster; I just wish I could do that with a C# version; that's it; I think it should have a VB and C# version so we don't have a devision of camps; in fact I spent a year working on a conversion program; but never got it 100% on DNN and until I can it's a waist of time; but it's my time to waist and not a waist of everyone else's time. I like Code Project and the people who come here; you included; so please do me a favor and learn a little about C#; write a few programs; get use to having to actually put some thought into what type of variable you should use; you'll find that there are a lot of commands you take for granted in VB that are not there in C#; so you have to write your own and learn from it; there isn't a perfect language in the world both in speaking and in programming; English has so many meanings for each word it's impossible to write a program to decipher it; well the difference in VB and C# isn't that much difference; translation is something I wish I could do; it's not a waist of time it's a goal. Programming rules no matter what language you use; I forget that sometimes; thanks for reminding me.
Jeff
|
|
|
|
|
Maybe next time you should consider writing in a format that is readable.
|
|
|
|
|
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!
|
|
|
|
|