Forth
http://fforum.winglion.ru/

Изучать или нет?
http://fforum.winglion.ru/viewtopic.php?f=24&t=2972
Страница 1 из 6

Автор:  capicator [ Ср ноя 13, 2013 14:08 ]
Заголовок сообщения:  Изучать или нет?

В общем ситуация такова.
Ребенку 13 лет горит желанием осваивать программирование с уклоном управления
разных железяк.
В интернете этих языков столько что голова кругом идет.
1.Стоит ли изучать Форт именно для железа?
2.Если нет то какому языку отдать предпочтение?

Почему обратился сюда, да потому что когда то читал об этом языке как именно что он для железа и очень все понравилось. Но к сожалению дальше не пошло. Сейчас бы и сам побаловался в плане управления тех же железяк, но опять же........
Сам помочь ему я не могу из за незнания языков.

Единственное прошу не устраивать соревновательных дискуссий в отношении какой лучше, какой хуже. А просто аргументировано высказаться. Ведь здесь присутствующие программируют не только на одном Форте, а и на других языках.
Поэтому и интересна его область применения.
Ну пока что так, прошу высказываться.

Автор:  VoidVolker [ Ср ноя 13, 2013 18:32 ]
Заголовок сообщения:  Re: Изучать или нет?

Главные преимущества форта: компактность форт-системы и кода, высокая скорость работы - это важнейшие показатели для железок. Простота синтаксиса: есть только слова и разделители - соответственно не надо знать/изучать какие-то безумные термины типа ООП/функциональность/ключевые слова/методы/свойства и прочее. Высокая гибкость и открытость внутренних механизмов: можно легко изменить синтаксис/семантику и прочее, а так же легко изменить какие-то внутренние механизмы системы.

Автор:  Mihail [ Ср ноя 13, 2013 20:57 ]
Заголовок сообщения:  Re: Изучать или нет?

capicator писал(а):
1.Стоит ли изучать Форт именно для железа?
2.Если нет то какому языку отдать предпочтение?

В Форте почти нечего изучать. Просто, слова команды разделенные пробелом.
Он бы был идеальным средством для железа, но под Форт трудно найти
средства разработки и наработки. Я советую использовать Форт на Си.
Можно будет писать на смеси Си и Форта. Форт при этом используется в качестве
интерактивного взаимодействия с удаленным железом. (своего рода микроОС)
Рекомендую мой Форт http://fpauk.narod.ru/GCCForth.tar.bz2
Для адаптации к железу следует выкинуть средства взаимодействия с ОС
и вставить взаимодействия с драйверами ввода/вывода.

Автор:  VoidVolker [ Ср ноя 13, 2013 21:12 ]
Заголовок сообщения:  Re: Изучать или нет?

Mihail,
capicator писал(а):
Единственное прошу не устраивать соревновательных дискуссий в отношении какой лучше, какой хуже. А просто аргументировано высказаться.

Автор:  4myke [ Ср ноя 13, 2013 22:07 ]
Заголовок сообщения:  Re: Изучать или нет?

Если именно для микроконтроллеров, то лучше начать с ассемблера того конкретного МК которым будет заниматься, ну или IDE под него. Мне например очень нравится algoritmbuilder для avr. Там кстати и документация очень хорошая, и на русском к тому же. А для ПК форт очень хорош как раз из-за простоты, как уже здесь заметили.

Автор:  VoidVolker [ Ср ноя 13, 2013 22:34 ]
Заголовок сообщения:  Re: Изучать или нет?

Ну, ассемблер конкретного МК все таки придется хотя бы поверхностно изучить, да и принципы работы и архитектуру конкретного МК тоже надо будет изучить.

Автор:  Hishnik [ Ср ноя 13, 2013 22:37 ]
Заголовок сообщения:  Re: Изучать или нет?

capicator писал(а):
В общем ситуация такова.
Ребенку 13 лет горит желанием осваивать программирование с уклоном управления
разных железяк.
В интернете этих языков столько что голова кругом идет.
1.Стоит ли изучать Форт именно для железа?
2.Если нет то какому языку отдать предпочтение?

