469,917 Members | 1,474 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,917 developers. It's quick & easy.

Limitations/disadvantages of C#

My company is considering using C# for a large project and it is a
language I'm only just now becoming familiar with. For the most part
I like it and that seems to be the most logical choice as far as
future support. My question is: what are the disadvantages or
limitations of using C#? So far I've seen very few people willing to
mention anything "bad" about it, but every language has it's faults.
We would be using C# in the .NET Framework and building with Visual
Studio .NET (I assume there are other compilers though I haven't
looked). My biggest concern is something I read once, that the C#
compiler in VS will not produce object files for later linking so any
changes require the entire project to be recompiled. Is this true?
Are there any other things that may be a consideration for a
large-scale project (several hundred thousand lines of code at a
minimum)?
Posted Via Usenet.com Premium Usenet Newsgroup Services
----------------------------------------------------------
** SPEED ** RETENTION ** COMPLETION ** ANONYMITY **
----------------------------------------------------------
http://www.usenet.com
Nov 15 '05 #1
8 22459
Wilbur <fo*****@yahoo-dot-com.no-spam.invalid> wrote:
My company is considering using C# for a large project and it is a
language I'm only just now becoming familiar with. For the most part
I like it and that seems to be the most logical choice as far as
future support. My question is: what are the disadvantages or
limitations of using C#? So far I've seen very few people willing to
mention anything "bad" about it, but every language has it's faults.
We would be using C# in the .NET Framework and building with Visual
Studio .NET (I assume there are other compilers though I haven't
looked). My biggest concern is something I read once, that the C#
compiler in VS will not produce object files for later linking so any
changes require the entire project to be recompiled. Is this true?
Are there any other things that may be a consideration for a
large-scale project (several hundred thousand lines of code at a
minimum)?


C# can be compiled very fast, but you should certainly consider
splitting a project like that into several assemblies, which will help
matters.

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Nov 15 '05 #2
I have done a project in C# almost 20,000 lines of code without trouble, you can see others projects like ROTOR o MONO, which have a lot more. You have a C# from Borland, and I guest that this answer all question except 1 the object files, and I don't have an answer for that.
--
Bela Istok
MVP C#
Caracas, Venezuela
"Wilbur" <fo*****@yahoo-dot-com.no-spam.invalid> wrote in message news:40**********@Usenet.com...
My company is considering using C# for a large project and it is a
language I'm only just now becoming familiar with. For the most part
I like it and that seems to be the most logical choice as far as
future support. My question is: what are the disadvantages or
limitations of using C#? So far I've seen very few people willing to
mention anything "bad" about it, but every language has it's faults.
We would be using C# in the .NET Framework and building with Visual
Studio .NET (I assume there are other compilers though I haven't
looked). My biggest concern is something I read once, that the C#
compiler in VS will not produce object files for later linking so any
changes require the entire project to be recompiled. Is this true?
Are there any other things that may be a consideration for a
large-scale project (several hundred thousand lines of code at a
minimum)?
Posted Via Usenet.com Premium Usenet Newsgroup Services
----------------------------------------------------------
** SPEED ** RETENTION ** COMPLETION ** ANONYMITY **
----------------------------------------------------------
http://www.usenet.com
Nov 15 '05 #3
I know they are reworking the whole build environment for Whidbey and LH.
Not that that helps you now. Not sure about the object module deal.
Obviously, if you use dll assemblies, those that don't change - don't need
to be rebuilt. So team1 working on dll1, dll2 can rebuild their own stuff
and team 2 using dll1, and dll2 just ref the binaries, so they don't need to
rebuild anything but their own stuff. As far as c# goes, after using it for
awhile, I can't imagine programming in anything else now. I can think in
c#, I can't say that for the other languages I used over the years.
--wjs

