News for hackers. Stuff that matters.
Re:Enough with the dead butterflies by noir_lord on Thursday June 01, 2017 @04:06PM (#14464011)
Agreed.

I've just inherited a legacy software system and I've been hunting down every podcast episode I can related to handling legacy projects holistically and there is a dearth of material.

Lots of the real world things I've learnt over the years I haven't even seen in books, at best books are incomplete and at worst hopelessly naive.

I've considered writing a book called "The hitchikers guide to software development: Surviving the bosses, the deadlines, the insane team members, this weeks buzzword management style - Towel is optional", I want material on programming in the real world not the idealised "and of course you should allocate time for <insert thing your boss will never understand the benefit off>".

Also on a similar related topic, why the hell are software visualisation systems so bloody useless, everything is optimised for creation not maintenance, I know my IDE has the data since it has internal state for things like autocompletion/jump to definition but when I do a "find usages" it gives me a table with each line and the filename...which is a pretty horrible way of visualising it, why can't I see a neat graph and re-orientate it around things like "find usages in this class and it's descendants" or "show me the class with the most usages of <foo>".

Even the best IDE's (I use intellij which is generally wonderful) still approach the problem from the wrong side sometimes, even the limited diagramming tools it has are very useful but you can't do much to interact with them.

Re:Enough with the dead butterflies by TeMPOraL on Thursday June 01, 2017 @08:15PM (#14466317)
Seconding all your points, and especially the complaint about writing vs. maintenance. I complain about that a bit too, and spent a fair amount of time searching for tools facilitating efficient reading and exploring of code. I found nothing. The space seems to be almost empty. The closest I found to something useful was an old and probably completely abandoned Eclipse plugin that doesn't work with Java 8.

IntelliJ in particular should have such tools - the IDE has all the right information. Just no tools that would be particularly useful for exploring codebase structure.

Re:Enough with the dead butterflies by yourapostasy on Thursday June 01, 2017 @08:37PM (#14466451)
Investigate the software archeology field [1]. There are offerings [2], but they tend to not be well-recognized because most software development management hasn't realized (or willfully denies) how big their technical debt has grown, in the form of poorly-understood code. There is a "map for the territory" cognitive bias working here, where the mere presence of documentation seems to lull most management teams into believing that conveys sufficient understanding. In light of that predominant situation, it is difficult to lobby for more structured and tool-assisted code meta-management.

I don't know if this phenomena you and I are talking about is just my emotion-based but factually-incorrect perception, or an actual trend. I like to think it is an actual trend, because I look at fields like truck driving, and the boundaries of what is required to be known today by even average drivers seems greater than say, the 1930's. But the more specialist drivers have to know far more. Same with nurses, farmers, pipefitters, etc. It seems that while the "table stakes" to get into the entry level of many fields have gone up, certain specialties and career development paths simply didn't exist in the past, and they're far more demanding than the field used to expect of the average entrant. It is like the complexity level exploded across many fields as technology moved us forward, and we're not preparing students for the complex reality of the fields they are entering.

[1] https://en.wikipedia.org/wiki/Software_archaeology

[2] https://www.embarcadero.com/solutions/software-archeology

Re:Enough with the dead butterflies by kabouseng on Friday June 02, 2017 @05:16AM (#14468571)
"I've just inherited a legacy software system and I've been hunting down every podcast episode I can related to handling legacy projects holistically and there is a dearth of material."

Might I suggest the book "Working effectively with legacy code" from Michael Feathers.

Re:Enough with the dead butterflies by noir_lord on Friday June 02, 2017 @10:06AM (#14469949)
Second person to recommend that to me in the last week, I moved it up the list, thank you.