New Boss Equals Many Changes
-
Zhat wrote:
the intention I'm seeing is that all NEW code first, followed by existing code later.
Such a waste of time and money unless there is a bonafide real world reason to change it that will benefit both customers and the product in general. If your development team are versatile enough to work in either language, then there seems like no good reason to rewrite existing code into another language other than for Mr.New Director to 'make his mark'.
---Guy H ;-)---
Well, he has his reasons of course, but we're not done with our discussion either (he and I). We're not actually doing anything yet, just researching. I'll spend some more time with him discussing this further, as I don't see a valid reason for converting existing apps...New code is different though, but it'll be part of my discusion.
-
An interesting move from your director if I may say so. What was his motive behind the switch? I (and my team) also code in VB.Net and this is still a very good language. There is really no difference in code apart from personal preference. This is also very much part of Microsofts software development language roadmap. The only downside I can see at this point in time is that c# tends to be the prefered so any code samples will be c# rather than VB. My view is that if you can do one or both then surly it does not matter what lanuage you code in as long as the client gets what they want. If someone were to ask me to change the code language they had better come up with a reasonable reason why! or am I missing something?
db7uk wrote:
An interesting move from your director if I may say so. What was his motive behind the switch?
Well, apparently his team found "something" that they weren't able to do in VB.NET, so they tried it in C# and got it to work...therefore logic dictates that C# trumps VB.NET as an overall solution to all problems (I heartedly disagree with this thought, but hey I've yet to see anything that can be done in C# that can't be done in VB.NET, but there could be those cases).
db7uk wrote:
If someone were to ask me to change the code language they had better come up with a reasonable reason why! or am I missing something?
First off, Directors don't need reasons, they are the reason, but I know this guy and he's been with our bigger organization for well over 25 years, so he must have good reason. But, the discussion isn't finished by any means. Good thing about being a manager and coder is that I can basically provide the up/down side to doing this, provide good examples and suggestions (from all you kind folks) as to why we should attempt conversion and then see what happens. At the end of the day, regardless of the decision, we'll do what we're tasked to do, amke it work for our end users and drink a cold beer after...it's what we do best (not just the beer part).
modified on Friday, June 25, 2010 10:57 AM
-
The is a free add-on for (the free) Reflector that will allow you to convert entire assemblies between C# and VB.Net. The only problem I found was that it doesn't like to convert "on error goto" stuff in VB.Net to C# (ran into that problem when trying to convert from VB6 to VB.Net to C#). Oh, and comments are removed from the code. If you want to keep the comments, you can do a find/replace and replace:
' Some comment.
With:
dim commentVariable as string = "Some comment."
Then, when you're in C#, you can convert it back from a string to a comment. Make sure not to forget the triple apostrophe comments that are used in VB.Net.
-
I converted a couple of big applications over at my last job, the code was very poor and had been written in a hurry so to start with I wrote hundreds of unit tests as well as booked time with the testers so that I could be confident that my conversion would be bug free code. I then used sharp develop (company had no money so i forced to use a free tool) to convert the code over, (note I have not used that tool for anything older than .net 1.1). If you dont have unit tests in your code then it is a great excuss to get them in and upgrade to the latest framework. I will be honest I agree with your director though you should be moving away from vb.net as its functionlity wiht in .net is slowly reduced by microsoft. but also because though your current team is vb literate future staff wont be so much as vb is not that popular language by universitys and colleges (well atleast in the uk) using c# will allow you to confidently higher junior develeopers with java or c++ skill who will be able to hit the ground running more on the programming side as they will be use the syntax. But I knwo at this stage probably with 20 million other thing on the go this task is of low priority and is annoying, but you might consider it a good task to get new guys up to speed on your products as they convert it over and if you utilise your source control properly wiht automated testing then anyone can convert a section or write unit tests when they have a free minute. Good luck with it.
-
Never used it but been told about SharpDevelop's inbuilt Converter http://www.icsharpcode.net/OpenSource/SD/Features.aspx[^] (various to various) or online: http://codeconverter.sharpdevelop.net/[^]
-
I have been programming for over 50 years in 13 different programming languages and will always choose the language based on what are the requirements of the application. If it’s mathematical number crunching, then it’s FORTRAN. If it requires lots of bit level manipulations then use assembler, otherwise use what is the fastest and most stable and what the shop is most comfortable is with. Personally I use VB when I can. I feel it is very fast, efficient and stable. I think that if he insists on switching languages then maintain old applications in their current language(s), develop new in C#. I have managed large programming shops and his rule sucks. By the way; how long has he been out of college?:~
The Old Guy
Well, I've also been coding for many years and in several different languages. On every job I went to, there was the "favorite" langauge of choice, I didn't question it, I learned and embraced it and made it work the best I could, which the vast majority of the time worked well. Now, I've been here 3.5 years, we've been using VB.NET ever since it first came out and the team started doing development in the .NET framework. We're very comfortable with it, and it works for everything we've attempted. Now, our new director isn't actually new to the company, as we are part of a larger group with several other companies doing very similar things that we do, just in different geographic locations. He's been with our larger group for over 25 years, which is when he graduated from college if I understand correctly. With that said, there's no "final" decision. We spoke about it, he said that's what he wants to do, but we're not through with the descussion by any means. It's my job to provide good/bad reasons for doing new code in C# as well as trying to convert existing VB.NET code to C# and the pitfalls that can (and will) occur. It's input from you guys that give me good point of reasons when we do continue the discussion early next week.
modified on Friday, June 25, 2010 11:02 AM
-
It's generally not a matter of if it can be done, in code all things are possible. Rather it is should it be, is it cost effective? Migrating code always introduces errors, even the most experienced programmer can introduce unintended consequences. Depending on the nature of the software application (I work in medical) will it require a complete review process? (..and lot's of time & money) If it does the same thing with little or no added benefit, the answer is NO! The risk does not warrant change for the sake of change, “If it ain’t broke, don’t fix it”
S Houghtelin wrote:
If it ain’t broke, don’t fix it
Hehe, true. We'll see. Right now it's still in discussion, nothing final. MAybe we do new code in C#, no big deal. But conversion of existing will be further discussed, as some of those app's took years to write and get to the point where they are doing exactly what we need, as well as the fact they are major function applications that our business relies on.
-
Heres a link to make life easier: http://www.icsharpcode.net/OpenSource/SD/[^]
-
So, my team (I’m the programming manger) has been developing Web/Windows based applications using, dare I say…VB.NET (go ahead, say what you want, we like it, it does what we need it to do, and our end users/customers absolutely love what we do for them, so let the jokes fly if you must… :) ). Anyway, we just got a new Director, and his first mandate is to stop all VB.NET development and start doing it in C# (something about his prior team not being able to do something in VB.NET, like a web service, so they just switched to C#). Good news is that my team can actually code in either, though we’re much better with VB.NET so any new development won’t be too difficult. BUT! Our existing code/applications, some of which took years to write and get to the point of where they are today won’t be so much fun. So, is there any reliable tool(s) out there, that folks have actual experience with, that we can use to convert or assist us in conversion? I see plenty in my Google search, but have no personal experience. My team is small, yet we produce a high quantity (as well as very high quality) of projects for our end users and have a running list to keep us busy for a very long time. We view that as a slow down to that process (yet we don’t have any problem switching as we see either one as a viable solution for our development efforts). Thanks in advance.
I suppose you've tried this, but it costs money / resource to convert working programs from VB to C#. They will not work the first time as they did before. Perhaps not the 2nd time either. You will likely get customer complaints about changes in behavior...
-
Yep, which is why I'm asking if anyone has experience. I'm not ready to just dive in blindly and convert some very large projects from scratch, while our users are expecting new applications...
Actually I had a similair experience a few years back. It took me well over 2,5 years to fully convert an asp.net 1.1(vb.net) application to a asp.net 3.5 (C#) successor. However, I had to convert the entire application. For my basic translation I used sharpdevelop [^]; this has a built in converter. Also, I used online conversion tools, as there are many available [^]. Hope this helps!
-
Well, he actually hasn't started officially yet, just made a visit and we had brief conversation. But, the intention I'm seeing is that all NEW code first, followed by existing code later.
-
As funny as that is, this guy is fairly sharp (no pun intended), but he's not a true hands on developer, where as my group, including myself, live in code all day (I just have to add the extra responsibilities of manging at the same time). I didn't have time to ask him for details but we'll discuss this again.
I don't intend to be mean sounding, but honestly, he sounds like a fool. Who would walk into a new job and for no good reason say, re-write everything, or switch languages so that now we have two languages to support? What's the business benefit? Makes no sense. I can't imagine what it is, but if there is one very specific thing you can't do with VB.NET that you can in C#, just write that one very specific thing in C# and move on. Re-writing working code just for sake of switching languages not only offers zero benefit to the business, but it costs the business time and money. I would fire that guy before he even started just for suggesting it, it's irresponsible. I write code and I manage large development projects and what I've found is, ask yourself a simple question when making decisions like this... could I stand up in a board meeting and explain why this decision was made and how it will ultimately benefit the company? If not, don't do it.
-
So, my team (I’m the programming manger) has been developing Web/Windows based applications using, dare I say…VB.NET (go ahead, say what you want, we like it, it does what we need it to do, and our end users/customers absolutely love what we do for them, so let the jokes fly if you must… :) ). Anyway, we just got a new Director, and his first mandate is to stop all VB.NET development and start doing it in C# (something about his prior team not being able to do something in VB.NET, like a web service, so they just switched to C#). Good news is that my team can actually code in either, though we’re much better with VB.NET so any new development won’t be too difficult. BUT! Our existing code/applications, some of which took years to write and get to the point of where they are today won’t be so much fun. So, is there any reliable tool(s) out there, that folks have actual experience with, that we can use to convert or assist us in conversion? I see plenty in my Google search, but have no personal experience. My team is small, yet we produce a high quantity (as well as very high quality) of projects for our end users and have a running list to keep us busy for a very long time. We view that as a slow down to that process (yet we don’t have any problem switching as we see either one as a viable solution for our development efforts). Thanks in advance.
First, I'll agree with the others that this should be a go-forward process, with conversion or legacy applications coming at some future point (if at all). The truth is, the syntax of the language in which you're coding is not the problem. Either solutions are well-designed or not, which is more about the process of building the applications than it is about the language. One thing to keep in mind, though, is this is an excellent chance to refactor. I'd start having my team think about and start maintaining a list of those things which they've always wanted to work out. We all look back on code we've written (X time period) ago and say, "What crap! What was I thinking?" Take advantage of this opportunity to rework some of that.
-
So, my team (I’m the programming manger) has been developing Web/Windows based applications using, dare I say…VB.NET (go ahead, say what you want, we like it, it does what we need it to do, and our end users/customers absolutely love what we do for them, so let the jokes fly if you must… :) ). Anyway, we just got a new Director, and his first mandate is to stop all VB.NET development and start doing it in C# (something about his prior team not being able to do something in VB.NET, like a web service, so they just switched to C#). Good news is that my team can actually code in either, though we’re much better with VB.NET so any new development won’t be too difficult. BUT! Our existing code/applications, some of which took years to write and get to the point of where they are today won’t be so much fun. So, is there any reliable tool(s) out there, that folks have actual experience with, that we can use to convert or assist us in conversion? I see plenty in my Google search, but have no personal experience. My team is small, yet we produce a high quantity (as well as very high quality) of projects for our end users and have a running list to keep us busy for a very long time. We view that as a slow down to that process (yet we don’t have any problem switching as we see either one as a viable solution for our development efforts). Thanks in advance.
Hi Zhat. I faced the same problem any years ago, and this online tool was pretty helpfull to overcome that issue. In some cases the result code may need a little corrections, but nothing out of this world. http://converter.telerik.com Let me know if it results as usefull for your team as it was for me. Best regards.
-
So, my team (I’m the programming manger) has been developing Web/Windows based applications using, dare I say…VB.NET (go ahead, say what you want, we like it, it does what we need it to do, and our end users/customers absolutely love what we do for them, so let the jokes fly if you must… :) ). Anyway, we just got a new Director, and his first mandate is to stop all VB.NET development and start doing it in C# (something about his prior team not being able to do something in VB.NET, like a web service, so they just switched to C#). Good news is that my team can actually code in either, though we’re much better with VB.NET so any new development won’t be too difficult. BUT! Our existing code/applications, some of which took years to write and get to the point of where they are today won’t be so much fun. So, is there any reliable tool(s) out there, that folks have actual experience with, that we can use to convert or assist us in conversion? I see plenty in my Google search, but have no personal experience. My team is small, yet we produce a high quantity (as well as very high quality) of projects for our end users and have a running list to keep us busy for a very long time. We view that as a slow down to that process (yet we don’t have any problem switching as we see either one as a viable solution for our development efforts). Thanks in advance.
You could always hire more developers, like me. :)
-
Actually I had a similair experience a few years back. It took me well over 2,5 years to fully convert an asp.net 1.1(vb.net) application to a asp.net 3.5 (C#) successor. However, I had to convert the entire application. For my basic translation I used sharpdevelop [^]; this has a built in converter. Also, I used online conversion tools, as there are many available [^]. Hope this helps!
It helps greatly, thanks. I'm hoping NOT to have to do this conversion, and at worse just start all new code in C# vice VB.NET. However, I need to at least plan for having to convert, and determine the pitfals so I can further discuss this with him next week.
-
My experience has been that new code will use the language du jour, but older systems will never get converted. What's the ROI? And you're doing a lot of running just to stay in place.
Psychosis at 10 Film at 11
BrainiacV wrote:
What's the ROI?
None. But, there's the issue of maintaining two seperate code bases, vice 1, and maybe that's part of what's driving him. This isn't a final decision yet however so maybe in the end we won't have to worry about conversion of existing code.
-
I don't intend to be mean sounding, but honestly, he sounds like a fool. Who would walk into a new job and for no good reason say, re-write everything, or switch languages so that now we have two languages to support? What's the business benefit? Makes no sense. I can't imagine what it is, but if there is one very specific thing you can't do with VB.NET that you can in C#, just write that one very specific thing in C# and move on. Re-writing working code just for sake of switching languages not only offers zero benefit to the business, but it costs the business time and money. I would fire that guy before he even started just for suggesting it, it's irresponsible. I write code and I manage large development projects and what I've found is, ask yourself a simple question when making decisions like this... could I stand up in a board meeting and explain why this decision was made and how it will ultimately benefit the company? If not, don't do it.
MachineGun wrote:
I don't intend to be mean sounding
No offense taken, you make valid points. This isn't a done deal, but an ongoing discussion between him and I, although he seemed pretty set on doing all new code in C#, the conversion of existing code is yet to be final. This new director really isn't new to our company, he's been here for over 25 years, at a "sister" organization. He's already done this at his other place, and apparently could justify the effort, at least for those folks, but he is very good at what he does. Our's is a different beast however, but again, the conversion of existing code isn't final, I'm just trying to get a grasp on what tools are out there in case I do have to make it happen.
-
So, my team (I’m the programming manger) has been developing Web/Windows based applications using, dare I say…VB.NET (go ahead, say what you want, we like it, it does what we need it to do, and our end users/customers absolutely love what we do for them, so let the jokes fly if you must… :) ). Anyway, we just got a new Director, and his first mandate is to stop all VB.NET development and start doing it in C# (something about his prior team not being able to do something in VB.NET, like a web service, so they just switched to C#). Good news is that my team can actually code in either, though we’re much better with VB.NET so any new development won’t be too difficult. BUT! Our existing code/applications, some of which took years to write and get to the point of where they are today won’t be so much fun. So, is there any reliable tool(s) out there, that folks have actual experience with, that we can use to convert or assist us in conversion? I see plenty in my Google search, but have no personal experience. My team is small, yet we produce a high quantity (as well as very high quality) of projects for our end users and have a running list to keep us busy for a very long time. We view that as a slow down to that process (yet we don’t have any problem switching as we see either one as a viable solution for our development efforts). Thanks in advance.
-
First, I'll agree with the others that this should be a go-forward process, with conversion or legacy applications coming at some future point (if at all). The truth is, the syntax of the language in which you're coding is not the problem. Either solutions are well-designed or not, which is more about the process of building the applications than it is about the language. One thing to keep in mind, though, is this is an excellent chance to refactor. I'd start having my team think about and start maintaining a list of those things which they've always wanted to work out. We all look back on code we've written (X time period) ago and say, "What crap! What was I thinking?" Take advantage of this opportunity to rework some of that.
Thanks. As far as new code, no problem doing C#, we can easily adapt and make that happen moving forward. Also, we do have some small number of "legacy" app's, written in VB6 that we have to convert due to business reasons, but we've already planned on just rewritting those from scratch, not just "converting" them, so basically that's new code as well...it's the large number of current app's that are in production which I'm concerned, and therefore asking about. Not firm decision has been made yet, just preparing for it is all.