Почему обратился сюда, да потому что когда то читал об этом языке как именно что он для железа и очень все понравилось. Но к сожалению дальше не пошло. Сейчас бы и сам побаловался в плане управления тех же железяк, но опять же........
Сам помочь ему я не могу из за незнания языков.

Единственное прошу не устраивать соревновательных дискуссий в отношении какой лучше, какой хуже. А просто аргументировано высказаться. Ведь здесь присутствующие программируют не только на одном Форте, а и на других языках.
Поэтому и интересна его область применения.
Ну пока что так, прошу высказываться.


Если говорить именно про увлечение робототехникой, то важно понять, что именно привлекает в ней. Робот - растяжимое понятие, интерес к нему может проявляться и на уровне просто запуска мотора, и на уровне автоматизации ("сработал датчик - поднялся манипулятор"), и на уровне алгоритмов. Если путь от начала работы до получения "fun-эффекта" затянется, интерес может пропасть. Поэтому начать стоит в первую очередь с тех инструментов разработки, которые идут в комплекте к имеющемуся железу. Потом можно будет привлечь и Форт-технологии, начиная с элементарного программирования в автоматном стиле - т.е. функциями void() или void(int), которые будут модифицировать глобальные переменные состояния робота. Тогда можно будет сосредоточиться на алгоритмах управления, а прослойка в виде языка окажется минимальной и не отвлекающей лишнее внимание.

Автор:  capicator [ Чт фев 27, 2014 19:43 ]
Заголовок сообщения:  Re: Изучать или нет?

