M4 (computer Language) - History

History

Macro processors became popular when programmers commonly used assembly language. In those early days of programming, programmers noted that much of their programs consisted of repeated text, and they invented simple means for reusing this text. Programmers soon discovered the advantages not only of reusing entire blocks of text, but also of substituting different values for similar parameters. This defined the usage range of macro processors.

Kernighan and Ritchie developed m4 in 1977, basing it on the ideas of Christopher Strachey. The distinguishing features of this style of macro preprocessing included:

  • free-form syntax (not line-based like a typical macro preprocessor designed for assembly-language processing)
  • the high degree of re-expansion (a macro's arguments get expanded twice: once during scanning and once at interpolation time)

The implementation of Rational Fortran used m4 as its macro engine from the beginning; and most Unix variants ship with it.

As of 2009 many applications continue to use m4 as part of the GNU Project's autoconf. It also appears in the configuration process of sendmail (a widespread mail transfer agent) and for generating footprints in the gEDA toolsuite.

m4 has many uses in code generation, but (as with any macro processor) problems can be hard to debug.

Read more about this topic:  M4 (computer Language)

Famous quotes containing the word history:

    “The greatest horrors in the history of mankind are not due to the ambition of the Napoleons or the vengeance of the Agamemnons, but to the doctrinaire philosophers. The theories of the sentimentalist Rousseau inspired the integrity of the passionless Robespierre. The cold-blooded calculations of Karl Marx led to the judicial and business-like operations of the Cheka.”
    —Aleister Crowley (1875–1947)

    “The history of literature—take the net result of Tiraboshi, Warton, or Schlegel,—is a sum of a very few ideas, and of very few original tales,—all the rest being variation of these.”
    —Ralph Waldo Emerson (1803–1882)

    “Racism is an ism to which everyone in the world today is exposed; for or against, we must take sides. And the history of the future will differ according to the decision which we make.”
    —Ruth Benedict (1887–1948)