Declarative vs imperative programming

While going through RxJS, found this amazing article explaining the differences of imperative and declarative programming. In computer science, declarative programming is a programming paradigm that expresses the logic of a computation without describing its control flow. Here are some excerpts and learning cliffs to lighten up Saturday quarantine: I draw the line between declarative and non-declarative at whether you can trace the code as it runs. Regex is 100% declarative, as it’s untraceable while the pattern is being executed....

April 18, 2020 · 1 min · anvyst

"The mess we are in" by Joe Armstrong

Great talk from Joe Armstrong on how they created Erlang, and how Programming community looked back in the days. Amazing, inspiring, worth watching:

December 10, 2018 · 1 min · anvyst

Swift 101: Introductory links

Swift for iOS: Introductory manuals of Xcode The Swift Programming Language (ePub) (ePub format) Awesome Swift Github repositories Swift.org Documentation

December 25, 2017 · 1 min · anvyst

Programming sucks: at its best

The only reason coders’ computers work better than non-coders’ computers is coders know computers are schizophrenic little children with auto-immune diseases and we don’t beat them when they’re bad. Every single paragraph is amazing. This one cracked me up: “Double you tee eff?” you say, and start hunting for the problem. You discover that one day, some idiot decided that since another idiot decided that 1/0 should equal infinity, they could just use that as a shorthand for “Infinity” when simplifying their code....

October 14, 2014 · 1 min · anvyst

Programming languages as

Yet another interpretation of “if programming languages were..”. This time it is about programming languages as weapons. Perl is a molotov cocktail, it was probably useful once, but few people use it now. Ruby is a ruby encrusted sword, it is usually only used because of how shiny it is. PHP is a hose, you usually plug one end into a car exhaust, and the other you stick in through a window and then you sit in the car and turn the engine on....

September 23, 2014 · 1 min · anvyst

How bad is your Change Risk Anti-Pattern index?

CRAP is short for Change Risk Anti-Patterns – an acronym to protect you from deeply offensive code. Measures the C.R.A.P. (Change Risk Anti-Patterns) score. It is designed to analyze and predict the amount of effort, pain, and time required to maintain an existing body of code. A method with a CRAP score over 30 is considered CRAPpy (i.e., unacceptable, offensive, etc.). C.R.A.P.(m) = comp(m)^2 * (1 – cov(m)/100)^3 + comp(m) Where comp(m) is the cyclomatic complexity of method m, and cov(m) is the test code coverage provided by automated tests....

March 17, 2014 · 1 min · anvyst