Discussion
Plotloss said:
its a native .NET language.
One could argue its the native .NET language. The CLR being written (for the most part) in C#. I know all .NET languages are supposed to be equal...but...I know which one I'd be choosing (given no codebase in something else).
My view on this stuff is that if you can code you should be able to code in anything. What does it matter if the syntax is slightly different? Nothing. Even the runtime libraries are usually much of a muchness.
Over the years I've coded in pretty much everything. This .NET stuff seems....familiar territory.
Plotloss said:
Didnt want to leave VB.NET out in the cold, which whilst syntactically similar to VB is for all intents and purposes a new product.
Indeed. But if, like us, you have pots and pots of VBScript in thousands of ASP pages when it comes to "port" time it may be loads easier to port to VB.NET than C#...so I'm glad Microsoft gave us the option!
shadytree said:
C# (C-Sharp)
Anyone know it, code it, expert at it?
Is it industry standard? Specialised?
Just after an overview please
It's an object oriented development language. Microsoft offer it as one of their .net implementation languages. It's very similar to java, I've been able to pick it up and use it commercially without any training coming from a java background. Like java it doesn't compile down to machine level code but compiles down to a common intermediate language which is interpretted by another program in to machine level code. Java uses this feature to provide intermediate code interpreters for various platforms such as windows, macs and unix boxes whereas .net uses this feature to allow developers to code in c#, c++, vb etc where they all compile down to a common intermediate language using common .net libraries for stuff like string manipulation, maths and so on. I believe interpreters are being written for other environments by 3rd parties. You'd imagine that having an interpreted style of code execution would lead to poor performance and while I have no idea about c# I have read studies that say that for code where code segments are executed repeatedly and therefore have the interpreted code cached then there is next to no difference between java and c++ for execution speed. Anyone know it, code it, expert at it?
Is it industry standard? Specialised?
Just after an overview please
I would say that if it isn't already c# will become the industry standard for windows application and web development but that's more opinion than anything else.
Hope this helps.
Mark
dern said:
I would say that if it isn't already c# will become the industry standard for windows application and web development but that's more opinion than anything else.
Mark
I would certainly agree with that, the productivity from coding in .NET is impressive. i do think that alot of productivity does come from the IDE (VS2003/2005).
NST said:
I would certainly agree with that, the productivity from coding in .NET is impressive. i do think that alot of productivity does come from the IDE (VS2003/2005).
A lot of productivity also comes from the massive number .NET class libraries that you get out of the box. Where before you'd have to write, borrow or buy some component to do a job, in many instances it's already there in the .NET Framework thus reducing the re-inventing of the wheel instances.
Alex said:
Don said:
What does it matter if the syntax is slightly different? Nothing. Even the runtime libraries are usually much of a muchness.
I tend to agree, but some languages are structurally and conceptual different (e.g. Lisp), so may take more time to get one's head around.
Edited by dern on Thursday 5th October 18:07
dern said:
Definitely, designing and writing OO code is very different process from writing procedural stuff and switching from one to another requires a substantial shift in the way you think. I've seen a lot of procedural code written in an OO language so clearly some people either don't know the difference, can't get their head around it or are resisting change.
Just check out code from someone with a VB/A/Script background compared to someone from C++/Java/Delphi and you see such a huge difference in most cases, few VBers properly took on the "OO" features introduced in VB5 and VB6, so the advent of all the contructor/overloading/garbage collection stuff really seems to confuse them. I still see a lot of code where the entire application is based around the UI, storing any data there and using arrays for more complex data all hung together with a few events and Save/Load methods - the idea of OO or design patterns is a long distance off for these folks.
Tripps said:
I still see a lot of code where the entire application is based around the UI, storing any data there and using arrays for more complex data all hung together with a few events and Save/Load methods - the idea of OO or design patterns is a long distance off for these folks.
I've seen an awful lot more of that since doing c# than when I did java for some reason. Loads of people seem to find the concept of separating business and presentation logic difficult which seems amazing because it makes unit testing so easy and therefore maintenance becomes a lot less stressful. Also you can take off your windows application layer and slap on an asp.net layer especially in 2.0 because there seems to be (and you'll have to excuse me if I'm wrong as I'm new to asp.net) so many parallels provided for controls both in windows applications and in asp.net web apps. Granted the event model doesn't work the same but they've done a pretty decent job to make it appear that it does. I have to admit to being extremely impressed with .net 2 having come from a position of extreme scepticism after 8 years of java.
Edited by dern on Thursday 5th October 18:19
I'm a bit too pissed to provide a sensible reasoned comment ot all this but I would surely agree with everything dern has said.
What's interesting to read is that people forgot the divorce between GUI and core code. I've spent practically my whole working life writing in Java, and always I had really clean interfaces between the core code and the gui code. Always it's meant that I can take any of my 'backend' code and move either a GUI or Command Line system. Once you have a command line system, then straight away you can plug-in other inputs, be they sockets or network pipes...
arghh I forget what this thread is about now.....
More wine vicar?
What's interesting to read is that people forgot the divorce between GUI and core code. I've spent practically my whole working life writing in Java, and always I had really clean interfaces between the core code and the gui code. Always it's meant that I can take any of my 'backend' code and move either a GUI or Command Line system. Once you have a command line system, then straight away you can plug-in other inputs, be they sockets or network pipes...
arghh I forget what this thread is about now.....
More wine vicar?
Gassing Station | Computers, Gadgets & Stuff | Top of Page | What's New | My Stuff



, but I know what you mean 