LINUX.ORG.RU

Дарую вам свою гениальную мысль о MetaTXTprog!

 , , ,


1

3

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

И так, для начала нужно выбрать хороший язык для основы, смысл делать велосипед? Раньше хорошим выбором был бы С, на нем как раз базируются многие успешные языки, но так как уже появился и получил популярность С++, у которого возможностей больше, нужно взять его! Можно конечно взять и С, для прототипа...

И так, какие проблемы имеются у С++? Ограниченность, Qt даже пришлось делать свой MOC, поэтому нужна расширяемость! А у кого лучшая расширяемость? Многие борщехлебы скажут что у Lisp'a, но это не так, он ограничен своими списками, а вот Forth нет, он ограничен разве что платформой на которой был запущен.

А какие проблемы есть у Forth? Это очень низкоуровневый язык, еще например в нем нет структур, их можно реализовать самому, но каждый реализует свои структуры которые не совместимы с другими! А даже если совместимы, нельзя улучшить ВСЕ структуры в Forth сразу, добавить им выравнивание к примеру, нужно улучшать каждую библиотеку по отдельности... Ужас.

Как же решить проблему Forth? А она сама решится, так как у нас будет база в виде C++ или C! Надо только дать удобный интерфейс ко всему этому, что бы можно было просто взять и пройти по полям структуры, добавить свои конструкции, юзать свои лексеры-парсеры... Тот же Forth, тольео вместо слов будут функции! Так же нужно обязательно взять идею с «одновременно компилятор и интерпретатор», многие удивятся, а зачем интерпретатор? Все просто, он нужен для расширяемости, что бы во время компиляции использовался код MegaTXTprog, а не какого нибудь препроцессора, как в Rust'овых макросах. Потом уже интерпретатор и всю ненужную среду можно будет выкинуть, главное что бы интерпретируемый код все настроил и расширил во время компиляции... Причем выкидывание нужно сделать опциональным, а вдруг понадобится eval? Его даже не нужно будет как то сложно реализовывать, Forth нам его подарит...

Жду такой язык уже джва года.

Домашнее задание:

  • Реализовать вычисление SEXP выражений на Forth для лучшего понимания сути языка.
  • Поиграться с Factor, попробовать собрать минимальную программу без среды.
  • Узнать что есть у конкурентов https://docs.racket-lang.org/guide/languages.html
Deleted
Ответ на: комментарий от anonymous

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

Это определение автоматически вполне возможно либо не вероятно, либо чертовски сложно. Хотя фиг знает, мне деление по Анону из Залупенберга (по мне) больше по душе. Всё разделяется и это естественно. Оно само разделяется. Даже КуТэ делиться на QML, какой-то скрипт и их тупые стили. Это просто естественно.

anonymous
()
Ответ на: комментарий от anonymous

Тут без вопросов, шейдероговно самое говно в мире. + отсутствие средств рантайм дебага, ни принтов, ни дебаггера.

anonymous
()
Ответ на: комментарий от anonymous

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

Deleted
()
Ответ на: комментарий от Deleted

Сам иди, школьник. Про тулзы не слышал, но если сделали, то круто, хотеть такое на линуксе.

anonymous
()
Ответ на: комментарий от anonymous

Это определение автоматически вполне возможно либо не вероятно, либо чертовски сложно.

либо ненужно лел. хотя нет, нужно.

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

на самом деле, я думаю такое уже есть, заслуженно гниет где-нибудь на джихабе с одной звездой.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.