Reputation
3,975
Top tag
Next privilege 5,000 Rep.
Approve tag wiki edits
Badges
2 13 31
Impact
~79k people reached

Apr
27
comment If I implement an Interface, is it called an Inheritance?
Why would the Java language specification get the final say here? Language specification often claim things that the "common developer" disagrees with about terminology.
Apr
17
comment How to warn other programmers of class implementation
@Jules aka "disposers"
Apr
17
comment How to warn other programmers of class implementation
Just hopping by to mention Python 3.5 which is the current version has types through a pluggable type system. It definitely is possible to get Python to error before running the code only because it was imported. Up to 3.5 it was entirely correct though.
Apr
8
comment Why are large amounts of magic numbers acceptable in CSS and SVGs?
CSS has variables and they work in Chrome today @Oded I have an extension that even utilizes them.
Dec
16
answered Why would you store an enum in DB?
Dec
10
comment Why is PHP so frequently used on web servers?
I want to argue another point - PHP has good abstractions for websites - it's cache friendly, it has an immutable request/response cycle, it doesn't make you deal with resource management, it doesn't make you deal with data structures, its dynamic nature works well with databases and it has a ton of built in functions so packages are more rare and deployment is easy. I don't like PHP, but it's very easy to make a case for it - I'm not convinced but it's easy to make.
Dec
5
comment Why is behavorial subtyping undecidable?
That last line nails it. The moment you'd like to prove a property about what the program might do in a behavioral setting you're stepping into the impossible. The reason type systems and static analysis tools work is that they treat a different language (of the types of the program, of the scope of variables in the program and so on) and not the properties of how the program runs directly.
Nov
2
comment Why not make a language with mixin-only inheritance?
Excellent answer and that paper is fantastic. I disagree about the last paragraph though, prototype based languages can still have mixins as sugar for copying all properties over from one object for another. JavaScript had an Object.mixin at a point (which was renamed .assign) and has dedicated mixin syntax in the upcoming version (assuming that makes the cut). You can "mixin" two objects without a second "thing", it's not exactly Bracha's mixins in Jigsaw but it's the same concept.
Sep
11
answered Advantages of using .dll files over linking .cs files to projects (for my own generic helper classes / extension methods)
Aug
19
awarded  Notable Question
Jul
30
comment Would there be any benefit to writing synchronous code using the syntax of promises
Oh god no please don't do this, it's harder to debug, introduces asynchronisity to synchronous code and can't be "escaped". stackoverflow.com/q/28937788/1348195 which you also asked is the better of this one.
Jul
21
awarded  Good Answer
Jul
3
comment Creating two-way object references and keeping data integrity
People will warn you about circular references - don't listen to them. They are cargo cult programming module responsibility as an argument for data references. In fact - it is perfectly fine to have these references, ORMs like Hibernate (and NHibernate and EF) have them in Java, Python and Ruby ORMs also have them. People are confusing mixing data and mixing module responsibility. Make sure your design is clear and your data is modelled in a way that makes sense - that's a lot more important than "not having a back reference".
Jun
30
comment Is functional language without runtime written in C possible?
In Haskell, laziness is just implemented with thunks - that is, the value becomes a function that calculates the value the first time it is used and then caches (memoizes) it as long as it remains in scope for.
Jun
16
awarded  Yearling
Jun
15
awarded  Curious
Jun
14
asked How to research API usage?
Jun
4
comment Is there an issue with closing our database connections in the “Finally” block of a Try statement?
Of course, it would be way better to just use a try(resource){ block (try-with-resource). Assuming you can run Java 7.
May
10
comment Why create a Global-ish Object.create function?
It's a polyfill. It fills it in old (ES3) browsers.
May
10
comment Why create a Global-ish Object.create function?
@Zirak before that it was called beget and he defined it in whatever scope he was in and not on Object - so this answer is not really chronologically wrong.