идеальный язык программирования ?

Oct 26, 2005 123 Replies

какими параметрами должен обладать сабж ?



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



ЗЫ: что такое "теория формальных языков" и что читать ?


Hello Dmitry.

Wed Oct 26 2005 19:40, Dmitry Ponyatov wrote to All:

DP> какими параметрами должен обладать сабж ?

Так ведь от области применения зависит. Есть, например, директивные, декларативные и функциональные языки...

Dimmy.

Hello, Dmitry! You wrote to All on Wed, 26 Oct 2005 19:40:14 +0400:

DP> у меня бродит мысль поглубже закопаться в технологии трансляции и в DP> логическое программирование, может кто книжки посоветует ? Попытка создать сабж уже была. В результате родилась Ада. :)

With best regards, Serg.

Здравствуйте, Уважаемый Dimmy!

Wed Oct 26 2005 21:15, Dimmy Timchenko wrote to Dmitry Ponyatov:

DP>> какими параметрами должен обладать сабж ?

DT> Так ведь от области применения зависит. Есть, например, директивные, DT> декларативные и функциональные языки...

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

Всего Вам Хорошего Ольга

Hello, Olga Nonova! You wrote in conference fido7.ru.embedded to Dimmy Timchenko on Thu, 27 Oct 2005 11:47:52

+0000 (UTC):

DP>>> какими параметрами должен обладать сабж ?

DT>> Так ведь от области применения зависит. Есть, например, DT>> директивные, декларативные и функциональные языки...

ON> А еще есть язык "детских кубиков". Это когда не ON> программируешь, а собираешь систему из мелких чипов с уже ON> прошитой программой.

Ага вместо простой программы ставишь кучи счетсчиков, триггеров, мультиплексоров, дешифраторов и тому подобных кубиков. Играйтесь в свои кубики сами, коли писать программы для вас слишком сложно.

dima

formatting link

Hello Olga.

Thu Oct 27 2005 15:47, Olga Nonova wrote to me:

DT>> Так ведь от области применения зависит. Есть, например, директивные, DT>> декларативные и функциональные языки...

ON> А еще есть язык "детских кубиков". Это когда не программируешь, а ON> собираешь ON> систему из мелких чипов с уже прошитой программой.

Брр. Есть же ПЛМ-ки. Собираешь систему из логических элементов и более крупных модулей - но виртуально. И прошиваешь один кристалл.

Dimmy.

Привет, Sergey !

27 Oct 05 , 10:59 Sergey Mudry писал к Dmitry Ponyatov:

DP>> у меня бродит мысль поглубже закопаться в технологии трансляции DP>> и в логическое программирование, может кто книжки посоветует ? SM> Попытка создать сабж уже была. В результате родилась Ада. :)

А Жаба и перл откуда родились?

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... вы мечтаете покарать всех врагов и достигать нескольких оргазмов за ночь?

Здравствуйте, Уважаемый Dimmy!

Fri Oct 28 2005 07:45, Dimmy Timchenko wrote to Olga Nonova:

ON>> А еще есть язык "детских кубиков". Это когда не программируешь, а ON>> собираешь систему из мелких чипов с уже прошитой программой.

DT> Брр. Есть же ПЛМ-ки. Собираешь систему из логических элементов и более DT> крупных модулей - но виртуально. И прошиваешь один кристалл.

Я мыслю шире. Многие, кто брался за более-менее приличную разработку девайса, например с LCD и небольшой клавиатурой, были вынуждены сопрягать свой кристалл, программировать отлаживать софт ввода/вывода. Проходить один и тот же путь и наступать на традиционные грабли. Разве не помогло бы делу наличие готового контроллера в виде небольшого кристалла, который все это делает сам? Да еще и конфигурируется, через например I2C, под конкретную схему включения периферии? Есть и другие типовые задачи, которые могли бы решаться готовыми к использованию (т.е. без программирования) гибкими модулями. И этот путь уже вовсю реализуется, например, в Embedded Ethernet. Для разработчиков, которые заняты солидными задачами, а не отжимают каждую копейку из себестоимости, такой модульный на уровне кристаллов подход мог бы сильно облегчить жизнь и сократить time-to-market. И наступит эра "идеального программирования", когда будешь составлять таблицы конфигурации для россыпи кристаллов в своей системе, задавать параметры задачам, выполняемым действительно параллельно без всяких там OS.

