Итак, Вы собираетесь создать новый [] функциональный, [] императивный, [] объектно-ориентированный, [] процедурный, [] стековый, [] мультипарадигменный, [] быстрый, [] статически-типизированный, [] динамически-типизированный, [] чистый, [] богатый, [] не-искусственный, [] наглядный, [] простой для новичков, [] простой даже для не-программистов, [] абсолютно непостижимый язык программирования.
Не получится. И вот почему.
[] Синтаксис — это то, что делает язык сложным
[] Сборка мусора бесплатна
[] Компьютеры имеют бесконечную память
[] Никому на самом деле не нужны:
[] Весь мир общается в 7-битном ASCII
[] Масштабирование для больших проектов будет простым
[] Убедить программистов пользоваться новым языком будет просто
[] Убедить программистов пользоваться новой IDE будет просто
[] Все программисты любят шаблоны
[] Вам не аукнется обозначение некоторого поведения как «неопределенного»
[] нормальный синтаксис, [] точка_с_запятой_в_конце_строки, [] проблема табов\пробелов, [] макросы, [] неявное преобразование типов, [] явное преобразование типов, [] наследование, [] goto, [] исключения, [] замыкания, [] хвостовая рекурсия, [] подпрограммы, [] рефлексия, [] подтипы, [] множественное наследование, [] перегрузка операторов, [] алгебраические типы данных, [] рекурсивные типы данных, [] полиморфические типы данных, [] монады, [] зависимые типы данных, [] префиксные\постфиксные операторы, [] вложенные комментарии, [] переносы строк, [] регулярные выражения, [] вызовы по имени, [] вызовы по адресу.
[] Программисты не обязаны полностью понимать теорию относительности и квантовую механику чтобы написать на Вашем языке «Hello, World!»
[] У программистов не должен развиться туннельный синдром за время написания «Hello, World!» на Вашем языке
[] Пока что самая выдающаяся программа на Вашем языке — это компилятор Вашего языка
[] Пока что на Вашем языке Вы не можете написать даже компилятор Вашего языка
[] А еще у Вас нет никаких спецификаций
[] Реализация — вот спецификация
[] Ваша система типов дефектна
[] Некоторые конструкции Вашего языка, возможно, не могут быть трактованы однозначно
[] Название Вашего языка делает невозможным его поиск в Гугле
[] Ваш язык — интерпретируемый, а значит никогда не будет столь быстрым как С
[] Ваш язык — компилируемый, а значит никогда не будет гибким
[] Для компиляции Вашего языка требуется искусственный интеллект
[] Вы рассчитываете на оптимизации, которые, откровенно говоря, не способны реализовать
[] В мире меньше 100 программистов, достаточно умных, чтобы использовать Ваш язык
[] Задача ________________, которая у всех решается за полиномиальное время, на Вашем языке реализуется только за экспоненциальное
[] А задачу __________________ и вовсе реализовать нельзя
[] CPU работает не так, как Вы думаете
[] RAM работает не так, как Вы думаете
[] VM работает не так, как Вы думаете
[] И компиляторы не работают так, как Вы думаете
[] Более того — они даже в принципе никогда не смогли бы так работать
[] Конфликты «сдвиг-свертка» по ходу парсинга решаются методом rand()
[] Вам зачем-то понадобилось присутствие компилятора в рантайме
[] Вам зачем-то понадобился рантайм в компиляторе
[] Ошибки, выдаваемые Вашим компилятором, загадочны и непостижимы
[] Компилятор падает даже от брошенного на него косого взгляда
[] Вы не понимаете базовые принципы оптимизации
[] Вы не понимаете базовые принципы системного программирования
[] Вы не понимаете указатели
[] Вы не понимаете функции
[] Вам нечего ответить на просьбу увеличить скорость работы
[] Вам нечего ответить на просьбу упростить язык
[] Вы внаглую сфальсифицировали бенчмарки
[] Хотя это не помогло и никто всерьёз не поверил, что Ваш язык быстрее, чем
[] Вы бездоказательно отбросили классическую теорию разработки языков программирования
[] Вы бездоказательно отбросили основы системного программирования
[] Вы бездоказательно отбросили теорию алгоритмов
[] Да Вы вообще все компьютерные науки отбросили
[] Ваш «короткий» пример на 2 десятка строк можно реализовать одной строкой в языке __________
[] Уже существует небезопасный императивный язык
[] Уже существует безопасный императивный язык
[] Уже существует безопасный статически-типизированный функциональный язык
[] Вы переизобрели Lisp, только хуже
[] Вы переизобрели Javascript, только хуже
[] Вы переизобрели Java, только хуже
[] Вы переизобрели C++, только хуже
[] Вы переизобрели PHP, только хуже
[] Вы переизобрели PHP лучше, вот только никому ничего не докажете
[] Вы переизобрели Brainfuck, вот только в отличии от его авторов — на полном серьёзе
[] Вы молодец, у Вас есть кое-какие интересные идеи. Но это не взлетит.
[] Получился плохой язык и Вам должно быть стыдно за него.
[] Программирование на этом языке — самое адекватное наказание Вам за его изобретение.
Не получится. И вот почему.
Вы, скорее всего, верите, что:
[] Синтаксис — это то, что делает язык сложным
[] Сборка мусора бесплатна
[] Компьютеры имеют бесконечную память
[] Никому на самом деле не нужны:
- [] параллельность,
- [] интерактивность,
- [] поддержка отладчика,
- [] IDE,
- [] ввод\вывод,
- [] взаимодействие с кодом на других языках.
[] Весь мир общается в 7-битном ASCII
[] Масштабирование для больших проектов будет простым
[] Убедить программистов пользоваться новым языком будет просто
[] Убедить программистов пользоваться новой IDE будет просто
[] Все программисты любят шаблоны
[] Вам не аукнется обозначение некоторого поведения как «неопределенного»
К сожалению, в Вашем языке есть (нету):
[] нормальный синтаксис, [] точка_с_запятой_в_конце_строки, [] проблема табов\пробелов, [] макросы, [] неявное преобразование типов, [] явное преобразование типов, [] наследование, [] goto, [] исключения, [] замыкания, [] хвостовая рекурсия, [] подпрограммы, [] рефлексия, [] подтипы, [] множественное наследование, [] перегрузка операторов, [] алгебраические типы данных, [] рекурсивные типы данных, [] полиморфические типы данных, [] монады, [] зависимые типы данных, [] префиксные\постфиксные операторы, [] вложенные комментарии, [] переносы строк, [] регулярные выражения, [] вызовы по имени, [] вызовы по адресу.
И еще возникают такие вот философские препятствия:
[] Программисты не обязаны полностью понимать теорию относительности и квантовую механику чтобы написать на Вашем языке «Hello, World!»
[] У программистов не должен развиться туннельный синдром за время написания «Hello, World!» на Вашем языке
[] Пока что самая выдающаяся программа на Вашем языке — это компилятор Вашего языка
[] Пока что на Вашем языке Вы не можете написать даже компилятор Вашего языка
[] А еще у Вас нет никаких спецификаций
[] Реализация — вот спецификация
- [] но реализация закрытая,
- [] защищена патентами,
- [] не принадлежит Вам
[] Ваша система типов дефектна
[] Некоторые конструкции Вашего языка, возможно, не могут быть трактованы однозначно
- [] и есть конкретные примеры таких конструкций
- [] и они валят Ваш компилятор
[] Название Вашего языка делает невозможным его поиск в Гугле
[] Ваш язык — интерпретируемый, а значит никогда не будет столь быстрым как С
[] Ваш язык — компилируемый, а значит никогда не будет гибким
[] Для компиляции Вашего языка требуется искусственный интеллект
[] Вы рассчитываете на оптимизации, которые, откровенно говоря, не способны реализовать
[] В мире меньше 100 программистов, достаточно умных, чтобы использовать Ваш язык
[] Задача ________________, которая у всех решается за полиномиальное время, на Вашем языке реализуется только за экспоненциальное
[] А задачу __________________ и вовсе реализовать нельзя
Кроме того, Ваша реализация имеет следующие недостатки:
[] CPU работает не так, как Вы думаете
[] RAM работает не так, как Вы думаете
[] VM работает не так, как Вы думаете
[] И компиляторы не работают так, как Вы думаете
[] Более того — они даже в принципе никогда не смогли бы так работать
[] Конфликты «сдвиг-свертка» по ходу парсинга решаются методом rand()
[] Вам зачем-то понадобилось присутствие компилятора в рантайме
[] Вам зачем-то понадобился рантайм в компиляторе
[] Ошибки, выдаваемые Вашим компилятором, загадочны и непостижимы
[] Компилятор падает даже от брошенного на него косого взгляда
[] Вы не понимаете базовые принципы оптимизации
[] Вы не понимаете базовые принципы системного программирования
[] Вы не понимаете указатели
[] Вы не понимаете функции
И еще есть и некоторые маркетинговые проблемы:
[] Вам нечего ответить на просьбу увеличить скорость работы
[] Вам нечего ответить на просьбу упростить язык
[] Вы внаглую сфальсифицировали бенчмарки
- [] в компилятор были вшиты вычисленные заранее значения расчетов, симуляций или тестов
- [] в тестах строковых операций Вы незаметно использовали Perl
- [] в мат. тестах Вы незаметно использовали BLAS
[] Хотя это не помогло и никто всерьёз не поверил, что Ваш язык быстрее, чем
- [] Ассемблер
- [] С
- [] Фортран
- [] Java
- [] Руби
- [] Пролог
[] Вы бездоказательно отбросили классическую теорию разработки языков программирования
[] Вы бездоказательно отбросили основы системного программирования
[] Вы бездоказательно отбросили теорию алгоритмов
[] Да Вы вообще все компьютерные науки отбросили
Смотря на всё это в общем, следует заметить, что:
[] Ваш «короткий» пример на 2 десятка строк можно реализовать одной строкой в языке __________
[] Уже существует небезопасный императивный язык
[] Уже существует безопасный императивный язык
[] Уже существует безопасный статически-типизированный функциональный язык
[] Вы переизобрели Lisp, только хуже
[] Вы переизобрели Javascript, только хуже
[] Вы переизобрели Java, только хуже
[] Вы переизобрели C++, только хуже
[] Вы переизобрели PHP, только хуже
[] Вы переизобрели PHP лучше, вот только никому ничего не докажете
[] Вы переизобрели Brainfuck, вот только в отличии от его авторов — на полном серьёзе
Ну и вот что я о Вас думаю:
[] Вы молодец, у Вас есть кое-какие интересные идеи. Но это не взлетит.
[] Получился плохой язык и Вам должно быть стыдно за него.
[] Программирование на этом языке — самое адекватное наказание Вам за его изобретение.