Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to learn the C# language and I was wondering if prior knowledge of C++ would make it easier to learn? I have a large background in Java and am currently programming in (and therefore constantly improving on) C++. Would knowledge about the C++ syntax and structure help me understand C# more quickly, or is C# more akin to Java?

share

migration rejected from stackoverflow.com May 17 '15 at 2:34

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as primarily opinion-based by Ixrec, Snowman, GlenH7, durron597, MichaelT May 17 '15 at 2:34

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

If you want to learn C#, start developing in C#.

A lot of the useful effort will go to learning the .NET framework rather than the syntax, which will seem familiar with your knowledge from Java.

Have a look at C# in Depth which should keep you entertained and educated for a few years while you're learning.

share

No. If your intention is to only learn C# and you think of C++ as a beginners guide to C# you are wrong. C# is a lot more simpler than C++ in terms of refrences and (absense of)pointers. You will first learn C++ and its associated dangers and then learn how to "solve them" in C#.You will first learn what a "friend" is in C++ and then learn that it isnt present in c#. Then you will want to wonder why it wasnt included in C# . Save yourself the trouble and learn C# directly

share

With respect to learning C#, C++ will hardly add anything to Java (without adding junk, like low level pointy stuff, with it). Beyond the superficial syntactic similarities , C# and C++ models are worlds apart.

share

Not the answer you're looking for? Browse other questions tagged or ask your own question.
{"cc_re__cc_re__cc_by_sa_3_0": ["                    <li><a href=\"//area51.stackexchange.com\" title=\"proposing new sites in the Stack Exchange network\">Area 51</a></li>\r\n                        <li><a href=\"//careers.stackoverflow.com\">Stack Overflow Careers</a></li>\r\n                    \r\n                </ol>\r\n            </td>\r\n    </tr>\r\n</table>\r\n                </div>\r\n            </div>\r\n            <div id=\"copyright\">\r\n                site design / logo &#169; 2016 Stack Exchange Inc; user contributions licensed under <a href=\"https://creativecommons.org/licenses/by-sa/3.0/\" rel=\"license\">cc by-sa 3.0</a> \r\n                with <a href=\"http://blog.stackoverflow.com/2009/06/attribution-required/\" rel=\"license\">attribution required</a>\r\n            </div>\r\n            <div id=\"svnrev\">\r\n                rev 2016.4.28.3523\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <noscript>\r\n        <div id=\"noscript-warning\">Programmers Stack Exchange works best with JavaScript enabled<img src=\"http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif\" alt=\"\" class=\"dno\"></div>\r\n    </noscr"], "copyright__copyright__copyright": [" learn what a \"friend\" is in C++ and then learn that it isnt present in c#. Then you will want to wonder why it wasnt included in C# . Save yourself the trouble and learn C# directly\n\nshare\n\nWith respect to learning C#, C++ will hardly add anything to Java (without adding junk, like low level pointy stuff, with it). Beyond the superficial syntactic similarities , C# and C++ models are worlds apart.\n\nshare\n\nNot the answer you're looking for? Browse other questions tagged or ask your own question."]}