Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

C sharp programming

  1. Aug 14, 2004 #1

    Math Is Hard

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    I am thinking about taking a C# course. The only prerequisite recommended is a C course, which I took this summer, but I know very little about .net so I am not sure how I'll adapt to C#.
    I was planning to take C++ this fall but the enrollments are so low I am worried the class might get cancelled. I am looking for some other programming course option that I can fit into my schedule.
    Any thoughts on how steep the learning curve might be?
    Thanks.
     
  2. jcsd
  3. Aug 14, 2004 #2

    chroot

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    C# is really sold as a simpler, kinder version of C++. While C# continues to gain market acceptance, C++ is much more widely used and preferred. C#, you see, is a Microsoft-only product. If I were you, I'd go for C++ (or Java, which will teach you all the same concepts) and never look back.

    - Warren
     
  4. Aug 14, 2004 #3

    Math Is Hard

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Thanks for the advice, and for explaining to me a little more about what C# is about. In the C# course description there were a lot of new acronyms such as
    MSIL (Microsoft Intermediate Language)
    PE (Portable Executable) files
    CLR (Common Language Runtime)
    and I felt intimidated not having any exposure to these terms.
    Maybe I'll just wait until Winter quarter and take C++ then.
     
  5. Aug 14, 2004 #4

    chroot

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Well, the important thing about a C++/C#/Java course is that you learn the concepts of good object-oriented programming, rather than getting caught up in all the nasty syntactical oddities of one single language. If you find that your professor focuses more on syntax than on concept, you might want to sit down in his office and have a talk with him. Once you understand how OO works, you'll find it pretty easy to work in any of these languages.

    - Warren
     
  6. Aug 14, 2004 #5
    This isn't entirely true. C# was "created" by MS because they had the keibosh put on the MS Java implementation. C# has been picked up by the OSS community in the form of the mono project though. You can create cross platform (as with Java) apps using the C# language and the mono framework. In fact, C# has branched into gtk# and cocoa# also through the mono project.

    Here, enjoy: http://www.mono-project.com/about/index.html
     
  7. Aug 14, 2004 #6
    Don't let the terms frighten you. Java is a fairly easy language to learn. C# is built around Java ideas and as such is fairly easy to learn as well. If you go here: http://www.go-mono.com/docs/ you'll get a good clue about the structure of mono (C#). Read the mono docs from go-mono, and Got Mono for a real good overview of C# and the mono project.

    Good luck, and enjoy.
     
  8. Aug 14, 2004 #7

    Math Is Hard

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Thanks, faust and chroot. I appreciate the comments.
    I had heard something about MS "discontinuing Java support" but I wasn't sure what that was all about. I'll take a look at those links and see if I can learn a little bit about C# and mono. I think maybe I'll also look around and see if I can find some websites just on OOP in general.
    A few years ago I was using ASP (VBScript with javascript and SQL) to create web-based reports from a database. I am not sure if the scripting languages were completely object-oriented but I remember using the "dot syntax" when writing my scripts, and also I remember that it was necessary to create and instantiate an object to use it. I never got into ASP hardcore, I just learned enough to automate some reporting tasks and save myself some time. (Forgotten most of it now). :frown:
    Is the structure of these scripting languages (VBscript and javascript) similar to the structure of the object oriented languages?
     
  9. Aug 14, 2004 #8

    chroot

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Yes, yes... Microsoft tried to modify Java and turn it into a proprietary Windows-only language, but were legally barred from completing it... so they invented C# instead. It's just another maneuver to try to force people out of choices to use other operating systems. Personally, I'd suggest avoiding it, unless you plan on working for Microsoft.

    Javascript and VBscript are syntactically similar to OO languages, but are not true OO languages. OO is all about classes, inheritance, encapsulation, polymorphism, and other features, none of which are supported by VBscript and Javascript.

    - Warren
     
  10. Aug 16, 2004 #9
    Learn java over c#. For too many reasons to list. It's a solid enterprise language and its clean for learning. My favorite language remains to be c++.
     
  11. Aug 16, 2004 #10

    Math Is Hard

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    I am hoping I can do C++ next. That seems to be the order they want to teach these languages: C, C++, then Java, as each one is listed as a pre-req for the next. C# isn't a required class for my major, so I may just skip it altogether.
    I signed up for Anthropology (I need another social science) in lieu of the programming classes this Fall. I am already going to be doing chem and psych. stats (plus I have my full time job) so my plate is pretty full. I think cramming in two programming languages during the quarter might push me over the edge. :yuck: I'll pick up the programming again in Winter.

    p.s. I ended up with an A in my C programming class so there are a bunch of tutors here I owe a thank you to - namely chroot, plover, Goalie Ca, faust9, AKG, Hurkyl and
    e(ho0n3. Hope I didn't forget anyone. Thanks a bunch! :smile:
     
  12. Aug 16, 2004 #11
    Unless there's some very specific skill you're trying to learn for a specific reason, I would say that it doesn't really matter which language you learn. If the courses are anything like any of the other language courses I've seen, then they're all going to be taught the same way. If they're taught badly, then it won't really matter which language they try and teach. If they're taught well, then you should be able to learn the other language(s) that have been mentioned here pretty easily, if need be.

    Edited to add: If you have an order you want to or are required to learn it in, then do it in that order.
     
    Last edited: Aug 16, 2004
  13. Aug 16, 2004 #12

    Math Is Hard

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    I hope I'll get some good instructors. Thanks, master coda.
     
  14. Aug 17, 2004 #13

    plover

    User Avatar
    Homework Helper

    Gald to be of help. (& Congrats!)

    If the point of learning one of the languages you mentioned is to get a handle on the basics of object-oriented programming, then, as master_coda was saying, from the point of view programming and design concepts, it doesn't really matter that much which language you pick.

    There can be other reasons for making a choice depending the overall reason that you're learning programming. Certain environments/fields use certain languages over others, so if you have any sense of how you might end up using programming, then that might affect a decision.

    Deciding how much you want to be tied to the Microsoft paradigm is at least worth thinking about. In my experience, Microsoft's proprietary programming environments tend to impose a certain amount of structure on how to do things. I imagine this can be helpful if a programmer has no need/desire to program for systems other than Windows, but I suspect it could be a hindrance if the distinction between general programming principles and Microsoft's overlays is not clearly delineated. However, I've had no experience with C#, so I don't know to what degree my caveat applies to it.
     
  15. Aug 18, 2004 #14
    Think you should first ask yourself why you want to take a C# course. Is it because you want a carrier as computer programmer or you just like to know something about programming? If you just like to know something about programming I recommend C++ or java instead since it is more commonly used than C#. Based on your name "Math is hard" I assume you are not planning on writing scientific programs for which I would definitely recommend C++.

    Good luck with your study!

    _________________________________
    Evert Rozendaal
    Programmable calculators for palm, PocketPC and windows
     
  16. Aug 20, 2004 #15

    Math Is Hard

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    With the Microsoft tools that I've worked with (admin, rdbms and office apps), I have noticed that everything goes pretty swimmingly until you decide you need to do something that MS hadn't planned on you ever needing to do. Then things get hairy fast. (and there is a very subtle but smug undercurrent of "hey, we're Microsoft and we know your needs better than you do. We spent a lot of money researching everything you might possibly want or need.") I am guessing it is pretty much the same with using their programming environments.
    But the truth is I always end up working in Microsoft shops, except for my brief couple of years working on Macs (and Amigas in the early, early days), so the Windows enviroment, interface, and metaphors are what I am comfortable with. Maybe I'll try to shake things up when I do C++ and set up a machine with Linux, and see if I can write and work in a completely non-MS environment. Might be fun.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?



Similar Discussions: C sharp programming
  1. Loops in C-Programming (Replies: 15)

  2. C++ program help (Replies: 2)

Loading...