Mathematica: what is symbolic programming?

When I hear the phrase “symbolic programming”, LISP, Prolog and (yes) Mathematica immediately leap to mind. I would characterize a symbolic programming environment as one in which the expressions used to represent program text also happen to be the primary data structure. As a result, it becomes very easy to build abstractions upon abstractions since … Read more

The difference between Reactive and Functional-Reactive programming

Functional Reactive Programming (FRP) is a specific programming model with a specific semantics. (Actually, there are two variants, which are sometimes called “classic FRP” and “arrow FRP”.) I’ve given a summary in an answer to “What is (functional) reactive programming?”. As I said there, the two key properties for me have always been (a) precise … Read more

Why is the ‘if’ statement considered evil?

The if statement is rarely considered as “evil” as goto or mutable global variables — and even the latter are actually not universally and absolutely evil. I would suggest taking the claim as a bit hyperbolic. It also largely depends on your programming language and environment. In languages which support pattern matching, you will have … Read more

What’s the difference between: Asynchronous, Non-Blocking, Event-Base architectures?

Asynchronous Asynchronous literally means not synchronous. Email is asynchronous. You send a mail, you don’t expect to get a response NOW. But it is not non-blocking. Essentially what it means is an architecture where “components” send messages to each other without expecting a response immediately. HTTP requests are synchronous. Send a request and get a … Read more

Is it worthwile to learn assembly language? [closed]

I learned from Kip Irvine’s book. If you ignore the (fair) criticisms of his (irrelevant) libraries, I can recommend it as a good introduction to the language itself — although for the really interesting stuff you have to hunt out obsessives on the net. I think it’s useful to understand what happens at the lower … Read more

Meaning of Leaky Abstraction?

Here’s a meatspace example: Automobiles have abstractions for drivers. In its purest form, there’s a steering wheel, accelerator and brake. This abstraction hides a lot of detail about what’s under the hood: engine, cams, timing belt, spark plugs, radiator, etc. The neat thing about this abstraction is that we can replace parts of the implementation … Read more

Truly understanding the difference between procedural and functional

Functional Programming Functional programming refers to the ability to treat functions as values. Let’s consider an analogy with “regular” values. We can take two integer values and combine them using the + operator to obtain a new integer. Or we can multiply an integer by a floating point number to get a floating point number. … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)