Гость
Map
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Функциональное программирование в VB / 19 сообщений из 19, страница 1 из 1
20.03.2019, 15:56
    #39789131
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
Мне кажется вполне можно реализовать эту современную парадигму в VB6.
Для примера:
Implementing Functional Programming in Visual Basic 6
Функции высшего порядка
Функторы в VB

Еще немного дожать и будет функциональный язык?
...
Рейтинг: 0 / 0
01.05.2019, 23:31
    #39809016
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
Eolt,
ВБ6 и ВБА конечно братья, спору нет, с трех ссылок 2-я относительно ВБА
там сказано:
Я работаю с Excel VBA в течение последних нескольких лет, и я часто чувствую, что доступ к указателям на функции значительно облегчит мне жизнь, когда дело касается общего программирования.
можете пояснить о чем это он?
как по мне то если бы микрософтовцы дали такой инструмент как GoTo "НЕпеременная" и GoTo переменная
то вба от этого сильно бы выиграл
а что вы юзаете, когда эффективней по условию перейти в нужное место кода? спс
...
Рейтинг: 0 / 0
10.05.2019, 14:28
    #39811867
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
EoltМне кажется вполне можно реализовать эту современную парадигму в VB6.
Для примера:
Implementing Functional Programming in Visual Basic 6
Функции высшего порядка
Функторы в VB

Еще немного дожать и будет функциональный язык?
Функционально программирование (по Душкину) преследует такие задачи
как формальное доказательство теорем, генерация кода по некоторому DSL
или просто по нативному коду, описание парсеров и грамматик
и прочее похожее.
Оно (ФП) обладает свойствами чистоты функций (pure functions) которые гарантируются
компиллятором и умением работать с бесконечными списками и ленивыми структурами (lazy)
данных.

Я очень сильно сомневаюсь что какие-то пункты из этого возможно реализовать на VB
без создания нового VB или очень сильного изменения.

Вводить указатель на функцию или константу или список (List) в бейсик - это не означает поддержать
ФП - парадигму. Эти штуки есть почти во всех ЯП но это ИХ не делает нисколько ближе к ФП.

По поводу Basic. При его разработке изначально не ставились вообще такие задачи.

Более того. Бейсик позиционировался как очень простой императивный язык который
школьники осваивают за 2-3 урока (кроме разве что особенностей
организации I/O и памяти).

Вобщем 99% функциональщину определяет идея языка и культура того сообщества которое
его использует.

В бейсике идея - чисто императивная и все функциональные плюшки будут скорее всего забыты
или будут использованы бездарно или бесполезно. Опять-же по причине культуры сообщества.
...
Рейтинг: 0 / 0
15.05.2019, 09:19
    #39813334
ldfanate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
авторкак по мне то если бы микрософтовцы дали такой инструмент как GoTo "НЕпеременная" и GoTo переменная
то вба от этого сильно бы выиграл

Не совсем понятно, накой вообще в бейсике goto, да ещё и динамические ?
...
Рейтинг: 0 / 0
18.05.2019, 22:03
    #39814913
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
ldfanate,
Не совсем понятно, накой вообще в бейсике goto, да ещё и динамические ?
имеются куски кода, которые обрабатываются очень быстро-нет претензий
но я программирую от случая к случаю и поэтому, чтобы наяву прочувствовать что делает код
делаю его пошагово нажимая эф8, и в этот момент начинаешь понимать насколько бы сократилось выполнение кода, имея в арсенале динамические goto
...
Рейтинг: 0 / 0
18.05.2019, 23:13
    #39814920
iMrTidy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
катастрофа,

А Функциональное Программирование тут при чем?
...
Рейтинг: 0 / 0
19.05.2019, 07:40
    #39814944
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
iMrTidy, можно и извиниться, что не в ту тему написал, можно создать новую тему, воз то и ныне там.....от этих телодвижений нужное вряд-ли появится....
...
Рейтинг: 0 / 0
20.05.2019, 20:48
    #39815524
