myQuill

Edgar R. Chávez

Programming languages - Articles

Articles

Charming Python: Functional programming in Python, Part 1   Making more out of your favorite scripting language. by David Mertz. Although users usually think of Python as a procedural and object-oriented language, it actually contains everything you need for a completely functional approach to programming. This article discusses general concepts of functional programming, and illustrates ways of implementing functional techniques in Python.

Charming Python: Functional programming in Python, Part 2

Charming Python: Functional programming in Python, Part 3

Closure (Computer Science)   Wikipedia. In computer science, a closure is a function that is evaluated in an environment containing one or more bound variables. When called, the function can access these variables. The explicit use of closures is associated with functional programming and with languages such as ML and Lisp.

Concurrency is Easy   By Joe Armstrong

Crossing borders: Closures   By Bruce Tate. Closures are blocks of code that can be used as arguments to functions and methods. The programming construct has long been a staple of languages such as Lisp, Smalltalk, and Haskell. The Java community has resisted closures so far, even as competing languages such as C# add them. This article explores whether closures represent unnecessary complexity for a language for a little convenience, or something more.

Crossing borders: Explore functional programming with Haskell.   Coding without side effects. By Bruce Tate, author of Beyond Java. Structured programming and object-oriented programming both revolutionized the way business applications are built. But other programming models exist, and some visionaries argue that those paradigms are more productive than object-oriented programming. This article explores the basics of functional programming using Haskell. Learning a functional language can reshape ways you think about Java programming.

Functional programming in the Java language   by Abhijit Belapurkar. If you work on large-scale development projects, then you're familiar with the advantages of writing modular code. Well-structured, modular code is easier to write, debug, understand, and reuse. The problem for Java developers is that the functional programming paradigm has long been implemented only via specialized languages such as Haskell, Scheme, Erlang, and Lisp. This article shows how to use functional programming constructs such as closures and higher order functions to write well-structured, modular code in Java.

Functional Programming For The Rest of Us

Functional Programming in JavaScript and Ruby

Mini-languages: A Way to Learn Programming Principles

The Nature of Lisp   Worth reading if nothing else because it relates the experience of an experienced programmer who finally learns and understands why Lisp matters: "I went through seven rings of hell and came back. And then I got it. One moment I understood nothing, and the next moment everything clicked into place." It is also possible, however, to experience a gradual enlightenment.

Python for Lisp programmers   By Peter Norvig

Web 2.0: Shifting from "get fast" to "get massive"   By Mickaël Rémond

Teach Yourself Programming in Ten Years   by Peter Norvig

What's All This Fuss About Erlang? By Joe Armstrong.

What Every Computer Scientist Should Know About Floating-Point Arithmetic   by David Goldberg.

What's Wrong with the For Loop   By Adam Turoff

Working for the Man   Advice for young programmers. By jeremy Allison.

Why Pascal is Not My Favorite Programming Language   By Brian W. Kernighan, April 2, 1981. Of historical interest, but very much worth reading.

XML Matters: Transcending the limits of DOM, SAX, and XSLT   By David Mertz. IBM developerWorks. Consider Haskell in lieu of DOM, SAX, or XSLT for processing XML data. The library HaXml creates representations of XML documents as native recursive data structures in the functional language Haskell. HaXml brings with it a set of powerful higher order functions for operating on these "datafied" XML documents. Many of the HaXml techniques are far more elegant, compact, and powerful than the ones found in familiar techniques like DOM, SAX, or XSLT. Code samples demonstrate the techniques.

Paul Graham

The Hundred-year Language

Revenge of the Nerds   The pointy-haired boss miraculously combines two qualities that are common by themselves, but rarely seen together: (a) he knows nothing whatsoever about technology, and (b) he has very strong opinions about it. The pointy-haired boss believes that all programming languages are pretty much equivalent.

The Roots of Lisp


Copyright © 2003-2011 by Edgar R. Chávez. All rights reserved.