Всего Вам Хорошего Ольга

Всего Вам Хорошего Ольга

Hi Olga !

Совсем недавно 28 Oct 05 11:05, Olga Nonova писал к Dimmy Timchenko:

ON>>> А еще есть язык "детских кубиков". Это когда не программируешь, ON>>> а собираешь систему из мелких чипов с уже прошитой программой.

ON> Я мыслю шире. .... ON> (т.е. без программирования) гибкими модулями. И этот путь уже вовсю ON> реализуется, например, в Embedded Ethernet. ON> Для разработчиков, которые заняты солидными задачами, а не отжимают ON> каждую копейку из себестоимости, такой модульный на уровне кристаллов ON> подход мог бы сильно облегчить жизнь и сократить time-to-market. И ON> наступит эра "идеального программирования", когда будешь составлять ON> таблицы конфигурации для россыпи кристаллов в своей системе, задавать ON> параметры задачам, выполняемым действительно параллельно без ON> всяких там OS. Этот уровень уже очень давно существует и успешно применяется. Hо для того, чтобы это понять, нужно мыслить еще шире: те, кому нужно изделие, выполняющее функцию, покупают это изделие. Это сильно облегчает жизнь и сокращает тайм-в-маркет. И без всяких там OS. :)

Именно благодаря существованию этого уровня и возможно заработать на хлеб с маслом тем, кто в этой эхе тусуется. Так как вышеупомянутые изделия с неба сыпаться не желают :)

WBRgrds Ruslan

Fri Oct 28 2005 11:05, Olga Nonova wrote to Dimmy Timchenko:

ON> Я мыслю шире. Многие, кто брался за более-менее приличную разработку ON> девайса, например с LCD и небольшой клавиатурой, были вынуждены сопрягать ON> свой кристалл, программировать отлаживать софт ввода/вывода. Проходить ON> один и тот же путь и наступать на традиционные грабли. Разве не помогло ON> бы делу наличие готового контроллера в виде небольшого кристалла, который ON> все это делает сам?

Таковых контроллеров предлагалось много. Хороших и разных. Их изготовители вылетели из бизнеса. Что говорит о том, что идея не работает.

VLV

"Зачем стадам дары свободы? Их надо резать или стричь" (Пушкин)

DT>>> Так ведь от области применения зависит. Есть, например, директивные, DT>>> декларативные и функциональные языки... ON>> А еще есть язык "детских кубиков". Это когда не программируешь, а ON>> собираешь ON>> систему из мелких чипов с уже прошитой программой. DT> Брр. Есть же ПЛМ-ки. Собираешь систему из логических элементов и более DT> крупных модулей - но виртуально. И прошиваешь один кристалл.

Хочу printf в виде cxемы.

Здравствуйте, Уважаемый Kirill!

Sat Oct 29 2005 01:25, Kirill Frolov wrote to Dimmy Timchenko:

KF> Хочу printf в виде cxемы.

Вот именно! А еще и scanf туда-же. Разве плохо?

Всего Вам Хорошего Ольга

Здравствуйте, Уважаемый Dimmy!

Fri Oct 28 2005 18:31, Dimmy Timchenko wrote to Olga Nonova:

ON>>... Многие, кто брался за более-менее приличную разработку ON>> девайса, например с LCD и небольшой клавиатурой, были вынуждены ON>> сопрягать свой кристалл, программировать отлаживать софт ввода/вывода.

DT> LCD с контроллерами действительно много, а клавиатура - девайс DT> примитивный.

Кристаллов со встроенными функциями printf и scanf я не встречала. А примитивные контроллеры LCD проблемы облегчения програмирования не решают. Что касается клавиатуры, то здесь тоже не все просто- приходится и антидребезгом заниматься и автоповтором, FIFO встраивать, звуковой сигнал генерить, перекодировкой в ASCII заниматься, если хочешь встроенную scanf пользовать.

ON>> Проходить один и тот же путь и наступать на традиционные грабли. Разве ON>> не помогло бы делу наличие готового контроллера в виде небольшого ON>> кристалла, который все это делает сам?

DT> Приятнее иметь плату с одним-двумя кристаллами, чем с десятком. Всё же DT> программирование - вещь более гибкая, и средств инструментальных здесь DT> достаточно.

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

