About: Function-level programming     Goto   Sponge   NotDistinct   Permalink

An Entity of Type : yago:Relation100031921, within Data Space : dbpedia.org associated with source document(s)

AttributesValues
rdf:type
rdfs:label
  • Function-level programování
  • Function-level programming
  • Programación a nivel funcional
  • Комбинаторное программирование
  • Комбінаторне програмування
  • 函数级编程
rdfs:comment
  • 在计算机科学中,函数级编程指称John Backus在他的将程序作为数学对象来研讨的著作中标识出的两种对立编程范型之一,另一种是值级编程。
  • 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
  • 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.
  • Комбинато́рное программи́рование (англ. function-level programming) — парадигма программирования, использующая принципы комбинáторной логики, то есть не требующая явного упоминания аргументов определяемой функции (программы) и использующая вместо переменных комбинаторы и композиции. Является особой разновидностью функционального программирования, но, в отличие от основного его направления, комбинаторное программирование не использует λ-абстракцию). Пример для языка J: определение функции (в терминах J — «глагола») для вычисления среднего арифметического: avg =. +/ % # sum = foldr (+) 0
  • Комбінаторне програмування (англ. function-level programming) — парадигма програмування, що використовує принципи комбінáторної логіки, тобто не вимагає явного згадування аргументів визначаємої функції (програми) та використовує замість змінних комбінатори та композіції. Є особливим різновидом функційного програмування, але, на відміну від основного його напрямку, комбінаторне програмування не використовує λ-абстракцію). Приклад для мови J: визначення функції (в термінах J — «дієслова») для обчислення середнього арифметичного: avg =. +/ % # sum = foldr (+) 0
differentFrom
foaf:isPrimaryTopicOf
dct:subject
Wikipage page ID
Wikipage revision ID
Link from a Wikipage to another Wikipage
Link from a Wikipage to an external page
sameAs
dbp:wikiPageUsesTemplate
has abstract
  • 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.
  • 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 .
  • Комбинато́рное программи́рование (англ. 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, имеется тенденция к использованию функциональных комбинаторов, а не явных манипуляций со стеком. Возможно также использование бесточечного стиля и в языках, не поддерживающих функции высшего порядка и частичное применение, например, посредством имитации функций высшего порядка посредством шаблона .
  • Комбінаторне програмування (англ. function-level programming) — парадигма програмування, що використовує принципи комбінáторної логіки, тобто не вимагає явного згадування аргументів визначаємої функції (програми) та використовує замість змінних комбінатори та композіції. Є особливим різновидом функційного програмування, але, на відміну від основного його напрямку, комбінаторне програмування не використовує λ-абстракцію). Концептуалізував та популяризував парадигму Джон Бекус в тюрінговскій лекції 1977 року «Чи можливо звільнити від стилю програмування фон Неймана», в якій представив мову . Наприкінці 1980-х Бекус із колегами з в розвиток ідей FP і конкатенативної парадигми розробили мову . При цьому елементи конкатенативне програмування проявляються вже в APL, а в більш пізніх його різновидах — мовами J и K — запозичені багато ідей FP, і оформлені в концепцію безточкового стилю, який може бути застосований не тільки для функціонального програмування в строгому сенсі (Зокрема, елементи такого стилю мають місце в оболонках UNIX при застосуванні конвеєрів для перенаправлення вводу-виводу. Приклад для мови J: визначення функції (в термінах J — «дієслова») для обчислення середнього арифметичного: avg =. +/ % # де +/ — «монада» (унарна операція) підсумовування списку, % — «діада» (бінарна операція) ділення, а # — «діада» взяття довжини списку. Дана конструкція (в термінах J — «пропозиція») читається «середнє є сума, поділена на довжину». Подібні конструкції з трьох функцій-дієслів в J прийнято називати «виделками». Виразні можливості сучасних універсальних функціональних мов, таких як ML та Haskell, дозволяють досить комфортно залишатися в парадигмі комбінаторного програмування, тобто, не вдаватися до λ-абстракції та змінним взагалі. Наприклад, функція підсумовування списків на Haskell з використанням комбінатора foldr: sum = foldr (+) 0 Фактично, конкатенативне програмування забезпечує безточковий стиль, притому в ранніх конкатенативного мовах, таких як Форт, свобода від іменованих змінних досягається не математично, шляхом визначення функцій у вигляді комбінації якихось інших функцій, а імперативно, шляхом послідовних маніпуляцій зі стеком. В сучасних конкатенативних мовах, таких як, є тенденція до використання функціональних комбінаторів, а не явних маніпуляцій зі стеком. Можливо також використання безточкового стилю і в мовах, які не підтримують функції вищого порядку і часткове застосування, наприклад, за допомогою імітації функцій вищого порядку за допомогою шаблону .
  • 在计算机科学中,函数级编程指称John Backus在他的将程序作为数学对象来研讨的著作中标识出的两种对立编程范型之一,另一种是值级编程。
prov:wasDerivedFrom
page length (characters) of wiki page
is foaf:primaryTopic of
is Link from a Wikipage to another Wikipage of
Faceted Search & Find service v1.17_git81 as of Jul 16 2021


Alternative Linked Data Documents: PivotViewer | ODE     Content Formats:       RDF       ODATA       Microdata      About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 08.03.3322 as of Sep 15 2021, on Linux (x86_64-generic-linux-glibc25), Single-Server Edition (61 GB total memory)
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2021 OpenLink Software