Обсуждение

В архиве: 19 комментариев.

Читать и комментировать в ЖЖ ↗

Имя не сохранено · 26 сентября 2008

Комментарий

На Форте можно писать крупные системы точно так же как и на других языках. Это вопрос системной архитектуры, разбиения на компоненты, интерфейсов между ними и т.д. Никто ведь не мешает писать на Форте веб-сервисы, или там трейдинговые алгоритмы и т.д. и т.п. Более того, на идеологии Форта наверняка можно придумать новые элегантные идиомы и механизмы построения систем из компонентов. А уж если брать в расчет аппаратные Форт-процессоры - то и подавно. Несколько лет назад я в шутку предложил, тот брокерский софт который мы писали, реализовать в виде ФПГА. Сейчас, это не такая уж и шутка - по крайней мере, риал-тайм пре-трейд проверки делать в самый раз. А Форт-процессор - это как раз нечто промежуточное между микросхемой прогарммируемой логики и обычным процессором.

slobin · 26 сентября 2008

Комментарий

Повернуть мозги, повернуть мозги... Если я правильно понял их бумаги, там честно реализована классическая CSP Хоара (сэра) на аппаратном уровне. Ровно то же самое, что в своё время было сделано для транспьютеров. У них где-то на сайте лежит подробное сравнение с транспьютерами -- там подчёркиваются в основном различия, но явно подразумевается, что, раз уж человек до этой статьи добрался, то про сходство он уже и сам всё понял. А в статье по ссылке, если я ничего не пропустил, про асинхронность вообще не слова -- там про отличия форта от сей, а также ихнего аппаратного форта от фортов более традиционных (но всё это в пределах одного процессора).

... Старческий минимализм ...

Анатолий Левенчук · 26 сентября 2008

Комментарий

Про CSP -- очень похоже. Про OCCAM -- тоже очень похоже. Про транспьютеры -- тоже очень похоже. Честная новая реализация старых идей, которые уже несколько раз не были реализованы ранее. Тут два вопроса: 1. что они изменили принципиально по сравнению с этими старыми идеями (в Форте они подхакали регистровую архитектуру, чтобы позволить DSP-приложения) и 2. почему транспьютеры не "пошли", если не брать чисто ценовые вопросы. Возможно, как раз из-за требуемого "поворота мозгов" и их напряжения при программировании -- Instead of using an explicit thread-level system like the transputer, CPU designs became parallel implicitly at the instruction level, looking at the code being run and then distributing instructions that don't affect each-others' results across a number of internal arithmetic units within the CPU core. (http://en.wikipedia.org/wiki/Transputer). Тем самым, сифорт -- это современные процессоры минус их внутренняя автоматика, мечта для хакера и смерть для программерского офисного планктона...

Ответ на комментарий

Анатолий Левенчук · 26 сентября 2008

Комментарий

Если "можно писать", то почему крупные корпоративные системы на форте не пишут в количестве? Выживают только embedded applications, "вещи в себе".

Ответ на комментарий

Имя не сохранено · 26 сентября 2008

Комментарий

"Можно писать" еще не означают что будут это делать в сколь-нить значимых масштабах. На функциональных языках тоже можно писать. И даже пишут, просто это редкость. Есть такой сетевой принцип - полезность сети пропорциональна квадрату кол-ва ее элементов. Из-за этого в какой-то нише с наличием сетевых эффектов выживают небольшое кол-во конкурентов, у остальных доля просто так мала, что сетевая ценность у них просто не образуется. И неважна какова их потенциальная ценность. Языкам программирования очевидно присущ сетевой эффект: чем более популярный язык, тем удобнее им пользоваться (библиотеки, тулзы, обучение), а чем удобнее язык, тем более он популярен. Так что тут модно лишь констатировать факт, что в корпоративных системах Форт не закрепился, а в ембеддед - закрепился. А почему так сложилось - это вопрос истории, а не самих языков. Я на него ответа не знаю (да он мне и не нужен по большому счету).

Ответ на комментарий

Имя не сохранено · 26 сентября 2008

Комментарий

> 1. что они изменили принципиально по сравнению с этими старыми идеями (в Форте они подхакали регистровую архитектуру, чтобы позволить DSP-приложения) Мне в SEAForth новым видится "близость к железу", т.е. его концепция позволяет фактически делать конфигурируемый под собственные нужды процессор чисто софтовым способом. Т.е. я сам могу выстроить processing pipeline с минимальными задержками.

Ответ на комментарий

Анатолий Левенчук · 26 сентября 2008

Комментарий

Ага, программиста опять допустили к микропрограммам, как в Системе/360. Помню, как я думал, не запрограммировать ли мне парочку команд для нашей EC1060 :)

Ответ на комментарий

Имя не сохранено · 26 сентября 2008

Комментарий

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

Ответ на комментарий

Анатолий Левенчук · 26 сентября 2008

Комментарий

Что-то непохоже. Похоже на то, что ищутся приложения, где из этих ядер можно вручную выжать максимум, а затем размножить много-много раз (типичная схема для embedded софта). А там, где вручную максимум не выжимается, и нужно программировать-перепрограммировать, будут (скорее всего) использованы другие процессоры. И другие языки. С другой стороны, забацать "микропрограммно" какой-нибудь Erlang -- тоже вполне ничего себе развлечение. Может неожиданно хорошо получиться.

Ответ на комментарий

Имя не сохранено · 28 ноября 2008

Комментарий

Можно посмотреть ещё в сторону https://www.xmos.com/, настоящий транспьютера на кристалеле или в сторону паралакс пропеллер настоящий транспьютер для радиогубителей.

Анатолий Левенчук · 1 апреля 2010

Комментарий

да, там жизнь какая-то идет на новом месте: http://greenarraychips.com/home/products/index.html Нужны, конечно, killer application. Например, какие-то "голосовые ускорители" (алгоритмы распознавания речи), которые не будут сажать батарейку мобильных телефонов, или еще что-нибудь подобное. Пока же трудность программирования многоядерных форт-машин и малость энергопотребления любых процессоров по отношению к другим частям встроенных систем делают эти работы маргинальными. Нет киллер-приложения -- нет будущего, увы. Т.е. нужно сделать какую-то крутейшую прикладную штуку-систему, чтобы показать преимущество форт-процессора над другими процессорами. Слуховой аппарат не слишком похож на такую штуку...

Ответ на комментарий

Анонимный автор · 5 апреля 2010

Комментарий

Вы, очевидно, не представляете, сколько людей на планете нуждается в слуховых аппаратах и сколько стоит хороший слуховой аппарат.

Ответ на комментарий

Анатолий Левенчук · 5 апреля 2010

Комментарий

Охотно представляю. Практически все пенсионеры (а если учесть, что частотный слух с возрастом ухудшается в области высоких частот, то вполне можно представить "коррекционные аппараты", ровно такие же, как мы тут видим). Я был бы счастлив, если бы это стало не нишевым применением. Если бы этот процессор сделал со всеми нынешними слуховыми аппаратами то, что Intel своим микропроцессором сделал с миниЭВМ, то тогда бы можно было говорить о killer application.

Ответ на комментарий