Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

C# User Opinions.

Options
  • 21-10-2004 4:51pm
    #1
    Closed Accounts Posts: 598 ✭✭✭


    Hi folks.

    I currently use Java for when I'm doing a bit of coding work at home. Apart from the performance issues I find JAVA to be easy to use etc. However a cousin of mine who works for a software house says that they are starting to code more and more stuff in .NET, especially C#. He couldn't praise it highly enough, and urged me to start coding in it as soon as possible.

    1) Am I right in understanding that at a high level, C# sharp combines the OO functionality of java, with the ease of development that VB used to have?

    2) Can C# do low level programming tasks as C++ (shudder) does, eg at the hardware level?

    3) Is there any other advantages/disadvantages of using C# ahead of Java, aside from the application only running on Windows?

    4) Is there any development environment that is low cost, but provides auto-complete functionality, colour tagging etc, but which doesn't cost the same as Microsoft's Visual Studio .NET? I can't splash out on such a product now, but don't wish to use a basic text editor to do my coding.

    Cheers.


Comments

  • Registered Users Posts: 7,468 ✭✭✭Evil Phil


    #develop is free. Although I've never used it myself I've only heard praise for it. The download is about 6mb and you'll need the .Net framework too, get it here.

    From what little experience I've had with Java I would say the C# is modelled more on Java with little or no influence from the old VB world. Syntacticly C# is almost identical to Java and the same OO principals will apply. Some Java developers I have worked with picked up C# almost instantly.

    You can write unmanaged code in C#, that is code that runs outside of the Common Language Runtime, which means you can do some C++ like stuff. TBH I'm not a C++ person and am not really qualified to answer the question.

    Java vs C#? Dunno, 1/2 dozen of one 6 of the other as far as I can see but as I've said my Java experience is limited. I'm interested to hear what others have to say about it though.


  • Registered Users Posts: 261 ✭✭HaVoC


    any one know a good book to start c#
    i have mostly done java.


  • Registered Users Posts: 15,443 ✭✭✭✭bonkey


    IronMan wrote:
    However a cousin of mine who works for a software house says that they are starting to code more and more stuff in .NET, especially C#. He couldn't praise it highly enough, and urged me to start coding in it as soon as possible.

    As a matter of interest, has he also done Java?
    1) Am I right in understanding that at a high level, C# sharp combines the OO functionality of java, with the ease of development that VB used to have?
    Sort of.

    The language could effectively be called MSJava. However, as with VB, there's an absolute ton of stuff like data-binding, simple (but not always powerful) UI creation, and so on.

    The one major problem I have, however, is that the C# Winforms design suffers from the same fundamental problems that VB 5 and 6 both did - the controls are (at best) Win95-standard. There are workarounds, but its yet another case of "we'll make it really simple to make really good looking apps....as long as you define good-looking on a standard which we left behind over half a decade ago".
    2) Can C# do low level programming tasks as C++ (shudder) does, eg at the hardware level?
    Sort of.

    Any .Net language allows you to access what is termed "unmanaged code". This is effectively code which is still outside the .Net framework. So, for example, there's a lot of stuff in the WinAPI which isn't natively and directly accessible yet in .Net, but you can still declare calls to these external routines....but like you'd have done with VB really.
    3) Is there any other advantages/disadvantages of using C# ahead of Java, aside from the application only running on Windows?
    The enterprise-level coding approach in C# is worlds apart from Java. Neither is necessarily better, but they may each be differently suited to various tasks.

    At standard ol' "thick client" or "client-to-DB" levels....not much between them, I must say, although I still find UI development faster in Visual Studio.

    Also don't forget that C# also allows you to do (horrible) web development through the ugly, UGLY* ASP.NET. I'd recommend that you stay the hell away from it, but if you're really gone on web development you might find this a good reason....
    4) Is there any development environment that is low cost, but provides auto-complete functionality, colour tagging etc, but which doesn't cost the same as Microsoft's Visual Studio .NET? I can't splash out on such a product now, but don't wish to use a basic text editor to do my coding.
    If you just want to get to grips with the language, then have a look at the beta "Express" versions of the Visual Studio 2005 range. Freely downloadable at the mo from here.

    Also, if you're only getting into the language at this stage, it might be worth starting with .Net 2.0, which is what these 2005 releases will be (currently, we're on 1.1). Current estimations of release dates are - I believe - end of Q1 / start of Q2 next year.

    jc

    *This is only an opinion, but just ask yourself why MS didn't write Outlook Web Access in ASP.NET if its as good as they keep telling us. They can't even showcase their own product.


  • Registered Users Posts: 640 ✭✭✭Kernel32


    bonkey wrote:
    The one major problem I have, however, is that the C# Winforms design suffers from the same fundamental problems that VB 5 and 6 both did - the controls are (at best) Win95-standard. There are workarounds, but its yet another case of "we'll make it really simple to make really good looking apps....as long as you define good-looking on a standard which we left behind over half a decade ago".

    I think you will find the lack of nifty widgets is by design. There are loads of third party vendors out there who sell very nice web and windows controls. If Microsoft started providing the same type of controls it would cause all sorts of problems in that industry which has been established for many years now. I use Infragistics web components and they are pretty good.
    bonkey wrote:
    Also don't forget that C# also allows you to do (horrible) web development through the ugly, UGLY* ASP.NET. I'd recommend that you stay the hell away from it, but if you're really gone on web development you might find this a good reason....

    I would be interested to know what you find as the drawbacks to using ASP.Net. Personally I love it and have worked on several lage ASP.Net projects. I have found that a lot of developers are not using it to its full potential. I partly blame the zillion online tutorials that came out when it was in beta that were crap along with Microsoft not really knowing how to help developers use it either.


  • Registered Users Posts: 15,443 ✭✭✭✭bonkey


    Kernel32 wrote:
    I think you will find the lack of nifty widgets is by design.
    I'm sure it is, but for slightly more cynical reasons than the belief that its for the good of the industry.

    For example...I use c# Refactory as an addon to Visual Studio. VS 2005 has almost identical functionality built in. Similarly, the Team Studio enhancements to VS2005 will include an MS implementation of nUnit, and many other features which have hithertofore been thriving areas for other companies to supply additional functionality in the same vein as Custom Controls does.

    I'm not looking for the world. I'd just like all the basic controls - at both runtime and designtime - to either reflect the operating system they're on, or to be settable to a "historic" look and feel or to the current one.
    There are loads of third party vendors out there who sell very nice web and windows controls. If Microsoft started providing the same type of controls it would cause all sorts of problems in that industry which has been established for many years now. I use Infragistics web components and they are pretty good.
    I use infragistics, dotnetbar, and several others, but its still somewhat annoying that every - or almost every - single visual control which ships with Visual Studio is - to my mind - substandard.

    There's plenty of market for custom controls, even if the *basic* ones comply with current standards, which is all I'd really like to see.
    I would be interested to know what you find as the drawbacks to using ASP.Net.
    Fair question...I'll write a response to it in the next day or so...it would take a bit long now....

    jc


  • Advertisement
  • Registered Users Posts: 4,276 ✭✭✭damnyanks


    Is there any difference from Vb.net and C# other then syntax ?


  • Registered Users Posts: 15,443 ✭✭✭✭bonkey


    At present, each of the languages has some small features that the other doesn't directly support. Whether they stay so close, or diverge, is anyone's guess.

    jc


  • Registered Users Posts: 950 ✭✭✭jessy


    HaVoC wrote:
    any one know a good book to start c#
    i have mostly done java.

    Paperback 720 pages (May 30, 2003)
    Publisher: O'Reilly UK
    ISBN: 0596004893


  • Registered Users Posts: 2,002 ✭✭✭bringitdown


    Down with platform specifics....

    As a matter of interest has anyone built an application using Mono / .NET? Even a "Hello World", I'd be interested in knowing if it is straight forward to use a the two to develop cross-platform components etc. given M$ previous lack of adhering even to their own standards.


  • Closed Accounts Posts: 598 ✭✭✭IronMan


    Cheers Evil Phil, downloaded that IDE, and it looks brillant, very professional, and its open source. Easy to use and well documented, if only all mature open source projects could apply these principals.


  • Advertisement
  • Registered Users Posts: 7,468 ✭✭✭Evil Phil


    damnyanks wrote:
    Is there any difference from Vb.net and C# other then syntax ?

    I'll add to this: Vb.Net and C# compile into assemblies. After compilation an assembly is available to all .Net enabled languages (for example Python.Net if there is such a thing) regardless of the language it was written in. So Vb.Net assemblies work with C# and vice versa.

    From an employment point of view: the Agencies I'm talking too have more Vb.NET work than C#, conversely they have more C# developers than Vb.NET.

    From my own experience of working in the Irish/Dublin market employers favoured classic VB for its ease of a quick and dirty approach* to development. “Go early go ugly” was the mantra in one software house I’ve worked for. They’re still in business so I’d imagine they’ve learned their lesson. The people who made these decisions were inevitably non-engineers. This reflects on the situation described above; that is some employers still want quick and dirty so they are hanging on to VB, developers are moving to C# to escape this (and perhaps to be taken more seriously by the industry). Vb.net is a fully object oriented language so early and ugly, happily, will become a thing of the past. I also think C# is a prettier language to work with if you’ll forgive the expression.

    *This is not saying that you can’t write outstanding code with classic VB. You can.


  • Closed Accounts Posts: 8,264 ✭✭✭RicardoSmith


    Some times quick and dirty is all you need. For practical and business reasons. I'm primarily from a VB/VBA/ASP background, currently learning Java as the opportunity to do so arose. Most of my more experienced colleagues have moved to C# and love it. I'll go that route myself when time allows. I see that as the future as .Net it has most of the advantages of Java, is usually faster and is more comprehensive.

    From my experience of VBA (haven't looked at VBA.NET yet) it would seem that development of VBA has evolved rather than been planned, which many applications having very different object models which have been developed independently, and not very coherently. But it is very powerful, and there is no other techology that compete with it. Starbasic? I don't think so. Outlook VBA is even more quirky than the other applications which suggests it has been developed piecemeal with little forethought.


  • Registered Users Posts: 515 ✭✭✭NeverSayDie


    Similar to above - I haven't done much more than Hello Worlds and such in C#, aiming to move to it once circumstances permit. A good few folks I know have moved into C#, and swear by it since. Far as I know, some of them also develop with Mono (ie, C#/.NET for Linux, etc), they seem to get on pretty good with it, not really relevant to myself at the moment.

    Re books, O'Reilly's Programming C# comes highly reccomended; http://www.amazon.co.uk/exec/obidos/ASIN/0596004893


  • Registered Users Posts: 261 ✭✭HaVoC


    cool thanx jessy


  • Closed Accounts Posts: 35 Boco


    Down with platform specifics....

    As a matter of interest has anyone built an application using Mono / .NET? Even a "Hello World", I'd be interested in knowing if it is straight forward to use a the two to develop cross-platform components etc. given M$ previous lack of adhering even to their own standards.


    Yeah. I've coded and compiled a very simple console app in vs.net 2003, copied it over to a linux box and ran it under mono without any problems. I never managed to get asp.net working though, but that was a few releases before the current.


  • Registered Users Posts: 2,800 ✭✭✭voxpop


    MS .NET apps will partically work on MONO depending on what assemblies used. I wouldnt depend on a c# app to be cross platform without some tweaks to the .net code but it is getting better

    Check out Mono 1.0 Release Notes for know bugs and supported assemblies

    The difference between c# and vb.net are just syntatical. Changes [] for () when indexing arrays, change int a to dim a as integer, etc. I've used both languages and find it extremely easy to switch from one to the other.


  • Registered Users Posts: 43,907 ✭✭✭✭Basq


    Have started learning C# this year. Started with Console Applications which for some reason, i couldn't fathom! But then we moved on to good ol' Windows Applications which suited me fine.

    If you did Visual Basic, the drag-and-drop interface of it is great. But it is definantly not as easy as Visual Basic.

    I'm doing my year long project (an Air Hockey Game) this year. Well, when i say year long, i mean until March.

    Only really started the interface this weekend. I should really get a move on..!

    BTW - Apologies for going slightly off topic here but.. any opinions on improvements on my Main Menu (see attached)? I'm not a huge fan of the size of the buttons but i need to fill up the screen with something. Any suggestions?


  • Registered Users Posts: 2,150 ✭✭✭dazberry


    basquille wrote:
    Have started learning C# this year. Started with Console Applications which for some reason, i couldn't fathom! But then we moved on to good ol' Windows Applications which suited me fine.

    Probably just teaching the fundimentals first tbh - which makes sense. No point in getting distracted by the RAD framework before you have atleast some reasonable understanding of the language underneath. To my horror I've seen applications where the underlying language is used more like a script than an actual language - just tying all the RAD bits together without rhyme or reason.
    basquille wrote:
    If you did Visual Basic, the drag-and-drop interface of it is great. But it is definantly not as easy as Visual Basic.

    The lead architect on C# was the lead architect on Delphi (up to version 3 AFAIR) so there's actually a lot of Delphi features and concepts in C# - both in the IDE and the language itself.

    D.


  • Registered Users Posts: 950 ✭✭✭jessy


    basquille wrote:
    BTW - Apologies for going slightly off topic here but.. any opinions on improvements on my Main Menu (see attached)? I'm not a huge fan of the size of the buttons but i need to fill up the screen with something. Any suggestions?

    Those buttons are a bit big (ok a lot to big), This is you Main Menu so no harm in making it look a bit flash, maybe you could put the buttons along the side and put a pic of an air hockey Table in the center of the screen it might look better.


Advertisement