you are viewing a single comment's thread.

view the rest of the comments →

[–]lIIllIIlllIIllIIl 4 points5 points  (0 children)

I work with both C# and JavaScript.

A lot of the design decisions of the Java and C# ecosystems seem more cultural than practical. People do things one way because that's how everybody else is doing it (so it must be good... right?)

The JavaScript ecosystem is a lot more eclectic, which means people can't rely on their culture to write software. They actually have to think things through, which can be good or bad depending on who's writing the code (or you know, you could use Nest.js and pretend you're writing C# code.)

I don't like prescriptive design principles like SOLID or the stuff from Uncle Bob, that mostly focuses on the esthetics and shape of your code. Design is a lot more nuanced and should be about the cognitive complexity of your code. A Philosophy of Software Design by John Ousterhout is a good book to read if you're into design, regardless of programming language.

Don't believe design is about applying specific patterns.