C#
Author
Discussion

shadytree

Original Poster:

8,291 posts

279 months

Thursday 5th October 2006
quotequote all
C# (C-Sharp)

Anyone know it, code it, expert at it?

Is it industry standard? Specialised?

Just after an overview please

Plotloss

67,280 posts

300 months

Thursday 5th October 2006
quotequote all
Broadly speaking Microsofts version of Java.

Massive uptake and has become popular very quickly, its a native .NET language.

Quite a few people on here know it and use it day in day out.

Don

28,378 posts

314 months

Thursday 5th October 2006
quotequote all
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

67,280 posts

300 months

Thursday 5th October 2006
quotequote all
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.

Don

28,378 posts

314 months

Thursday 5th October 2006
quotequote all
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!

Tripps

5,814 posts

302 months

Thursday 5th October 2006
quotequote all
Are you looking to recruit Shady?

(Not interested, but might be able to point you in the right direction of what to look for, as was doing this earlier in the year).

shadytree

Original Poster:

8,291 posts

279 months

Thursday 5th October 2006
quotequote all
My OMS and Engines are pretty much designed in C#, so looking to understand a bit more about the space and what qualities are required to code it.

Plotloss

67,280 posts

300 months

Thursday 5th October 2006
quotequote all
Drop mr_tony a line, hes a c# type.

dern

14,055 posts

309 months

Thursday 5th October 2006
quotequote all
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.

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

shadytree

Original Poster:

8,291 posts

279 months

Thursday 5th October 2006
quotequote all
cheers Mark thumbup

NST

1,523 posts

273 months

Thursday 5th October 2006
quotequote all
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).

Tripps

5,814 posts

302 months

Thursday 5th October 2006
quotequote all
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

9,978 posts

314 months

Thursday 5th October 2006
quotequote all
Agreed. The Visual Studio 2005 IDE, in particular, contains many tools to generate and construct the most common classes.

The .NET Framework is a HUGE library of classes and objects for every programming task you could ever think of.

Alex

9,978 posts

314 months

Thursday 5th October 2006
quotequote all
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.

dern

14,055 posts

309 months

Thursday 5th October 2006
quotequote all
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.
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.

Edited by dern on Thursday 5th October 18:07

Tripps

5,814 posts

302 months

Thursday 5th October 2006
quotequote all
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.

dern

14,055 posts

309 months

Thursday 5th October 2006
quotequote all
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

Alex

9,978 posts

314 months

Thursday 5th October 2006
quotequote all
.NET 2.0 is awesome. I'm only really scratching the service, but I'm incredibly impressed so far.

P.S. I'm from a VB background furious , but I know what you mean

TheExcession

11,669 posts

280 months

Thursday 5th October 2006
quotequote all
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?

J_S_G

6,177 posts

280 months

Friday 6th October 2006
quotequote all
Shady,

Drop me a line if there's anything you want to know... I've written 6 textbooks on it!