View difference between Paste ID: ZWRce5nq and 8ivVzQKP
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
  [] Программирование на этом языке — самое адекватное наказание Вам за его изобретение.