Насколько я понимаю, генерация кода под разные платформы — это в любом случае не ваша заслуга, а создателей компилятора C. Так что вопрос придётся переформулировать: «Есть ли языки с поддержкой трансляции схем в C?». Есть. Simulink — точно, насчёт остальных предоставляю выяснять вам (я не знаток визуальных языков и говорю только о том, с чем работал). В общем, перед вами непростая задача доказать ценность вашего проекта, если будете готовить пост.
Сейчас трудно оставаться таким отшельником, чтобы совсем не видеть английского языка (кстати, слово for было чуть ли не первым английским словом, которое я узнал). А вот разноцветные квадратики с редкими подписями по-украински мне мало что объясняют.
Он не текстовый?
Редактор схем — разумеется, графический. Он задумывался как бесплатная альтернатива Simulink.
А вообще, посмотрите Википедию. Там обширнейший список визуальных языков программирования. Если соберётесь писать пост, вам придётся объяснять, чем ваш проект отличается от всех перечисленных. И конечно, советую воздержаться от громких слов о «пределе развития» и «новом этапе».
Совершенно непонятно, чем ваш язык должен быть проще, если в нём должны быть как минимум те же возможности, что и в текстовых языках. Программу вычисления факториала на Питоне или Паскале поймёт даже тот, кто почти не программировал. Вашу программу я не понимаю.
В Simulink схема точно так же рисуется, как и у вас. Если речь о деньгах, то аналогичный редактор схем есть в бесплатном SciLab. Про возможности LabView судить не возьмусь.
Язык программирования — это не игра, и публикация почти любого нового языка — это публикация его спецификации. Без неё я не понимаю даже того, существует ли вообще некий ваш язык, или есть только трансляция схемы в C. Мне всё больше кажется, что нам просто предлагается «C в картинках».
В чём заключается «предел развития» текстовых языков?
Чем «новый этап развития» отличается от заявленной ещё в 70-е годы концепции «языков программирования четвёртого поколения», давшей нам Matlab/Simulink и LabView, но не заменившей текстовых языков?
Функция трансляции схемы в код на C издавна была в Simulink. Чем отличается ваш подход?
Где вообще спецификация вашего языка? Или языка и вовсе нет, а есть только трансляция в C один к одному?
Любопытно, что точно о том же пишут сами создатели C и UNIX. У Кернигана и Ричи прочёл:
C is sometimes castigated for the syntax of its declarations, particularly ones that involve pointers to functions. The syntax… can be confusing ..., because declarations cannot be read left to right, and because parentheses are over-used.
По-моему, в наше время почти любой компилятор, написанный одиночкой, пишется для удовольствия, а не от голода. С другой стороны, язык C даёт пример того, как можно, не имея ООП, вот уже 40 лет неизменно оставаться в первой тройке языков.
Написал компилятор Паскаля; есть смутные помыслы превратить его в компилятор собственного более удобного паскалеподобного языка. Если затея получит развитие, буду использовать и критически переосмыслять идеи из C и Оберона. ООП не интересует.
Возникала, и не раз. Вопрос в целях. Мне доставляло удовольствие знать каждый байт своего компилятора. Использование LLVM — это уже профессиональный размах. Но тогда проекту подобает иметь и профессиональный frontend. Да и нужен ли тогда Паскаль? Может быть, взять Clang? Так, шаг за шагом, от проекта ничего и не осталось бы :)
Мне кажется, одно только то, что вы сами приняли эту запись за приведение типа, говорит против такого синтаксиса. И разве это логично — оставлять за скобками список аргументов и тип возвращаемого результата? Ведь это часть определения функции, на которую объявляется указатель. Так что скобки здесь только нарушают естественный порядок действий: 1) задать сигнатуру функции; 2) задать указатель на неё.
А стоит только появиться typedefв начале, так fun_ptr, стоящий в середине, вдруг окажется именем типа. И это тоже логично?
Насколько я понимаю, принципиальной является «раскрутка» (bootstrap). Как бы то ни было, курс веду не я. Я просто предложил свой проект как альтернативу BeRo Tiny Pascal.
Найти в production'е самокомпилируемый компилятор, который студенты на первой же лабе смогут изучить, модифицировать, «раскрутить» и посмотреть эффект? Не очень понимаю, что это могло бы быть.
Свои аргументы в пользу Паскаля и против C я высказал выше. Это, конечно, сугубо академический разговор о самих языках, а не об их востребованности в индустрии. «Громоздкость» языка оборачивается предельной лёгкостью чтения на нём, что немаловажно, если вспомнить завет Гвидо ван Россума: «Code is read much more often than it is written». «Устарелость» языка — это следствие, а не причина его ухода из индустрии.
Что касается образования, то курс вовсе не ограничивается упражнениями с простенькими компиляторами Паскаля. Вы же не станете утверждать, что нужно перестать преподавать черчение на бумаге, взятие интегралов на бумаге, расчёт прочности балок на бумаге и т.п. лишь потому, что это нечто «архаичное и нежизнеспособное»?
Break
,Continue
,Exit
А вообще, посмотрите Википедию. Там обширнейший список визуальных языков программирования. Если соберётесь писать пост, вам придётся объяснять, чем ваш проект отличается от всех перечисленных. И конечно, советую воздержаться от громких слов о «пределе развития» и «новом этапе».
А стоит только появиться
typedef
в начале, такfun_ptr
, стоящий в середине, вдруг окажется именем типа. И это тоже логично?Что касается образования, то курс вовсе не ограничивается упражнениями с простенькими компиляторами Паскаля. Вы же не станете утверждать, что нужно перестать преподавать черчение на бумаге, взятие интегралов на бумаге, расчёт прочности балок на бумаге и т.п. лишь потому, что это нечто «архаичное и нежизнеспособное»?