In computer science, function-level programming refers to one of the two contrasting programming paradigms identified by John Backus in his work on programs as mathematical objects, the other being value-level programming. In his 1977 Turing award lecture, Backus set forth what he considered to be the need to switch to a different philosophy in programming language design: "Programming languages appear to be in trouble.

PropertyValue
dbpprop:abstract
  • In computer science, function-level programming refers to one of the two contrasting programming paradigms identified by John Backus in his work on programs as mathematical objects, the other being value-level programming. In his 1977 Turing award lecture, Backus set forth what he considered to be the need to switch to a different philosophy in programming language design: "Programming languages appear to be in trouble. Each successive language incorporates, with a little cleaning up, all the features of its predecessors plus a few more. [... ] Each new language claims new and fashionable features... but the plain fact is that few languages make programming sufficiently cheaper or more reliable to justify the cost of producing and learning to use them. " He designed FP to be the first programming language to specifically support the function-level programming style. A function-level program is variable-free, since program variables, which are essential in value-level definitions, are not needed in function-level ones. In the function-level style of programming, a program is built directly from programs that are given at the outset, by combining them with program-forming operations or functionals. Thus, in contrast with the value-level approach that applies the given programs to values to form a succession of values culminating in the desired result value, the function-level approach applies program-forming operations to the given programs to form a succession of programs culminating in the desired result program. As a result, the function-level approach to programming invites study of the space of programs under program-forming operations, looking to derive useful algebraic properties of these program-forming operations. The function-level approach offers the possibility of making the set of programs a mathematical space by emphasizing the algebraic properties of the program-forming operations over the space of programs. Another potential advantage of the function-level view is the ability to use only strict functions and thereby have bottom-up semantics, which are the simplest kind of all. Yet another is the existence of function level definitions that are not the lifted (that is, lifted from a lower value-level to a higher function-level) image of any existing value-level one: these (often terse) function-level definitions represent a more powerful style of programming not available at the value-level and, arguably, are often easier to understand and reason about.
  • Function-level programování odkazuje na jeden ze dvou kontrastních poaradigmů zjištěnými Johnem Backusem v jeho práci o programech na které se dívá jako na matematické objekty. Roku 1977 Backus představil důvody proč je podle něj potřeba změnit filozofii vytváření programovacích jazyků. Zdá se že programovací jazyky na tom nejsou zrovna nejlépe. Každý další jazyk přidává, s malými úpravami, všechny možnosti jeho předchůdců plus několik dalších [.]. Každý nový jazyk se chlubí novými a moderními funkcemi, ale faktem je, že jen několik málo jazyků dělají programování dostatečně levné a nebo jsou schopny omluvit cenu vývoje a jejich učení. Navrhnul FP což je první programovací jazyk, který speciálně podporuje function-level programovací styl. function-level program je bez proměnných, jelikož programové proměnné, které jsou potřebné v value-level definicích nejsou potřebné ve function-level V function-level programovacím stylu, je program postaven přímo z programů, které dostaneme na začátku. Jejich kombinováním za použití operací vytvářejících program nebo funkce. Na rozdíl od value-level přístupu, který volá dané programy k hodnotám tak aby vytvořil sled hodnot, který vyvrcholí v požadovaný výsledek. Functional-level přístup aplikuje operace vytvářející program, na dané programy aby vytvořil sled programu, který vede k požadovanému výsledku.
  • La programación a nivel funcional es unos de los dos paradigmas contrastantes identificados por John Backus en su trabajo sobre los Programas como objetos matemáticos, siendo el otro la programación a nivel de valores. En su discurso de aceptación del Premio Turing en 1977, Backus describió lo que considera como la necesidad de un cambio a una filosofía diferente en el diseño de lenguajes de programación: "Pareciera existir un problema en el diseño de los lenguajes de programación. Cada nuevo lenguaje incorpora, luego de algo de limpieza, todas las características de los lenguajes anteriores más algunas otras. [... ] Cada nuevo lenguaje presenta nuevas características de moda... pero el hecho es que pocos lenguajes hacen que la tarea de programar sea más económica, o más segura como para justificar el costo de producirlo y aprender a utilizarlo. " El lenguaje de programación FP fue el primer lenguaje diseñado específicamente para dar soporte al estilo de programación a nivel funcional. Un programa de nivel funcional no necesita la noción de variable, dado que las variables, que son elemento esencial en las definiciones a nivel de valores no hacen falta en el nivel funcional. En el estilo de programación de nivel funcional los programas se escriben como combinación de otros programas con la ayuda de los operaciones de construcción de programas o funcionales. Bajo este enfoque los programas, con los funcionales como operadores, forman un espacio matemático. Otra ventaja potencial de este enfoque es la posibilidad de restringirse únicamente a las funciones estrictas y asociarles un mecanismo de evaluación por valor. que es el más sencillo de implementar. Otra ventaja es la existencia de definiciones de nivel funcional que no son simplemente el correspondiente de una definición de nivel de valores. Estas definiciones, a veces un poco crípticas por lo concisas representan un estilo de programación muy poderoso. Si bien la propuesta de Backus data de los años 70 ella ha sido poco adoptada por la comunidad de programación funcional que han preferido basar sus trabajos en el cálculo Lambda. La programación a nivel funcional en el estilo de FP tiene una fuerte relación con la lógica combinatoria de Haskell Curry, con los lenguajes de combinadores, antecesores de Miranda y Haskell, así como con las categorías cartesianas cerradas, teoría que dio origen al lenguaje CAML (Categorical Abstract Machine Languaje) antecesor del lenguaje Ocaml. Véase también: Programación a nivel de valores Programación funcional Paradigmas de programación
dbpprop:hasPhotoCollection
dbpprop:reference
rdf:type
rdfs:comment
  • In computer science, function-level programming refers to one of the two contrasting programming paradigms identified by John Backus in his work on programs as mathematical objects, the other being value-level programming. In his 1977 Turing award lecture, Backus set forth what he considered to be the need to switch to a different philosophy in programming language design: "Programming languages appear to be in trouble.
  • Function-level programování odkazuje na jeden ze dvou kontrastních poaradigmů zjištěnými Johnem Backusem v jeho práci o programech na které se dívá jako na matematické objekty. Roku 1977 Backus představil důvody proč je podle něj potřeba změnit filozofii vytváření programovacích jazyků. Zdá se že programovací jazyky na tom nejsou zrovna nejlépe. Každý další jazyk přidává, s malými úpravami, všechny možnosti jeho předchůdců plus několik dalších [.].
  • La programación a nivel funcional es unos de los dos paradigmas contrastantes identificados por John Backus en su trabajo sobre los Programas como objetos matemáticos, siendo el otro la programación a nivel de valores. En su discurso de aceptación del Premio Turing en 1977, Backus describió lo que considera como la necesidad de un cambio a una filosofía diferente en el diseño de lenguajes de programación: "Pareciera existir un problema en el diseño de los lenguajes de programación.
rdfs:label
  • Function-level programming
  • Function-level programování
  • Programación a nivel funcional
owl:sameAs
skos:subject
foaf:page
is dbpedia-owl:Person/knownFor of
is dbpedia-owl:knownFor of
is dbpprop:knownFor of
is dbpprop:paradigm of
is dbpprop:redirect of
is owl:sameAs of