Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Software engineering would be far better off if we divided up into factions along these lines, like Hogwarts or Divergent . Sure the author's test is a lossy prototype, but he's got the right idea.

So many "best practices" are truly repugnant, like XML, microservices, TDD, Design patterns, DRY, OOP, functional programming, codes of conduct, 75% of "devops"

Many of us found those things repugnant at the time and were lambasted for being a contrarian. Now in hindsight people are coming around. We're the ones who care about the machine, prefer short variable names, write necessary tests and do printf debugging. We just want to build stuff that is correct and elegant. Just leave us be.

I don't think any trend is good enough to apply to everyone in the trade. It would be better to divide up into factions so you can find communities that suit your preference.

I was just born this way.





> So many "best practices" are truly repugnant like ...list of things

I have my own love/hate relationship with many of the things you list and I currently share many of your preferences. However I didn't always see things that way. Best practices start as informal approaches to address the problems of the day. After achieving a modicum of success they'll get enshrined by others as languages, features and cultural artifacts giving rise to new problems.

I find the broad tendency of unthinking "best practicification" more troubling than any particular "best practice".

Take OOP as an example. Stroustrup's early C++ presentations argued OOP meant more than "slow graphics" since people at the time were struggling to build graphical user interfaces for machines without much memory. The idea of melding state and behavior made it easier at the time to build complex user interfaces with imperative languages. But OOP isn't a silver bullet. Many attempts to apply the OOP ideas to other domains met with failure.

Fortunately we now have more powerful machines and better tools available to us.


More powerful machines maybe, but the apps are less responsive

We must still be mindful of hertz, milliseconds , watts, bytes, airtime , watt-hours, thermals




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: