Кіріспе

Компьютерлік ғылымда функциялық деңгейде бағдарламалау – Джон Бэкус бағдарламаларды математикалық объектілер ретінде қарастырған жұмысында анықтаған екі контрастты бағдарламалау парадигмасының бірі, екіншісі – құндылық деңгейі бағдарламалау. 1977 жылғы Тьюринг сыйлығын алумен байланысты лекциясында Бэкус бағдарламалау тілдерін жобалаудағы философияны өзгерту қажеттігін айтты: Бағдарламалау тілдері қиын жағдайға түскен сияқты. Кез келген келесі тіл өзінің алдыңғы тілдерінің барлық мүмкіндіктерін, бірақ аздап жетілдірілген түрінде, және тағы бірнеше мүмкіндіктерді қосады. [ ] Әрбір жаңа тіл жаңа және әсерлі мүмкіндіктерді ұсынады, бірақ шын мәнінде, азаған саны ғана бағдарламалауды оларды жасау мен үйренуге кеткен шығындарды ақтауға жеткілікті түрде арзан немесе сенімді етеді. Ол FP-ді функциялық деңгейде бағдарламалау стилін тікелей қолдайтын алғашқы бағдарламалау тілі ретінде жасады. Функциялық деңгейдегі бағдарлама өзгермелі шамалардан бос (салыстырыңыз, нүктелік емес бағдарламалау), себебі құндылық деңгейіндегі анықтамалар үшін маңызды бағдарламалық айнымалылар функциялық деңгейдегі бағдарламаларда қажет емес.

Кіріспе

Функционалдық деңгейдегі бағдарламалау стилінде бағдарлама бастапқыда берілген бағдарламалардан тікелей құрастырылады, оларды бағдарлама құрау операцияларымен немесе функционалдармен біріктіру арқылы. Осылайша, берілген бағдарламаларды мәндерге қолданып, қажетті нәтижеге жететін мәндер тізбесін қалыптастыруға қарамастан, функционалдық деңгейдегі тәсіл берілген бағдарламаларға бағдарлама құрау операцияларын қолданып, қажетті нәтиже бағдарламасын құрастыратын бағдарламалар тізбесін қалыптастырады. Нәтижесінде, бағдарламалаудың функционалдық деңгейі бағдарлама құрау операциялары бойынша бағдарламалар кеңістігін зерттеуге шақырады, осы операциялардың пайдалы алгебралық қасиеттерін анықтауға бағытталған. Функциялық деңгейдегі тәсіл бағдарламалар кеңістігіндегі бағдарлама құрау операцияларының алгебралық қасиеттерін баса назар аудару арқылы бағдарламалар жиынын математикалық кеңістікке айналдыру мүмкіндігін ұсынады. Функциялық деңгейдегі көзқарастың тағы бір артықшылығы – тек қатаң функцияларды ғана пайдалану мүмкіндігі, соның арқасында ең қарапайым түрі болып табылатын төменнен жоғарыға қарайғы семантикаға қол жеткізіледі. Тағы бір ерекшелік – бұл кез келген қолданыстағы мәндік деңгейден жоғары функционалдық деңгейге көтерілген бейнесі емес, функциялық деңгейдегі анықтамалар: бұл (көбінесе қысқа) функциялық деңгейдегі анықтамалар мәндік деңгейде қол жетімді емес, бағдарламалаудың күштірек стилін ұсынады.

Үлгі тілдер

Каноникалық функциялық деңгейдегі бағдарламалау тілі – FP. Басқалары – FL және J.