ON>> Для разработчиков, которые заняты солидными задачами, а не отжимают ON>> каждую копейку из себестоимости, такой модульный на уровне кристаллов ON>> подход мог бы сильно облегчить жизнь и сократить time-to-market.

DT> Какой там "маркет" для солидных задач? :) Там, в основном, коррупция и DT> кррупные коррпоррации.

Да, не без того. Метод модульной "рассыпухи" пожалуй не имеет смысла оценивать с точки зрения рынка и возможности мгновенного обогащения. У нас- так совершенно точно. Однако, за бугром имеются прецеденты вполне успешного продвижения в жизнь готовых модулей, например, модули для Embedded Ethernet. Paralax, опять же, очень близко подошел к идее готовых модулей- уже не просто stamp клепает, а уже разделил их по типу решаемых задач. Hу, а про нас чего говорить? Лобби и откаты определяют успех любой идеи в отечественной электронике.

Всего Вам Хорошего Ольга

Привет, Kirill !

29 Oct 05 , 01:25 Kirill Frolov писал к Dimmy Timchenko:

DT>> Брр. Есть же ПЛМ-ки. Собираешь систему из логических элементов DT>> и более крупных модулей - но виртуально. И прошиваешь один DT>> кристалл.

KF> Хочу printf в виде cxемы.

А че не int80h/int21h ввиде схемы?

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... выкинуть ящик с трубадурами

Hello Olga.

Sat Oct 29 2005 11:05, Olga Nonova wrote to me:

DT>> LCD с контроллерами действительно много, а клавиатура - девайс DT>> примитивный.

ON> Кристаллов со встроенными функциями printf и scanf я не встречала.

Вот уж гадость-то. ;)

ON> А примитивные контроллеры LCD проблемы облегчения програмирования не ON> решают.

Если нужно "облегчение", то есть всякие визуальные билдеры.

ON> Что касается клавиатуры, то здесь тоже не все просто- приходится и ON> антидребезгом заниматься и автоповтором, FIFO встраивать, звуковой ON> сигнал генерить,

Тоже верно.

ON> перекодировкой в ASCII заниматься, если хочешь встроенную scanf ON> пользовать.

Брр.

ON>>> Проходить один и тот же путь и наступать на традиционные грабли. ON>>> Разве не помогло бы делу наличие готового контроллера в виде ON>>> небольшого кристалла, который все это делает сам?

DT>> Приятнее иметь плату с одним-двумя кристаллами, чем с десятком. Всё DT>> же программирование - вещь более гибкая, и средств инструментальных DT>> здесь достаточно.

ON> Да, программировать все с нуля самому- это безусловно самый гибкий подход. ON> Однако, насколько это эффективно в быстроменяющейся ситуации?

Кто сказал, что с нуля и самому? Просто надо эффективнее использовать библиотеки и готовые модули - но программные, а не аппаратные.

ON>>> Для разработчиков, которые заняты солидными задачами, а не отжимают ON>>> каждую копейку из себестоимости, такой модульный на уровне кристаллов ON>>> подход мог бы сильно облегчить жизнь и сократить time-to-market.

DT>> Какой там "маркет" для солидных задач? :) Там, в основном, коррупция DT>> и кррупные коррпоррации.

ON> Да, не без того. Метод модульной "рассыпухи" пожалуй не имеет смысла ON> оценивать с точки зрения рынка и возможности мгновенного обогащения.

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

ON> Однако, за бугром имеются прецеденты вполне успешного продвижения в ON> жизнь готовых модулей, например, модули для Embedded Ethernet. ON> Paralax, опять же, очень близко подошел к идее готовых модулей- уже не ON> просто stamp клепает, а уже разделил их по типу решаемых задач.

Трудно сказать, по какому пути на самом деле пойдёт развитие микроэлектроники. Может, нанороботы будут сами из себя строить девайсы по техзаданию. ;)

Dimmy.

KF>> Хочу printf в виде cxемы. ON> Вот именно! А еще и scanf туда-же. Разве плохо?

5 миллионов транзисторов?

ON> Кристаллов со встроенными функциями printf и scanf я не встречала.

Старшие модели Atmel AVR, cygnal C8051Fxxx...

Здравствуйте, Уважаемый Dimmy!

