Live data from Hacker News

Didn't see this coming: The Goldman Sachs Github Account

github.com

61–70 of 115 posts

Re: Didn't see this coming: The Goldman Sachs Github Account

#61
post #56

Earlier quoted context omitted.

Why? Because Java has good, built-in, worldwide namespacing that always works? Or because Java has IDEs that pull in imports automatically so developers don't have to think useless shit? Or is it because you're fanboi who dislikes Java merely because it's Java and choose any opportunity, not matter how inappropriate, to disparege it. Java is by no means perfect, but let's at least pick on it for the things it actuall…

I can't speak for jlarocco, but my concern is not directly the import statements, but rather, what those import statements imply. That repo has 1,290 files. Excluding file pathnames containing 'test', there are 601 files. Of those, 430 are .java files. Java is complicit in that crime, but Enterprise Java is the bigger culprit. The library makes doing a map on an array cleaner for me, but behind the scenes it is using…

Yep. Don't forget Aspects!

"But, but... a good IDE can make all this boilerplate be less painful!"

Of course, you could just not have the boilerplate, abstraction and over-complexity to begin with, use a simpler language & ecosystem like Python, and just code in vi.

Re: Didn't see this coming: The Goldman Sachs Github Account

#62

There are a few other brands on there, including Walmart and Amazon: https://github.com/walmartlabs http://www.readwriteweb.com/archives/walmartlabs_kosmix.php https://github.com/amazonwebservices I can imagine Goldmans are using Github to acquire talent and new ideas. I am sure they have some complex problems and technology that needs fixing. Stack Exchange had a discussion on this last year: http://programmers.stac…

I don't think Amazon being on Github is really that surprising.

Re: Didn't see this coming: The Goldman Sachs Github Account

#63

Earlier quoted context omitted.

One viewpoint is such noise doesn't scale - both for tooling or human consumption. Java and C# are both heading into a territory where it is getting less reasonable for a human to write them without tooling support - is this what people really want? If we have such sophisticated tooling why bother dropping to low level text? Wouldn't it make more sense to manipulate and compose more expressive objects than text? The…

The very best chess teams consist of a computers and a humans cooperating with each. The computer insures perfect tactically play while the human concentrates on overall strategy. Why should programming be any different? The very best IDEs in the hands of a skilled programmer should produce code better than a similarly skilled programmer who insists on using a dumb text editor. If the resulting code can only effectiv…

The very best chess teams consist of a computers and a humans cooperating with each. The computer insures perfect tactically play while the human concentrates on overall strategy.

Except, we're using computers to help assist us with a terrible codebase that is unnecessary complex and verbose.

Why should programming be any different? The very best IDEs in the hands of a skilled programmer should produce code better than a similarly skilled programmer who insists on using a dumb text editor. If the resulting code can only effectively be modified by a similar computer/human team - well that's a small price to pay.

Vim and emacs not "dumb text editors". They are very powerful tools in the hand of a skilled programmer.

Re: Didn't see this coming: The Goldman Sachs Github Account

#65

Earlier quoted context omitted.

I never use an IDE to edit Java, and that's pretty much what it looks like. To use a class in Java, you must import it first. To import it, you type "import " and then the fully qualified name of the class. From there, you can use the unqualified name. It's basically like that in every other programming language, though others are less opaque. In Perl, you get a variable called %:: that holds the symbol table, and yo…

But, if you're using a modern IDE, removing impl or going from "collections" to "collect" isn't saving anyone any time. Or, at least, it shouldn't be.

Sure, but it's always nice when imports fit on a single line without wrapping. Essential, no, but nice.

Re: Didn't see this coming: The Goldman Sachs Github Account

#66

Earlier quoted context omitted.

I disagree. It's the concise model that can't scale without tool support. Imagine you import foo.∗, bar.∗, and baz.∗. How does someone reading the code know where the Quux class comes from? They can't, without checking all of the namespaces that were imported. But if you just "import foo.bar.baz.Quux", then you know exactly where Quux comes from. This whole thread sounds like a lot of non-java-programmers complaining…

I'm not too fussed with the namespaces - I dont think you will find anyone arguing against that. What is at issue is the over specialization of class or framework components because of language limitations. A language that leads to degenerate boilerplate or mounds of endless repetition (but in user land code and libraries/frameworks) can be viewed as having a serious abstraction problem. Do you really think java will…

This library looks bad because it is bad.

(I just wrote a long rant about this, but on my internal blog, so I'll summarize here. They have 12 classes implementing immutable lists. A class for an empty list. A class for a list with one element. A class for a list with two elements. That continues to 10 (!!!!) elements. Then there's a class for lists greater than size 10. This pattern is repeated for all the other types. That's going to be messy in any language. Google seems to survive with 0-, 1-, and n-element classes.)

Re: Didn't see this coming: The Goldman Sachs Github Account

#68
post #15
post #9

... import com.gs.collections.impl.block.factory.Comparators; import com.gs.collections.impl.block.factory.Functions; import com.gs.collections.impl.block.procedure.CollectionAddProcedure; import com.gs.collections.impl.collection.mutable.AbstractCollectionAdapter; ... Gees, I feel sorry for people still stuck using Java.

No Java devs actually type any of that. Java IDE's are very good at generating this sort of code...for this very reason. No one would still be using Java if they actually had to remember full package names.

That's not true; many of us still use Emacs and Vi and do remember package names.

Re: Didn't see this coming: The Goldman Sachs Github Account

#69

I fucking hate goldman sachs. Note because of politics. Not because of any financial action they've done. Because they hired that despicable fuck Ulrich Drepper. Seriously, the amount of nice, young people who were forever turned away from GNU/open source with a bad taste in their mouths because of that scumbag dipshit. I don't care if he was right % percentage of the time. The point of a project is to welcome users,…

Tennyson once defended Thomas Carlyle and Jane Welsh's notoriously tempestuous marriage by noting that "By any other arrangement, four people would have been unhappy instead of two".

Re: Didn't see this coming: The Goldman Sachs Github Account

#70

Earlier quoted context omitted.

One viewpoint is such noise doesn't scale - both for tooling or human consumption. Java and C# are both heading into a territory where it is getting less reasonable for a human to write them without tooling support - is this what people really want? If we have such sophisticated tooling why bother dropping to low level text? Wouldn't it make more sense to manipulate and compose more expressive objects than text? The…

The very best chess teams consist of a computers and a humans cooperating with each. The computer insures perfect tactically play while the human concentrates on overall strategy. Why should programming be any different? The very best IDEs in the hands of a skilled programmer should produce code better than a similarly skilled programmer who insists on using a dumb text editor. If the resulting code can only effectiv…

I made a vow to myself to never reply to a comment that used both "tactics" and "strategy" in the same sentence, but here goes...

Why should programming be any different? The very best IDEs in the hands of a skilled programmer should produce code better than a similarly skilled programmer who insists on using a dumb text editor. If the resulting code can only effectively be modified by a similar computer/human team - well that's a small price to pay.

That's true, but show me an IDE that lets someone write better code than someone without the IDE. The reality is that IDEs provide very superficial features that help beginners be more productive, but don't help experienced programmers much. (The most cited feature, symbol completion with docstrings, is available in pretty much every text editor. It's nice confirmation that your mental model matches the tags table, but hardly essential.)

All I can say is: Java got a lot easier for me when I stopped trying to make Eclipse useful. It turns out that Eclipse doesn't really do anything except sleep(5) after every keystroke.

Post reply on HN