Function-level programming
http://dbpedia.org/resource/Function-level_programming an entity of type: Thing
在计算机科学中,函数级(Function-level)编程,指称John Backus在他的将程序作为数学对象来研讨的著作中标识出的两种对立编程范型之一,另一种是值级(Value-level)编程。在Backus研究并出版他自己的函数级风格编程之时,他的提议在很大程度上被误解为支持传统的函数式编程。
rdf:langString
Function-level programování odkazuje na jeden ze dvou kontrastních paradigmat 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ů: Navrhl FP což je první programovací jazyk, který speciálně podporuje function-level programování. Function-level program je bez proměnných, jelikož programové proměnné, které jsou potřebné ve value-level definicích nejsou potřebné ve function-level
rdf:langString
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: He designed FP to be the first programming language to specifically support the function-level programming style.
rdf:langString
La programación a nivel funcional es uno 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: 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.
rdf:langString
Комбинато́рное программи́рование (англ. function-level programming) — парадигма программирования, использующая принципы комбинáторной логики, то есть не требующая явного упоминания аргументов определяемой функции (программы) и использующая вместо переменных комбинаторы и композиции. Является особой разновидностью функционального программирования, но, в отличие от основного его направления, комбинаторное программирование не использует λ-абстракцию. Пример для языка J: определение функции (в терминах J — «глагола») для вычисления среднего арифметического: avg =. +/ % # sum = foldr (+) 0
rdf:langString
Комбінаторне програмування (англ. function-level programming) — парадигма програмування, що використовує принципи комбінáторної логіки, тобто не вимагає явного згадування аргументів визначаємої функції (програми) та використовує замість змінних комбінатори та композіції. Є особливим різновидом функційного програмування, але, на відміну від основного його напрямку, комбінаторне програмування не використовує λ-абстракцію). Приклад для мови J: визначення функції (в термінах J — «дієслова») для обчислення середнього арифметичного: avg =. +/ % # sum = foldr (+) 0
rdf:langString
rdf:langString
Function-level programování
rdf:langString
Programación a nivel funcional
rdf:langString
Function-level programming
rdf:langString
Комбинаторное программирование
rdf:langString
Комбінаторне програмування
rdf:langString
函数级编程
xsd:integer
899026
xsd:integer
1123470186
rdf:langString
Function-level programování odkazuje na jeden ze dvou kontrastních paradigmat 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í. Navrhl FP což je první programovací jazyk, který speciálně podporuje function-level programování. Function-level program je bez proměnných, jelikož programové proměnné, které jsou potřebné ve 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.
rdf:langString
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 (cf. point-free programming), since program variables, which are essential in value-level definitions, are not needed in function-level programs.
rdf:langString
La programación a nivel funcional es uno 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 y asociarles un mecanismo de . 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, su adopción por la comunidad de programación funcional ha sido limitada, al gozar de mayor popularidad 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 (Categorical Abstract Machine Languaje), antecesor del lenguaje .
rdf:langString
Комбінаторне програмування (англ. function-level programming) — парадигма програмування, що використовує принципи комбінáторної логіки, тобто не вимагає явного згадування аргументів визначаємої функції (програми) та використовує замість змінних комбінатори та композіції. Є особливим різновидом функційного програмування, але, на відміну від основного його напрямку, комбінаторне програмування не використовує λ-абстракцію). Концептуалізував та популяризував парадигму Джон Бекус в тюрінговскій лекції 1977 року «Чи можливо звільнити від стилю програмування фон Неймана», в якій представив мову . Наприкінці 1980-х Бекус із колегами з в розвиток ідей FP і конкатенативної парадигми розробили мову . При цьому елементи конкатенативне програмування проявляються вже в APL, а в більш пізніх його різновидах — мовами J и K — запозичені багато ідей FP, і оформлені в концепцію безточкового стилю, який може бути застосований не тільки для функціонального програмування в строгому сенсі (Зокрема, елементи такого стилю мають місце в оболонках UNIX при застосуванні конвеєрів для перенаправлення вводу-виводу. Приклад для мови J: визначення функції (в термінах J — «дієслова») для обчислення середнього арифметичного: avg =. +/ % # де +/ — «монада» (унарна операція) підсумовування списку, % — «діада» (бінарна операція) ділення, а # — «діада» взяття довжини списку. Дана конструкція (в термінах J — «пропозиція») читається «середнє є сума, поділена на довжину». Подібні конструкції з трьох функцій-дієслів в J прийнято називати «виделками». Виразні можливості сучасних універсальних функціональних мов, таких як ML та Haskell, дозволяють досить комфортно залишатися в парадигмі комбінаторного програмування, тобто, не вдаватися до λ-абстракції та змінним взагалі. Наприклад, функція підсумовування списків на Haskell з використанням комбінатора foldr: sum = foldr (+) 0 Фактично, конкатенативне програмування забезпечує безточковий стиль, притому в ранніх конкатенативного мовах, таких як Форт, свобода від іменованих змінних досягається не математично, шляхом визначення функцій у вигляді комбінації якихось інших функцій, а імперативно, шляхом послідовних маніпуляцій зі стеком. В сучасних конкатенативних мовах, таких як, є тенденція до використання функціональних комбінаторів, а не явних маніпуляцій зі стеком. Можливо також використання безточкового стилю і в мовах, які не підтримують функції вищого порядку і часткове застосування, наприклад, за допомогою імітації функцій вищого порядку за допомогою шаблону .
rdf:langString
在计算机科学中,函数级(Function-level)编程,指称John Backus在他的将程序作为数学对象来研讨的著作中标识出的两种对立编程范型之一,另一种是值级(Value-level)编程。在Backus研究并出版他自己的函数级风格编程之时,他的提议在很大程度上被误解为支持传统的函数式编程。
rdf:langString
Комбинато́рное программи́рование (англ. function-level programming) — парадигма программирования, использующая принципы комбинáторной логики, то есть не требующая явного упоминания аргументов определяемой функции (программы) и использующая вместо переменных комбинаторы и композиции. Является особой разновидностью функционального программирования, но, в отличие от основного его направления, комбинаторное программирование не использует λ-абстракцию. Концептуализировал и популяризовал парадигму Джон Бэкус в тьюринговской лекции 1977 года «Можно ли освободить программирование от стиля фон Неймана», в которой представил язык . В конце 1980-х Бэкус с коллегами из Алмаденского исследовательского центра IBM в развитие идей FP и конкатенативной парадигмы разработали язык . При этом элементы конткатенативного программирования проявляются уже в APL, а в более поздних его разновидностях — языках J и K — заимствованы многие идеи FP, и оформлены в концепцию бесточечного стиля, которая применима не только для функционального программирования в строгом смысле (в частности, элементы такого стиля имеют место в оболочках UNIX при применении конвейеров для перенаправления ввода-вывода). Пример для языка J: определение функции (в терминах J — «глагола») для вычисления среднего арифметического: avg =. +/ % # где +/ — «монада» (унарная операция) суммирования списка, % — «диада» (бинарная операция) деления, а # — «диада» взятия длины списка. Данная конструкция (в терминах J — «предложение») читается «среднее есть сумма, поделённая на длину». Подобные конструкции из трёх функций-глаголов в J принято называть «вилками». Выразительные возможности современных универсальных функциональных языков, таких как ML и Haskell, позволяют достаточно комфортно оставаться в парадигме комбинаторного программирования, то есть, не прибегать к λ-абстракции и переменным вообще. Например, функция суммирования списков на Haskell с использованием комбинатора foldr: sum = foldr (+) 0 Фактически, конкатенативное программирование обеспечивает бесточечный стиль, притом в ранних конкатенативных языках, таких как Форт, свобода от именованных переменных достигается не математически, путём определения функций в виде комбинации каких-то других функций, а императивно, путём последовательных манипуляций со стеком. В современных конкатенативных языках, таких как Factor, имеется тенденция к использованию функциональных комбинаторов, а не явных манипуляций со стеком. Возможно также использование бесточечного стиля и в языках, не поддерживающих функции высшего порядка и частичное применение, например, посредством имитации функций высшего порядка посредством шаблона .
xsd:nonNegativeInteger
6635