Programming 2.0
От: Зверёк Харьковский  
Дата: 07.01.07 01:18
Оценка: 7 (1) +1
Тут о О'Рейллей интересный (и спорный, вестимо) пост про "сдвиг парадигмы" программирования вообще, символизируемый (но не являющийся прямым результатом) всеми последними "2.0", появлением "человечных фреймворков" и проч. Идея выражается списком, приводимым ниже. Часть его, в общем, понятный hype (типа "медленный — быстрый"). Но остальное лично мне представляется довольно интересным. Перевод, понятное дело, мой.

Итак, "список перемен, символизирующий сдвиг парадигмы в последнее десятилетие"

Бинарный -> Текстовый
Скомпилировать -> Подключить (plug-in)
Написать-Скомпилировать-Запустить-Тестировать -> Написать-Тестировать-Запустить
Периодические Релизы -> Постоянное обновление (real-time updates)
Тестирование конечными ползователями -> Библиотеки, привнесенные пользователями
Управляемый производителем -> Управляемый конечным пользователем
Медленный -> Быстрый ( — З.Х.)
Централизованный/Проприетарный -> Распределенный/Открытый
Акцент на производство -> Акцент на создание
Процедурный -> Объектно-Ориентированный ( — З.Х.)
Персональный (custom) код -> Персонализуемый (customizable) код
Хрупкий -> Гибкий
Синдром "Не Здесь Придумано" -> "С некоторой помощью моих друзей"
Монолитный -> Модульный ( — З.Х.)
Преимущество: Крупный -> Преимущество: Мелкий

FAQ — це мiй ай-кью!
Re: Programming 2.0
От: buriy Россия http://www.buriy.com/
Дата: 07.01.07 02:18
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>Написать-Скомпилировать-Запустить-Тестировать -> Написать-Тестировать-Запустить

Медленно скомпилировать -> Быстро, чтобы пользователь этого даже и не заметил.
Вариация твоего
ЗХ>Медленный -> Быстрый ( — З.Х.)

Короче, не парадигма сдвинулась, а быстродействие компов увеличилось.
/bur
Re: Programming 2.0
От: Андрей Хропов Россия  
Дата: 07.01.07 12:43
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>Бинарный -> Текстовый


Да, и мне это не очень нравится: Re[27]: Is SOAP simple?
Автор: Андрей Хропов
Дата: 05.01.07
.
Впрочем, здравый смысл я думаю победит ( ) все равно, так что будет и то и другое, где оправдано.

ЗХ>Скомпилировать -> Подключить (plug-in)

+1. Это поддерживаю.

ЗХ>Написать-Скомпилировать-Запустить-Тестировать -> Написать-Тестировать-Запустить

Как можно тестировать перед тем как запустить непонятно. Тест, в общем-то и есть пробный запуск.

ЗХ>Периодические Релизы -> Постоянное обновление (real-time updates)

Тут есть и плюсы и минусы. Плюсы в том, что баги исправляются и новые фичи появляются быстрее, минусы
КМК в том что несколько непонятным становится что же хорошо работает, а что в альфа- или бета- стадии. Получаем вечный недострой, которым отчасти можно пользоваться, но со стабильностью которого порой большие проблемы.

ЗХ>Тестирование конечными ползователями -> Библиотеки, привнесенные пользователями

Это справедливо только тогда когда пользователи — программисты (т.е. программа — некий компонент).

ЗХ>Управляемый производителем -> Управляемый конечным пользователем



ЗХ>Медленный -> Быстрый ( — З.Х.)

Наоборот.

ЗХ>Централизованный/Проприетарный -> Распределенный/Открытый

+1.

ЗХ>Акцент на производство -> Акцент на создание



ЗХ>Процедурный -> Объектно-Ориентированный ( — З.Х.)

... (в будущем) -> Функциональный ?

ЗХ>Персональный (custom) код -> Персонализуемый (customizable) код

С этим все сложно.

ЗХ>Хрупкий -> Гибкий

В смысле хрупкий?

ЗХ>Синдром "Не Здесь Придумано" -> "С некоторой помощью моих друзей"

+1

ЗХ>Монолитный -> Модульный ( — З.Х.)

+1

ЗХ>Преимущество: Крупный -> Преимущество: Мелкий

Да нет, большинство программ все продолжают пухнуть.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Programming 2.0
От: Зверёк Харьковский  
Дата: 07.01.07 12:56
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

Я спорить не буду ни с чем. Только хочу уточнить, что это был (и не мой, к тому же) пост не на тему "как правильно", а на тему "куда вроде бы все в целом движется".
Я на эти темы имею свое мнение, но предпочитаю пока придержать его при себе.

Ну и некоторые пояснения по "темным местам".

ЗХ>>Тестирование конечными ползователями -> Библиотеки, привнесенные пользователями

