|
|
@@ -45,9 +45,13 @@ _Форма одна, суть разная_.
|
|
|
|
|
|
Общий вывод по разделу: язык должен быть максимально простым и _программирующим_ логику аппаратуры. Простота нужна, чтобы не испытывать сложности в проектировании аппаратуры. При этом язык не должен скатываться до примитивного уровня, в противном случае -- это будет ассемблер в другой форме.
|
|
|
|
|
|
-## Устранение шкафа
|
|
|
+## Наводим порядок в шкафу
|
|
|
|
|
|
-Хватит разводить пауков шкафу и прятать в нём скелеты. Язык не должен развращать программиста вкусовыми добавками. Язык программирования в зависимости от его объема может выступать как яд, а может как лекарство -- всё зависит от дозы. Очевидно, что отсутствие всяких дополнительных возможностей языка сделает его крайне неудобным с практической точки зрения. Слишком большой шкаф -- будет выкручивать руки программисту и постоянно ему отдавливать пальцы. Поэтому, тут тоже следует пользоваться правилом: 20% усилий дают 80% результата. Какие-то вещи _должны_ остаться в шкафу, чтобы не захламлять пространство языка. Но при этом он не должен превращаться в недвижимое имущество. Иначе язык будет неспособен к портированию на другие платформы.
|
|
|
+Хватит разводить пауков шкафу и прятать в нём скелеты. Язык не должен развращать программиста вкусовыми добавками. Язык программирования в зависимости от его объема может выступать как яд, а может как лекарство -- всё зависит от дозы. Очевидно, что отсутствие всяких дополнительных возможностей языка сделает его крайне неудобным с практической точки зрения. Слишком большой шкаф -- будет выкручивать руки программисту и постоянно ему отдавливать пальцы своим весом. Поэтому, тут тоже следует пользоваться правилом: 20% усилий дают 80% результата. Какие-то вещи _должны_ остаться в шкафу, чтобы не захламлять пространство языка. Но при этом он не должен превращаться в недвижимое имущество. Иначе язык будет неспособен к портированию на другие платформы.
|
|
|
+
|
|
|
+Идеальные размер шкафа -- небольшой саквояж. В таком виде там врядли поместится хотя бы один скелет.
|
|
|
+
|
|
|
+Точно также, возможны особые случаи: когда от шкафа необходимо избавиться совсем. Если такая необходимость действительно возникнет -- именно так и следует поступить, не забывая о том, сколько это будет стоить.
|
|
|
|
|
|
## Системный язык
|
|
|
|
|
|
@@ -66,6 +70,13 @@ _Форма одна, суть разная_.
|
|
|
- должен предоставлять достаточное число высокоуровневых абстракций и герметизировать программу в своей среде;
|
|
|
- в силу своего малого размера системный язык должен позволять относительно лёгкий перенос языка с платформы на платформу; при этом, по понятным причинам появляется подвал, но размер подвала должен оставаться небольшим, и он не должен протекать на уровень языка;
|
|
|
|
|
|
+Любое инженерное решение в нашем реальном мире -- это компромисс между двумя крайними точками:
|
|
|
+
|
|
|
+- минимально допустимое решение, ужимать которое ещё больше -- значит не обеспечить заданных ТТХ;
|
|
|
+- построить изделие очень высокого качества; на столько высокого, что увеличение качества изделия на 1% потребует увеличение усилий на 3% -- можно, но экономически уже не эффективно;
|
|
|
+
|
|
|
+Истина находится где-то по середение.
|
|
|
+
|
|
|
## Итого
|
|
|
|
|
|
Существующий мейнстрим ИТ давно идёт широкими шагами в пропасть. Безопасность, переносимость, управляемость ПО -- стоят крайне дорого. Бизнес _не желает_ тратить свои ресурсы на эти вопросы. Бизнес желает приватизировать доходы и национализировать расходы. Бизнес покупает то, что ему продают. Увы, то что рекламируют не является тем, что стоит бизнесу покупать.
|