Navigation

  • Home
  • Blog
  • Training and talks
  • Projects
  • Artwork

Ivan Čukić

dr Ivan Čukić

Author of "Functional Programming in C++", KDE developer and Free/Libre software enthusiast

For inquiries about KDE projects (requesting features, submitting bugs, asking general questions etc.), you can use:

KDE Community Forum
Bug reporting site
#plasma IRC channel

You need to contact me directly?

KDE related:
ivan.cukic [at] kde.org

Non KDE related things:
ivan [at] this domain

IRC Network: libera.chat
Nick: ivan|home
Channel: #plasma

Projects

Blog categories

  • Prog C++  
  • Plasma Vaults  
  • KActivities  
  • Plasma  
  • Blade  
  • General KDE-related posts  
  • Other posts  

Functional Programming in C++

If you like C++, you might be interested in my book. It contains quite a few gems of modern C++ programming.

It is available for purchase at:
  • Manning (publisher)  
  • Amazon  
  • ДМК (Russian tranlation)  
  • Helion (Polish tranlation)  
  • AcornPub (Korean tranlation)  
  • BooksChina (Chinese translation)  

Patronage

Prog C++ posts

Progressive C++ (Prog C++) is a fusion of all programming paradigms and styles that C++ supports. Functional, object-oriented, generic... All of them provide invaluable idioms that can make our software safer and more easily maintainable.
  • Prog(ressive) C++ at Meeting C++
  • Structured Bindings with Qt SQL
  • Fuzzy search for C++ Reference, Qt documentation and more from shell, Vim or Neovim
  • Qt, range-based for loops and structured bindings
  • Template meta-functions for detecting template instantiation
  • Template meta-programming: Some testing and debugging tricks
  • Moving iterators in C++
  • C++17 projections even without ranges
  • Knowing when not to use the STL algorithms - set operations
  • Voy: Reactive streams for distributed computing [Plasma Blade]
  • C++ Russia 2018 and template meta-programming in modern C++
  • There is much more to std::for_each than meets the eye
  • C++17 and parallel algorithms in STL - setting up
  • Functional Design for Concurrent Systems (book snippet and discounts)
  • I will be giving the Keynote at C++ Siberia 2017
  • The long arrow operator in C++ (not the usual one)
  • C++ Concepts TS for getting functions as arguments, and the book discount
  • Camels and snakes
  • Functions taking functions
  • Functional reactive programming at Meeting C++
  • Functional Programming in C++ book, and the promo discount codes
  • C++ conferences in Europe
  • C++ at a functional programming event
  • There and back again, an algorithm tale
  • Russia hot for C++ (and Qt)
  • Asynchronous in Russia
  • Tests for code that uses a database
  • Meeting C++ and fantastic people
  • Meeting C++ with Monads, Berlin
  • API Design Part 2: Impact on the safety
  • API Design Part 1: Impact on the Performance (Qt vs STL example)
  • Using GNU Global for local source code indexing
  • #1 talk at Meeting C++
  • Using Clang's static analyzer to analyze your project
  • Even better file switching for Vim
  • Header/Source switching in Vim
  • VIM: "Hiding" C++11 lambdas
  • Which one is clearer - the resolution
  • Which one is clearer?
  • SQL results in range-for
  • Slides from Qt Dev Days: continuations, asynchronous APIs, etc.
  • Continuations and asynchronous programming at Qt Dev Days
  • Clang Format
  • Curry with a lot of (syntax) sugar in C++11 (finished)
  • Even more curry for C++11
  • Curry all over the C++11
  • String concatenation in Qt5/KF5 (contd.)
  • String concatenation in Qt5/KF5
  • Singletons, shared instances, the modern way
  • D-Ptr, the modern way
  • CodeQtStyle or the_old_school
  • Qt Functional [2]
  • Qt Functional

Copyright by Ivan Čukić, 2007-2024