Live data from Hacker News

Fizz Buzz: Enterprise Edition

github.com

121–130 of 171 posts

Re: Fizz Buzz: Enterprise Edition

#121

Earlier quoted context omitted.

Of course, a really industrial-strength FizzBuzz would be in an SVN repo.

Ha! You think any enterprise IT shop is going to trust an open-source product like Subversion with their mission-critical source code? It would be in Perforce or MS Team Foundation Server.

Sometimes they don't have a say. I've worked with several large fortune 500 companies who use SVN, regardless of how much the IT Department objected to it.

Re: Fizz Buzz: Enterprise Edition

#122
post #46

Where is the Spring dependency injection stuff? You can't just hard code all your Factories in FizzBuzz.java, you need to specify everything using XML so you can switch Factories without going through a recompilation.

Exactly. No Spring, no Maven...I mean, come on. Plus, I'd like to see some Camel routing defined for sending my crucial FizzBuzz results to various endpoints. Oh yeah, and what about when I want to run scheduled FizzBuzz? Obviously I need Quartz, which requires...more XML! Let's not get into the necessity of making a FizzBuzz OSGi bundle - we'll tackle that in the next iteration.

Sounds like a typical Gemfile.

Re: Fizz Buzz: Enterprise Edition

#123

This seems to be implemented in a single programming language without any dependencies on legacy systems. A truly enterprise-grade system talks to PL/SQL stored procedures. Or it would, if the DBAs had written the stored procedures. But they haven't responded to your ticket request yet. And when they do, it will be with a mostly irrelevant question delaying actual work for another week. by which time their manager wi…

There should also be other applications that do almost exactly the same thing but display the information in a slightly way but use a completly different code bases.

Re: Fizz Buzz: Enterprise Edition

#124
post #53

Earlier quoted context omitted.

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…

> Now for the bitchy part, why does no one ever speaks about the good sides of Java? Cause at some point most of them got tired to preach about Java and continue to do great work vs worrying what other people think. Look around: NetFlix, Yammer, Twitter, Google are all using Java to power either their infrastructure or apps. Nobody blogs about it because "It Works" ;) The rest blogs how they keep jumping between wago…

this joke thing isn't really about Java as a language though. its about a very weird/bad and surprisingly common design anti-pattern. Java was used to do this joke because its utterly typical for this type of work, but certainly you can have this kind of disgusting enterprisey garbage in just about any programming language.

nobody makes jokes at the expense of well written Java software because its well written. we all know that the language is perfectly fine, and in alot of ways quite good, when it is used by sensible engineers.

Re: Fizz Buzz: Enterprise Edition

#125
post #86

Earlier quoted context omitted.

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

Statically typed programs are longer because they contain more information.

they don't contain more information. they contain more explicit declarations of that information. dynamically typed languages leave that information hidden because it is inferrable (or irrelevant).

Re: Fizz Buzz: Enterprise Edition

#126
post #59

Amateur hour. Serious Business this is not. Where are the tests? The Inversion of Control? The logging? The analytics system? Documentation? Architecture diagrams? Someone should either fire or promote this engineer immediately.

And he should have used a CHAIN OF RESPONSABILITY pattern instead of the IF/ELSE to handle each case , and the FOR loop should have been handled by a STATE PATTERN , finally the system.prints require a full BUILDER to decouple datas from rendering triggered by COMMANDS , that work is indeed "amateurish" , especially without a SERVICE LOCATOR.

Re: Fizz Buzz: Enterprise Edition

#129

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…

"Nobody ever got fired for buying IBM."

If you are new to an organization, do you rock the boat and fight for code-reviews for nice looking code, or do you bite your tongue and and write enterprise code to make everything go smoothly, from an administrative standpoint? You are not going to be scolded and forced to defend yourself for the enterprisey code, even if it ultimately was the wrong choice.

Writing "enterprise" code is "safe".

Re: Fizz Buzz: Enterprise Edition

#130
post #35
post #12

Earlier quoted context omitted.

do you put .java. in your package names? That one stood out as really strange (others were par for the course)

I've not seen it directly in the package names, but I've definitely seen project hierarchies with source/java even though no other languages were used (or going to be used, for that matter).

To be fair, src/main/java is often the default places build systems look for code. I'd rather use that then complicate my build scripts.

There's also src/main/resources, src/main/webapps, and possibly other dirs that can go in there that aren't other languages.

Post reply on HN