Tag Archives

Archive of posts published in the category: CodeProject

Programming Vs. Software Development – CodeProject


The following is an explanation of the terms “programming” and “Software Development”, as I see it. (They are not necessarily the correct language definitions.)

Programming Creating applications to perform a certain task (tools).
Software Development Creating professional applications that are easy to use, expandable and easy to change. IOW – well designed.

That might sound a bit pretentious, which is certainly not my intention. Let’s make that clear by saying that “programming” can be useful, and is not “stupid” IOW you can e.g. “program” a very complicated, state-of-the-art algorithm. However, when providing an application to the public, one might think of upgrading or re-writing that programmed application to a software development.

Let me finish the introduction by saying that we are all guilty of some form of (dirty) programming at some point. I certainly am not a saint in this regard. We should however, be aware of this so

Read More

Functional programming in C# – CodeProject

Table of contents

  1. Introduction
  2. Functions as first-class values
  1. Function types
  2. Function values
  3. Function/delegate arithmetic 
  • C# Functional programming 
    1. Using LINQ
    2. Higher-order functions 
    3. Asynchronous functions
    4. Tuples
    5. Closures 
    6. Recursion 
    7. Partial functions
    8. Curry functions
  • Conclusion
  • History 
  • Introduction 

    Functional programming is a programming paradigm in C# that is frequently combined with object oriented programming. C# enables you to use imperative
    programming using object-oriented concepts, but you can also use declarative programming. In declarative programming, you are using
    a more descriptive way to define
    what you want to do and not how you want to do some action. As an example, imagine that you want to find
    the top 10 books with price less than 20 ordered by title.
    In functional programming, you will define something like:


    Here you just specify that you want to select books where the price is less than 20, order them by title, and take
    the first ten.

    Read More