C++ is a Dynamic, Pure, Functional Programming Language

I haven’t blogged for a while.  I recently submitted a paper I’ve been working on for some time and I find it hard to “multitask writing”.  It’s like the part of my brain responsible for writing (as opposed to programming or other stuff) cannot do two things at the same time.

Apart from writing this new paper I’ve been working on presentations for the SPLASH 2016 conference, in which I’m presenting three different things (a poster, a demo about Cloudlog and a workshop paper on Cedalion).  I will write about all of those sometime before the conference.

… and of-course, I’m also working on cedalion2.  Stay tuned for updates…

But today I want to write about something completely unrelated I came across recently.  I’ve been using C++ practically all my professional life.  I learned it from a book (in Hebrew) even before I learned C…

I don’t like C++ very much.  If you learned anything from my blog so far, I’m more into declarative languages, and if they have to be imperative, I prefer those where I cannot create buffer overruns by mistake, or use an allocation that has already been freed.  But somehow my professional career went a certain way and I came to use C++ for most of it.

For most of my time working with C++ I knew there was more to it than meets the eye.  But until I went there and checked for myself I didn’t realize how cool it can be.  In this post I’ll give a taste of C++, but not the way you (probably) know it.  Most people know it as an imperative, statically typed, eagercompiled object-oriented programming language.  In this post I’ll show you why it is a declarative, dynamically typed, lazyinterpreted functional programming language.

Read More »