so my boss wants me to learn C#

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

should i wear this tshirt on casual friday's while i learn C#

  • yes

  • XXL BEEF CHALUPA

  • no


Results are only viewable after voting.

Gibson486

Lifer
Aug 9, 2000
18,378
1
0
i think learning new libraries is the hardest part. big PITA.

Well, that is what separates engineers and CS majors. Go talk to a CS major, they which language has which libraries. As an engineer, you sit there going..."WTF...just work!".
 

ioni

Senior member
Aug 3, 2009
619
11
81
There are no verbs. I like verbs. Verbs get stuff done. OOP hides the verbs.

In a command-centric you would say "Change this to blue". In OOP you would say "This is now blue". I hate that.

ur doin it wrong
 

arcenite

Lifer
Dec 9, 2001
10,660
7
81
OP, you sound OLD.

If you don't know OOP, C# isn't the easiest one to start with. IMO the best way to do it is to learn the theory first with an easy peasy language like VBScript and go from there.

But if you don't have that option, pick which way you learn the best. Book, by doing, etc.

Personally since I've already got the theory down if I need to learn a new language I just start a new project and GO. Oddly enough, I did this with C# last week. The internet is your friend. However, if you don't like OOP because there are no 'verbs' then you probably don't like the internet because it doesn't come with a remote control or a TV guide.
 

her209

No Lifer
Oct 11, 2000
56,336
11
0
Because C is still useful. Besides, C and C++ are not that different all besides the fact that C++ can do object oriented programming.
C++ can manipulate pointers. C can't do that AFAIK. Don't think C# can do it either.
 

PricklyPete

Lifer
Sep 17, 2002
14,582
162
106
Are you currently working on projects using .NET or did your boss just randomly tell you to "learn C#" because he heard about it at a conference? I have spent the last 15 years of my life (since 18) developing in various languages starting with C and VB and moving on to Java, then C#/VB.NET and finally settling on ABAP Objects for the last ~4 years. In reality, changing languages is never hard, it is learning the library/frameworks available that takes the time and is where real expertise lies. I would HATE to go back to pure procedural programming. Once you switch your train of thought to OO, it is painful to go back in my opinion.
 

TecHNooB

Diamond Member
Sep 10, 2005
7,458
1
76
OP, you sound OLD.

If you don't know OOP, C# isn't the easiest one to start with. IMO the best way to do it is to learn the theory first with an easy peasy language like VBScript and go from there.

But if you don't have that option, pick which way you learn the best. Book, by doing, etc.

Personally since I've already got the theory down if I need to learn a new language I just start a new project and GO. Oddly enough, I did this with C# last week. The internet is your friend. However, if you don't like OOP because there are no 'verbs' then you probably don't like the internet because it doesn't come with a remote control or a TV guide.

talk about punishment. vbscript is the devil!
 

KingGheedora

Diamond Member
Jun 24, 2006
3,248
1
81
There are no verbs. I like verbs. Verbs get stuff done. OOP hides the verbs.

In a command-centric you would say "Change this to blue". In OOP you would say "This is now blue". I hate that.

That's your reason for hating it? You know you have control over how you name methods in OOP right?

Car myHonda = new Car();
myHonda.ChangeColorTo(Colors.Blue);

is that not verby enough?
 

TecHNooB

Diamond Member
Sep 10, 2005
7,458
1
76
That's your reason for hating it? You know you have control over how you name methods in OOP right?

Car myHonda = new Car();
myHonda.ChangeColorTo(Colors.Blue);

is that not verby enough?

I think he meant type casting.
 

KingGheedora

Diamond Member
Jun 24, 2006
3,248
1
81
I'm a noob technical recruiter and I have no idea what to do with a candidate with 6 years of asp.net experience who has never worked with C#. in fact I have a hard time wrapping my head around exactly what that means, I thought the two were hand in hand

anyway I know the dude is not getting one of the 5 jobs I have open because they all want c#

OMG. Are you serious? You really need to learn a little more about this because I think it hinders your ability to be a good recruiter if you can't judge whether or not a candidate is worthy. I don't think most of your developers would work with you if they knew this about you.

