Live data from Hacker News

Poof and then Rails was gone

patmaddox.com

41–50 of 66 posts

Re: Poof and then Rails was gone

#41
post #14

Earlier quoted context omitted.

I don't understand how anything on HN that discusses a more complex software architecture is immediately called J2EE/enterprisy and dismissed. Is this because the majority of the community is self thought? Or is this because most of you only build MVPs which are mostly CRUD apps (and therefore don't know from first hand experience the benefits of a modular system)? The constant negative reaction to anything a little…

Similarly, any criticism of overcomplexity is immediately met with a dismissal as anti-intellectualism rather than a justification of why it's necessary. > Or is this because most of you only build MVPs which are mostly CRUD apps (and therefore don't know from first hand experience the benefits of a modular system)? This is what I use Rails for, and its entire reason for existing. It's a set of conventions for CRUD a…

> Similarly, any criticism of overcomplexity

Come on. Nobody is defending "overcomplexity", which is by definition a rather indefensible position. The issue is the frequent arrogance exhibited here by commenters who insist that certain commonly and successfully used design patterns have no place in the world.

Re: Poof and then Rails was gone

#42
post #32

Earlier quoted context omitted.

Correct me if I'm wrong, but one of the points of using dummy persistence is testing. You can delay using a database for a long time this way, have tests that finish quickly etc. Doing this within the confines of a Rails like MVC is next to impossible.

I am also a strong non-fan of faking persistence mechanisms in testing. If you're faking it, you don't actually know that the real thing will work.

That's what functional tests are for. But if you're doing TDD there's no point in constantly running your functional/acceptance tests.

Re: Poof and then Rails was gone

#43
post #14

Earlier quoted context omitted.

I don't understand how anything on HN that discusses a more complex software architecture is immediately called J2EE/enterprisy and dismissed. Is this because the majority of the community is self thought? Or is this because most of you only build MVPs which are mostly CRUD apps (and therefore don't know from first hand experience the benefits of a modular system)? The constant negative reaction to anything a little…

Similarly, any criticism of overcomplexity is immediately met with a dismissal as anti-intellectualism rather than a justification of why it's necessary. > Or is this because most of you only build MVPs which are mostly CRUD apps (and therefore don't know from first hand experience the benefits of a modular system)? This is what I use Rails for, and its entire reason for existing. It's a set of conventions for CRUD a…

> why in God's name did you use Rails

Because it is actually a very good, mature application server with lots of sane defaults and good, mature plugins, even if you aren't using a database. Basically, people are interested in using it for more complex applications than you are, because lots of its conventions are still quite good for those applications, even if it makes sense to reject or reconsider some other conventions that don't work quite as well.

Re: Poof and then Rails was gone

#45
post #14

Earlier quoted context omitted.

I don't understand how anything on HN that discusses a more complex software architecture is immediately called J2EE/enterprisy and dismissed. Is this because the majority of the community is self thought? Or is this because most of you only build MVPs which are mostly CRUD apps (and therefore don't know from first hand experience the benefits of a modular system)? The constant negative reaction to anything a little…

It does get a little tiring when somebody tells you "you're doing it wrong. It has to be more abstract and complex because you might become the next Facebook." And then everything turns into a StrategySingletonProxyFactoryBeanFactory.

It totally is. And the opposite is also really tiring. I feel like the silent majority are just trying to find a good middle path that works well with their specific applications, while the loud minority on both sides are yelling about how the other side is doing it wrong.

Re: Poof and then Rails was gone

#46
post #14

Earlier quoted context omitted.

I don't understand how anything on HN that discusses a more complex software architecture is immediately called J2EE/enterprisy and dismissed. Is this because the majority of the community is self thought? Or is this because most of you only build MVPs which are mostly CRUD apps (and therefore don't know from first hand experience the benefits of a modular system)? The constant negative reaction to anything a little…

Similarly, any criticism of overcomplexity is immediately met with a dismissal as anti-intellectualism rather than a justification of why it's necessary. > Or is this because most of you only build MVPs which are mostly CRUD apps (and therefore don't know from first hand experience the benefits of a modular system)? This is what I use Rails for, and its entire reason for existing. It's a set of conventions for CRUD a…

I think that was the conclusion the OP arrived to actually: for a hexagonal application you don't need Rails anymore. Hence the "Rails is gone" in the title.

Re: Poof and then Rails was gone

#47
post #24

Earlier quoted context omitted.

All of your examples don't exactly make the point you're trying to make: Ask anyone who's had to debug game engine code, compilers, operating systems, or the worst of the lot, scientific code. Most of those systems would actually benefit from proper design and architecture, but people like you decrying their "wankery" have relegated such introspection to the dustbin. And that attitude is why software engineering is m…

I've written more scientific code than most people here, and the OP is right: it's the last place you want wanker abstractions. KISS applies to scientific code in spades. The concepts are hard enough to get right without all sorts of meta-logic muddling your thinking. Only when applications are truly trivial (i.e. "boring") do developers go on architecture spaceflights to keep themselves entertained.

The best way to keep things simple is to keep them small and composable, right? Like, say, in the Unix way?

I'm all for brutally-efficient and single-minded code in domains like mathematics or simulation modeling, where things like object encapsulation maybe don't make a great deal of sense (classic array-of-structs vs struct-of-arrays sort of thing).

That said, keeping that stuff neatly boxed and then moving everything else out (say, file I/O, logging, whatever) into neatly abstracted boxes makes sense. More sense than most of the monolithic piles of Matlab and Java and C and Fortran I've seen, because people were rushing to finish a paper.

But hey, it's not like the next generation of grad students has anything to do but spend long hours debugging poorly-documented and poorly-designed code, right?

And it's not like there is any sort of commercial financial or reaction modeling software that needs to be anything other than inscrutable monoliths, right--you know, something which could actually hurt somebody physically or fiscally. Performance is king, after all.

(Hint: people who sacrifice engineering and design for performance or simplicity deserve neither.)

Re: Poof and then Rails was gone

#48

Having once been a platonist about this sort of stuff, I've rarely seen heavy code architecture work out well in practice (not so with system architecture.) I'm reminded of the various Evolution Of a Programmer jokes which end with the master programmer writing the same code as the beginner programmer.

I've always read into those Evolution of a Programmer jokes that what the master learned through their evolution is the right and wrong time for all the complicated stuff they did in the earlier phases, and that anything simple enough to form the basis of a joke is merely the wrong time.

Re: Poof and then Rails was gone

#50
post #46

Earlier quoted context omitted.

Similarly, any criticism of overcomplexity is immediately met with a dismissal as anti-intellectualism rather than a justification of why it's necessary. > Or is this because most of you only build MVPs which are mostly CRUD apps (and therefore don't know from first hand experience the benefits of a modular system)? This is what I use Rails for, and its entire reason for existing. It's a set of conventions for CRUD a…

I think that was the conclusion the OP arrived to actually: for a hexagonal application you don't need Rails anymore. Hence the "Rails is gone" in the title.

He clearly needs Rails still, unless he's going to distribute his app through IRB. The post is about pulling Rails out of the domain logic and making it replaceable; I'm saying that's pointless.
Post reply on HN