Forth http://fforum.winglion.ru/ |
|
Наработки от victor__v для СПФ http://fforum.winglion.ru/viewtopic.php?f=23&t=3105 |
Страница 5 из 6 |
Автор: | gudleifr [ Пт ноя 17, 2017 15:42 ] |
Заголовок сообщения: | Re: Наработки от victor__v для СПФ |
Victor__v писал(а): Для такой задачи подойдёт любой скриптовый язык. Только их ещё установить надо. А с форт-системами таких проблем нет практически. Вы что-то путаете. В Linux ВСЕ скриптовые языки и ВСЕ средства для создания новых уже на борту! И если с FORTH нет проблем ПРАКТИЧЕСКИ, то со скриптами их ПРИНЦИПИАЛЬНО нет.Victor__v писал(а): У же всегда с собою библиотека для работы со строками. Во не было бы её у меня, было тяжелей. Наоборот, проще. Библиотеки для FORTH - это тормоз.
|
Автор: | Victor__v [ Пт ноя 17, 2017 15:52 ] |
Заголовок сообщения: | Re: Наработки от victor__v для СПФ |
gudleifr писал(а): Вы что-то путаете. В Linux ВСЕ скриптовые языки и ВСЕ средства для создания новых уже на борту! И если с FORTH нет проблем ПРАКТИЧЕСКИ, то со скриптами их ПРИНЦИПИАЛЬНО нет. НЕ МОГУ НЕ СОГЛАСИТСЯ. ТОЛЬКО ОСЬ НА используемом КОМПЕ WINDOWS7!!! Про аргумент, что у форт-системы библиотеки есмь тормоз, говорить ничего не буду. Это странный аргумент, на мой взгляд. |
Автор: | Victor__v [ Пт ноя 17, 2017 15:53 ] |
Заголовок сообщения: | Re: Наработки от victor__v для СПФ |
Цитата: Наоборот, проще Напишите в пару слов поддержку конкатенации строк с автоосвобождением памяти и я Вам поверю |
Автор: | gudleifr [ Пт ноя 17, 2017 16:04 ] |
Заголовок сообщения: | Re: Наработки от victor__v для СПФ |
Victor__v писал(а): ТОЛЬКО ОСЬ НА используемом КОМПЕ WINDOWS7!!! Дык, мы же обсуждали применимость FORTH под Linux. Наличие FORTH-ниши в Мастдае отрицают только микро-фортеры.Victor__v писал(а): Напишите в пару слов поддержку конкатенации строк с автоосвобождением памяти и я Вам поверю Вы сами себе противоречите. Да, написать хорошую библиотеку, да еще на все случаи, трудно. Но это и свидетельствует о том, что для FORTH это лишняя обуза. Ведь в 95% случаев "конкатенация строк с автоосвобождением памяти" используется в программе только потому, что ничего более удобного под рукой нет.Доходит до смешного. Как-то учился писать на perl и решил зафигачить интерпретатор trac. Думал, "маленькая машинка" регулярных выражений тут и пригодится. Ни фига, в итоге остались только простейшие операции, которые легко было написать и на C. Кстати, там обошлось и почти без конкатенации - хранить строку в виде дерева частей оказалось удобнее. |
Автор: | _KROL [ Пт ноя 17, 2017 17:33 ] |
Заголовок сообщения: | Re: Наработки от victor__v для СПФ |
gudleifr писал(а): Victor__v писал(а): ТОЛЬКО ОСЬ НА используемом КОМПЕ WINDOWS7!!! Дык, мы же обсуждали применимость FORTH под Linux. Наличие FORTH-ниши в Мастдае отрицают только микро-фортеры.Victor__v писал(а): Напишите в пару слов поддержку конкатенации строк с автоосвобождением памяти и я Вам поверю Вы сами себе противоречите. Да, написать хорошую библиотеку, да еще на все случаи, трудно. Но это и свидетельствует о том, что для FORTH это лишняя обуза. Ведь в 95% случаев "конкатенация строк с автоосвобождением памяти" используется в программе только потому, что ничего более удобного под рукой нет.Доходит до смешного. Как-то учился писать на perl и решил зафигачить интерпретатор trac. Думал, "маленькая машинка" регулярных выражений тут и пригодится. Ни фига, в итоге остались только простейшие операции, которые легко было написать и на C. Кстати, там обошлось и почти без конкатенации - хранить строку в виде дерева частей оказалось удобнее. Можно вопрос? Что значит "Мастдае" и как это "хранить строку в виде дерева частей"? |
Автор: | Victor__v [ Пт ноя 17, 2017 17:40 ] |
Заголовок сообщения: | Re: Наработки от victor__v для СПФ |
Цитата: Что значит "Мастдае" Это Операционная Система, которую способен спасть только дед Мазай |
Автор: | gudleifr [ Пт ноя 17, 2017 18:27 ] |
Заголовок сообщения: | Re: Наработки от victor__v для СПФ |
_KROL писал(а): Что значит "Мастдае"..? Примерно в одно время с появлением Win95 была очень популярна стрелялка Дюк Нюкем. Типа Doom, но немного более 3D-честная и намного более пародийная и хулиганская. Так там вредные монстры на всяких заборах постоянно писали: "Дюк Нюкем маст дай!" - т.е. "должен умереть". Фраза запомнилась и стала единственным цензурным эпитетом по отношению к 95-му. А заодно, и всем его потомкам._KROL писал(а): как это "хранить строку в виде дерева частей"? Заменить string деревом (списком списков), состоящим из отдельных string (точнее, ссылок на части исходной строки и длин этих частей). Trac - язык, основанный на макроподстановках, поэтому там это было особенно удобно - можно было хранить в узлах не только куски строк, но и метки, и легко заменять строки на метки и наоборот. |
Автор: | _KROL [ Пт ноя 17, 2017 19:57 ] |
Заголовок сообщения: | Re: Наработки от victor__v для СПФ |
Да, я в Duke Nukem ещё как играл! Правда на счёт второго названия WIN95 не знал. Спасибо. |
Автор: | Ethereal [ Сб ноя 18, 2017 01:41 ] |
Заголовок сообщения: | Re: Наработки от victor__v для СПФ |
Victor__v писал(а): Напишите в пару слов поддержку конкатенации строк с автоосвобождением памяти и я Вам поверю Делаем морду клином Код: \ Изначально держим за HERE свободный мегабайт памяти Я так постоянно пишу : S+ ( addr1 n1 addr2 n2 -- addr3 n3 ) HERE >R TUCK HERE SWAP CMOVE ALLOT TUCK HERE SWAP CMOVE ALLOT R@ HERE R> - ; : WORK HERE \ запомнили состояние динамической памяти \ ... S" Stroka2" S" Stroka1" S+ TYPE \ работаем S" Stroka4" S" Stroka3" S+ TYPE \ - // - \ ... DP ! \ освободили память ; WORK _KROL писал(а): Правда на счёт второго названия WIN95 не знал. Любого Windows.
|
Автор: | Ethereal [ Сб ноя 18, 2017 05:31 ] |
Заголовок сообщения: | Re: Наработки от victor__v для СПФ |
P.S. Если пренепременно нужно, чтобы сборка мусора происходила автоматически, а не явным указанием "пометить кучу" и "откатить кучу", то можно вот так : Код: ONLY FORTH DEFINITIONS Здесь на входе в слово WORK куча автоматически помечается, а на выходе автоматически откатывается. Т.е. имеется ввиду определение некоторых таких слов, которые кучей попользовались, а потом сами за собой убрали. Так-что родными средствами Форта такое делается непринужденно, на коленке и без каких-либо дополнительных библиотек.
VOCABULARY GARBAGE ALSO GARBAGE DEFINITIONS PREVIOUS : : : POSTPONE HERE POSTPONE >R ; : ; POSTPONE R> POSTPONE DP POSTPONE ! POSTPONE ; ; IMMEDIATE : EXIT POSTPONE R> POSTPONE DP POSTPONE ! POSTPONE EXIT ; IMMEDIATE DEFINITIONS \ Изначально держим за HERE свободный мегабайт памяти : S+ ( addr1 n1 addr2 n2 -- addr3 n3 ) HERE >R TUCK HERE SWAP CMOVE ALLOT TUCK HERE SWAP CMOVE ALLOT R@ HERE R> - ; ALSO GARBAGE \ Включили автоматическую сборку мусора в определяемых словах : WORK S" Stroka2" S" Stroka1" S+ TYPE CR \ работаем S" Stroka4" S" Stroka3" S+ TYPE CR \ - // - ; PREVIOUS \ Выключили WORK |
Автор: | _KROL [ Сб ноя 18, 2017 13:40 ] |
Заголовок сообщения: | Re: Наработки от victor__v для СПФ |
Ethereal писал(а): _KROL писал(а): Правда на счёт второго названия WIN95 не знал. Любого Windows. |
Автор: | Victor__v [ Сб ноя 18, 2017 13:42 ] |
Заголовок сообщения: | Re: Наработки от victor__v для СПФ |
Ethereal писал(а): Делаем морду клином Токмо проблемы с многопоточностью, и неявным и опасным переопределение слов. Так, полный перебор всего что можно имеющее разделители Код: : SPLIT \ A U A1 U1 -- A U 0|A2 U2 A3 U3 -1 3 PICK >R DUP >R SEARCH 0= IF RDROP RDROP 0 EXIT THEN OVER RP@ CELL+ @ - RP@ CELL+ @ SWAP 2SWAP R@ - SWAP R@ + SWAP RDROP RDROP -1 ; : SPLIT-ITER: \ a u sa su -- iter: a1 u1 2>R BEGIN 2R@ SPLIT WHILE 2>R RP@ 4 CELLS + @ EXECUTE 2R> REPEAT RDROP RDROP R> EXECUTE \ для ясности, чтоб голову не ломать ; \EOF \ Библиотека для разбора CSV и подобных манипуляций \ В реализации, есть идея присущая PRO и CONT \ Как использовать \ пример : CSV-TEST S" 1,2,3,4,5,6,7,8,9,10" S" ," SPLIT-ITER: TYPE CR ; Соот-но, чтобы перебрать каждый элемент в CSV необходимо исп. два итератора Если логика происходящего непонятна, то поясняю остаток кода после SPLIT-ITER: вызывается после каждого разделения. Своеобразный обратный вызов |
Автор: | gudleifr [ Сб ноя 18, 2017 13:52 ] |
Заголовок сообщения: | Re: Наработки от victor__v для СПФ |
_KROL писал(а): Иными словами Windows рано или поздно перестанет существовать? Нет, просто программисты, начавшие программировать до Windows-кие времена его ненавидят. Ведь, они помнят времена, когда операционная система облегчала труд программистов, а не затрудняла настолько, что интерфейс с ней стал весить на порядок больше смысловой части программы. Просто, до появления Win95 Win-программирование было выпендрежем, имеющим крайне ограниченную область применения, а начиная с него программистам объяснили, что теперь все будет оконным. Причем, оконным не в стиле Xerox-Alto или X, а исключительно в стиле MS Office...Victor__v писал(а): Токмо проблемы с многопоточностью, и неявным и опасным переопределение слов. Да, в 0,0...01% случаев она возникает. А в 0,0...009% случаев возникают проблемы у правильно работающих с многопоточностью библиотек...
|
Автор: | Hishnik [ Сб ноя 18, 2017 15:10 ] |
Заголовок сообщения: | Re: Наработки от victor__v для СПФ |
_KROL писал(а): Иными словами Windows рано или поздно перестанет существовать?:] Рано или поздно все перестает существовать. Вопрос в том, произойдет ли это в настолько обозримом будущем, чтобы Windows уже сейчас можно было игнорировать. А это явно не так. В нелюбви программистов к Windows кроются две "неправильные" причины. Во-первых, Windows имеет более широкое распространение по сравнению с Linux, и поэтому ошибки чаще проявляются для Windows просто статистически. Когда программист ошибается в алгоритме, эта ошибка вскроется при работе под любой ОС. Однако очень удобно приписать ее "глюкавой винде". Во-вторых, существует давний спор между открытым ПО и закрытыми проприетарными системами, такими как Windows. Если ОС имеет открытый код, создается иллюзия, что все можно поправить. Технически действительно можно, а как практически? Для исправления ошибки нужно как минимум разбираться в этой теме, и вопрос не в том, что где-то был X=1, а надо поправить на X=0. Однако противники Windows приводят в качестве аргумента именно то, что в Windows они зависят от программистов Microsoft, а с Linux можно все исправить и улучшить. |
Автор: | gudleifr [ Сб ноя 18, 2017 15:28 ] |
Заголовок сообщения: | Re: Наработки от victor__v для СПФ |
Hishnik писал(а): В нелюбви программистов к Windows кроются две "неправильные" причины. И 4 правильных:1. Правильные (упомянутые выше) окошки облегчают создание оконных приложений, а не усложняют его. Ведь в МастДае надо не просто првильно расставлять и связывать оконные объекты, но и вручную отслеживать все: очередь событий, дешифрацию и адресацию сообщений, выделение и освобождение (часто многоступенчатые) ресурсов под объекты... 2. Невзирая на (1) система и сама по себе настолько сложна, что жрет любые ресурсы и безбожно тормозит на любой машине. 3. В отличие от правильных окошек с их концепцией "один процесс/инструмент - одно окно", в МастДае прижилась концепция "сложное приложение - одно, еще более сложное, окно". 4. (3) породило набор обязательных (жутко избычочных) фигулек, которые не только отнимают время на программирование, но и занимают львиную долю полезной площади экрана. |
Страница 5 из 6 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |