Got off that boat 4 years ago... Never looked back. (except when using client's hardware)
Christian Lavigne
Got off that boat 4 years ago... Never looked back. (except when using client's hardware)
Christian Lavigne
I worked as a dev on Windows for 20 years. I found it was pretty good by Windows 7 and Windows 10. 3 years ago, I switched to Linux Mint. There was a bit of a learning curve, but now, I couldn't be happier! I'm running multi-monitor dev workstation. My productivity is though the roof. Since then I installed Linux on 50 different machines with 0 issues (some servers with RAID too). I only have 1 Windows machine left, which I am about to decommission. Then this year I got a new contract, I have to work with my customer's Surface Windows 10 computer. I'm not going to say what I REALLY think about it, but: It's full of bugs, looks like crap, multi-monitory only half work, and updates... I was a Windows users, but now: Windows, why do you keep disappointing me? The point is, there is a learning curve, but for most things I believe Linux has surpassed Windows now.
Christian Lavigne
Turbo Pascal (then Delphi) But I have no shame saying it. Those were fantastic languages!
Christian Lavigne
Proton gets the job done for me. I'm on the Business plan, so I can use multiple domains. As a bonus I get calendar and 500G drive.
Christian Lavigne
I would not say it's a new concept, DDD introduced the concept of value objects a while back. Strong typing a value is how many implement value objects in C#. The logical continuation for this concept should be: 1- Add validation, what is the specific range of value that are acceptable to your function. In your example, should you accept a speed of 62123.25? 2- Add units, is it always the same unit, or should you convert from different units? 3- Displacement, Angle, Speed are very vague, are we talking about vehicles on a public road? or a spacecraft? Maybe we should use VehicleSpeed instead? 4- Maybe VehicleSpeed should derive from a base Speed class so you don't repeat units and conversions all the time? But you could add validation of acceptable speed value for a vehicle? And we're back to the good old OOP. Should you calculate the Displacement in the VehicleSpeed class? I don't think so, this should be composition, but the encapsulation of the speed value, it's units and validation into a class is definitely desirable. It is a question of perspective. We tend to work with good enough, but if you want accuracy, I would debate that those are the things you NEED to do. The reasons why most of us don't go the Value Object route are: That's a lot of work. It takes time, we're in a hurry, it makes code base bigger, some would say more complex (I disagree). Is Primitive Obsession a code smell? I say YES! But are we willing and able to do everything that is required to REALLY fix it?
Christian