Reputation
14,882
Top tag
Next privilege 15,000 Rep.
Protect questions
Badges
1 23 52
Impact
~477k people reached

Apr
21
comment Naming when having to inherit classes
@alexanderbird, please, don't make it private inheritance, because that is not, really, inheritance in the object oriented sense of the term. It is just composition implemented using the underlying mechanism of inheritance for some weird technical reasons (most often order of initialization). And as such, it does not answer the question.
Apr
20
comment Implementing something partially vs providing simple documentation?
@gnat OP qualified the example as bad exactly because it was never core of the question. And to me it is pretty clear even from the original wording that it wasn't.
Apr
19
comment Implementing something partially vs providing simple documentation?
@gnat, ah, yes, that would be. But it is just a special case of the actual question (and it was obvious from the beginning that it is).
Apr
19
comment Implementing something partially vs providing simple documentation?
@gnat, what does this have to do with Liskov Substitution Principle? I don't see any mention of inheritance in the question at all!
Apr
13
awarded  Notable Question
Apr
12
comment What are the drawbacks of making a multi-threaded JavaScript runtime implementation?
@voodooattack, exactly, no one approach is the right approach to every problem. Shared-state multi-threading is not the right approach for javascript.
Apr
12
comment What are the drawbacks of making a multi-threaded JavaScript runtime implementation?
@voodooattack, no one in their right mind would write a ray-tracer using javascript, with or without threading, because it is a relatively simple, but computation-intensive algorithm that is better written in a fully compiled language, preferably one with SIMD support. For the kind of problems that javascript is used for, multi-process is more than enough.
Apr
12
comment Is overriding concrete methods a code smell?
@Spotted, no, I don't say every method should be abstract or final. I only say it should be abstract or final if it can. And that there is a significant number of cases where it can't.
Apr
12
comment Is overriding concrete methods a code smell?
@Spotted, 1) if it must be overriden, it should be abstract; but there are many cases where it does not have to be. 2) if it must not be overridden, it should be final (non-virtual). But there are still many cases where methods may be overridden. 3) if the downstream developer does not read the docs, they are going to shoot themselves in the foot, but they are going to do that no matter what measures you put in place.
Apr
11
comment Is overriding concrete methods a code smell?
@Spotted, there are many cases where default implementations cam be provided and each specialization only needs to override some of them, either to extend functionality or for efficiency. Extreme example is visitors. The user knows how the methods were designed from documentation; it has to be there to explain what is expected of the override either way.
Apr
11
answered Is overriding concrete methods a code smell?
Apr
11
answered Why is the _replace method of Python namedtuple classes protected?
Mar
30
revised Using Clojure instead of Python for scalability (multi-core) reasons, good idea?
add Rust to the list
Mar
13
reviewed Approve Is it practical to abandon STL in C++ development?
Feb
24
comment Converting our B2B application to SaaS need architecture advice
Maintenance would be easier with just one database, but scaling not so much. Because with separate databases, you can distribute the separate databases across multiple hosts without having to make any of them distributed.
Feb
22
awarded  Nice Answer
Feb
22
revised Relational databases and iterative development
mention installation by running all the scripts; add WP link to more tools
Feb
22
revised Relational databases and iterative development
added 40 characters in body
Feb
22
revised Relational databases and iterative development
mention using the scripts on test and QA
Feb
22
comment Relational databases and iterative development
You still have to go to each customer site to install the SP and add the new field. And when you are there, you can migrate the data too. SPs are useful in that they allow you to create backward compatible interface if you have multiple applications access the database, so you don't have to upgrade all of them at the same time. But they don't save any steps when the schema needs to change due to changing requirements.