comment
Do we really need OO languages to manage software complexity?
You @steakexchange will become a very good programmer.
comment
Is it normal design to completely decouple backend and frontend web applications and allow them to communicate with (JSON) REST API?
Also note that you can never directly expose your domain to the browser. This creates security issues and the data will not be suitably formatted for display. You will need to create a special purpose (REST) interface just for the JavaScript to call. And that's coupled.
comment
Is it normal design to completely decouple backend and frontend web applications and allow them to communicate with (JSON) REST API?
Be aware that decoupling in such a rigorous way creates significant upfront development cost. You need to get some concrete value out of that.
comment
What is the difference between Bridge and Factory Pattern in C#?
Never seen the bridge pattern. It has nothing to do with factories, though(??). Seems identical to an "adapter" or a "facade" to me.
comment
Did the Gang of Four thoroughly explore "Pattern Space"?
Here are some cloud patterns in case you're interested: msdn.microsoft.com/en-us/library/dn600223.aspx. There are lots of special purpose patterns like this in programming. It's rare to have them catalogued. Sometimes, it's called a set of best practices.
comment
Did the Gang of Four thoroughly explore "Pattern Space"?
Patterns are everywhere but they're often used in a tasteless and robotic way. For that reason, I think, the pattern catalogue idea became less popular.
comment
Aren't "deep composition hierarchies" bad too?
I don't see anything wrong with deep data models. But I also don't see how you could have modeled this with inheritance since it's a 1:N relationship at each layer.
comment
I changed one method signature and now have over 25,000 errors. What now?
Often, you can find a refactoring path to only use tool refactorings that are guaranteed to not break (renaming, adding a nullable method argument, etc.). That way you can make mass changes with confidence.
comment
Should "Set" have a Get method?
This breaks reflexivity (
a == b always true) in case this.A == null. The if (item == null || this.A == null || item.A == null) test is "overdone" and checks to much, possibly in order to create artificially "high-quality" code. I see this kind of "overchecking" and being overly correct all the time on Code Review. comment
Should "Set" have a Get method?
This answer has many blanket statements such as
...reasonable to assume.... All of this might be true in 99% of the cases but still the ability to retrieve an item from a set can come handy. Real world code cannot always adhere to POLA etc. principles. For example, if you are deduplicating strings case-insensitively you might want to get the "master" item. Dictionary<string, string> is a workaround, but it costs perf. comment
Developing web applications for long lifespan (20+ years)
It is amazingly compatible in practice, and installing an older version side by side is not an issue. Also note, that the .NET BCL is in my estimate 10-100x larger than the Java built-in classes.
Loading…
comment
Clear way to skip the first element in an index based for loop
Does PHP have a foreach construct? You could do
foreach ($i in range(1, count)) (whatever that looks like in PHP). Or something like foreach ($item in array.skip(1)) which is what a C# person would do. comment
Why does the call stack have a static maximum size?
It's entirely possible to have stacks of unlimited size. It's just not that useful so it's often not implemented. The money is better spent elsewhere. Also it forces other disadvantages such as stack overflows turning into out of memory conditions.
comment
Is it stupid to not save the last two characters of a password hash
I thought you suggested this by saying that the time increases at all but apparently not. I think I misread the text a bit yesterday.
comment
Is it stupid to not save the last two characters of a password hash
This is the true answer. Rainbow tables do not apply due to the salt. So all that this idea does it create more valid hashes.
comment
Is it stupid to not save the last two characters of a password hash
You should ask this on security SE.
comment
Is it stupid to not save the last two characters of a password hash
not significantly increase the time 256x is significant in my mind. And it could be more if he drops more. comment
Is it good practice to always have an autoincrement integer primary key?
@ArukaJ please consider accepting a different answer. This one is the one with the least information. Do not just accept the answer that is highest voted. Choose the most useful one.
comment
Is it good practice to always have an autoincrement integer primary key?
That's never been enough of a reason to me to not use one. for you but not in general. This answer is so extremely biased that I don't find it helpful. It's a personal and extreme opinion. 
