Программирование
От: AlexCab LinkedIn
Дата: 22.02.12 11:33
Оценка:
Пытаюсь формализовать для себя некоторые понятия:

Данные это "оцифрованные" объекты мира(в контексте программирования).
Цель программирования это создать программу преобразовывающую данные.
Алгоритм это последовательность действий над данными, причём сам алгоритм может быть представлен в виде данных.
Императивное программирование это подход к созданию программы в виде алгоритма, то есть определение последовательности действий над данными.
Суть императивного программирования в том чтобы:
1.Представить некоторые данные в виде структуры(предать им структуру) с которой мог бы работать алгоритм(что не обязательно так как алгоритм может работать и с не структурированными данными).
2.Создать алгоритм их преобразования.
Декларативное программирование это подход к созданию программы в виде определения правил(требований) описывающих каким должен быть результат действий над данными.
При этом задача выбора алгоритма преобразования данных ложится на "исполнителя" требований.

Поправите если не прав и/или подскажите формулировку по лучше.
Спасибо.
Между тем,что я думаю,тем,что я хочу сказать,тем,что я,как мне кажется,говорю,и тем,что вы хотите услышать,тем,что как вам кажется,вы слышите,тем,что вы понимаете,стоит десять вариантов возникновения непонимания.Но всё-таки давайте попробуем...(Э.Уэллс)
Re: Программирование
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 23.02.12 03:36
Оценка: 1 (1)
По меньшей мере один момент смутил:

AC>Алгоритм это последовательность действий над данными, причём сам алгоритм может быть представлен в виде данных.


Последовательность — она линейная (*-*-*-*-*-*-*-*-*), без ветвлений. Тут какое-то другое слово надобно, чтобы суть ухватить.
Re: Программирование
От: lseder lseder.livejournal.com
Дата: 23.02.12 16:36
Оценка:
Любое описание системы начинается с формулирования цели описания.
Цель описания поможет разграничить внешние структуры и внутренние.
Например, если для вас самоцель — программирования, то в описание достаточно включить
исполнитель (процессор); ресурсы, состояния которых он изменяет (флаги,регистры,стек,память,хард диск) и команды
для исполнителя.
Если Вы все же думаете пошире — то в описание надо включать заказчика, его цель, потребности, доступные для него ресурсы,
алгоритмы решения, структуры данных, сценарии разработки, тестирования, верификации, валидации,
изменения, обновления, отслеживания, короче по всему жизненному циклу.

Мы же все делаем ради какой-то цели, вот от этого и надо плясать.

AC>Данные это "оцифрованные" объекты мира(в контексте программирования).

Если опираться на 4Д онтологию (3д пространство и время), то данные это временные состояния (states)
конкретных физических (individual) объектов. Разные состояния — разная информация, то есть оцифровка реального мира.
А далее надо знать цель построения описания.

Если посмотреть на это все в общем, то структура описания будет как у матрешки — конструкция/функция = новая функция.
Физическая ячейка памяти/значение ячейки -> значение ячейки/смысл значения (переменная в алгоритме)
смысл значения (переменная в алгоритме)/количество чего-то(в предметной области).
Re[2]: Программирование
От: AlexCab LinkedIn
Дата: 23.02.12 17:27
Оценка:
Здравствуйте, lseder, Вы писали:

L>Любое описание системы начинается с формулирования цели описания...

L>Мы же все делаем ради какой-то цели, вот от этого и надо плясать.
Это не описание системы, это я просто уточняю для себя некоторые понятия(термены), в контексте области "программирование".

AC>>Данные это "оцифрованные" объекты мира(в контексте программирования).

L>Если опираться на 4Д онтологию (3д пространство и время), то данные это временные состояния (states)...
L>А далее надо знать цель построения описания.
L>Если посмотреть на это все в общем, то структура описания будет как у матрешки...

"время", "цель", "состояние", "4D" это тоже объекты, а какова цель, структура их описания сейчас не важно.
Между тем,что я думаю,тем,что я хочу сказать,тем,что я,как мне кажется,говорю,и тем,что вы хотите услышать,тем,что как вам кажется,вы слышите,тем,что вы понимаете,стоит десять вариантов возникновения непонимания.Но всё-таки давайте попробуем...(Э.Уэллс)
Re: Программирование
От: Sinclair Россия https://github.com/evilguest/
Дата: 24.02.12 16:35
Оценка: +1
Здравствуйте, AlexCab, Вы писали:

AC>Пытаюсь формализовать для себя некоторые понятия:

AC>Поправите если не прав и/или подскажите формулировку по лучше.
Попробуйте походить по англоязычной википедии. Там всё неидеально, но, по крайней мере, вьедете в терминологию.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.