I am a beginner. Can I directly start learning C++11? or I have to learn old C++? [closed]

I’m a beginner and have only little knowledge in programming.

Would it be good if I directly learn C++ from books which cover new C++11 or should I study through the old best C++ books?

Should I have little knowledge about C++ before learning C++11? or I can start directly from there?

Would it cause problem if I directly start from C++11? If no, then suggest some books on C++11.

9

There are a lot of usability enhancements that make C++11 more comprehensible to a beginner, especially one who has experience in other languages with those features. Other changes in C++11 are only of interest to advanced users, so you’re likely to get overwhelmed if you pick up a book that is designed to mostly teach the differences. Make sure any book you get is designed for complete beginners to C++.

That being said, you’ll probably have to learn the old way eventually, as there is a lot of existing code out there, and even new C++11 code will contain the old way of doing things if the programmer so chooses. I write C++ for a living, and my company still hasn’t even gotten around to evaluating C++11-compatible compilers, let alone using one in production.

3

You do not need to use old C++ to start using C++ 11, there are new features in C++ 11 but their use is optional. Knowing how to use C++ 11 features could be an advantage, it certainly wouldn’t be a disadvantage when working with legacy (pre 11) code-bases once you knew the idiosyncrasies of the older versions.

Learn C++ would be a good place to start learning and Appendix B will teach you the C++ 11 features after you have learnt the basics.

I can see why some people have suggested Java, C#, etc. as easier alternative languages but I learnt a bit of C++ before moving onto C# and I’m not a worse programmer because of it, to the contrary programming skills go much deeper than language syntax/functionality and with a solid foundation in C++ you could learn any other imperative OOP language easily.

0

Despite many improvements in C++11, C++ is still not an easy language. Java, while not as easy as some may think, is still an easier language with very good performance (often almost as fast as C++) and offers better IDEs (maybe Visual C++ is as good as current Java IDEs but no luck here on Linux), a much more comprehensive standard library (the JDK), more libraries (e.g. Hibernate, Spring, JEE, Lucene, etc) and no memory leaks (well, almost none – you can still build a memory leak in Java but it is more difficult to do so than in C++). To be fair, with modern C++11, it is much easier to avoid memory leaks.

C++11 has many cool features like lambdas, auto keyword, move semantics, and much more. It is definitely a much better language than C++98 was.
See this overview by Herb Sutter about the new features in C++11:
Elements of Modern C++ Style.

To sum up, I think everyone should learn at least some C++. If you have been programming in Java, Scala, Ruby or Python for the last decade and never touched C or C++, now with C++11 I think it is time to learn C++11 and improve your programming skills while doing so.

I probably won’t be using C++ much at work in the coming years and when I need a more powerful language than Java, I will probably go for Scala, but I will have a closer look at C++11 and try to learn and understand the new features, particularly those about multithreading and concurrency.

Remember: It always helps to learn a new programming language even
when you don’t plan to use it in production.

It’s hard to say.

Old C++ is more of a minefield, and it’s nice to learn how to navigate such a beast. It will also make you understand why things are done how they are, and what the implications of different constructs are.

Then again, old C++ is not what you want when you write code.

But then, yet again, old C++ is what a lot of industry will be churning on for 20 more years.

I love C++ 11, but it is only usable in startups for now. Not in large legacy code bases. And jumping straight to C++ 11 might leave you with undeveloped skills in nasty C++ parts. Which will backfire once some advanced C++ 11 construct leaks, or crashes because it’s used in a syntactically correct, but logically incorrect way.

8

Take a deep breath and read this article by Peter Norvig.

Have you read that? Ok, if you are a beginner, you need to start in small steps. -insert language here- can come later, check out Coursera or Udacity for some beginner computer science introduction courses.

Having completed that, I would advise slowly working your way through K&R’s The C programming language if you are set on a ‘C’ language.

Work on the basics, the rest will come in time.

4

Recent introductory books about C++ are increasingly covering C++11 as well. I read Sam’s Teach Yourself C++ after working with scripted languages but not C/C++ for almost ten years and found it really helpful. I very quickly became conversant in the central ideas of C++ (including a lot of STL) and conscious of a great many details which are different in C++11.

As some other posters have mentioned, C++11 is in many ways easier than older standards with scripting-style additions like auto, for(int &i : m_vector){} etc. So if your “little knowledge” comes from languages like Python or Matlab, you will find C++11 somewhat more “natural” than the earlier standards.

I would also point out that by now, compiler compatibility for C++11 is (almost) complete so having code that is “too up to date to compile” is no longer an issue.

In short, do it.

When my time, C was considered a prerequisite of C++, especially for those beginners of programming. Because you have to figure out what does a language do and why it has been designed like that. C got loads of great and sufficient ideas of programming language, which will never be out of date. Thus, I believe this is the best start.

And after having some basic point of view regarding the programming stuffs, you may have to choose what to be done as the next move, which means, choose a language to learn as deeply as you could. No matter how deep you get, it can generally decide how deep you can get for any other languages, which means, no matter how many languages you have learned, the deepest one will always be the first one that you have dug up. For me, I have performed research on Java and made some models of Java on my own to better understand its kernel functionality.

After that, you might be able to learn whatever you want, because you have totally understanding on the technology of the programming language. I have started learning C#, Go, Python even Scala and have done many projects for fun/work. The personal record is 3 months from starting learning a language to becoming 1.0 head of a developing project.

In my case, it has been over 15 years since my first program and I cant even remember what it is. I believe if you work hard enough, you will definitely get better and faster than me.

2

As a beginner I think first you have to go through C++ concepts because C++11 and all is like a new version but C and C++ are the basic for any type of development. Once you learned C++ most of the concepts will get automatically cleared.

1

C++ Is a really great and powerful language. However it also places a lot of responsibility on the programmer.

If you are completely new to programming, make life easier for yourself and start with C#. It’s syntax is based on C++, but the error handling is much more beginner friendly in assisting you when things go wrong.

If you are comfortable with methods, classes, inheritance and are wanting to develop in an environment where managing memory and system resources is more important than productivity, then C++ is a good choice, and I would start by learning the current standard. Bare in mind that C++ requires you to understand memory and to actively manage it. Make mistakes here, and all you get is either a core dumped, or your data contains bytes that don’t make sense. And often the point where you find the problem is unrelated to where the cause actually is.

2

Why do you wanna start with C++?

I personally recommend against C++ as a first language. It is tricky, complex, difficult… simply much lower level and more “unsafe” than most other programming languages.

I advise to pick c#, java, python or javascript …and a good book along the way. You’ll have a much more enjoyable time with these.

6

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật