Another Word For It Patrick Durusau on Topic Maps and Semantic Diversity

May 4, 2011

Functional thinking: Thinking functionally, Part 1

Filed under: Functional Programming — Patrick Durusau @ 12:11 pm

Functional thinking: Thinking functionally, Part 1

Summary:

Functional programming has generated a recent surge of interest with claims of fewer bugs and greater productivity. But many developers have tried and failed to understand what makes functional languages compelling for some types of jobs. Learning the syntax of a new language is easy, but learning to think in a different way is hard. In the first installment of his Functional thinking column series, Neal Ford introduces some functional programming concepts and discusses how to use them in both Java™ and Groovy.

The first in a series of articles on functional programming by Neal Ford.

From the article:

Welcome to Functional thinking. This series explores the subject of functional programming but isn’t solely about functional programming languages. As I’ll illustrate, writing code in a “functional” manner touches on design, trade-offs, different reusable building blocks, and a host of other insights. As much as possible, I’ll try to show functional-programming concepts in Java (or close-to-Java languages) and move to other languages to demonstrate capabilities that don’t yet exist in the Java language. I won’t leap off the deep end and talk about funky things like monads (see Resources) right away (although we’ll get there). Instead, I’ll gradually show you a new way of thinking about problems (which you’re already applying in some places — you just don’t realize it yet).

A functional approach to topic maps has been around since the first edition of the topic maps standard announced:

The two or more topic links may be merged, and/or applications may process and/or render them as if they have been merged. (ISO/IEC 13250:2000, 5.2.1 Topic Link Architectural Form)

I read that to mean, merging without side effects.

Functional merging, that is merging without side effects, is useful for:

  1. Exploring merging strategies for a data set (before choosing one or more merging strategies)
  2. Offering alternative views of a common data set
  3. Enabling user specified merging (without consequences for other users)
  4. etc.

Thoughts/suggestions?

1 Comment

  1. […] Functional thinking:…Part 1 […]

    Pingback by Functional thinking: Thinking functionally, Part 2 « Another Word For It — June 14, 2011 @ 10:24 am

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress