Перейти к содержанию
    

А вот бы на FORTH написать...

ёшкин кот! РФ ННГУ - это ж моя альма-матер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Про использование фиксированной точки? Скорее всего Броуди " Введение в Форт"

( там ещё приведена небольшая таблица некоторых математических

констант для использования с операцией масштабирования */ )

Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот это вещь!

Вот с чего надо начинать изучать программирование, а не с "С++ для начинающих"!

я уж молчу про васик...

Чему только студентов учат...

Да, действительно "вирус ФОРТ проник в сознание". У меня было такое же озарение. И меня тоже поразила конструкция ПОЧТИ РАВНЫ.

Это же совсем иная философия программирования, как такового. При некотором навыке, конструкции ФОРТа кажутся такими естественными, что удивляешься как это можно было придумать еще какие-то ходульные языки? Поразительно компактно, ясно, выразительно, близко к человеческому. Ну, как и у человека- с объемными точными вычислениями плоховато, но логика, интеллект...

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чему только студентов учат...

 

Всё таки Форт бывает, что присутсвует в учебном процессе.:)

не только в институтских лабораториях.

 

Учебные материалы студентов УГАТУ

Аппаратные средства вычислительной техники

Кардаш Денис Иванович его домашняя страничка

)

 

P.S. Думаю, ещё 2-3 упоминания, можно найти

где есть Форт в учебных институтских программах:)

Хотя это всё, скорее, заслуга отдельных преподавателей.

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кроме выражения эмоций я пользы не принесу. Просто читаю и радуюсь, что о нем опять говорят.

Всё таки Форт бывает, что присутсвует в учебном процессе.:)

не только в институтских лабораториях.

Хотя это всё, скорее, заслуга отдельных преподавателей.

Да, судя по количеству ссылок и материалов в рунете, а также учитывая количество повторов авторов публикаций и топиков - энтузиастов форта в нашей стране можно сосчитать по пальцам... причём одной руки.

Это и понятно. Есть мэйнстрим, где товарищи озабочены, как бы побыстрее "к фреймворку либу прикрутить", а есть свободное творчество и его продукты, не отвечающие, к сожалению, требованиям бизнеса (быстрее, ещё быстрее!)

Да и потребляцтво - оно всепроникающее. Товарищи желают вытащить мышкой из палитры пару квадратиков, соединить стрелочками (или как нибудь по-другому, главное чтобы не напрягаться) и получить, к примеру, МП3-плейер. А разнообразные мелкософты всячески этому способствуют.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... - энтузиастов форта в нашей стране можно сосчитать по пальцам... причём одной руки.

 

Не одной, а как минимум 3-4 пары рук:)

 

Это и понятно. Есть мэйнстрим, где товарищи озабочены, как бы побыстрее "к фреймворку либу прикрутить", а есть свободное творчество и его продукты, не отвечающие, к сожалению, требованиям бизнеса (быстрее, ещё быстрее!)

 

Не совсем так. Мэйнстрим не так эффективен как о нём принято думать.

( нужны ли Microsoft, как монополисту, конкурирующие фирмы/продукты )

 

Но вот применительно к контроллерам, особенно мелким и дохлым - тут шанс есть, и даже неплохой.

 

Это его основная ниша в существующих реалиях.

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну ладно, это всё лирические отступления...

 

У меня вот вопрос родился.

Насколько я понял, откомпилированные слова исполняются быстро, так как поиск по словарю осуществляется в момент компиляции, а потом слово просто ссылается на некоторый кусок кода, который в свою очередь ссылается на другие участки кода.

А если я вдруг переопределил какое-то слово "снизу", которое уже используется в других словах - что произойдет?

Ведь компилятор должен тогда изменить все существующие ссылки на данное слово.

Или просто происходит перенаправление со старого слова на новое?

 

Не одной, а как минимум 3-4 пары рук:)

Значит, не так всё плохо, учитывая, что на одной руке можно сосчитать до 32-х, а на двух - до 1024 Ж)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если я вдруг переопределил какое-то слово "снизу", которое уже используется в других словах - что произойдет?

Ведь компилятор должен тогда изменить все существующие ссылки на данное слово.

Или просто происходит перенаправление со старого слова на новое?

 

Ничего не произойдёт со старыми словами т.к. они используют версии слова на

