recentpopularlog in

shioyama : programming   665

« earlier  
Inversion of control - Wikipedia
Finding new abstractions is difficult. In general, it seems that an abstraction is usually discovered by generalizing from a number of concrete examples. An experienced designer can sometimes invent an abstract class from scratch, but only after having implemented concrete versions for several other projects.

This is probably unavoidable. Humans think better about concrete examples then about abstractions. We can think well about abstractions such as integers or parsers only because we have a lot of experience with them. However, new abstractions are very important. A designer should be very happy whenever a good abstraction is found, no matter how it was found.
programming  ioc 
5 weeks ago by shioyama
Simple, correct, fast: in that order | Drew DeVault’s Blog
You need to take problems apart, identify smaller problems within them and ruthlessly remove scope until you find the basic problem you can apply a basic solution to. The complex problem comes later, and it’ll be better served by the composition of simple solutions than with the application of a complex solution.
programming  software 
july 2018 by shioyama
Idioms of Dynamic Languages | Will Crichton
"the core impedance mismatch is that metaprogramming is fundamentally at odds with static typing"
programming  ruby  python  metaprogramming 
july 2018 by shioyama
Reasoned PHP
"This is extremely powerful. It is almost like doing TDD, but without writing the code."
relationalprogramming  programming  relation  declarative 
july 2018 by shioyama
What is an example of Godel's Incompleteness Theorem in practice? - Quora
"every so often someone will start to question why we need programmers, at least for finding bugs in a program (probably about 90% of "coding" is spent on trying to find bugs), so they try to build an automated bug checker to catch all mistakes that ever existed. But some mistakes will cause infinite loops, and it is impossible to catch all of these in any [Turing complete] programming language. It's nice to know that, as a software engineer, the future of your profession is guaranteed by a mathematical theorem."
godel  incompleteness  programming 
june 2018 by shioyama
Big Ball of Mud
"What does this muddy code look like to the programmers in the trenches who must confront it? Data structures may be haphazardly constructed, or even next to non-existent. Everything talks to everything else. Every shred of important state data may be global. There are those who might construe this as a sort of blackboard approach [Buschmann 1996], but it more closely resembles a grab bag of undifferentiated state. Where state information is compartmentalized, it may be passed promiscuously about though Byzantine back channels that circumvent the system's original structure."
mud  programming 
august 2017 by shioyama
« earlier      
per page:    204080120160

Copy this bookmark:





to read