Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
I often hear that C++ templates are Turing complete. What does it mean?
My previous search lead me to links [1] and [2] which are good but they do not answer what I am asking.
it's capable of expressing general recursion by simply using templates that refer to themselves and using template specialization for making decisions.
Is recursion and and making decision equivalent to Turing completeness?
Could someone please break down the requirements of Turing completeness in the programming aspect (not from the computer science aspect)?
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 days ago.
Improve this question
I need practical advice on how to build a compiler. Any advice is welcome, metaphors, tools, a learning order, things to study, etc.
At the moment I have been studying regular expressions and automata theory, deterministic and non-deterministic finite automata, but I don't understand the concepts very well, I plan to keep studying and share my progress with the community on this occasion.
I would appreciate any input or comments on your experiences in similar cases, as I said, anything is welcome, thank you very much!
The instructions I have received are as follows:
[Implement a compiler for a specific language considering the language stages.
Define, design and program the lexical and syntactic analyser stages of a translator or compiler to preamble the construction of a compiler].
As you can see the assignment is actually very abstract and it benefits me to do it my way, so I want to make the most of this experience.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
When I am reading design goals of C++11, it mentioned about zero-overhead principle without any examples or features which uses this principle. I can understand that it could be there to avoid degrading existing code performance. But,
Can someone explain this concept with some examples?
Approach they made to implement such a feature in the standard?
How they enforce compiler-writers to implement this?
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I've heard systems described as a "clean object model", but a precise definition does not seem to be around. It seems to refer to the classes being complete or consistent in some way.
I'm just wondering if it's referring to a specific trait or just another favorable term like 'elegant'.
Quantlib is described as "written in C++ with a clean object model".1
It's not really a technical term. A "clean" object model is a well-designed one, by whichever standard of good design. Usually it involved orthogonal classes with a clear separation of concerns and an intuitive mapping to real-world concepts, i.e. a lot of fuzziness that you'll need to judge for yourself.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
Relatively new to C++ but I am very interested in the algorithmic aspect of programming.
Is there a general framework for deciding if an algorithm is efficient? i.e. the quickest possible?
I am trying to write pseudocode on paper before implementing but there are probably many different ways to solve any given problem.
Would be very keen to learn best practice for constructing / analysing algorithms.
Thanks, and Happy New Year!
Yes you can start with the Wikipedia article explaining the Big O notation, which in a nutshell is a way of describing the "efficiency" (upper bound of complexity) of different type of algorithms. Or you can look at an earlier answer where this is explained in simple english
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
Are there alternatives that would be more preferred?
Short-circuit evaluation is a crucial feature of most modern programming languages and there's no reason to avoid relying on it. Without it pointer-related tests would be (unnecessarily) much more complicated and less readable.
Of course it's good design, everyone knows to expect it and it beats using nested conditionals.