Good Reasons to port asp.NET VB.NET app to C#

G

Guest

Hi,

I developed ASP.NET application in VB.NET about a year ago; it has been in
production since. Now they want to add new features change some of the
existing ones, it's not a major rework, but probably a week of work or so.
My dilemma is that I have switched to C# since than and want to continue
coding in C#. Now would be a good time to port this app to C# with new
features which will add probably twice as much time to development of this
new release.
What reasons I can give to the management to convince them to give me extra
time to rewrite this application to C#. From what I understand there's not
that much difference between VB.NET and C# it compiles to the same code. But
I find C# more concise and more "suitable" for .NET; just more elegant
language. If I am going to be supporting this app I want to support in C#.
 
B

Brock Allen

I think that if your group is a C# group then you answered your own question:
"If I am going to be supporting this app I want to support in C#."

Also, I think you'll find that migrating the pages from VB.NET to C# (or
from C# to VB.NET for that matter) is trivial and shouldn't take you much
time at all.
 
J

Jeremy S.

I ported an app from VB.NET to C# manually (it's a control thing... didn't
want to trust a translator). The majority of the "conversion" simply
involved adding a semicolon (;) to the end of each line of code. Looping and
branching constructs required an extra neuron or two. It's really a trivial
matter to "port" to C#.
 
K

Kevin Spencer

Okay, your requirement is to upgrade the app. Your DESIRE is to change it to
C#. I'm assuming that you're paid for your time. IMHO, you have 2 ethical
choices:

1. Migrate it to C# on your own time.
2. Leave it in VB.Net

IOW, there are no logical reasons for changing the language. If you do so,
your boss will want to know why, since he's paying for it. And there is no
why, other than your personal preference.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
What You Seek Is What You Get.
 
S

Shawn H. Mesiatowsky

Just tell them it will take 2 weeks, not 1 week. they will never know you
change the code from VB to C#
 
K

Ken Cox [Microsoft MVP]

If you're more comfortable in C# than VB.NET, that's a good justification in
itself.

As for the time to port it, you can't get a headstart by using a tool like
Reflector to decompile the existing assemblies and show the source in C#.

http://www.aisto.com/roeder/dotnet/
 
A

Andy Fish

I'm with that suggestion.

Non-technical management sometimes think short-term or don't understand the
value of this sort of thing where there is no immediate cost-benefit gain.

Think of it as good karma !! - Converting to C# will improve your emotional
and psychological wellbeing which will pay off in the longer term :)
 
S

Steve C. Orr [MVP, MCSD]

I agree with Kevin. It doesn't sound like you have a good reason for
switching the app to C#. It's just a personal preference.
So you're basically asking us how to help you lie to your client, which I
won't do.

Either keep the app in VB.NET (which is a perfectly fine language) or port
the app on your own time (with the help of a code converter application to
cut down on the effort needed.)
 
S

Steve C. Orr [MVP, MCSD]

You guys are suggesting he be dishonest by getting paid for work that wasn't
requested, approved, or needed.
I wouldn't want you working for me.
 
K

Kevin Spencer

You took the words right out of my mouth, Steve.

