Live data from Hacker News

Fizz Buzz: Enterprise Edition

github.com

81–90 of 171 posts

Re: Fizz Buzz: Enterprise Edition

#81

I've often wondered - is it the language that spawns this or the mindset of the developer (or both?) I see this primarily in Java or .NET shops - massive layer upon layer, code generation, factories, classes, etc. - when a simple architecture would be best. Why do we get these insane things to begin with? What's going on? It feels sort of like premature scaling (what if we have millions of programmers - we need more…

I've seen this done in a PHP project (to the extent that it is possible), so I'm pretty sure it is the mindset of the developer.

Re: Fizz Buzz: Enterprise Edition

#82
Can you get this into a Maven repo? I'd like to include it via my pom.xml, I have some numbers that need FizzBuzzing and they always say great developers never repeat the work of others.

Re: Fizz Buzz: Enterprise Edition

#83
I think a lot of programmers in the enterprise world are consultants and paid by the hour or day. That means longer it takes to solve a problem and then later support it the better. You are paid more for working on the project longer. That naturally drives people to create elaborate schemes for simple problems and make more money.

I give another example where goals and rewards are misplaced. India has a serious Cow problem. Every city in india has thousands of cows roaming freely on the streets. New Delhi, india's capital decided to solve this problem by hiring workers who would take this cows from the streets , put them in trucks and move out of the city. They get paid for the number of cows they collect every day. Guess what happens ? They release the cows next day into the city so that they can collect again and make money.

Anywhere there are goals and rewards misplaced, inefficiencies will creep up.

Re: Fizz Buzz: Enterprise Edition

#85
post #53

I've often wondered - is it the language that spawns this or the mindset of the developer (or both?) I see this primarily in Java or .NET shops - massive layer upon layer, code generation, factories, classes, etc. - when a simple architecture would be best. Why do we get these insane things to begin with? What's going on? It feels sort of like premature scaling (what if we have millions of programmers - we need more…

I wonder too. I write a very atypical brand of Java (I like to think of it as "unencumbered Java"). I sometimes even use public fields instead of accessors (o, the heresy). My best guess would be that you often need to refactor you code to include some of the patterns showcased in the repo (factories, for instance). So developers try to future-proof their project by using those patterns everywhere. This is obviously…

I generally go by the saying, baring any existing req's that abstraction patterns would help with:

'Code to use, Refactor to re-use'

Re: Fizz Buzz: Enterprise Edition

#86

I've often wondered - is it the language that spawns this or the mindset of the developer (or both?) I see this primarily in Java or .NET shops - massive layer upon layer, code generation, factories, classes, etc. - when a simple architecture would be best. Why do we get these insane things to begin with? What's going on? It feels sort of like premature scaling (what if we have millions of programmers - we need more…

Dynamic typing is much maligned these days, but it allows you to abstract without nearly so much boilerplate.

Re: Fizz Buzz: Enterprise Edition

#87

I've often wondered - is it the language that spawns this or the mindset of the developer (or both?) I see this primarily in Java or .NET shops - massive layer upon layer, code generation, factories, classes, etc. - when a simple architecture would be best. Why do we get these insane things to begin with? What's going on? It feels sort of like premature scaling (what if we have millions of programmers - we need more…

Must be the mindset. I've seen plenty of straightforward, well written C# code with none of this garbage. I'm sure it's the same with Java. And you would see plenty of Ruby code written in this kind of style if Ruby was popular in enterprise software development.

I agree with that. For example, Azure storage is pretty straightforward and simple to use [1]. Or LINQ, which is part of the .NET framework and is beautifully simple to use.

Re: Fizz Buzz: Enterprise Edition

#88
post #43

Earlier quoted context omitted.

So, you should be able to show me dozens of tools that are the default choice within these ecosystems, that make programmers build things in this way. Can you please name some tools and tell us how they say this is the right way to do things?

Really? Eclipse, Netbeans, Maven, JUnit, JLog J2SE libraries - pretty much all of them Apache libraries Hibernate J2EE libraries The list is endless Even Google App Engine manages to be way more convoluted in Java than in Python or Go, it's not even funny

These are all defaults and you are forced to use them, right?

Furthermore - does this really help the argument that "the whole ms stack sucks balls" or even "the whole java stack..."?

Post reply on HN