"Wilbur" <fo*****@yahoo-dot-com.no-spam.invalid> wrote in message
news:40**********@Usenet.com...
My company is considering using C# for a large project and it is a
language I'm only just now becoming familiar with. For the most part
I like it and that seems to be the most logical choice as far as
future support. My question is: what are the disadvantages or
limitations of using C#? So far I've seen very few people willing to
mention anything "bad" about it, but every language has it's faults.
We would be using C# in the .NET Framework and building with Visual
Studio .NET (I assume there are other compilers though I haven't
looked). My biggest concern is something I read once, that the C#
compiler in VS will not produce object files for later linking so any
changes require the entire project to be recompiled. Is this true?
Are there any other things that may be a consideration for a
large-scale project (several hundred thousand lines of code at a
minimum)?
Posted Via Usenet.com Premium Usenet Newsgroup Services
----------------------------------------------------------
** SPEED ** RETENTION ** COMPLETION ** ANONYMITY **
----------------------------------------------------------
http://www.usenet.com

Nov 15 '05 #4
C# doesn't support multiple-inheritance. It supports a 'form' of MI by
allowing multiple *interfaces*, but this only benefits the user of the class,
not the implementor.

Don't bother responding to this message that "MI is bad" -- it isn't, it is a
powerful language feature that can be misused, but that doen't make it bad.

Not specific to C#, but the 'new' (now in its second revision) development
environment and compilers are extremely poor. There are a lot of issues, most
subjective, but some of the compiler warning/error messages are extremely
unhelpful and provide virtually no context. Migration from existing
(non-trivial) C++ projects to C# can be particularly tedious -- 1/2 the time
spent on the port, 1/2 the time spent trying to isolate the mystery errors.

It will take at least two more versions of the product before it is truly
usable and refined.

Wilbur wrote:

My company is considering using C# for a large project and it is a
language I'm only just now becoming familiar with. For the most part
I like it and that seems to be the most logical choice as far as
future support. My question is: what are the disadvantages or
limitations of using C#? So far I've seen very few people willing to
mention anything "bad" about it, but every language has it's faults.
We would be using C# in the .NET Framework and building with Visual
Studio .NET (I assume there are other compilers though I haven't
looked). My biggest concern is something I read once, that the C#
compiler in VS will not produce object files for later linking so any
changes require the entire project to be recompiled. Is this true?
Are there any other things that may be a consideration for a
large-scale project (several hundred thousand lines of code at a
minimum)?

Posted Via Usenet.com Premium Usenet Newsgroup Services
----------------------------------------------------------
** SPEED ** RETENTION ** COMPLETION ** ANONYMITY **
----------------------------------------------------------
http://www.usenet.com


--
Bret Pehrson
mailto:br**@infowest.com
NOSPAM - Include this key in all e-mail correspondence <<38952rglkwdsl>>
Nov 15 '05 #5
I won't list the advantages since I guess it is easy enough to figure those
out. Suffice it to say that despite the disadvantages my productivity has
increased with .NET and C# as compared to unmanaged programming.