Спасибо всем откликнувшимся.Хоть и с запозданием. :oops:
Из всего здесь сказанного получается что проще, лучше и универсальнее языка чем Форт нет во всех сферах программирования.И изучать в нем нечего :D .
Но тогда почему же он так не распространен?
В чем проблема?
Фортеры, почему нет его развития и популяризации?!Ведь у нас так много молодежи пропадает... :(
Теперь по теме.
Получается надо начинать не с языка, а с самого железа включая его ассемблер и сопутствующих к железу средств. Но тогда встает вопрос целесообразности применения Форта в дальнейшем.Ведь если с помощью стандартных средств все получается и работает, зачем тогда что то менять???

Автор:  gudleifr [ Чт фев 27, 2014 20:04 ]
Заголовок сообщения:  Re: Изучать или нет?

capicator писал(а):
Но тогда почему же он так не распространен?
Бетономешалка - тоже очень полезная вещь. Но почему она не популярна? А БПФ еще менее популярно...

Автор:  KPG [ Чт фев 27, 2014 20:20 ]
Заголовок сообщения:  Re: Изучать или нет?

capicator писал(а):
Фортеры, почему нет его развития и популяризации?!Ведь у нас так много молодежи пропадает... :(

Не всегда благодарное это дело - популяризация, если есть вероятность "ввязаться" в подобную дискуссию :shuffle;
обсуждение amForth на easyelectronics
и пара более адекватные обсуждений на форуме сайта electronix
Форт (Forth) и MSP430 для изучения
А вот бы на FORTH написать...
... но они уже затерялись в истории и мало кто прочтёт неслучайно.

P.S. А отсутствие даже вводной информации по Форт (за редким исключением) на сайтах признанных показать всё многообразие программирования тоже о чём то говорит.
Как старая шутка "Форт - это наверное Фортран" или " Тайна речи магистра Йоды открыта: Старым программистом на Форте он есть…" :)
Мало информации о Форт в нефортовском сообществе.
Наверное самая большая страшилка - использование стека и ?как в таком случае, вообще, можно писать, читать и понимать программы и нах c "обывательской" точки зрения массовых программистов.
Обсуждение Чего не хватает Форту на форуме Балансера.
(честно сказать мне непонятно о чём идёт разговор в последних постах данного топика :(

И в каждой шутке есть доля шутки Forth на лурк :)

Автор:  gudleifr [ Чт фев 27, 2014 20:33 ]
Заголовок сообщения:  Re: Изучать или нет?

KPG писал(а):
Обсуждение Чего не хватает Форту на форуме Балансера.
(честно сказать мне непонятно о чём идёт разговор в последних постах данного топика :(
Там все очевидно - некто пытается хоть как-то обосновать идею FORTH-бит-коинов...

Автор:  VoidVolker [ Пт фев 28, 2014 10:40 ]
Заголовок сообщения:  Re: Изучать или нет?

capicator писал(а):
Спасибо всем откликнувшимся.Хоть и с запозданием. :oops:
Из всего здесь сказанного получается что проще, лучше и универсальнее языка чем Форт нет во всех сферах программирования.И изучать в нем нечего :D .

ИМХО, форт способствует мышлению не в бесполезных абстракциях, как в мейнстриме, а в понятиях и логике аппаратуры. Позволяет понять, как оно там внутри работает и использовать эти знания на практике. Лично для меня форт - это прежде всего средство саморазвития, а уже потом инструмент, с помощью которого я могу написать программу.
capicator писал(а):
Но тогда почему же он так не распространен?
В чем проблема?
Фортеры, почему нет его развития и популяризации?!Ведь у нас так много молодежи пропадает... :(

Ну почему же нет развития, вполне есть - ведь есть же форт-системы, которые развиваются десятилетиями. СПФ, gForth, а еще есть коммерческие системы типа SwiftForth, VFX, iForth и т.п. и у которых за плечом не один год развития. Или вот например форт-процессоры для ПЛИС.
capicator писал(а):
Теперь по теме.
Получается надо начинать не с языка, а с самого железа включая его ассемблер и сопутствующих к железу средств. Но тогда встает вопрос целесообразности применения Форта в дальнейшем.Ведь если с помощью стандартных средств все получается и работает, зачем тогда что то менять???

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

Автор:  chu [ Пт фев 28, 2014 10:55 ]
Заголовок сообщения:  Re: Изучать или нет?

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

+100500

Автор:  Hishnik [ Пт фев 28, 2014 14:40 ]
Заголовок сообщения:  Re: Изучать или нет?

У меня дети с удовольствием пишут на Форте простые программки для мигания светодиодами. И ладно бы я их агитировал - сами подсмотрели и спросили, как можно вот этой красивой штукой помигать. Так и пришлось завести им слова ОГОНЕК КРАСНЫЙ СИНИЙ ЗЕЛЕНЫЙ ЗАДЕРЖКА. С интересом посмотрю на процесс объяснения семилетней девочке, что внутри main() в фигурных скобках надо написать red(100);

Автор:  Ilya [ Сб мар 01, 2014 00:07 ]
Заголовок сообщения:  Re: Изучать или нет?

capicator писал(а):
Спасибо всем откликнувшимся.Хоть и с запозданием. :oops:
Из всего здесь сказанного получается что проще, лучше и универсальнее языка чем Форт нет во всех сферах программирования.И изучать в нем нечего :D .
Но тогда почему же он так не распространен?
В чем проблема?
Фортеры, почему нет его развития и популяризации?!Ведь у нас так много молодежи пропадает... :(
Теперь по теме.
Получается надо начинать не с языка, а с самого железа включая его ассемблер и сопутствующих к железу средств. Но тогда встает вопрос целесообразности применения Форта в дальнейшем.Ведь если с помощью стандартных средств все получается и работает, зачем тогда что то менять???


IMHO Если это для самообразования, то для начала asm предпочтительней, а уж потом можно и ФОРТ.
Судя по всему Чарьз (то который Мур) не сильно понимает в "бизнесе". Чем лучше IBM-совместимые (в своё время '90-'00): Atari, Amiga ...? А разве Билл Гейтс программист? "хороший" организатор, имеющий определенную протекцию в высоких кругах. Короче: мажор! :)

Страница 1 из 6 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/