АХ>Это справедливо только тогда когда пользователи — программисты (т.е. программа — некий компонент).

Как выяснилось, не только.
Например, людей, способных слепить простенький css или простенький js — неизмеримо больше, чем "программистов". И когда появилась возможность подключать к браузерам user css/user js — всякие полезные и не очень скрипты расплодились взрывообразно. То же — со всякого рода widgets. Квалификация, для того чтобы их лепить, нужна вполне на уровне "пользователь, могущий написать пару макросов для Ворда".

ЗХ>>Управляемый производителем -> Управляемый конечным пользователем

АХ>

Ну, это все на тему user-generated content и проч. Производитель поставляет "пустую оболочку" — а чем ее наполнят конечные пользователи, это еще бабушка надвое.

ЗХ>>Акцент на производство -> Акцент на создание

АХ>

Production vs. Creation — написание программ как акт производства (заводского, по заданному режиму, на конвеере, десятками и сотнями "простых труженников") против написания как акта творчества — небольших изящных объектов, результатов творчества одного-двух-трех человек. На которых уже потом нарастает "созданное пользователями".

ЗХ>>Хрупкий -> Гибкий

АХ>В смысле хрупкий?

Ну, видимо, имелось в виду — изменились требования, система рассыпалась.

ЗХ>>Преимущество: Крупный -> Преимущество: Мелкий

АХ>Да нет, большинство программ все продолжают пухнуть.

Эт смотря что считать "современными программами, демонстрирующими основные тенденции". Люди, работавшие над процитированным списком, к вебу ближе, чем к корпоративному монстростроению.
FAQ — це мiй ай-кью!
Re: Programming 2.0
От: Пух Украина  
Дата: 07.01.07 13:06
Оценка: +1
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>Тут о О'Рейллей интересный (и спорный, вестимо) пост про "сдвиг парадигмы" программирования вообще, символизируемый (но не являющийся прямым результатом) всеми последними "2.0", появлением "человечных фреймворков" и проч. Идея выражается списком, приводимым ниже. Часть его, в общем, понятный hype (типа "медленный — быстрый"). Но остальное лично мне представляется довольно интересным. Перевод, понятное дело, мой.


Сдвиг, но не парадигмы программирования.
Дело в появлении персоналок и увеличении числа пользователей программ.
Сейчас тех, кто подключает, стало намного больше, чем тех, кто компилирует.
Но прежде чем плагинить, все равно нужно компилировать, прежде чем обновить, нужно сделать релиз и тд.
Пользователей больше, и их слова звучат чаще, но программисты с битами никуда не исчезли
Re[3]: Programming 2.0
От: Андрей Хропов Россия  
Дата: 07.01.07 14:36
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>>>Тестирование конечными ползователями -> Библиотеки, привнесенные пользователями

АХ>>Это справедливо только тогда когда пользователи — программисты (т.е. программа — некий компонент).

ЗХ>Как выяснилось, не только.

ЗХ>Например, людей, способных слепить простенький css или простенький js — неизмеримо больше, чем "программистов". И когда появилась возможность подключать к браузерам user css/user js — всякие полезные и не очень скрипты расплодились взрывообразно. То же — со всякого рода widgets. Квалификация, для того чтобы их лепить, нужна вполне на уровне "пользователь, могущий написать пару макросов для Ворда".

Да, но это не серьезно. В основном они похожи на друг друга как 2 капли воды. Мне неинтересно рассматривать тривиальную кастомизацию на уровне "хочу зеленый, а не красный фон", поскольку к программированию это имеет мало отношения.

ЗХ>>>Управляемый производителем -> Управляемый конечным пользователем

АХ>>

ЗХ>Ну, это все на тему user-generated content и проч. Производитель поставляет "пустую оболочку" — а чем ее наполнят конечные пользователи, это еще бабушка надвое.


Какое отношение имеет user-generated content к программированию?

ЗХ>>>Акцент на производство -> Акцент на создание

АХ>>

ЗХ>Production vs. Creation — написание программ как акт производства (заводского, по заданному режиму, на конвеере, десятками и сотнями "простых труженников") против написания как акта творчества — небольших изящных объектов, результатов творчества одного-двух-трех человек. На которых уже потом нарастает "созданное пользователями".


А это всегда так. Архитектор(ы) придумывают идею, разрабатывают концепцию, а "простые труженики" начинают ее дорабатывать и доводить до ума.

ЗХ>>>Преимущество: Крупный -> Преимущество: Мелкий

АХ>>Да нет, большинство программ все продолжают пухнуть.

ЗХ>Эт смотря что считать "современными программами, демонстрирующими основные тенденции". Люди, работавшие над процитированным списком, к вебу ближе, чем к корпоративному монстростроению.


