304 reputation
310
bio website
location
age
visits member for 3 years, 1 month
seen Jun 6 at 12:13

Android freak, but still a noob.


Jun
7
awarded  Popular Question
Mar
21
awarded  Scholar
Mar
21
accepted Why were default and static methods added to interfaces in Java 8 when we already had abstract classes?
Mar
21
comment Why were default and static methods added to interfaces in Java 8 when we already had abstract classes?
I've found this paper where Goetz explains the problem. So i'll be marking this answer as the solution for now.
Mar
21
comment Why were default and static methods added to interfaces in Java 8 when we already had abstract classes?
Sadly, this looks like the most plausible explanation. Maybe they wanted to have "cooler" collection classes, sort of what you have in C#, but they didn't want to or couldn't afford to rewrite or adapt most java.util classes.
Mar
21
comment Why were default and static methods added to interfaces in Java 8 when we already had abstract classes?
I don't think multiple inheritance is the main reason behind the change. It was deliberately not included in the language for a reason. Even Gosling stated in 1995 that "JAVA omits many rarely used, poorly understood, confusing features of C++ that in our experience bring more grief than beneļ¬t".
Mar
20
asked Why were default and static methods added to interfaces in Java 8 when we already had abstract classes?
Sep
11
comment Mutual observer pattern in Java
After reading the question a couple of times, and having no idea on how real applications of this kind are actually implemented, I'd suggest you to ditch the Exchange class, conceptually I find it too abstract. There could be a central "hub" system delivering stuff to clients but to abstract each communication act in a class sounds a bit odd to me. The Observer and Proxy patterns applied to the Client class sounds ok to me though.
Mar
5
comment You're hired to fix a small bug for a security-intensive site. Looking at the code, it's filled with security holes. What do you do?
You are assuming 1) he's going to be fired; and 2) once he's fired, he will not be able to find another job ever.
Feb
26
awarded  Constituent
Feb
26
awarded  Caucus
Jan
11
awarded  Notable Question
Jul
6
awarded  Popular Question
Jun
30
awarded  Yearling
Jun
15
comment I'm doing 90% maintenance and 10% development, is this normal?
@acattle "it is a fact of life that you will spend more time maintaining and modifying other people's code". Well, it depends on the technologies you are proficient with. If you are an expert on a platform that is roughly 2 years old, you will have new from scratch projects. If you are an expert in Cobol, you will mostly maintain.
Apr
9
awarded  Nice Question
Mar
19
comment how do you remember programming related stuff?
So, what would you do the day evernote's services are down, or there's no internet (because your carrier has been nuked for example)? I don't recommend relying on "the cloud" for storing important know how.
Feb
22
comment (Why) Should I learn a new programming language?
Absolutely agree, learning languages just because they are the new cool programming language makes no sense. You should stick to very different ones, and try not to cover too many of them. Being good at something will take a considerable ammount of time (probably 10+ years), it doesn't matter if it is playing a musical instrument, cooking, or programming.
Jan
12
comment How do I approach a coworker about his or her code quality?
+1 for other's code sucks. Specially if you have to maintain it.
Jan
9
comment Resume dilemma for professional job
First, small projects are not comparable to real-world stuff at all. Second, Computer Science graduates are suppoused to study things like algorithms, some IA, data structures, perhaps concurrent programming, and other stuff a plain programmer may not have learned. That said, a degree doesn't mean you're a good programmer at all. I'd use a term like "hobbyist programmer", I can't help you much with the wording since my English sucks.