Coffeehouse Thread

35 posts

A Petition to 'Save' C# !!!

Back to Forum: Coffeehouse
  • User profile image
    irascian

    ThomasAesir wrote:
    Hell, even Microsoft does't release shrinkwrap applications which require the .Net Framework.


    Errrm. Sparkle requires the .Net Framework.

  • User profile image
    sbc

    irascian wrote:
    ThomasAesir wrote: Hell, even Microsoft does't release shrinkwrap applications which require the .Net Framework.


    Errrm. Sparkle requires the .Net Framework.

    I think he means the mainstream ones, not in beta. Like Office, MSN Messenger, SQL Server etc. Is Visual Studio written in C#? What Microsoft products are written in .NET 1.0/1.1?

    Where performance is a primary factor, .NET is not the best option. I doubt a database written in C# would ever outperform one written in C/C++.

  • User profile image
    Sabot

    What have I done! Can we stop the thread please I want to get off! Comparing languages is like comparing (I need to watch my language) lengths.They all do the trick in there small way and one is really as good as another but some can get into nooks-and-cranny's better than others when pushed!Anyway, hey I'm an Architect, so I believe 'Abstraction' is going to take away most coding anyway some day any how.:PJust for the record Ian, I'm an old VB3 coder, from a C background (thats C on a Dec Vax). I got into OO by looking at the feature list of VB4 and going 'collection classes ... cool!', a humble start, sad but true.

  • User profile image
    jsrfc58

    Beer28 wrote:
    java and it's .NET clone are bloat, plain and simple. There's no big deal when you run a service application and you own the hardware and can stock it with lots of memory but when it's redistributable, it's a bad idea. For embedded stuff it's an even worse idea.


    Everything comes down to machine language anyway, whether it is a runtime (.NET) or a program written in C/C++.  .NET just adds layers of abstraction, and yes, it does have its place because it is often faster in terms of productivity when creating apps.  But it is not appropriate everywhere.  Assembly language is usually the absolute fastest code, IF it is well written and optimized. However, it is not usually appropriate for huge programs like a word processing app where most of the work is done somewhere down inside of the Windows architecture where you have little control anyway.

    This is why there are hardly any books on Windows assembly language programming.  Don't get me wrong, I love assembly, and always will, but there are times when it is not the best tool.

    I still prefer compiled languages over bytecode or interpreted languages anytime, tho.

  • User profile image
    jsrfc58

    Beer28 wrote:
    True, BUT compile a small C program that sleeps for 10 secs, and check your resources while it's in main() sleeping, then compile the same program with C# and .NET, then you'll see that yes, both run CPU opcodes, obviously at the end of the road, but one compiles to much smaller more compact instruction sets and reserved memory than the other.


    Yes, but that also depends upon which IDE/vendor implementation you use...whether it is Borland, gcc, VC6 or something else.

    And you could probably make it even tinier in assembly.

    Sounds like a contest idea...who can make the most compact program for a given function.

  • User profile image
    footballism

    jsrfc58 wrote:

    Sounds like a contest idea...who can make the most compact program for a given function.

        I recommend you to program in CPU instruction sets, no compilation is needed, no performance penalty will be encountered:p

        Sheva

  • User profile image
    footballism

    sbc wrote:

     Is Visual Studio written in C#?

    I believe part of Visual Studio.NET is written in managed code.

    sbc wrote:

    What Microsoft products are written in .NET 1.0/1.1?

    AFAIK, there's none:(

    Sheva

  • User profile image
    footballism

    Beer28 wrote:
    People are never going to be happy with .NET or C# once they learn C++ and realize their code takes up about 1000th of the memory footprint and runs about 10 times faster.

    It's just a fact. Beginner languages and frameworks are quickly outgrown. People are smarter than MS devs give them credit for.


    Where is LeighSword? I think you find a comrade now:p

    Sheva

  • User profile image
    McDonald

    I started out writing assemblers in assembly as well as operating systems, I wouldn't do it today. The need for the ultimate in speed and compactness is rare (except scaling servers and video) now that processors are slightly faster than 1Mhz and don't have a 64k limit. Then you played games to write tighter and faster code, including nop instructions to hide an additional entry point.

    When you consider the likelyhood of error and the scale of today's applications you have to use a high level language. Current languages like C#, Java, C++, C aren't really far from assembly in concept anyway. As an example available to you consider how much easier it is to create visualizations in XAML versus C++.

  • User profile image
    athan

    .NET and all that managed stuff are really nice though I have to agree that nothing compares to pure optimized and native compiled C/C++ code in terms of performance and memory use.
    It's the VM nature of .NET that bothers me. Many .NET developers think that JIT creates the same optimized machine code as a native compiler like C/C++. Unfortunately that's not (yet) true.

    With .NET and C#, I really enjoy the fact I'm able to create rich GUI applications in less time, but that comes at a cost. Fortunately there is C++/CLI that mix both managed and native - unmanaged code. Currently it is the only "right" tool for performance critical applications that have to access CLR.

    If only that was possible with C# ...

  • User profile image
    blowdart

    clawing back onto topic Wink

    One of the "selling" points for generics where they were built into the language, a native part of the CLR unlike the java version, which is a compiler hack.

    To me var smells of a compiler hack as well. Not good. To me it looks like one of those things which will go into internal best practise lists as "Do not use", as it's hard to maintain and hard to read.

  • User profile image
    WillemM

    Personally I think that C# 2.0 is a great improvement on the existing C# language. But the stuff that is coming in C# 3.0 is a little weird.

    var x = new Person(); ?????

    Sounds like we are going back to the vb6.0 period. It not only looks dirty, but I think it will be a huge source of trouble.

  • User profile image
    athan

    First .NET killed applications performance, now C# tries hard to be the next ...SQL and VB.NET mimics C#, C++/CLI is now a JITed (native) compiler that "just works" (!), WPF is the future GUI but we have to use Winforms until its finished. Then we have Microsoft who use none of the above "innovations" in Vista or Office12. Great... Perplexed

    I wonder what else will happen to developers in the future. BTW a crystal ball is a necessary programmer's gadget...

  • User profile image
    footballism

    WillemM wrote:

    Personally I think that C# 2.0 is a great improvement on the existing C# language. But the stuff that is coming in C# 3.0 is a little weird.

    var x = new Person(); ?????

    Sounds like we are going back to the vb6.0 period. It not only looks dirty, but I think it will be a huge source of trouble.

        OMG, the keyword var here let me think of javascript now, it's a weakly typed language, and sometimes quite tedious to program in.
        Anders, var is really really a baaaaaaaaaaaaaaaad idea:(
       
        Sheva

  • User profile image
    TommyCarlier

    The difference is, that this var is a strongly typed var: if you say 'var x = 3;', the type of x will be int, and will not be able to change. Even Intellisense will detect that x is an int. I think it's nice that we can type "var myDict = new Dictionary();" instead of "Dictionary myDict = new Dictionary();". It doesn't make C# weakly typed.

  • User profile image
    androidi

    Beer28 wrote:
    jsrfc58 wrote:
    Everything comes down to machine language anyway, whether it is a runtime (.NET) or a program written in C/C++. 


    True, BUT compile a small C program that sleeps for 10 secs, and check your resources while it's in main() sleeping, then compile the same program with C# and .NET, then you'll see that yes, both run CPU opcodes, obviously at the end of the road, but one compiles to much smaller more compact instruction sets and reserved memory than the other.


    Certainly, however if you need a complex program done in reasonable amount of time and cost, how would that compare? Or are you claiming that a program that sleeps for x secs should be used as reference in this case too? There will be a time when people start to expect a bit more from their "simple programs" - imagine the Star Trek ship computer. Wink

  • User profile image
    marlowe

    sbc wrote:
     What Microsoft products are written in .NET 1.0/1.1?



    Ok, I'll bite.  What is ASP.NET for $2000, alex?  Tongue Out

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.