.NET is a framework consisting of a runtime and an API framework. There are many different languages that can compile into .NET bytecode. A single .NET program or web app may consist of code written in several different languages. No matter what language it was written in, the code compiles to .NET bytecode, which is a lower level of language that is closer to machine language than the human readable stuff (like C#).

When .NET was released ~10 years ago it released with two major languages: C# and VB.NET. Now you can even compile PHP code into .NET and run it on the asp.net net stack.
 

FoBoT

No Lifer
Apr 30, 2001
63,082
12
76
fobot.com
He obviously codes in assembly on one of these.

63442-casio_dbc610a_1a_databank_calculator_watch.jpg

sort of. close enough to get the idea. OO makes my head assplode
smilie_explode.gif
 

FoBoT

No Lifer
Apr 30, 2001
63,082
12
76
fobot.com
There are no verbs. I like verbs. Verbs get stuff done. OOP hides the verbs.

In a command-centric you would say "Change this to blue". In OOP you would say "This is now blue". I hate that.

i think i agree with IronWing

where are the line numbers? what is wrong with lines numbers? "GOTO" is GOD
 

Fritzo

Lifer
Jan 3, 2001
41,908
2,141
126
I did that for a while. All I did was write stuff like this:

if (a)
/* do something */return x;
else if (!a)
/* do something else */
return y;
else
/* do something entirely different */
return z;
 

FoBoT

No Lifer
Apr 30, 2001
63,082
12
76
fobot.com
A note on the quote. Just because you are a genius and contribute immensely to the founding of an entire field doesn't mean everything you say or believe should be taken as scripture. Newton was a believer in alchemy. Einstein felt that quantum mechanics had to be fundamentally wrong at some level, he understood it very well and even contributed to it but very much disliked how it said the universe operated. Only fools believe in alchemy any more and while quantum mechanics probably isn't the whole picture no serious scientist any longer questions it's how the universe works (this isn't entirely true). OOP programming isn't just a yuppy programming fad. It's how programming is done now, period (with some notable exceptions).
i still think it is funny
itwasfunny.jpg
 

FoBoT

No Lifer
Apr 30, 2001
63,082
12
76
fobot.com
Well, that is what separates engineers and CS majors. Go talk to a CS major, they which language has which libraries. As an engineer, you sit there going..."WTF...just work!".

i consider myself an engineer, definitely not a programmer. my job title has engineer in it, not programmer

i just want the code to do what i need to do, i don't care if it is OO or line numbers or what language it is in. i don't see a point to some executive telling me i have to code in C# vs. just doing what ever works

but as others have stated , it is a good line on the resume. play the game and all that you know
 

FoBoT

No Lifer
Apr 30, 2001
63,082
12
76
fobot.com
OP, you sound OLD.

If you don't know OOP, C# isn't the easiest one to start with. IMO the best way to do it is to learn the theory first with an easy peasy language like VBScript and go from there.

i know VBScript, i just miss my line numbers. and as an engineer i don't have much interest in OO theory.
 

FoBoT

No Lifer
Apr 30, 2001
63,082
12
76
fobot.com
BTW, you guys are awesome and did not let me down as the 'XXL BEEF CHALUPA' option is currently leading the poll

i love you guys, seriously
srsly-u-guys.jpg
 

KingGheedora

Diamond Member
Jun 24, 2006
3,248
1
81
i think i agree with IronWing

where are the line numbers? what is wrong with lines numbers? "GOTO" is GOD

Out of curiosity, what language do you mainly work with?

They are just different paradigm I guess. Some people prefer one way, others prefer another. I think programmers tend to stick with the first language they become really proficient in.

Instead of GOTO and line #'s, people nowadays would argue that you can do the same with method calls and by organizing the code differently, and that the code becomes easier to read, test, and maintain that way. I couldn't imagine using GOTO unless the language forced me to do certain things using that. So in the last few years SQL is the only lang I've had to use GOTO in (and maybe the odd batch/shell script as well).

I did enjoy messing with GOTO when using low level languages in college and all programmers should appreciate the beauty of elegant code whether it's a low or high level language.
 

KingGheedora

Diamond Member
Jun 24, 2006
3,248
1
81
I did that for a while. All I did was write stuff like this:

if (a)
/* do something */return x;
else if (!a)
/* do something else */
return y;
else
/* do something entirely different */
return z;

Your 3rd condition would never get executed. Just sayin'.
 

KingGheedora

Diamond Member
Jun 24, 2006
3,248
1
81
sort of. close enough to get the idea. OO makes my head assplode
smilie_explode.gif

To be fair, i spent the first few years after school trying to solve all problems with OOP. Classic case of have hammer / everything looks like a nail.

However, I eventually realized that in enterprise software dev. that is a waste of time most of the time. But encapsulation and abstraction, testability and maintenance are still easier, I think, w/ OOP style code. Typically things like polymorphism aren't used much. Majority of the time that people try to use it in an enterprise setting they end up fucking stuff up; code works but reading it and making changes to it is a nightmare.
 

torpid

Lifer
Sep 14, 2003
11,631
11
76
You can turn on line numbers in visual studio. In debug mode it will usually even tell you what line had an error. Realistically there's no big difference between GoTo Line 234 (which contains stuff to turn on car ignition) and MyCar.TurnOnIgnition(). One you can see what line to look at immediately, but you don't know what's on Line 234. The other, you have an idea of what it's doing without actually looking, but have to expend precious finger resources right-clicking and selecting "Go To Definition"