SHOW:
|
|
- or go back to the newest paste.
| 1 | Итак, Вы собираетесь создать новый | |
| 2 | [] функциональный | |
| 3 | [] императивный | |
| 4 | [] объектно-ориентированный | |
| 5 | [] процедурный | |
| 6 | [] стековый | |
| 7 | [] мультипарадигменный | |
| 8 | [] быстрый | |
| 9 | [] статически-типизированный | |
| 10 | [] динамически-типизированный | |
| 11 | [] чистый | |
| 12 | [] богатый | |
| 13 | [] не-искусственный | |
| 14 | [] наглядный | |
| 15 | [] простой для новичков | |
| 16 | [] простой даже для не-программистов | |
| 17 | [] абсолютно непостижимый | |
| 18 | язык программирования. | |
| 19 | ||
| 20 | Не получится. И вот почему. | |
| 21 | Вы, скорее всего, верите, что: | |
| 22 | [] Синтаксис — это то, что делает язык сложным | |
| 23 | [] Сборка мусора бесплатна | |
| 24 | [] Компьютеры имеют бесконечную память | |
| 25 | [] Никому на самом деле не нужны: | |
| 26 | [] параллельность, | |
| 27 | [] интерактивность, | |
| 28 | [] поддержка отладчика, | |
| 29 | [] IDE, | |
| 30 | [] ввод\вывод, | |
| 31 | [] взаимодействие с кодом на других языках. | |
| 32 | [] Весь мир общается в 7-битном ASCII | |
| 33 | [] Масштабирование для больших проектов будет простым | |
| 34 | [] Убедить программистов пользоваться новым языком будет просто | |
| 35 | [] Убедить программистов пользоваться новой IDE будет просто | |
| 36 | [] Все программисты любят шаблоны | |
| 37 | [] Вам не аукнется обозначение некоторого поведения как «неопределенного» | |
| 38 | ||
| 39 | К сожалению, в Вашем языке есть (нет): | |
| 40 | [] нормальный синтаксис | |
| 41 | [] точка_с_запятой_в_конце_строки | |
| 42 | [] проблема табов\пробелов | |
| 43 | [] макросы | |
| 44 | [] неявное преобразование типов | |
| 45 | [] явное преобразование типов | |
| 46 | [] наследование | |
| 47 | [] goto | |
| 48 | [] исключения | |
| 49 | [] замыкания | |
| 50 | [] хвостовая рекурсия | |
| 51 | [] подпрограммы | |
| 52 | [] рефлексия | |
| 53 | [] подтипы | |
| 54 | [] множественное наследование | |
| 55 | [] перегрузка операторов | |
| 56 | [] алгебраические типы данных | |
| 57 | [] рекурсивные типы данных | |
| 58 | [] полиморфические типы данных | |
| 59 | [] монады | |
| 60 | [] зависимые типы данных | |
| 61 | [] префиксные\постфиксные операторы | |
| 62 | [] вложенные комментарии | |
| 63 | [] переносы строк | |
| 64 | [] регулярные выражения | |
| 65 | [] вызовы по имени | |
| 66 | [] вызовы по адресу. | |
| 67 | ||
| 68 | И еще возникают такие вот философские препятствия: | |
| 69 | [] Программисты не обязаны полностью понимать теорию относительности и квантовую механику чтобы написать на Вашем языке «Hello, World!» | |
| 70 | [] У программистов не должен развиться туннельный синдром за время написания «Hello, World!» на Вашем языке | |
| 71 | [] Пока что самая выдающаяся программа на Вашем языке — это компилятор Вашего языка | |
| 72 | [] Пока что на Вашем языке Вы не можете написать даже компилятор Вашего языка | |
| 73 | [] А еще у Вас нет никаких спецификаций | |
| 74 | [] Реализация — вот спецификация | |
| 75 | [] но реализация закрытая, | |
| 76 | [] защищена патентами, | |
| 77 | [] не принадлежит Вам | |
| 78 | [] Ваша система типов дефектна | |
| 79 | [] Некоторые конструкции Вашего языка, возможно, не могут быть трактованы однозначно | |
| 80 | [] и есть конкретные примеры таких конструкций | |
| 81 | [] и они валят Ваш компилятор | |
| 82 | [] Название Вашего языка делает невозможным его поиск в Гугле | |
| 83 | [] Ваш язык — интерпретируемый, а значит никогда не будет столь быстрым как С | |
| 84 | [] Ваш язык — компилируемый, а значит никогда не будет гибким | |
| 85 | [] Для компиляции Вашего языка требуется искусственный интеллект | |
| 86 | [] Вы рассчитываете на оптимизации, которые, откровенно говоря, не способны реализовать | |
| 87 | [] В мире меньше 100 программистов, достаточно умных, чтобы использовать Ваш язык | |
| 88 | [] Задача ________________, которая у всех решается за полиномиальное время, на Вашем языке реализуется только за экспоненциальное | |
| 89 | [] А задачу __________________ и вовсе реализовать нельзя | |
| 90 | ||
| 91 | Кроме того, Ваша реализация имеет следующие недостатки: | |
| 92 | [] CPU работает не так, как Вы думаете | |
| 93 | [] RAM работает не так, как Вы думаете | |
| 94 | [] VM работает не так, как Вы думаете | |
| 95 | [] И компиляторы не работают так, как Вы думаете | |
| 96 | [] Более того — они даже в принципе никогда не смогли бы так работать | |
| 97 | [] Конфликты «сдвиг-свертка» по ходу парсинга решаются методом rand() | |
| 98 | [] Вам зачем-то понадобилось присутствие компилятора в рантайме | |
| 99 | [] Вам зачем-то понадобился рантайм в компиляторе | |
| 100 | [] Ошибки, выдаваемые Вашим компилятором, загадочны и непостижимы | |
| 101 | [] Компилятор падает даже от брошенного на него косого взгляда | |
| 102 | [] Вы не понимаете базовые принципы оптимизации | |
| 103 | [] Вы не понимаете базовые принципы системного программирования | |
| 104 | [] Вы не понимаете указатели | |
| 105 | [] Вы не понимаете функции | |
| 106 | ||
| 107 | И еще есть и некоторые маркетинговые проблемы: | |
| 108 | [] Вам нечего ответить на просьбу увеличить скорость работы | |
| 109 | [] Вам нечего ответить на просьбу упростить язык | |
| 110 | [] Вы внаглую сфальсифицировали бенчмарки | |
| 111 | [] в компилятор были вшиты вычисленные заранее значения расчетов, симуляций или тестов | |
| 112 | [] в тестах строковых операций Вы незаметно использовали Perl | |
| 113 | [] в мат. тестах Вы незаметно использовали BLAS | |
| 114 | [] Хотя это не помогло и никто всерьёз не поверил, что Ваш язык быстрее, чем | |
| 115 | [] Ассемблер | |
| 116 | [] С | |
| 117 | [] Фортран | |
| 118 | [] Java | |
| 119 | [] Руби | |
| 120 | [] Пролог | |
| 121 | [] Вы бездоказательно отбросили классическую теорию разработки языков программирования | |
| 122 | [] Вы бездоказательно отбросили основы системного программирования | |
| 123 | [] Вы бездоказательно отбросили теорию алгоритмов | |
| 124 | [] Да Вы вообще все компьютерные науки отбросили | |
| 125 | ||
| 126 | Смотря на всё это в общем, следует заметить, что: | |
| 127 | [] Ваш «короткий» пример на 2 десятка строк можно реализовать одной строкой в языке __________ | |
| 128 | [] Уже существует небезопасный императивный язык | |
| 129 | [] Уже существует безопасный императивный язык | |
| 130 | [] Уже существует безопасный статически-типизированный функциональный язык | |
| 131 | [] Вы переизобрели Lisp, только хуже | |
| 132 | [] Вы переизобрели PHP, только хуже | |
| 133 | [] Вы изобрели что-то лучше, чем PHP, но это не оправдание | |
| 134 | [] Вы переизобрели Javascript, только хуже | |
| 135 | [] Вы переизобрели Java, только хуже | |
| 136 | [] Вы переизобрели C++, только хуже | |
| 137 | [] Вы переизобрели Brainfuck, вот только в отличии от его авторов — на полном серьёзе | |
| 138 | ||
| 139 | Ну и вот что я о Вас думаю: | |
| 140 | [] Вы молодец, у Вас есть кое-какие интересные идеи. Но это не взлетит. | |
| 141 | [] Получился плохой язык и Вам должно быть стыдно за него. | |
| 142 | [] Программирование на этом языке — самое адекватное наказание Вам за его изобретение. |