This dog led an officer to his leash while he was being rescued from his burning home. This is Oakley. Last Thursday, he was home alone when a fire started in the attic. When the Aurora Police Department arrived, there were flames at the back of the house. Unsure if anyone was inside, Investigators Michael Ely and Jacob Leonard forced their way in to search for residents. That's when Ely found the family dog. Before Ely could grab Oakley, the pup urgently led the officer through the smoke-filled house, right to where his leash was hanging. After securing his leash, the pair safely evacuated the home. Oakley's family adopted him as a puppy 4 years ago, and they're forever grateful their sweet dog was saved. 14/10 for all
I have skimmed through this course before and I love it and want to complete it.
I also have avoided C++ all my life somehow.
Gaaah...time to roll up sleeves and learn C++.
Today is the new semester for @CMUDB's Intro to Database Systems! We're going harder into material than ever before. Projects are more challenging but you can use LLMs to help. We also have 10min talks each Wed from leading DB companies. Follow on YouTube: https://t.co/ECSyZzN1NJ
Total BS. This guy not aware of well-used, large, open-source projects? (Django, Rails etc).
I dare him to "glance at the code" of these projects and "immediately see the arch structure".
Sure enough, he's just a "consultant" peddling stuff.
IME, it's a sign of bad programming if you can't glance at your code and immediately see the architectural structure (at all levels). A pile of functions (or classes, or whatever) is not an architecture.
@allenholub I think you are conflating testing with TDD and/or unit testing. IMO, very few argue that tests are ineffective. Test-usefulness is context-dependent. Sometimes system tests are much more useful than unit, and vice-versa. Sometimes neither. Maybe manual is better.
Know what TDD is (easy to grasp). Use it only when necessary (which is rare). Time is better spent learning how to decompose a problem into parts, lay out interactions, how to make programs readable and maintainable and writing tests from a user’s pov. And how to write good docs.
True. There’s a reason why out of all the popular, widely-used open-source software, there are almost no examples of ones written using TDD (red-green-refactor).
The only one well-known is JUnit.
I would love to know more (has to be well-known and widely used).
When you learn TDD, the examples are trivial. Let's build a calculator and whatnot. Easy & super contained. As soon as you do it in real world scenarios, it becomes complicated. Mocks, stubs, flaky tests, test run duration, coverage, different test categories, oh my! #tdd
My colleague @mehd_io has built up an amazing collection of videos on data engineering, DuckDB and MotherDuck. He even interviews many of the GOATs in data. We’ve now vastly improved the discoverability of these videos on our website. Check it out: https://t.co/0BLMwW6ArQ
@paul_cal@ChShersh@nicksdot The schema acts as a guard to code changes. Adding an attribute in code that needs an extra col in db would be caught if the schema change is not made. In json you freely add/remove them. This could lead to incompatibility between json changes and the schema has no way to know.
@uckelman Yeah, I somewhat agree. I did learn some things from Uncle Bob when I was a junior developer. Then I learnt more from other people and realized that what he talks about is only about 10% of software development. I am also tired of his TDD zealotry.
Democrats and many (non-Trump) republicans are endorsing Harris, and this guy (who we are supposed to take seriously in the software world) posts stuff like this.
@thieme I disagree. Not talking about small scripts. Talking about large projects that use languages like Erlang, Clojure, Ocaml, Haskell. Most code in these projects do not use OOP paradigms (objects with state, inheritance etc) because it's not possible or at least very hard to do so.
I do think Object-Oriented Programming has its place in software but it’s overused far, far more than what it should be. In many cases functions with appropriate data structures will suffice and will make the system much easier to comprehend.
@unclebobmartin@KhazAkar Lets not get carried away. "I will not use language X because it does not conform with my way of thinking" is a perfectly reasonable way of thinking IMO.
I have used Java before, but I would never put it even in my top 10 languages I would love to work with.
I refuse to believe this. Because you can write functional code in most OOP languages, but cannot use objects in functional languages. Therefore most projects of moderate size that use Clojure or Erlang do not need all 3 techniques.
Functional programming, object programming, and structured programming are all just techniques to aid the organization of code. In any project of moderate size all three will be necessary. The three are synergistic. Together they are better than when kept separate.
@thieme This is all fine. I am only pushing back against the statement that in any moderate sized project you need all 3 paradigms for code you write - structured, functional and OOP. I disagree on that.
I never thought I needed to clarify this, but by OOP I mean the technique of creating/managing "objects" - ie, data structures that combine both data and mutable state. And to re-iterate they are useful in some (just some) cases.
I do think Object-Oriented Programming has its place in software but it’s overused far, far more than what it should be. In many cases functions with appropriate data structures will suffice and will make the system much easier to comprehend.
@thieme IMO, just using classes does not constitute OOP. By object, I mean a datastructure that has both methods and mutable state - and OOP is the technique of managing those objects. In the above code, you might as well have written them as functions.
@unclebobmartin IMO, just "using objects" that are provided by the language is not OOP. For eg in Python most datatypes are internally objects. But if you use those and build your app using just functions, its functional programming, not OO programming.
I'm happy to announce "Introduction to Zig: a project-based book" as my next work, which is under active development 🥳🎉🎉🎉. This is a book 📖 about the Zig programming language, which is a modern, general-purpose, and low-level language 🧐. #ziglang
https://t.co/xaU3Z7dFr6