An educational programming language is a programming language that is designed primarily as a learning instrument and not so much as a tool for writing real world application programs.

In this sense A++, Pascal and Scheme may be considered to belong to this category of programming languages.

  • Pascal has been traditionally used in many schools, colleges and universities in computer science classes to teach students the fundamentals of programming.

  • More and more computer science teachers today prefer Scheme as the programming language of choice whenever students have to be introduced to the world of computer programming.
    They argue that learning Pascal requires students to spend too much brainpower on the syntax of a language than on the essentials of programming.
    They also believe that Pascal as a programming language is less expressive than Scheme, imposing on students too many limits thus demanding from them to spend much of their intellectual energy coping with the idiosyncracies of a language instead of letting them concentrate on the solution of a given problem.

  • A++ in particular is a programming language designed to provide a tool for basic training in programmingenforcing a rigorous confrontation with the essentials of programming.
    Programming in A++ students learn
    • that programming problems can be solved using the powerful patterns derived from ARS (Abstraction, Reference and Synthesis)
    • and that neither
      • the knowledge of the syntax of a programming language
      • nor the familiarity with all the primitive functions of a language implementation makes up the art of programming.