Is it bad to start off learning Visual C#?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Mitch@_._

    Is it bad to start off learning Visual C#?

    I'm wondering if I'm doing myself a disservice by learning Visual C#,
    considering it does so much of the work behind the scenes.

    Should I be learning console apps first?

    I still haven't found the right book.
    C# For Dummies started out great, then the guy just goes into the
    stratosphere, with no explanation on how he went from point B to point
    X !

    My main reason for learning C# is, hopefully, to get back into
    automation after a 10 year hiatus. I'm trying to learn C# at home,
    with the intent of using it in robotics applications.

    If I learn Visual C#, will I still get all the "meat" of the language,
    or no?
  • Peter Duniho

    #2
    Re: Is it bad to start off learning Visual C#?

    On Tue, 27 May 2008 12:37:56 -0700, <Mitch@_._wrote :
    I'm wondering if I'm doing myself a disservice by learning Visual C#,
    considering it does so much of the work behind the scenes.
    >
    Should I be learning console apps first?
    I'm not sure what you mean. There's just "C#". If I recall correctly,
    there's the "Express" editions of Visual Studio, each of which delivered
    to support just a single language. But the C# version is still using just
    plain, regular C#.

    Your question about console applications suggests that instead, you're
    thinking more of one of the several GUI frameworks available in .NET.
    While sticking to console applications may allow you to become more
    familiar with the language without having to worry about other intracacies
    such as the GUI frameworks, there's nothing in particular about the GUI
    frameworks that "hides" parts of C#. If anything, I'd say that they use
    _more_ of the language or at least use the more complicated parts more
    often, and thus will expose you in greater detail to the language, not
    less.
    I still haven't found the right book.
    C# For Dummies started out great, then the guy just goes into the
    stratosphere, with no explanation on how he went from point B to point
    X !
    Hard to say without a specific example what you experienced. But
    sometimes, it's just because it's a bad book.

    I have to say, I've always had mixed feelings about the whole "dummies"
    series. I'm ambivalent about a business model predicated describing your
    customers as stupid. Granted, I also don't have a lot of exposure to the
    actual books, but it's entirely possible that the particular book you're
    talking about just wasn't well-written.

    Anyway, back to the real question...
    My main reason for learning C# is, hopefully, to get back into
    automation after a 10 year hiatus. I'm trying to learn C# at home,
    with the intent of using it in robotics applications.
    >
    If I learn Visual C#, will I still get all the "meat" of the language,
    or no?
    With respect to "the language", I really don't see how the difference
    between console applications and GUI applications is going to affect your
    understanding. They both use the language, and neither have any aspect
    that "does so much of the work behind the scenes" with respect to the
    language itself.

    It's true that as far as GUI programming goes, the .NET GUI frameworks all
    hide a lot of the work. But that has nothing to do with the language, nor
    is the work it's hiding work that is done by the language.

    All that said, since there's not really any such thing as the "Visual C#"
    language, it's difficult to really grasp what you're asking, I think.

    Pete

    Comment

    • Mitch@_._

      #3
      Re: Is it bad to start off learning Visual C#?


      >All that said, since there's not really any such thing as the "Visual C#"
      >language, it's difficult to really grasp what you're asking, I think.
      Makes sense. Let me try to rephrase it. Obviously I'm not too deep
      into C# yet, so maybe I jumped the gun on asking stupid questions.

      Should I assume that any job requiring C# would mean buildings Windows
      apps?

      Comment

      • cfps.Christian

        #4
        Re: Is it bad to start off learning Visual C#?

        Should I assume that any job requiring C# would mean buildings Windows
        apps?
        No, there are companies switching over from their old COBOL and RPG
        systems right now and some are taking it to .NET since .NET
        programmers are easy to come by. However that being said, I'm fairly
        certain that the vast majority of .NET (C# or otherwise) jobs out
        there are working with Windows/Web apps since it does both really
        well.

        Comment

        • Martin Bonner

          #5
          Re: Is it bad to start off learning Visual C#?

          On May 27, 9:45 pm, Mitch@_._ wrote:
          All that said, since there's not really any such thing as the "Visual C#"
          language, it's difficult to really grasp what you're asking, I think.
          >
          Makes sense. Let me try to rephrase it. Obviously I'm not too deep
          into C# yet, so maybe I jumped the gun on asking stupid questions.
          >
          Should I assume that any job requiring C# would mean buildings Windows
          apps?
          No. The Mono project means that C# applications can be run on non-
          Windows platforms.

          It is quite likely (but I am sure that there are LOTS of counter
          examples), that a C# job will involve either creating a GUI
          application (aka WinForms), or the code that runs on a web server (aka
          ASP.NET).

          Comment

          • Peter Duniho

            #6
            Re: Is it bad to start off learning Visual C#?

            On Tue, 27 May 2008 13:45:12 -0700, <Mitch@_._wrote :
            [...]
            Should I assume that any job requiring C# would mean buildings Windows
            apps?
            I think it's safe to say you should generally try to avoid assuming
            anything. :)

            As far as the question of "Windows apps", the question is ambiguous. But
            however you interpret it, the answer is no. By far, the most common
            platform for C# use in a business environment is going to be on the
            Windows OS. In one respect, any application running on Windows is a
            "Windows app". But not all applications running on Windows are actually
            GUI applications, and no doubt there are jobs that require C# knowledge
            but which don't involve writing GUIs.

            Alternatively, if you literally mean that the application runs on the
            Windows OS itself, GUI or not, the answer is still no. Mono
            notwithstanding , there's a far broader-reaching platform coming out, with
            much better support from Microsoft (it being theirs and all :) ):
            Silverlight. So you _could_ be writing C# code that isn't specific to
            running on the Windows OS.

            C# requires specific support from a run-time environment. But obviously
            that run-time doesn't really need to be .NET (even if the fundamental
            aspects will always look similar to .NET). I suppose if you look far
            enough down the road, it's possible C# could become even more ubiquitous,
            being offered as a development language for a wide variety of platforms.
            There's nothing about the language that is specifically tied to Windows
            per se.

            Pete

            Comment

            • jehugaleahsa@gmail.com

              #7
              Re: Is it bad to start off learning Visual C#?

              On May 27, 2:45 pm, Mitch@_._ wrote:
              All that said, since there's not really any such thing as the "Visual C#" 
              language, it's difficult to really grasp what you're asking, I think.
              >
              Makes sense.  Let me try to rephrase it.  Obviously I'm not too deep
              into C# yet, so maybe I jumped the gun on asking stupid questions.
              >
              Should I assume that any job requiring C# would mean buildings Windows
              apps?
              You sound like you are trying to figure out what you can and cannot do
              in C#. Believe me when I say, you can pretty much do everything in C#.
              True, C# does hide a small level of detail, but the guts of the
              programming are open for all to see.

              I have programmed robots (mostly Legos) using Java. However, I have
              been made aware that there are also .NET implementations available.
              Correct me if I'm wrong, but you sound like you are worried C# will
              limit you to a small subset of future jobs. The truth is that your
              first language will not be your last. Picking up C# will allow you to
              understand the fundamentals. Moving on to language that many robotics
              engineers use, C, should not be a giant leap. In fact, recent trends
              are showing that many up-to-date robotics are now using Java (and
              other high high-level languages) as their languages of choice.

              Just in case you are wondering, there is a limit to how much you can
              interact with the hardware on your machine. C# provides facilities for
              connecting to low-level programming languages, which means you can
              still technically get down there if you need to. However, most robots
              provide APIs for controlling them anyway. If you want to be the person
              who closes an electrical circuit to turn on a motor, you will probably
              need more than just a programming language (that's electical and
              computer engineering). However, I highly doubt you will need that
              level of control unless you are building the robot yourself.

              So, no, you aren't doing yourself an injustice by learning C#. I am in
              the opinion in recent years that learning low-level languages first,
              such as assembler and C, will probably be more of an injustice. I only
              say that because new programming languages capture good programming
              practices. Learn how to write good code first, then learn how to do
              the same things in low-level languages. Plus, if you learned
              assembler, there would probably be a new language to learn for each
              architecture. Personally, I learned C++ first. I can do things in C#
              faster and cleaner than anything I could have written in C++. Hence my
              opinion.

              Thanks,
              Travis

              Comment

              • Paul E Collins

                #8
                Re: Is it bad to start off learning Visual C#?

                <Mitch@_._wrote :
                I'm wondering if I'm doing myself a disservice by learning Visual C# [i.e.
                GUI applications], considering it does so much of the work behind the
                scenes. Should I be learning console apps first?
                If you are new to the concepts, then yes, I think you should.

                The GUI stuff involves concepts like event handlers, delegates and
                polymorphism that you'd understand better by experimenting in a simple
                console environment. Yeah, anybody can dive into buttons and scroll-bars
                from the start, but without a good grounding they are likely to founder when
                they have to do something tricky that isn't just copy-and-paste code.

                Eq.


                Comment

                • Mitch@_._

                  #9
                  Re: Is it bad to start off learning Visual C#?


                  >You sound like you are trying to figure out what you can and cannot do
                  >in C#. Believe me when I say, you can pretty much do everything in C#.
                  Good! I just wanted to make sure that I wasn't painting myself into a
                  corner by learning a Windows-only language.

                  As for robots, I'm waiting on my Mindstorms NXT to arrive.
                  Hoping to have fun this summer programming them with the kids.

                  Thanks for the replies, and sorry for the stupid questions.

                  Comment

                  • Mitch@_._

                    #10
                    Re: Is it bad to start off learning Visual C#?

                    On Tue, 27 May 2008 14:38:42 -0700 (PDT), "jehugaleahsa@g mail.com"
                    Personally, I learned C++ first. I can do things in C#
                    >faster and cleaner than anything I could have written in C++. Hence my
                    >opinion.

                    I wish I had physical, real-world friends with similar geek interests
                    like mine.

                    Comment

                    • Gilles Kohl [MVP]

                      #11
                      Re: Is it bad to start off learning Visual C#?

                      On Wed, 28 May 2008 01:05:49 GMT, Mitch@_._ wrote:
                      >
                      >
                      >>You sound like you are trying to figure out what you can and cannot do
                      >>in C#. Believe me when I say, you can pretty much do everything in C#.
                      >
                      >Good! I just wanted to make sure that I wasn't painting myself into a
                      >corner by learning a Windows-only language.
                      C# isn't a Windows-only language. It comes with a powerful run-time
                      though - which is good if you develop for powerful machines (like
                      todays PCs, whether they run Windows, Mac OS or Linux). The units of
                      available RAM, HD space, and CPU cycles are usually prefixed with
                      "Giga".

                      To target hobbyist level (small, inexpensive - e.g. 8 bit PIC or AVR)
                      microcontroller s, assembler is no longer imperative, but C is still
                      preferrable when the above prefix changes to "Kilo". (OK, "Mega" as
                      far as the CPU cycles are concerned).
                      >As for robots, I'm waiting on my Mindstorms NXT to arrive.
                      >Hoping to have fun this summer programming them with the kids.
                      You may want to check out these links:



                      LEGO.NET is the name of our project to make the .NET run-time available on the LEGO Mindstorms platform. As the original LEGO firmware is too limited for such a project, we are building on top of alternative operating systems; currently, our focus is on brickOS. We are currently following …


                      The first one is about a Visual Studio-based environment for robotics
                      - it can remote-control the LEGO NXP via bluetooth, but not download
                      software to the device itself.

                      The second one is an attempt to do the latter. Both are (in my eyes as
                      a robotics novice) "advanced stuff" though, you may want to get a grip
                      on NXP (as it comes out of the box) on one hand, and C# / Visual
                      Studio on the other.

                      Regards,
                      Gilles.

                      Comment

                      • clintonG

                        #12
                        Re: Is it bad to start off learning Visual C#?

                        I've taught in the classroom. In the classroom we use textbooks. That's how
                        professionals teach. Using textbooks. The textbooks I recommend are from
                        Deitel and Deitel (http://deitel.com/) and can be prordered for review from
                        a Barnes & Noble. They are worth what you will be asked to pay. Every cent.

                        And yes, C# is the language you want to learn and use.

                        <%= Clinton Gallagher

                        <Mitch@_._wro te in message
                        news:ogoo345ucv 5otfhtgdrc1pj08 uo1sgmagd@4ax.c om...
                        I'm wondering if I'm doing myself a disservice by learning Visual C#,
                        considering it does so much of the work behind the scenes.
                        >
                        Should I be learning console apps first?
                        >
                        I still haven't found the right book.
                        C# For Dummies started out great, then the guy just goes into the
                        stratosphere, with no explanation on how he went from point B to point
                        X !
                        >
                        My main reason for learning C# is, hopefully, to get back into
                        automation after a 10 year hiatus. I'm trying to learn C# at home,
                        with the intent of using it in robotics applications.
                        >
                        If I learn Visual C#, will I still get all the "meat" of the language,
                        or no?

                        Comment

                        • Ben Voigt [C++ MVP]

                          #13
                          Re: Is it bad to start off learning Visual C#?

                          clintonG wrote:
                          I've taught in the classroom. In the classroom we use textbooks.
                          That's how professionals teach. Using textbooks. The textbooks I
                          recommend are from Deitel and Deitel (http://deitel.com/) and can be
                          prordered for review from a Barnes & Noble. They are worth what you
                          will be asked to pay. Every cent.
                          Thank you for expressing your opinion of what professionals do in such a
                          condescendingly unprofessional tone.


                          Comment

                          Working...