Show HN: Stdcore, a toy container library
nedbingham.com
Show HN: Stdcore, a toy container library
1–9 of 9 posts
Re: Show HN: Stdcore, a toy container library
#2Re: Show HN: Stdcore, a toy container library
#3Re: Show HN: Stdcore, a toy container library
#4What’s the difference between an abstract class and a Java-style interface in a language that allows multiple inheritance? I’ve generally thought of interfaces as a way to get some of the features of multiple inheritance while preventing the parts of multiple inheritance that cause issues (e.g. the diamond problem). However, these days, every language I know of that has single inheritance+interfaces allows interfaces…
In concrete terms for C++, this means that abstract base classes Must be defined before the objects are defined. So if I wanted to use a library, I would be entirely restricted to whatever abstract base classes they define.
For Go, I could use a library and then define whatever interfaces I needed specifically for the functions I want to implement. Its effectively a much more structured and rigorous architecture for templated code.
At least this is my understanding. I've explored Go just enough to get some of the higher level concepts but I haven't quite dug into it yet. So correct me if I'm wrong.
Re: Show HN: Stdcore, a toy container library
#5Range-v3 ( https://github.com/ericniebler/range-v3 ) exists solving the same problem, and there's a standardization proposal ( http://en.cppreference.com/w/cpp/experimental/ranges ).
Perhaps I am missing something though, could you expand a little on the specific part of Range-v3 that you are thinking of?
Re: Show HN: Stdcore, a toy container library
#6Range-v3 ( https://github.com/ericniebler/range-v3 ) exists solving the same problem, and there's a standardization proposal ( http://en.cppreference.com/w/cpp/experimental/ranges ).
Range-v3 seems to be solving a different problem. It seems to be introducing support for Pythonesque features like type-checking and list-comprehension. However, the algorithms that are documented still use first/last iterators ( http://en.cppreference.com/w/cpp/experimental/ranges/algorit... ). There seems to be a set of basic range class definitions and there seems to be a View class, but I'm not sure if they inter…
Check the first link rather than the cppreference documentation.
By the way, type-checking isn't Pythonesque. Haskellesque perhaps.
Re: Show HN: Stdcore, a toy container library
#7Re: Show HN: Stdcore, a toy container library
#8What’s the difference between an abstract class and a Java-style interface in a language that allows multiple inheritance? I’ve generally thought of interfaces as a way to get some of the features of multiple inheritance while preventing the parts of multiple inheritance that cause issues (e.g. the diamond problem). However, these days, every language I know of that has single inheritance+interfaces allows interfaces…
Inheritance as implemented by Go provides for a different school of thought from C++. In C++, you define the taxonomy, then define the objects in relation to that taxonomy. In Go its the opposite, defining taxonomy in relation to the objects. In concrete terms for C++, this means that abstract base classes Must be defined before the objects are defined. So if I wanted to use a library, I would be entirely restricted…