момент их определения.

 

P.S. Некоторые слова являются векторными и тогда при смене их поведения

могут возникнуть заморочки. Процессом использования необходимого

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

( например управляя контекстом поиска и контекстом компилирования )

У Форта простой цикл интерпритации входного потока.

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ничего не произойдёт со старыми словами т.к. они используют версии слова на

момент их определения.

Странно.. Как-то нелогично.

Допустим, я залил в ЦУ (целевое устройство) форт-машину и первоначальную версию программы.

Затем что-то поменялось и понадобилось перенести включение мотора (к примеру) с ноги X на ногу Y.

Я беру и вместо того, чтобы перекомпилировать и перезаливать весь проект, сверху вношу патч, чтобы ВКЛЮЧИТЬ МОТОР1 дёргало ногу Y вместо X.

Чрезвычайное удобство. Особенно, если устройство уже у потребителя.

 

Я правда, до конкретной реализации пока не дошел, мельком глянул на описание шитого и прямого кода и решил пока не углубляться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я беру и вместо того, чтобы перекомпилировать и перезаливать весь проект, сверху вношу патч, чтобы ВКЛЮЧИТЬ МОТОР1 дёргало ногу Y вместо X.

 

Это обычно можно осуществить, если векторизовать необходимые слова ( IS и DEFER или VECT в SPF4 )

( другие варианты могут быть, в зависимости от конкретной реализации Форт-системы)

есть же слова доступа к полям форт слова. BODY> и др., но если программа

уже прошла трансляцию, то появляются трудности со стиранием слов ( тем более во Flash )

 

( например в Forth83 было слово FORGET, а в Forth94 близкое по функциональности слово MARKER

т.e. после стирания части Форт-системы её можно перетранслировать снова на целевом устройстве

через терминальный канал.

 

Если описать Y, как переменную, то в этом случае её легко использовать как X.

Могут быть и другие варианты:)

 

Я правда, до конкретной реализации пока не дошел, мельком глянул на описание шитого и прямого кода и решил пока не углубляться.

 

Необходимость использования той или иной Форт реализации можно, пока не рассматривать.

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

 

P.S. Прояснилось немного?

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

( например в Forth83 было слово FORGET, а в Forth94 близкое по функциональности слово MARKER

т.e. после стирания части Форт-системы её можно перетранслировать снова на целевом устройстве

через терминальный канал.

FORGET это немного не то. То есть совсем не то. Он сносит слово и всё что над ним. А мне надо только заменить слово, не трогая остальные.

P.S. Прояснилось немного?

Ну, проясняться что-то начнёт только при приложении рук к делу, тут необходимы, тсз, тактильные ощущения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

FORGET это немного не то. То есть совсем не то. Он сносит слово и всё что над ним. А мне надо только заменить слово, не трогая остальные.

 

Если заранее в конретном случае не приняты те или иные меры по управлению

гибкостью Форт кода, то остаётся возможность использовать непортабельный "xak" код

 

P.S. есть слово :NONAME ... ; безымянное определение,

оставляющее после завершения своего определения исполнимый токен xt

( можно его например занести в VALUE переменную,

а саму переменную использовать в месте вызова X,Y c исполнением по EXECUTE )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, проясняться что-то начнёт только при приложении рук к делу, тут необходимы, тсз, тактильные ощущения.

 

Руки - это само собой, но неплохо составить план дальнейшего продвижения,

при заинтересованности "электронного" сообщества.

 

P.S. Сопереживающие, похоже, уже есть:)

 

 

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

 

И это уже не мало:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот это уже моя альма-матер! :biggrin:

Не знал что в УГАТУ Форт изучают, жаль кафедра не наша.

Изменено пользователем Русланчик

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

FORGET это немного не то. То есть совсем не то. Он сносит слово и всё что над ним. А мне надо только заменить слово, не трогая остальные.

 

Ну, проясняться что-то начнёт только при приложении рук к делу, тут необходимы, тсз, тактильные ощущения.

Черт, не могу вспомнить, как это конкретно делается, но в ФОРТе есть контекстные определения. Т.е в рамках одной программы можно употреблять ШАЙБА в смысле хоккейной или слесарной и путаницы не будет.

Короче, "Могуч великим русский языка"!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...