alecko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
катастрофа, "Run to Cursor" - чем не устраивает? все очень динамично.
...
Рейтинг: 0 / 0
20.05.2019, 22:35
    #39815538
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
alecko,
знаком только с Run Sub, погуглил о предложенном, это же обманка:
"осуществляет выполнение всех операторов от текущего оператора и вплоть до того оператора, в котором сейчас находится курсор"
смысл применяемого мною, есть текст, обработка идет в цикле по количеству слов
то есть в цикле обрабатываемое слово имеет ДвеПоследниеБуквы, например оно равно "ет"
вот и требуется в функции в коде перейти в то место, где есть метка Е: так как "ет" начинается на Е, если в процедуре будут такие прыжки то будет гут, согласен, что можно создать функцию
FunctionE и чтобы уходило туда, но тогда будет 33 функцию, не хочу так делать, нет смысла....
на мой взгляд
а то, что предложено, возможно если пробовать пошагово, возможно и быстрей нажимая Контрол+Эф8 чем просто Эф8, но ведь при выполнении макроса по задуманному сценарию выполнение нужного так прыгать в нужное место не будет
...
Рейтинг: 0 / 0
22.05.2019, 10:26
    #39816226
alecko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
катастрофа,
"Run to cursor" - это возможность перейти к проблемной части быстро
если нужно оценить работу в конкретном случае, то можно например так
Код: vbnet
1.
If right(str,2)="ет" then stop

и пошли пошагово смотреть
или, если работаете в цикле, можно так: дошли до i=95, затем снимаем маркер с If j=238 и переходим туда
Код: vbnet
1.
2.
3.
4.
5.
6.
for i=0 to ubound(mess)
If i=95 then stop
for j=0 to ubound(mess2)
' if j=238 then stop
next j
next


есть debug.assert
вобщем хватает возможностей.
а есть ещё err.Raise, шикарная Call Stack... и пр.
или debug.print с полным отчетом по всему циклу
динамические можно сделать используя err.Raise - будет прыгать туда куда надо, тогда когда надо-причем речь идет может идти о другой процедуре.
...
Рейтинг: 0 / 0
22.05.2019, 11:04
    #39816264
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
alecko, спасибо буду думать, если что будет непонятно, напишу
...
Рейтинг: 0 / 0
22.05.2019, 20:56
    #39816778
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
maytonОно (ФП) обладает свойствами чистоты функций (pure functions) которые гарантируются
компиллятором и умением работать с бесконечными списками и ленивыми структурами (lazy)
данных.


Не знал о таком. Но все равно ФП язык компилируется в x86-код в итоге. Поэтому думаю можно выразить какие-то элементы ФП и на VB6.
...
Рейтинг: 0 / 0
22.05.2019, 22:05
    #39816801
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
maytonЯ очень сильно сомневаюсь что какие-то пункты из этого возможно реализовать на VB
без создания нового VB или очень сильного изменения.


На обычном Си реализуют ФП
А он попримитивнее VB будет. Думаю на VB тоже можно написать ФП-фреймворк.
Все нужное для этого есть.

- Указатели на функции
- Хвостовая рекурсия
- Иммутабельность
...
Рейтинг: 0 / 0
22.05.2019, 22:08
    #39816803
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
Продолжаешь упорствовать
...
Рейтинг: 0 / 0
22.05.2019, 22:38
    #39816810
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
Ну так написать ФП фреймворк можно, начало к примеру тут
По-моему все основные проблемы решаемы. Надо только приложить усилия.
...
Рейтинг: 0 / 0
23.05.2019, 15:15
    #39817185
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
ФП это не фреймворк.
...
Рейтинг: 0 / 0
09.06.2019, 11:50
    #39824571
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
похожее
Функциональные интерфейсы… в VBA
https://habr.com/ru/post/455347/
...
Рейтинг: 0 / 0
09.06.2019, 12:45
    #39824585
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
катастрофапохожее
Функциональные интерфейсы… в VBA
https://habr.com/ru/post/455347/

Круто. Там ФП по-сути уже рабочее
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
22.06.2021, 15:22
    #40079370
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функциональное программирование в VB
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Функциональное программирование в VB / 19 сообщений из 19, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]