I used to work with C++ for many years after which I switched over to C#
almost exclusively. All in all, I've got only a few issues with C#.
- no templates and thus no easy type-safe collections. In the beginning
having to downcast felt like returning to the stone age; now it doesn't
bother me that much (that is about to change though with generics in C#)
- no deterministic destructors and thus no RAII (and thus managing
_unmanaged_ resources can become more complicated) (well this is not really
a language but rather a CLR issue)
- no typedefs (typedefs were most useful with complex template types, so
with no templates it was not that much of an issue)
- the fact that the whole class is defined in a single file felt like a
limitation at first but it does not bother me any more
- not having multiple inheritance may be a limitation but that really
depends more on your style - I tend to avoid it even with C++

There are issues with working with VS.NET and C# in team environments in
complex projects, as is evident e.g., in this thread:
http://tinyurl.com/2e2mw. My experiences were very similar and it
occasionally does require an untrivial amount of working around to make
things happen.

Regards,
Sami
"Wilbur" <fo*****@yahoo-dot-com.no-spam.invalid> wrote in message
news:40**********@Usenet.com...
My company is considering using C# for a large project and it is a
language I'm only just now becoming familiar with. For the most part
I like it and that seems to be the most logical choice as far as
future support. My question is: what are the disadvantages or
limitations of using C#? So far I've seen very few people willing to
mention anything "bad" about it, but every language has it's faults.
We would be using C# in the .NET Framework and building with Visual
Studio .NET (I assume there are other compilers though I haven't
looked). My biggest concern is something I read once, that the C#
compiler in VS will not produce object files for later linking so any
changes require the entire project to be recompiled. Is this true?
Are there any other things that may be a consideration for a
large-scale project (several hundred thousand lines of code at a
minimum)?
Posted Via Usenet.com Premium Usenet Newsgroup Services
----------------------------------------------------------
** SPEED ** RETENTION ** COMPLETION ** ANONYMITY **
----------------------------------------------------------
http://www.usenet.com

Nov 15 '05 #6
Bret Pehrson <br**@infowest.com> wrote:
Not specific to C#, but the 'new' (now in its second revision) development
environment and compilers are extremely poor. There are a lot of issues, most
subjective, but some of the compiler warning/error messages are extremely
unhelpful and provide virtually no context. Migration from existing
(non-trivial) C++ projects to C# can be particularly tedious -- 1/2 the time
spent on the port, 1/2 the time spent trying to isolate the mystery errors.


While I know there are problems with VS.NET's designer (and the IDE
lacks important things like refactoring), I find the compiler
errors/warnings almost always reasonable - certainly compared with
those from MS's C++ compiler in VS6!

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Nov 15 '05 #7
The same here! VC# error and warning messages are absolutely great compared with previous VC++ versions.

However, C# language also has some limitations, and many of them are to be addressed in C# 2.0 (coming with Visual Studio .NET and ADO .NET code-named "Whidbey"). To read more about the new features, search for "Whidbey" on MSDN.

--
Sorin Dolha [MCP, MCAD]
"Jon Skeet [C# MVP]" <sk***@pobox.com> wrote in message news:MP***********************@msnews.microsoft.co m...
Bret Pehrson <br**@infowest.com> wrote:
Not specific to C#, but the 'new' (now in its second revision) development
environment and compilers are extremely poor. There are a lot of issues, most
subjective, but some of the compiler warning/error messages are extremely
unhelpful and provide virtually no context. Migration from existing
(non-trivial) C++ projects to C# can be particularly tedious -- 1/2 the time
spent on the port, 1/2 the time spent trying to isolate the mystery errors.


While I know there are problems with VS.NET's designer (and the IDE
lacks important things like refactoring), I find the compiler
errors/warnings almost always reasonable - certainly compared with
those from MS's C++ compiler in VS6!

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Nov 15 '05 #8
Winforms do not refactor at all. The resx files once set theyre impossible
to refactor without d.icking it all up

"Jon Skeet [C# MVP]" <sk***@pobox.com> wrote in message
news:MP***********************@msnews.microsoft.co m...
Bret Pehrson <br**@infowest.com> wrote:
Not specific to C#, but the 'new' (now in its second revision) development environment and compilers are extremely poor. There are a lot of issues, most subjective, but some of the compiler warning/error messages are extremely unhelpful and provide virtually no context. Migration from existing
(non-trivial) C++ projects to C# can be particularly tedious -- 1/2 the time spent on the port, 1/2 the time spent trying to isolate the mystery
errors.
While I know there are problems with VS.NET's designer (and the IDE
lacks important things like refactoring), I find the compiler
errors/warnings almost always reasonable - certainly compared with
those from MS's C++ compiler in VS6!

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too

Nov 15 '05 #9

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

21 posts views Thread by EmJayEm | last post: by
54 posts views Thread by m.roello | last post: by
1 post views Thread by Husam | last post: by
1 post views Thread by Amit | last post: by
1 post views Thread by Waqarahmed | last post: by
reply views Thread by Salome Sato | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.