Thread: Lots of questions

  1. #1
    Registered User
    Join Date
    Oct 2006
    Posts
    17

    Lots of questions

    Hello,

    Lately I've been considering to make the move to C#. There has been a
    lot of hype about it in the last 3-4 years and it just seems(is it
    though?) the perfect modern language choice.

    Let me tell you about my background. I only know C. I'm not a Windows
    hater, but I prefer Linux and its simplicity. I also find the Win32 API
    to be scary. I don't have the slightest experience with OOP or OOP
    languages.

    Questions
    ------------

    1. How easy is it to learn and program in C#? From what I hear, it's
    fairly easy to grasp the fundamentals of C# and that the most difficult
    part will be to learn OOP (or learn to think in OOP). Is that correct?

    2. What's C#'s strongest field? Is it Internet programming? Can you name
    C#'s pros and cons?

    3. Does C# have anything in common with C? Will anything look familiar?

    4. From what I've heard C# is based on Java. There has been a lot of
    craze with Java, but I never understood it. Like how most universities
    dedicate most of their programming classes to Java. Anyway, I have never
    seen any serious Java project yet. It's been long enough around but I
    haven't seen a single thing come out of it. My question is: Why wasn't
    C# based on a more successful language (I don't mean to start a flamewar
    with Java programmers here) ?

    5. Does C# beat Java? If yes, does it beat it in all field, or is Java
    better for some things (portability comes to mind) ?

    6. I'm very confused about C#'s portability. I've heard that it was
    designed to be portable, but on the other hand, some say that it's
    strictly for Windows (or else things don't work and/or break). Opinions?

    7. What about C#'s speed? From my experience, Java programs are slow as
    hell. Is C# like that too? How does C# compare with other languages in
    terms of speed (not speed of compilation) ?

    8. Does a C# program need the .NET framework in order to run? Does that
    mean that I have to include the .NET framework to every program that
    will run on a PC that doesn't have the framework installed? How big is
    the .NET framework (size) ? Also, how big are C# executables? How do
    they compare with those produced by other languages?

    9. What about C#'s efficiency? Do C# programs take up a lot of system
    resources (like Java) ?

    10. Can you name some big C# projects that have been done so far?

    11. Can you explain to m the process followed each time I compile a C#
    program? I'm confused with MSIL, JIT compilers etc.

    12. I've heard about the Mono and dotgnu projects. What's their
    difference? Do they try to accomplish different goals?

    13. Does Mono work perfectly? Is it fully compatible with the .NET
    framework? How up to date is it? Does it cover .NET 3.0?

    14. Can I program C# on Mac OS X?

    15. Can you recommend any good tutorials on OOP and C#?

    16. What about books? I've heard very good things about "Programming
    C#", but that one is for programmers that already feel comfortable with
    OOP. I've also seen "Learning C#" which they say to be more entry-level
    but doesn't have the same reputation. Additionally, "Essential C# 2.0"
    seems good. What do you recommend? Remember that I've got 0 experience
    on OOP.

    17. I think I should wait before purchasing a book, because the .NET 3.0
    just came out and most books cover 2.0 only. What are the changes to C#
    (the language itself) from 2.0 to 3.0? Also what changed in the
    framework? How fast and easy can one keep up with the changes and the
    updates each time?

    18. Should I learn the basics of C++ and/or Java to get the OOP feel
    first, or can I just go to C# directly?

    19. I think I have misunderstood what the .NET framework is. Currently,
    I think of it like some sort of higher level API that provides wrappers
    to the Win32 API calls, in order to provide easiness and friendliness to
    the programmer. Is that correct?


    Sorry for the long post, but I prefer having all the questions/answers
    concentrated rather than make a lot of small threads.

    Thanks in advance.

  2. #2
    Code Goddess Prelude's Avatar
    Join Date
    Sep 2001
    Posts
    9,897
    >1. How easy is it to learn and program in C#?
    If you know C, it shouldn't be too difficult. Though you'll probably have a few initial issues with the OO stuff.

    >2. What's C#'s strongest field?
    C# is presently best suited to .NET applications, whether they be web pages, web services, Windows applications, Windows services, or whatever else .NET supports.

    >3. Does C# have anything in common with C? Will anything look familiar?
    A lot of basic syntax is based off of C, so you'll feel comfortable with most loops, conditionals, variables, and such.

    >Why wasn't C# based on a more successful language
    Java has been very successful. I'm sure some of the folks over at JavaRanch will be thrilled to point out all of the projects that use it.

    >5. Does C# beat Java?
    No, and Java doesn't beat C# either.

    >6. I'm very confused about C#'s portability.
    That's because you're confusing C# with .NET. C# is just a language, and it can be ported to another system just as easily as someone writing a compiler for that system.

    >7. What about C#'s speed?
    Once again, you're confusing the language with the implementation. But from what I've seen, C# programs are fast enough for what they do.

    >8. Does a C# program need the .NET framework in order to run?
    Presently, yes.

    >Do C# programs take up a lot of system resources (like Java) ?
    Not if the programs are well written. Sure, there's some overhead, but for the most part I've found C# apps to be surprisingly lean.

    >10. Can you name some big C# projects that have been done so far?
    EMC is a back-end company that owns big name software across the board. The majority of their stuff is .NET based these days, written in C#. That's also an increasingly more common case as more and more corporations adopt .NET.

    >11. Can you explain to m the process followed each time I compile a C# program?
    A C# program is compiled into an IL assembly by the C# compiler, which is then compiled into native machine code by the CLR when the assembly is run.

    >13. Does Mono work perfectly? Is it fully compatible with the .NET
    >framework? How up to date is it? Does it cover .NET 3.0?
    No, no, not very, and I don't think it covers 2.0 yet.

    >14. Can I program C# on Mac OS X?
    With Mono or a similar framework, yes.

    >15. Can you recommend any good tutorials on OOP and C#?
    I don't know of any.

    >16. What about books?
    Microsoft Press has a good book out for experienced players: "Programming Visual C# 2005: The Language". That should be a first start, I think.

    >What are the changes to C# (the language itself) from 2.0 to 3.0?
    I'm not fully up to date on the latest changes, but from 1.1 to 2.0 to 3.0, things are added, but nothing old is broken. You can get a 2.0 book and have an easier time learning 3.0 because of it.

    >18. Should I learn the basics of C++ and/or Java to get the OOP feel first, or can I just go to C# directly?
    Why? Neither C++ nor Java are any better of an introduction to OOP than C#, so you'd just be adding an unnecessary (and long) step if your goal is to learn C#.

    >19. I think I have misunderstood what the .NET framework is. Currently,
    >I think of it like some sort of higher level API that provides wrappers
    >to the Win32 API calls, in order to provide easiness and friendliness to
    >the programmer. Is that correct?
    No. The .NET framework is its own entity, and only a small portion wraps Win32 functionality. That's a common misconception (I thought that too for a while), but the framework is a great deal more than it seems at first.
    My best code is written with the delete key.

  3. #3
    CS Author and Instructor
    Join Date
    Sep 2002
    Posts
    511
    >15. Can you recommend any good tutorials on OOP and C#?

    http://www.csharpcorner.com/

    http://www.csharphelp.com/links.html

    Or a good search engine...

    >16. What about books?

    Starting Out with C#
    Beginning Visual C# 2005
    Visual C# How to Program, 2nd ed.
    Beginning C# Objects from Concepts to Code
    Learning C# 2005

    A lot of reference books are good and some are bad- depends on what you like..

    >18. Should I learn the basics of C++ and/or Java to get the OOP feel first, or can I just go to C# directly?
    Agree, with Prelude above- but to fully answer that I would need to see how "newbie" you are- i.e. learn quickly, etc...
    Mr. C: Author and Instructor

  4. #4
    Code Goddess Prelude's Avatar
    Join Date
    Sep 2001
    Posts
    9,897
    >Starting Out with C#
    I still haven't gotten that, the price is stupid (I only paid a tad more for the entire Knuth series, and I seriously doubt your book matches that kind of quality). Can you suggest a place to get it for less than $100 new or $50 used?
    My best code is written with the delete key.

  5. #5
    CS Author and Instructor
    Join Date
    Sep 2002
    Posts
    511

    Talking

    I still haven't gotten that, the price is stupid (I only paid a tad more for the entire Knuth series, and I seriously doubt your book matches that kind of quality). Can you suggest a place to get it for less than $100 new or $50 used?
    Well it does not match the Knuth series...

    For a cheap copy look online at Amazon or others. If you still live in Georgia Prelude you may check around...some colleges in Georgia have adopted text and you may find it at a half-priced bookstore...

    The AWL marketing rep explained to me about a year ago how they price books...the book is about the same price as other comparable intro programming books in C++, Java, C#-


    Just think most colleges/univ bookstores take that price you see and add extra 10 to 15 more to the price for the students..


    BTW, Prelude, Congratulations I heard you are going to have a baby...
    Mr. C: Author and Instructor

  6. #6
    Code Goddess Prelude's Avatar
    Join Date
    Sep 2001
    Posts
    9,897
    >the book is about the same price as other comparable intro programming books in C++, Java, C#
    Ironic that the most expensive books tend to suck the most, isn't it? By the way, I was quoting amazon. $100 for new, $50+ for used. Eh, I'll probably pick up a bargain basement copy in a few years unless I have a sudden desire to see your work.

    >Just think most colleges/univ bookstores take that price you see and add extra 10 to 15 more to the price for the students..
    Yea, and people wonder why students are always broke.
    My best code is written with the delete key.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Really new & Really clueless (lots of different questions)
    By Tigerfeet in forum C++ Programming
    Replies: 7
    Last Post: 11-07-2008, 04:32 PM
  2. Two questions. (Sorry for lots of them =( )
    By ozumsafa in forum C Programming
    Replies: 10
    Last Post: 09-21-2007, 03:57 AM
  3. lots of questions about opengl
    By n3v in forum Game Programming
    Replies: 9
    Last Post: 07-01-2006, 07:32 AM
  4. Lots Of Bitmap Texture Questions:
    By Krak in forum Game Programming
    Replies: 7
    Last Post: 07-10-2003, 08:16 PM
  5. Lots of RPG questions...
    By Kyoto Oshiro in forum Game Programming
    Replies: 22
    Last Post: 07-21-2002, 10:47 PM