I can remember about 6 months ago, our company was designing a
situational-awareness app for small aircraft pilots. We were using a 2D map.
We thought it would be much better with a 3D map. My bosses asked me what it
would cost to build an engine. I told them that I had no experience with 3D
drawing (although I've always wanted to get into it), and therefore I could
not give them an answer. So, my bosses started looking for a 3D
terrain-mapping engine.

Upon seeing a number of them, we realized that these black boxes were not
going to be extensible to the degree that we would need. So, I took it upon
myself to create a 3D Terrain-mapping engine using USGS Digital Elevation
Models, National Land Cover Data Set, and Microsoft Managed Direct3D. On my
own time. At home, on weekends and nights.

After a month, I took my app to the bosses. They were thrilled, and have
been paying me ever since to develop it fully. And everyone is happy. I
learned a new technology, at no cost to my superiors, and they got a custom
terrain-modelling app out of the process. And of course I've been paid many
times over in various ways for the personal time I spent on it.

Anyone that practices deceptive and dishonest tactics in their professional
life will never get far. And where they WILL get, they will regret.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
What You Seek Is What You Get.
 
G

Guest

No, I am not asking anyone to help me to lie.
Maybe I didn't phrase my question correctly. I didn't mean for it to turn
into ethics discussion, I was simply asking is there any good TECHNICAL
reasons to port to C# besides personal preference. I realize that "I prefer
C# over VB.NET" is not a good reasons by itself for my client or myself, and
I wouldn't even bring it up. And to do it on my own without telling them
would be not only dishonest but plain stupid, I have other projects ( C# :)
) lined up, so I would be pushing back their deadlines and making myself look
incompetent.
That's why asked this NG for any other reasons besides “I like C# betterâ€.
So I get that the answer is “ it's more of a personal preference thingâ€, I
can live with that.
 
M

Matt Berther

Hello WebMatrix,

There is no technical reason that I can see that would require you to port
from C# to VB.NET, unless you require some functionality that isnt available
from VB.NET (unsafe code and pointers). In most cases, this is not needed.
 
K

Kevin Spencer

Hi WebMatrix,
No, I am not asking anyone to help me to lie.

Nobody here was making that accusation towards you. It was directed towards
those who would counsel you to do so.

The fact remains, however, that, as Matt pointed out, there is no technical
advantage to using C#, unless you really need to get low-level with your
code (pointers, etc). And that piece of advice is coming to you from an old
C programmer who also prefers C#. In my job, I DO need the lower-level stuff
from time to time, but I also work with legacy VB.Net code as well. Would I
like to upgrade it to C#? Maybe. But I can't justify it. And I certainly
don't want to take my own time to do the upgrade! ;-)

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
What You Seek Is What You Get.
 
G

Guest

The fact remains, however, that, as Matt pointed out, there is no technical
advantage to using C#, unless you really need to get low-level with your
code (pointers, etc).

Point taken, no pointers in this web application. Just a traditional
request/response webforms app.
like to upgrade it to C#? Maybe. But I can't justify it. And I certainly
don't want to take my own time to do the upgrade! ;-)

Same here, Like I said I have a few C# projects lined, I don't want to take
my own time rewriting anything when real work that pays the bills needs to be
done. Besides My time is not any less valuable than clients' time.
 
J

JiangZemin

This kind of dishonesty and arrogance is what has given IT people in general
a bad reputation. It makes all our jobs harder in the long run because we
have such little credibility left.

I think Steve McConnell said it best when he said how it is not our job as
programmers to secretly make decisions about cost-benefit/P and L issues.
We are supposed to present facts and choices to people who know a lot more
than us about accounting and overall corporate strategy. If you cant
convince someone that a certain route is better than another, almost
certainly its because either its not, or you are the wrong person to lead
them down that route, not because theyre "non-technical".

-Premier JiangZemin
 
D

darrel

You guys are suggesting he be dishonest by getting paid for work that wasn't
requested, approved, or needed.

There's a balance here, I think. It's neither 100% or 100% wrong. There's a
balance of getting the work done that has to be done, and making the
employee happy and comfortable with the work they are doing.

Just MHO, of course...I'm just saying I see both sides to this issue.

Kevin...for your example, where you had to learn something on your own, that
is commendable. But I also see too many companies take that route and end up
with less-than-motivated employees.

Ie, the 'you must be billable at 80%+ of your time' policies. "You want to
learn something new? Do it on your own time." I've been in companies like
that where the environment is more of a sweatshop than a place for people to
truly enjoy what they're doing. I think a lot of people in the creative
field...be it graphic designers, programmers, architects or what have you
need to have the freedom to explore new techniques/methods on the job. They
may be billable less hours per week, but they're also going to be much
happier, more motivated, more highly skilled employees in the long run.

But, each company is different and there are certainly arguments for both.

Now, being dishonest is another issue, and I agree with comments said in
that context.

-Darrel
 
K

Kevin Spencer

There's a balance here, I think. It's neither 100% or 100% wrong.

Um, you might not feel that way if YOU were the guy paying the salary!
"You want to
learn something new? Do it on your own time."

Now you're comparing apples to oranges. Research is part of any programmer's
job. Doing research adds value to the programmer. However, in this specific
case, the issue was that the developer wanted to do something that would add
no value to the product, simply for preference's sake.

Logic is the bread and butter of programming. Do you program with that
logic?
Kevin...for your example, where you had to learn something on your own,
that
is commendable. But I also see too many companies take that route and end
up
with less-than-motivated employees.

Here I am completely lost. I don't see a connection between my example of
something I did on my own (at home) with no direction to do so from my
employer, and your rather cryptic reference to "companies that take that
route." For one thing, I'm not a company! ;-)

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
What You Seek Is What You Get.
 
D

darrel

There's a balance here, I think. It's neither 100% or 100% wrong.
Um, you might not feel that way if YOU were the guy paying the salary!

I may not. But having worked in companies using both mindsets, I can say as
an employee which one I was happier and ultimately more productive (in terms
of quality product) in. ;o)
Logic is the bread and butter of programming. Do you program with that
logic?

Yep. But just eating bread and butter get's pretty boring after a while. ;o)
Here I am completely lost. I don't see a connection between my example of
something I did on my own (at home) with no direction to do so from my
employer, and your rather cryptic reference to "companies that take that
route." For one thing, I'm not a company! ;-)

Again, I didn't mean to counter your specific example. Perhaps to re-word my
ramblings, I will just say 'sometimes it benefits employers to let their
employees play a bit' ;o)

-Darrel
 
K

Kevin Spencer

Yep. But just eating bread and butter get's pretty boring after a while.

It's never boring, as long as you scrape all the dirt off of it first! ;-)

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
What You Seek Is What You Get.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,819
Latest member
masterdaster

Latest Threads

Top