Да, но массовый веб — это в основном не программирование, а дизайн (да и то большинство по шаблонам делает). Те, кто работают с вебом пользуются продуктами созданными "монстростроителями".
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Programming 2.0
От: Lloyd Россия  
Дата: 07.01.07 15:00
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

ЗХ>>Написать-Скомпилировать-Запустить-Тестировать -> Написать-Тестировать-Запустить

АХ>Как можно тестировать перед тем как запустить непонятно. Тест, в общем-то и есть пробный запуск.

TDD?
Re[4]: Programming 2.0
От: raskin Россия  
Дата: 07.01.07 15:35
Оценка:
Андрей Хропов wrote:
> ЗХ>Как выяснилось, не только.
> ЗХ>Например, людей, способных слепить простенький css или простенький js
> — неизмеримо больше, чем "программистов". И когда появилась возможность
> подключать к браузерам user css/user js — всякие полезные и не очень
> скрипты расплодились взрывообразно. То же — со всякого рода widgets.
> Квалификация, для того чтобы их лепить, нужна вполне на уровне
> "пользователь, могущий написать пару макросов для Ворда".
>
> Да, но это не серьезно. В основном они похожи на друг друга как 2 капли
> воды. Мне неинтересно рассматривать тривиальную кастомизацию на уровне
> "хочу зеленый, а не красный фон", поскольку к программированию это имеет
> мало отношения.
'Просто пользователь' может успешно перекидать весь layout сайта с
помощью Platypus, добавить пару ссылок на другие сайты или на этот же
сайт (зависящих от контекста). Также заменить все ссылки по протоколу
news:// на ссылку, например, на google news. Полезно, чтобы среди
пользователей были программисты — дабы иногда делать более сложные вещи
— но не надо, чтобы их было большинство.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Programming 2.0
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 07.01.07 15:48
Оценка:
Здравствуйте, buriy, Вы писали:

ЗХ>>Медленный -> Быстрый ( — З.Х.)


B>Короче, не парадигма сдвинулась, а быстродействие компов увеличилось.


А может, это не про скорость самого софта, а про скрость его написания?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Programming 2.0
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 07.01.07 16:54
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>Тут о О'Рейллей интересный (и спорный, вестимо) пост [...]


А ссылку на оригинал можно?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[2]: Programming 2.0
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 07.01.07 21:13
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

ЗХ>>Процедурный -> Объектно-Ориентированный ( — З.Х.)

АХ> ... (в будущем) -> Функциональный ?

ИМХО, гибридный, т.е. Функциональный + ОО + ...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Programming 2.0
От: Quintanar Россия  
Дата: 07.01.07 21:45
Оценка: +3
Здравствуйте, Андрей Хропов, Вы писали:

ЗХ>>Написать-Скомпилировать-Запустить-Тестировать -> Написать-Тестировать-Запустить

АХ>Как можно тестировать перед тем как запустить непонятно. Тест, в общем-то и есть пробный запуск.

Очень просто. См. языки с REPL (read-eval-print loop) идеологией.
Re[2]: Programming 2.0
От: Зверёк Харьковский  
Дата: 07.01.07 22:27
Оценка: 22 (1)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, Зверёк Харьковский, Вы писали:


ЗХ>>Тут о О'Рейллей интересный (и спорный, вестимо) пост [...]


ГВ>А ссылку на оригинал можно?


Тыща извинений. Запамятовал.
http://radar.oreilly.com/archives/2007/01/programming_20.html
FAQ — це мiй ай-кью!
Re[3]: Programming 2.0
От: Андрей Хропов Россия  
Дата: 07.01.07 23:29
Оценка:
Здравствуйте, Quintanar, Вы писали:

Q>Здравствуйте, Андрей Хропов, Вы писали:


ЗХ>>>Написать-Скомпилировать-Запустить-Тестировать -> Написать-Тестировать-Запустить

АХ>>Как можно тестировать перед тем как запустить непонятно. Тест, в общем-то и есть пробный запуск.

Q>Очень просто. См. языки с REPL (read-eval-print loop) идеологией.

А что такое "Запустить" в таком случае?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Programming 2.0
От: raskin Россия  
Дата: 07.01.07 23:34
Оценка:
Андрей Хропов wrote:
> ЗХ>>>Написать-Скомпилировать-Запустить-Тестировать ->
> Написать-Тестировать-Запустить
> АХ>>Как можно тестировать перед тем как запустить непонятно. Тест, в
> общем-то и есть пробный запуск.
>
> Q>Очень просто. См. языки с REPL (read-eval-print loop) идеологией.
> А что такое "Запустить" в таком случае?
Отладить функции в REPL, после чего выгрузить все в файл, сделать одну
из них вызываемой при запуске, и запустить готовый файл.
Posted via RSDN NNTP Server 2.1 beta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.