Sun Oct 30 2005 03:39, Dimmy Timchenko wrote to Olga Nonova:

ON>> Да, программировать все с нуля самому- это безусловно самый гибкий ON>> подход. Однако, насколько это эффективно в быстроменяющейся ситуации?

DT> Кто сказал, что с нуля и самому? Просто надо эффективнее использовать DT> библиотеки и готовые модули - но программные, а не аппаратные.

Для этого, хочешь-не хочешь, придется влезать в очень деликатные подробности программирования. "Эта дорога не ведет к храму".(с)

ON>> ... Метод модульной "рассыпухи" пожалуй не имеет смысла ON>> оценивать с точки зрения рынка и возможности мгновенного обогащения.

DT> Лично я оцениваю с точки зрения инженерной целесообразности и DT> эффективности. Я, к сожалению, так и не научился думать "по-рыночному".

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

ON>> Однако, за бугром имеются прецеденты вполне успешного продвижения в ON>> жизнь готовых модулей, например, модули для Embedded Ethernet. ON>> Paralax, опять же, очень близко подошел к идее готовых модулей- уже не ON>> просто stamp клепает, а уже разделил их по типу решаемых задач.

DT> Трудно сказать, по какому пути на самом деле пойдёт развитие DT> микроэлектроники. Может, нанороботы будут сами из себя строить девайсы по DT> техзаданию. ;)

Да, вполне возможно. Hо до этого еще далеко. Сейчас же в электронике наблюдается кризис с интеграторами. Hе с комплектующими, не с софтом, а именно с людьми, кто все это может собрать в систему и заставить работать на обьекте. Здравый смысл говорит, что имеет смысл обратить внимание на облегчение труда таким интеграторам. Понятно, - требовать от них специальных знаний по программированию, нагружать адой или явой, оболочками и CASE системами было бы чрезвычайно неумно, ибо у интегратора много других очень прикладных проблем. Педставляется, что хорошим облегчением ситуации могло бы быть применение готовых гибких модулей, которые HЕ программируются в обычном понимании, а конфигурируются через выбор из ряда готовых вариантов поведения и задание ряда параметров.

Всего Вам Хорошего Ольга

Привет!

"Kirill Frolov"

ON>> А еще есть язык "детских кубиков". Это когда не программируешь, а ON>> собираешь систему из мелких чипов с уже прошитой программой.

DT> Брр. Есть же ПЛМ-ки. Собираешь систему из логических элементов и более DT> крупных модулей - но виртуально. И прошиваешь один кристалл.

KF> Хочу printf в виде cxемы.

Мелко просишь. Справедливости ради хочу заметить, что идея не столь бредова, как кажется на первый взгляд. Например, WizNet предоставляет чип с реализованным в нем TCP/IP. Параметры, конечно, слабоваты (поток где-то всего около 100 кбит/с, до 4 коннектов TCP одновременно и т.д.), но для очень многих приложений и этого оказывается вполне достаточно. Для мелкотиражных изделий разрабатывать ещё и собственный TCP/IP под свою платформу оказывается невыгодно, практичнее взять готовый чип и присобачить к своей системе. Скажем, был старый добрый девайс с управлением по любому последовательному каналу, скажем, RS-232 - легким движением руки он превращается в наимоднючий сетевой TosterNet.

С уважением,

Виталий Насенник

Hello, Vitaly Nasennik! You wrote in conference fido7.ru.embedded to Kirill Frolov on Mon, 31 Oct 2005 09:55:22

+0000 (UTC):

ON>>> А еще есть язык "детских кубиков". Это когда не ON>>> программируешь, а собираешь систему из мелких чипов с уже ON>>> прошитой программой.

DT>> Брр. Есть же ПЛМ-ки. Собираешь систему из логических DT>> элементов и более крупных модулей - но виртуально. И DT>> прошиваешь один кристалл.

KF>> Хочу printf в виде cxемы.

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

Идея абсолютна бредова (как и вообще все, что от этого имени O.N. говорится). Между выполнением в виде модуля (не важно что там внутри) некого часто встречающегося устройства (UART, таймер, SPI, I2C, USB etc.) в виде внешнего кристалла или встроенной на основной периферии для облегчения программирования этого внешнего и полным отказом от программирования - принципиальное отличие.

dima

formatting link

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required