| ||||
| Comment on Reader Q&A: "Will C++ remain indispensable…?" by pjmlp
I really enjoyed the presentations done at Going Native this year. Let me also thank you for making us aware of openFrameworks and Cinder, they are really nice. What I think might be an issue with C++11, C++14 and the still very far away C++17 is how far away some of them still are. Not to mention the C++ style guides most companies tend to have. A year in computer time can mean many changes, let alone the time until we get stuff like modules into the language and mainstream compilers. This will leave the door open to other languages with native compilers that are good enough for the same type of tasks C++ is good for. It is already happening, actually. Here I agree with Andrei Alexandrescu, even C++14 will require developers to know archaic C and C++ stuff when problems arise. Read More »Comment on Reader Q&A: "Will C++ remain indispensable…?" by Jon
@Herb, I’d love to see a language that had all the performance of C++ but much of the productivity of C#. Whenever a trade-off had to be made, it would favor performance over productivity. I thought the D language and Google Go might be attempts in that direction but they both use garbage collection by default, which appears to favor productivity over performance. Do you think such a language is feasible? Read More »Comment on Reader Q&A: "Will C++ remain indispensable…?" by Muhammad Faizan
I think the advantages of C/C++ truly shine in software with clearly defined, scoped, and relatively static requirements and responsibilities. When requirements are not a fast moving target, C++ allows the programmer complete freedom to exploit the hardware to, as you said, maximize performance per watt, while still maintaining levels of abstraction that allow for readable, reusable, and maintainable code. And I think this is why C/C++ is so prevalent in software that most of us use: such software is likely to be established and mature (traction takes time), and as a result, its designers and programmers have had time to nail down the main user scenarios and come up with a performant and extensible architecture. The key here is time: C++ allows programmers to exploit the hardware, but doing so introduces complexity into the language which means that developers need more time to think through the design, which can only happen when requirements are not quickly changing. These conditions happen to be true for many software systems that we all use such as operating systems, browsers, libraries, etc. But there are also a world of applications out there that are only used by a relatively small team of people, in domains where requirements are quickly changing, iteration times are fast, and product/market fit is the main challenge as opposed to performance. I think that in these types of situations, managed/interpreted languages will always remain more suitable than C/C++ due to the increased developer productivity they offer. tl;dr: C/C++ will remain indispensable for high performance, mature, and established software with clear requirements, whereas managed languages will remain indispensable for developing prototypes and software with uncertain or changing requirements with quick iteration times. Read More »Comment on Reader Q&A: "Will C++ remain indispensable…?" by Dain Bray
Hi Herb I was looking at the C++ 14 language additions and was surprised that it doesn’t appear that you can use auto in normal function params? Like: struct Object{ template They appear to have added auto return types, and auto for generic lambdas though– how did this part get missed(or did it?)? I realize that this is basically forcing it to act as a template(header only implementation?), but the terser syntax seems very desirable.. Thanks! Read More »Comment on Reader Q&A: "Will C++ remain indispensable…?" by Tim
@Jon, “I thought the D language and Google Go might be attempts in that direction but they both use garbage collection by default, which appears to favor productivity over performance. Do you think such a language is feasible?” Garbage collection can be disabled in D. Read More »Comment on Reader Q&A: "Will C++ remain indispensable…?" by germinolegrand
In my opinion, there are great progresses to be made on the teaching side. Do you know what is the #1 reason for C++ expanding to non-professional-developers ? The accessibility of a free online course for beginers (i learnt C++ this way, did not pay anything for learning it). There is no such thing like that for C++11 yet, that’s why although i just love C++11 and think C++98 is deprecated, i’m still forced to recommand a C++98 course (sadly not even modern style :/ ). On my side, i’m going to try to do something (in french sorry, language accessibility is also really important !) for that, i think it’s really worth it. Something not the book way, because lot’s of online courses are written in a style for books (because they aim to become a published book, or are taken from a published book), and it’s not really adapted to the web’s way of learning. Read More »Comment on Reader Q&A: "Will C++ remain indispensable…?" by mttpd
@Jon, take a look at some of the languages mentioned here: Neither ParaSail nor Rust require GC (it’s not needed for memory safety, it’s not sufficient for general resource safety anyway, and it introduces unnecessary run-time costs — to be honest, I’m not sure why there are “modern” programming languages still being invented that keep dragging this invention from over half a century ago to the current day and age). http://pcwalton.github.io/blog/2013/06/02/removing-garbage-collection-from-the-rust-language/ // As for Go, let’s forget about Go ;] Personally, I’m just not that impressed by it–I don’t find sufficiently many reasons compelling enough for it to be even a potential contender in the systems programming category. BTW, @Herb, I’m wondering what are your thoughts on these? Read More » | ||||
| | ||||
| ||||
Friday, September 13, 2013
FeedaMail: Comments for Sutterâs Mill
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment