Quantcast

Jump to content

» «
Photo

C#

13 replies to this topic
ED-E
  • ED-E

    War. War never changes.

  • Members
  • Joined: 31 May 2010
  • None

#1

Posted 14 December 2011 - 07:55 PM

What is your opinion on c#?

Ive looked at it and its pretty similar to VB IMO, is there any big differences between the two?

Im thinking of taking a look into the C# language since i think its so easy to learn. But should i waste time learning C#? will it be worth it?, please give advice guys icon14.gif

K^2
  • K^2

    Vidi Vici Veni

  • Moderator
  • Joined: 14 Apr 2004
  • United-States
  • Most Knowledgeable [Web Development/Programming] 2013
    Most Knowledgeable [GTA Series] 2011
    Best Debater 2010

#2

Posted 15 December 2011 - 01:20 AM

You should not be learning C# until you know C and C++. You will pick up a lot of bad habits that will make your life difficult later on.

nightwalker83
  • nightwalker83

    Don't mind me

  • Members
  • Joined: 10 Oct 2004

#3

Posted 21 December 2011 - 07:34 AM Edited by nightwalker83, 21 December 2011 - 07:37 AM.

Yeah, reckon C# is a great languge. I haven't done that much desktop programming because the focus of the course was on web development.

QUOTE (K^2 @ Thursday, Dec 15 2011, 11:50)
You should not be learning C# until you know C and C++. You will pick up a lot of bad habits that will make your life difficult later on.

Unfortunately, some of us don't have a choice about that! My college changed their course from teaching VB.NET to C# and they didn't even offer C, C++ but instead we have to learn objective C.

K^2
  • K^2

    Vidi Vici Veni

  • Moderator
  • Joined: 14 Apr 2004
  • United-States
  • Most Knowledgeable [Web Development/Programming] 2013
    Most Knowledgeable [GTA Series] 2011
    Best Debater 2010

#4

Posted 21 December 2011 - 11:46 AM

In that case, it's unlikely that you learn anything useful anyways. So don't worry about it, and try to learn C. Taking a course speeds things along, but you really learn programming by reading good code, writing your own, and talking to people who know what they are doing. You don't need a course to do all that.

Barguast
  • Barguast

    Thy next foe is...

  • Andolini Mafia Family
  • Joined: 27 Jul 2002

#5

Posted 21 December 2011 - 12:48 PM

QUOTE (K^2 @ Thursday, Dec 15 2011, 02:20)
You should not be learning C# until you know C and C++. You will pick up a lot of bad habits that will make your life difficult later on.

Really? My impression has always been that if I'd started off with something like C#, I'd have been a much better C(++) coder for it. That said, I bet the whole memory management thing would be a nasty surprise when switching over!

ETA: I work as a C# developer and would say it's a very good language to start with, and stick with thereafter. Just be mindful of what it and .NET does for you (garbage collection, collections) and don't assume that other languages / frameworks will offer the same features out of the box.

ghost of delete key
  • ghost of delete key

    aggronormical

  • The Connection
  • Joined: 27 Dec 2003
  • None

#6

Posted 21 December 2011 - 08:17 PM

QUOTE (K^2 @ Wednesday, Dec 21 2011, 07:46)
... you really learn programming by reading good code, writing your own, and talking to people who know what they are doing. You don't need a course to do all that.

You do if you want a degree or certificate to show for it. Prospective employers don't want to know that you hobby-code, they want to see how educated you are. But you are absolutely right, code is just like poetry... read lots of good examples, converse with successful authors, and write 'till your fingers bleed.

nightwalker83
  • nightwalker83

    Don't mind me

  • Members
  • Joined: 10 Oct 2004

#7

Posted 23 December 2011 - 05:12 AM

QUOTE (K^2 @ Wednesday, Dec 21 2011, 22:16)
In that case, it's unlikely that you learn anything useful anyways. So don't worry about it, and try to learn C. Taking a course speeds things along, but you really learn programming by reading good code, writing your own, and talking to people who know what they are doing. You don't need a course to do all that.

Yeah, I suppose the good thing about the course is that I can barely pass and still have a network of contacts who know what they are talking about.

Swoorup
  • Swoorup

    innovator

  • Feroci
  • Joined: 28 Oct 2008
  • Nepal

#8

Posted 23 December 2011 - 07:21 PM

@Barguast Can you please tell me what do you get to program or simply program mostly?

K^2
  • K^2

    Vidi Vici Veni

  • Moderator
  • Joined: 14 Apr 2004
  • United-States
  • Most Knowledgeable [Web Development/Programming] 2013
    Most Knowledgeable [GTA Series] 2011
    Best Debater 2010

#9

Posted 24 December 2011 - 01:27 AM

QUOTE (Barguast @ Wednesday, Dec 21 2011, 08:48)
QUOTE (K^2 @ Thursday, Dec 15 2011, 02:20)
You should not be learning C# until you know C and C++. You will pick up a lot of bad habits that will make your life difficult later on.

Really? My impression has always been that if I'd started off with something like C#, I'd have been a much better C(++) coder for it. That said, I bet the whole memory management thing would be a nasty surprise when switching over!

Learning what your code actually does is a big part of being a good C/C++ coder. You don't get that with C#. The only things that are worse are starting with Basic or Java.

trip
  • trip

    ~

  • Andolini Mafia Family
  • Joined: 10 Oct 2007
  • United-States

#10

Posted 24 December 2011 - 01:45 AM

I love C# these days. It just makes the world too easy.

If you are hanging around in Visual Studio and the dotnet world there really isn't a whole lot of difference in the end product between vb and c# thanks to the CRL.

@GoDK. Ya know I love ya and all, but I got my first real IT job thanks to hobby coding - and that was my one and only foot in the door.

@The_Sorrow, the bottom line is all the languages are the same, just with different syntax. If you learn the core philosophies of programming you will be able to use whatever language you want. Beat the sh*t out of one language until loops, conditions, all the data types, and the fundamentals of classes become second nature - after that you can apply that knowledge to any language.

K^2
  • K^2

    Vidi Vici Veni

  • Moderator
  • Joined: 14 Apr 2004
  • United-States
  • Most Knowledgeable [Web Development/Programming] 2013
    Most Knowledgeable [GTA Series] 2011
    Best Debater 2010

#11

Posted 24 December 2011 - 02:08 PM

QUOTE (trip @ Friday, Dec 23 2011, 21:45)
The_Sorrow, the bottom line is all the languages are the same, just with different syntax.

Not all the languages. Obviously, anything you code in one general-purpose language, can be translated into another. But there are a few languages, even among these with practical applications, that are drastically different in design philosophy. Take a look at Prolog if you are not familiar with it.

But for most practical purposes this statement is true. Almost any job you are likely to get that involves programming would require you to know one of the languages which are all practically identical. Once you know one such language, you can use any one of them. Still, what language you start learning from makes a big difference in how easy you will grasp the underlying principles. C# is not the most direct course. If you start with C# and will end up having to write, hell, in anything else, you'll have more difficulties than adjusting to any language after C++. Even if you plan to work with C#, you will become a good programmer faster if you start with C.

trip
  • trip

    ~

  • Andolini Mafia Family
  • Joined: 10 Oct 2007
  • United-States

#12

Posted 30 December 2011 - 09:55 PM

QUOTE (K^2 @ Saturday, Dec 24 2011, 10:08)
Take a look at Prolog if you are not familiar with it.

I've never touched it, but seeing that it is still alive, I might have to try a lab or two. Seems groovy enough - thanks for tap.

A bunch of years ago I made the decision to try and stay current. Actually, I should phrase that as being open minded. In the programming world it is way too easy to just stick with what you know and kind of trash the newer technologies by stating that 'the same thing can be done in my world'.

I can almost prove my above 'the same thing can be done in my world' theory thanks to my new job. I just left my last place of employment of 15 years to take a different job. I was pretty much hired to be the 21st century program manager since all the old cobol, assembler, dos programmers are dying out and they realize they need to contemporize.

K^2
  • K^2

    Vidi Vici Veni

  • Moderator
  • Joined: 14 Apr 2004
  • United-States
  • Most Knowledgeable [Web Development/Programming] 2013
    Most Knowledgeable [GTA Series] 2011
    Best Debater 2010

#13

Posted 31 December 2011 - 12:52 AM

It's a question of generation and paradigms, more than anything. C# is an OO 3GL, so it behaves like any other 3GL. Move from C++ to C# is not an actual advance. It's a shift to a new syntax. And in principle, it wouldn't matter which 3GL you go with, but C++ has a specific advantage of being easy to trace through the hierarchy of languages. C++ was originally compiled into C code, which is compiled into Assembly, which is assembled into machine code and linked. So an OO 3GL -> 3GL -> 2GL -> 1GL chain is inherent here. This is why C++ is so fundamental and should be the first OO language you learn. An additional advantage is that you can start learning C++ by learning C. C# requires you to create objects for "Hello World," and that makes you used to them as some abstract rule of "This is how we program," without anybody bothering to explain to you why. That leads to a lot of bad programming practices.

People who are stuck in the past are stuck in the past because they are stuck with old paradigms of programming. Maybe they aren't used to protection rings and virtual addressing, because they are stuck with DOS programming. Maybe they aren't used to OO programming because they are stuck with an older 3GL. Maybe they simply can't understand the purpose of 4GL, when 3GL can always be used instead. These are real serious problems. Being used to a specific language, on the other hand, is never a problem. If I need you to write a program in 3GL, I don't care if you know C, Fortran 77, or even bloody ALGOL. Syntax is easy to teach. If I need you to write a 5GL code, on the other hand, you can roll up all your experience with C++ into a pipe and smoke it for all the good it does you.

Barguast
  • Barguast

    Thy next foe is...

  • Andolini Mafia Family
  • Joined: 27 Jul 2002

#14

Posted 03 January 2012 - 01:59 PM

QUOTE (Swoorup @ Friday, Dec 23 2011, 20:21)
@Barguast Can you please tell me what do you get to program or simply program mostly?

Professionally, these days I code web services and data processing modules (which is far less boring than it sounds). I've also written mapping software and a GPS tracking application, all in C#. These days I tend to write client applications for the web (so using HTML and JavaScript) but for server-side code, I still use C# exclusively.

Personally, I also use C# to code game engines (although I haven't had the patience to make a full game!). Not necessarily because .NET is the best tool for the job, but because I can work quickly and cleanly with it.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users