Поиск:

Ответ в темуСоздание новой темы Создание опроса
> описание и реализация алгоритма 
:(
    Опции темы
mrgloom
Дата 11.7.2012, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



теоретический вопрос.

1.допустим есть описание алгоритма словестное\умственное.
2.есть его описание на более строгом скажем математическом языке или каком то высокоуровневом.
3.и есть его реализация.

функциональные языки вроде как постулируют "что я хочу получить", а "а не как я это получаю путем последовательности действий".

так вот возник вопрос ко второму шагу, какие тут ограничения, т.е.
если я не хочу думать на уровне файлов, циклов и т.д., а например пишу "получить все файлы в папке",
а компилятор ищет в репозитории уже реализованных алгоритмов(без разницы на чем написанных) подходящий алгоритм для моей системы.
т.е. кончено понятно, что такой язык будет не гибкий и будет скорее недопонимае пишешь одно-получаешь не совсем то.

но вопрос в том какой предел на "высокоуровневость" языка? 
PM MAIL   Вверх
baldina
Дата 14.8.2012, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



Цитата(mrgloom @  11.7.2012,  16:35 Найти цитируемый пост)
какой предел на "высокоуровневость" языка

видимо предельный язык - человеческий.
PM MAIL   Вверх
mrgloom
Дата 16.8.2012, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Цитата(baldina @  14.8.2012,  13:15 Найти цитируемый пост)
Цитата(mrgloom @  11.7.2012,  16:35 )
какой предел на "высокоуровневость" языка

видимо предельный язык - человеческий. 



ну видимо нет, всё таки должен существовать парсер который однозначно воспринимает, то что ему сказали, а для человеческого это не так.
тем более это не самый ёмкий удобный всегда способ скорее всего.

Это сообщение отредактировал(а) mrgloom - 16.8.2012, 12:39
PM MAIL   Вверх
baldina
Дата 16.8.2012, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



Цитата(mrgloom @  16.8.2012,  12:38 Найти цитируемый пост)
должен существовать парсер который однозначно воспринимает

существуют нечеткие множества, теория возможностей, нейронные сети... 

к тому же разговор о пределе. предел это горизонт.
PM MAIL   Вверх
mrgloom
Дата 17.8.2012, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



ну вообще изначально я имел ввиду из-за того что мы пишем код программы "что я хочу получить", а "а не как я это получаю путем последовательности действий"  не возможно ли по "описанию" алгоритма находить код в неком общем репозитории? 
например получить все чётные X из множества мы лишь описываем, что хотим получить.

конечно можно это заменить на get_all_X_numbers() и найти по описанию и скачать библиотеку, но возможно в разных библиотеках под этим понимается разное.

вообщем я имею ввиду что тут необходим некий лаконичный язык, но однозначно интерпретируемый, пока это похоже подходит только для математики.
PM MAIL   Вверх
baldina
Дата 17.8.2012, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



с одной стороны, есть декларативные языки, которые как раз позволяют писать программу, объясняя что нужно получить, не описывая сам алгоритм (Пролог, например).
с другой стороны, существуют "черные ящики", где хранятся реализации алгоритмов, это - библиотеки. в т.ч. есть библиотеки, в которых есть функция "получить все файлы в папке".
организовать хранилище "черных ящиков", в которых реализованы задачи (более высокоуровневые, чем простые алгоритмы), возможно, но есть затруднение: что бы их применять требуется унифицированный интерфейс. применяя библиотеки, унификацию интерфейса обеспечивает программист, вручную.

в данном случае, как я понял, речь идет о мета-языке, который переводит некоторое (почти человеческое) описание в формальные требования, а в используемой библиотеке каждая функция снабжена формальным описанием. что ж, это возможно. но, боюсь, идея сводится на нет необходимостью учить такой язык, т.е. все трудности современного (в т.ч. декларативного) программирования никуда не исчезают. 

Цитата(mrgloom @  17.8.2012,  15:50 Найти цитируемый пост)
лаконичный язык, но однозначно интерпретируемый

вообще-то современные языки этому имхо во многом удовлетворяют:
Код

using namespace std;
using boost::filesystem;
copy(directory_iterator("/tmp"), directory_iterator(), ostream_iterator<directory_entry>(cout, "\n"));

Код

iterator_apply ($it=new DirectoryIterator('/tmp'), function ($it) {
  echo $it->getFilename(), PHP_EOL;
  return true;
}, array($it));

Код
import java.io._
val path = new File("/tmp");
path.listFiles.foreach(println);

Код

import os
print "\n".join(os.listdir("/tmp"))
и т.д...

конечно, в каждом языке (и библиотеке) свои правила и подпрограммы (функции, классы), но ведь правила придется учить и для вашего мета-языка

Это сообщение отредактировал(а) baldina - 17.8.2012, 17:50
PM MAIL   Вверх
baldina
Дата 17.8.2012, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



кстати, были неоднократные попытки (CLU, С++) включать в язык спецификации требований (к типам и подпрограммам). правда, целью было увеличения правильности программ
PM MAIL   Вверх
mrgloom
Дата 14.1.2014, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



PM MAIL   Вверх
msAvtor
Дата 19.6.2014, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 19.6.2014

Репутация: нет
Всего: нет



существуют нечеткие множества, теория возможностей, нейронные сети... 

к тому же разговор о пределе. предел это горизонт. 
PM MAIL   Вверх
dorcasmelda
Дата 27.5.2020, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 11.12.2019

Репутация: нет
Всего: нет



Purchase healthcare research paper services and healthcare coursework writing services since students find help when they visit Healthcare Essay Writing Services. 
https://researchpapers247.com/healthcare-es...iting-services/
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума «Функциональные языки: общие вопросы»
Void
  • Пожалуйста, создавайте темы с содержательными названиями. Если у Вас вопрос по конкретному языку, укажите его в заголовке, например: «[Haskell] Как использовать монаду State».
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Функциональные языки: общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1531 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.