Словарик философствующего информатика: различия между версиями

викификация
(викификация)
Информатика образовалась спонтанно при овладении человеком искусства автоматического вычисления, и с умопомрачительным, беспрецедентным успехом развилась в современную академическую дисциплину, исчадия которой включают в себя почти что всех главных богатеев планеты.
 
Вычисление же само по себе может изучаться, а так или иначе лежит в основах, '''математики''', глубокую и объединяющую суть которой пока не объяснили даже физики с философами.
 
В теоретической части это математика, но с припаянной к ней кнопкой Гёдель-стопа, а также загорающимся на самом интересном месте табло: НУЖЕН БЫСТРЕЕ КОД.
 
Прикладной же смысл информатики  — в составлении '''<s>правил</s>''', пардон, '''технологий обращения со сложностью''': [[:w:Вычислительная сложность|вычислительной]], [[:w:Колмогоровская сложность|колмогоровской]], [[:w:en:Game complexity|игровой]], инженерной, термодинамико-статистической… сенсорно-когнитивной… экономической…
 
Характерный внешний вид — — вид свалки умирающих технологий  — прикладная информатика принимает, среди прочего, из-за [[Рекурсия|рекурсии]]: порою наиболее сложными по своей природе оказываются сами технологии. Изучение оных постфактум представляет законченное, наукоподобное описание предметной системы, а также дает пути упрощения,  либо же поступательного усложнения.
 
Ещё одна  — не фундаментальная, но на практике характерная черта информатики — — это преобладание дискретных данных, соответственно, цифровых вычислительных устройств. Учёный, достигший редкого мастерства аналогового программирования, наверное, изучал параллельно информатике физику или что-то подобное, избежав «чистую» математику. Если тот учёный родился на свет, то если бы он написал целостный основной учебный текст, то информатика выглядела бы совершенно по-другому, притом оставаясь информатикой.  Однако, скорее всего, его еще на ранних подходах перевербовали в какую-нибудь военную авионику. Двадцатый век.
 
Но полно! Как же нам серьезно определить информатику? Видимо, наиболее близким к сути будет такое описание-определение:
=== Виртуализация ===
 
TODO
Виртуализация железяк. В том числе виртуализация вычислительных машин, хранилищ.
Связь с понятиями интерфейс, протокол.
Связь с многозадачными системами  — виртуализация нескольких исполнителей на одном. Иллюзия параллельности вычислений.
Связь со словом эмуляция.
Виртуализация на уровне железа.
* [[Слово «алгоритм»: происхождение и развитие]]
<!--
 
=== Стили (парадигмы) программирования ===
 
 
{{wikipedia|Моделирование}}
<blockquote>«исследование&nbsp; объектов&nbsp; познания на&nbsp; их&nbsp; моделях; построение и&nbsp; изучение&nbsp; моделей реально&nbsp; существующих&nbsp; предметов, процессов или явлений с&nbsp; целью&nbsp; получения объяснений&nbsp; этих&nbsp; явлений, а&nbsp; также для&nbsp; предсказания явлений, интересующих&nbsp; исследователя.»</blockquote>
 
Информатик иногда занимается созданием компьютерных моделей реальных объектов.
=== Сложность ===
 
Суть вопроса - — неизбежность сложности. Методы борьбы со сложностью:
 
Модульность. Разбиение ПС на модули - — наборы процедур (алгоритмов, объектов),
выполняющих связанную функциональность. Если программисту нужно обратиться
(проанализировать, изменить) к некой реализованной функциональности, то он откроет
конкретный модуль, который реализует эту функциональность. Снижается сложность для анализа.
 
Обеспечение независимости модулей системы. Если в одной части функциональности происходят
изменения, а она тесно связана с другой функциональностью (явным образом использует сущности,
предпосылки, связанные с изменившейся функциональностью), то по ПС прокатится "«волна
изменений"». Необходимо будет анализировать и изменять не один модуль, а несколько связанных.
Если же заранее сделать модули независимыми, то потребуются изменения только в конкретных
интерфейсах модулей (местах передачи входных параметров для функциональности модуля).
Снижается сложность для изменений.
 
Повторное использование. Если алгоритм успешно реализован в одной части ПС, а
затем требуется в другой части, то хорошо бы использовать уже реализованное, изменяя
лишь отдельные входные параметры алгоритма. Можно заранее выделить функциональность,
сделав её универсальной. Снижается сложность замены функциональности.
 
Использование иерархических структур. Если группа сущностей имеет одинаковые
свойства (поведение), то общую часть можно заранее выделить в отдельную сущность,
реализующую универсальные алгоритмы. Снижается сложность создания новых сущностей (адаптации системы).
<!--
 
=== Абстракция ===
-->
 
Например, подпоркой может называться кусок кода, в котором осуществляется обработка
не предусмотренного архитектурой системы случая. Типичные подпорки — - "«обертки"» для использования внешнего API.
Такие куски кода обычно много занимают места, но мало делают.
 
Шаги, предпринимаемые для достижения надёжности, не должны сильно усложнять разработку.
<!--
 
=== Самодокументированность (code self-documentation) ===
 
7076

правок