In my main project (very large physics simulation) we're about to start allowing c++23 features. I generally try to keep c++-isms to a minimum, but I welcome things like .contains() methods and things that make c++ more pleasant (i.e. python-like). Any "favorite" c++23 features you would recommend that we adopt? Any to avoid?
#cpp #cpp23 #software #softwareDevelopment #softwareEngineering
check this article about move faster manifesto https://brianguthrie.com/p/the-move-faster-manifesto/
A story about why #TestDrivenDevelopment matters
This week, I have been working on an invoicing system in a legacy codebase. The requirements are to extend the invoice report with additional custom fields. What we'll test here is not the visual, but the (in-memory) field values that are ultimately displayed on the invoice report.
So I first wrote the test for the header fields, _let the test fail_, and continued with the actual implementation until the test passed...
1/?
Database queries in loops are performance killers. Load all needed data in one query, then process it in memory. One query fetching 1000 records beats 100 queries fetching ten records each by far. #SoftwareEngineering
Database queries in loops are performance killers. Load all needed data in one query, then process it in memory. One query fetching 1000 records beats 100 queries fetching ten records each by far. #SoftwareEngineering
The Adapter pattern makes incompatible interfaces work together. Wrap third-party APIs to match your application's expected interface. Changes to external services stay contained. #DesignPattern #SoftwareEngineering
The Adapter pattern makes incompatible interfaces work together. Wrap third-party APIs to match your application's expected interface. Changes to external services stay contained. #DesignPattern #SoftwareEngineering
Circuit Breakers prevent cascading failures. When a service fails repeatedly, stop calling it temporarily. Give it time to recover instead of making the problem worse with more requests. #DesignPattern #SoftwareEngineering
Circuit Breakers prevent cascading failures. When a service fails repeatedly, stop calling it temporarily. Give it time to recover instead of making the problem worse with more requests. #DesignPattern #SoftwareEngineering
In my main project (very large physics simulation) we're about to start allowing c++23 features. I generally try to keep c++-isms to a minimum, but I welcome things like .contains() methods and things that make c++ more pleasant (i.e. python-like). Any "favorite" c++23 features you would recommend that we adopt? Any to avoid?
#cpp #cpp23 #software #softwareDevelopment #softwareEngineering
check this article about move faster manifesto https://brianguthrie.com/p/the-move-faster-manifesto/
PSA: Please don't do this in #Rust:
if let (Ok(foo), Ok(bar)) = (expensive_op(), expensive_op()) {
println!("{foo} {bar}")
}
It can be very inefficient, causing people to wait on your software wasting their time (I've just seen this in a fairly popular open source project with 3k stars)!
For a better, more maintainable and efficient version, see second toot or have a look at the playground for the full examples:
1/2
Async Concurrency relates to Multi-threaded Concurrency
the same as
Manual Memory Management relates to Garbage Collection
(at least in systems languages like #Rust)
#SoftwareEngineering #Concurrency #Async #Comparison #RustLang
Somebody asked me a advice for a new developer, My respose is "Read" read documentation of the technologies that you use(languages, libraries, frameworks) read about design patterns and good practices. Reading is important not only to get information also to mint agility. Now AI seems bring us all, but nowdays AI is not perfect, AI could be wrong like forums or other people so your main friend allways will be the official docs
#developer #softwareEngineering #ai
Software Performance: Avoiding Slow Code, Myths & Sane Approaches – Casey Muratori | The Marco Show
https://yewtu.be/watch?v=apREl0KmTdQ
(or YT: https://www.youtube.com/watch?v=apREl0KmTdQ)
Very inspiring #podcast/ #interview with Casey Muratori on how to create performant software - by The Marco Show.
Somebody asked me a advice for a new developer, My respose is "Read" read documentation of the technologies that you use(languages, libraries, frameworks) read about design patterns and good practices. Reading is important not only to get information also to mint agility. Now AI seems bring us all, but nowdays AI is not perfect, AI could be wrong like forums or other people so your main friend allways will be the official docs
#developer #softwareEngineering #ai
Apparently, we are storing log output in .yml files now! 😬
Apparently, we are storing log output in .yml files now! 😬
Async Concurrency relates to Multi-threaded Concurrency
the same as
Manual Memory Management relates to Garbage Collection
(at least in systems languages like #Rust)
#SoftwareEngineering #Concurrency #Async #Comparison #RustLang
Dear null,
A blog post by Dmitrii Aleksandrov:
https://home.expurple.me/posts/dear-null/
"Get the domain model out of your head. Get it out of external docs. Get it out of the unit tests. Put it right into the code that represents it. Let the compiler validate the model that you’ve designed."
THIS! 💯
#ProgrammingLanguage#SoftwareDevelopment#SoftwareEngineering#NullSafety