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 | [] Программирование на этом языке — самое адекватное наказание Вам за его изобретение. |