Domain Driven Design. The book by Eric Evans lays out a bunch of concepts and as a developer that had not owned the architecture of a big domain, it was hard for me to see exactly where they fit. But after reading the book a couple times, and then encountering a few tricky domain modeling challenges, I started to see where these patterns add value. Also, as I started trying to describe the cohesive domain architectur…
This is the book by Eric Evans?
Ask HN: Concepts that clicked only years after you first encountered them?
231–240 of 946 posts
Re: Ask HN: Concepts that clicked only years after you first encountered them?
#232Socialism When I got out of my middle class bubble, made friends with people working multiple jobs and struggling to make ends meet, and experienced a period of financial instability; I began to realize that something wasn't working in our current system. Then I started struggling with burnout and other issues and found that corporations were happy to just replace me. I also found that management wanted programmers t…
My opinion, however, is that my parents did the right thing to drag me out of such a system and into a capitalistic one. I am watching my peers suffer.
Re: Ask HN: Concepts that clicked only years after you first encountered them?
#233Matrix multiplication. First encountered it in high school, where the textbooks presented matrices without any real motivation, and matrix multiplication just seemed like a weirdly-defined operation. Once I got to linear algebra in college and matrix multiplication was presented as the way to compose linear transformations, it made a lot more sense.
Or you can learn about them in school and be given neither a real-world use case nor a rationale or derivation for mmul.
Or you can encounter them in college, and there the experience depends on whether it’s a good or bad kind of a linalg class. But even there – after all the painstaking definitions and lemmas and derivations – it’s easy to end up not grokking how mmul does what it does even if you grasp all the building blocks – vector spaces, bases, how matrices can represent bases and systems of linear equations and linear operations on vectors and how they’re all kinda equivalent.
Re: Ask HN: Concepts that clicked only years after you first encountered them?
#234Domain Driven Design. The book by Eric Evans lays out a bunch of concepts and as a developer that had not owned the architecture of a big domain, it was hard for me to see exactly where they fit. But after reading the book a couple times, and then encountering a few tricky domain modeling challenges, I started to see where these patterns add value. Also, as I started trying to describe the cohesive domain architectur…
It's a solid book. I was chugging through it a bit at a time, until I discovered Scott Wlaschin's Domain Driven Design Made Functional. I've dropped the Evans book (as it's mired in mid-00's Enterprise Java patterns) and am enjoying this one quite a bit more. Both books are great. Read whichever one aligns with your practice best. I recommend Wlaschin's book for anyone curious about FP, without hesitation. He's great…
Re: Ask HN: Concepts that clicked only years after you first encountered them?
#2351. Everyone is the main character in their own story. This manifest in all sorts of ways - from people not being there when you need them the most, from friends dying off as soon as proximity changes, to how and why get people get promoted in jobs. This isn't necessarily bad, but if you don't know how to navigate this it can be quite painful and confusing. 2. Representation matters. I knew this for a long time, but i…
Re: Ask HN: Concepts that clicked only years after you first encountered them?
#236I'd have to say... Linear Algebra & SQL. SQL is something that is a permanent journey for me. It is a domain-specific language, so the nature of its use depends almost entirely on how the domain was modeled in the first place. Much of my interest has been drawn towards the modeling aspects and how we can arrive at schemas that business experts can tolerate. Linear algebra properly clicked for me when I started gettin…
Something in linear algebra clicked for me when I realized the infinite dimensional case is different from the finite dimensional case.
Re: Ask HN: Concepts that clicked only years after you first encountered them?
#237One thing which held me back for a very long time was not following up with people who didn't show much interest initially.
I wasted so many good leads thinking it is impolite to follow up with people after contacting them once. My whole life changed once I understood the power of follow ups and understanding that most people are so busy that it takes at least 6 reminders before most people will take any substantial action.
The reverse is also true. People say a lot of things and most of the times you never cross the bridge or reach it. Nowadays, I rarely argue about anything and don't act on stuff until a person reminds me once or twice. This small filter can be like a miracle for saving your time and energy.
Re: Ask HN: Concepts that clicked only years after you first encountered them?
#238Domain Driven Design. The book by Eric Evans lays out a bunch of concepts and as a developer that had not owned the architecture of a big domain, it was hard for me to see exactly where they fit. But after reading the book a couple times, and then encountering a few tricky domain modeling challenges, I started to see where these patterns add value. Also, as I started trying to describe the cohesive domain architectur…
Re: Ask HN: Concepts that clicked only years after you first encountered them?
#239Taking the point of view of others, and learning to view a situation from a "perspective-less perspective." It's easy to think you have people skills because you listen to others and repeat their point of view back to them before telling them they're wrong. And unfortunately you can get quite far in the business world simply by being good at demolishing other people's positions. As a mental exercise, a few years ago…
Re: Ask HN: Concepts that clicked only years after you first encountered them?
#240Earlier quoted context omitted.
I've always found OO programming completely natural. n fact, it's the only kind of programming i've ever really done - create a structure with data members, and then create functions to work on that structure. you can (and should) do this in low-level languages such as C and assembler. Of course, if you want to go the whole polymorphic route, i'd suggest using something like c++, but the key ideas are really structur…
I've always had a hard time because I was thinking.. why would I carry the performance hit of instantiating objects for a bunch of stuff?
It's a tradeoff. OOP makes sense for certain types of problems, and functional programming solves other problems. It's very much a case of selecting the right tool for the job.
I recently transitioned from C# game programming to C++ embedded system firmware. Objects don't make much sense for what I'm doing now, and I'm coming to see the elegance of functional programming.
There is no one answer, just a box of tools. What makes a good programmer is understanding each of your tools well enough to decide which one will solve your problem in the way you want.