Sunday, January 10, 2010

К вопросу о глобальном потеплении (Hebrew)

http://www.calcalist.co.il/local/articles/0,7340,L-3385370,00.html

Сверху вниз и снизу вверх. Часть I

UPDATE 10-10-2010:
Cм. также
Оптимистический и пессимистический взгляд на жизнь
Parsing - синтаксический анализ Сверху вниз и снизу вверх. Часть II (продолжение)
BFS and DFS - поиск в ширину и глубину Сверху вниз и снизу вверх. Часть III (продолжение)
END OF UPDATE.
UPDATE 17-10-2010:
Testing first - сначала тестировать Сверху вниз и снизу вверх. Часть IV
END OF UPDATE

Существует два разных подхода в решение поставленных задач, которые условно называется сверху вниз (Top down) и снизу вверх (buttom up). Практически, они могут быть замечены как разные стили размышления и обучения. Во многих случаях подход сверху вниз используется как синоним анализа или декомпозиции, и снизу вверх как синтез.

Подход сверху вниз по существу взламывает систему, чтобы получить сведения о ее составляющих подсистемах. При этом подходе сначала делается краткий обзор системы, определяя, но не детализируя любые подсистемы первого уровня. Каждая подсистема тогда усовершенствуется во всё больших деталях, иногда обрастая многими дополнительными подсистемами, пока не будут покрыты все требования. Эта модель часто определяется с помощью "чёрных ящиков" (black boxes), они облегчают работу. Однако, "черные ящики" могут быть не в состоянии прояснить элементарные механизмы или быть не достаточно детализированными, чтобы реалистично проверить правильность модели.

Ниже есть продолжение.

Подход снизу вверх - это соединений вместе систем, создавая бо́льшую систему, делая так образом первоначальные системы подсистемами создаваемой системы. При этом подходе сначала определяются базовые элементы системы во всех деталях. Эти элементы соединяются в бо́льшие подсистемы, которые в свою очередь соединяются, иногда на многих уровнях, пока не получается законченная система. Этот подход напоминает модель "семени" ("seed") когда основания малы, но в к конечном счёте они растут в сложности и законченности. Однако, такой подход может привести к путанице элементов и подсистем, разработанных в изоляции. Такой подход подвержен локальным оптимизациям, отклоняясь от удовлетворения глобальной цели.

Использование этих подходов в программировании.

Подход снизу вверх подчеркивает написание кода и раннее тестирование (unit testing), которое может начаться как только будет готова спецификация для первого модуля. Этот подход, однако, подвергается риску написания модулей без чёткого представления о том, как они будут связаны с другими частями системы, что может оказаться не таким простом как в начале казалось. Повторное использование кода является один из основных достоинств этого подхода.

Подход сверху вниз подчёркивает планирование и полное понимание системы. Неотделимым свойствам этого подхода является то, что написание кода не может начаться пока не будет достигнуто достаточный уровень детализации в дизайне по-крайней мере части программы. При этом подходе используются "заглушки" на месте модулей. Это, однако задерживает unit testing системы до завершение значительной части дизайна.


Подход снизу вверх был популярен среди разработчиков программного обеспечение до конца 1980-ых годов. Объектно-ориентированное программирование показало, что оба подхода и сверху вниз и снизу вверх могут быть использованы.

Современные подхода дизайна программного обеспечение обычно комбинируют оба подхода. Хотя понимание всей системы обычно считается необходимым для хорошего дизайна, ведя теоретически к подходу сверху вниз, большинство проектов по разработке программного обеспечения пытаются использовать существующий код до некоторой степени. Существующие ранее модули дают дизайну налёт подхода снизу вверх. Некоторые также используют подход, где частично функциональная система проектируется и пишется. Затем эта система расширяется, чтобы удовлетворить требований спецификации для этого проекта.

Подход сверху вниз является оплотом традиционных процедурных языков программирования в которых дизайн начинается определением сложных частей и затем делением их на последовательно меньшие части. В конечном счете, компоненты являются достаточно определенными чтобы их можно было написать. Это полная противоположность подхода программирования снизу вверх, который распространён на объектно-ориентированных языках, таких как C++ или Java.

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

Определяя как приложение объединяется на высоком уровне, работа на низком уровне может быть самодостаточной. Определяя как низкие уровни абстракции должны быть интегрированы в более высокие уровни, интерфейс становится ясно определён.

В следующих постах будет рассмотрены различные варианты применения этих подходов на примере:

2. Parsing - синтаксический анализ.
3. BFS and DFS exploration - Поиск в ширину и глубину.
4. Testing first - Сначала тестировать.
5. Note first - Сначала писать комментарии.


При написании поста была использована статья в википедии
http://en.wikipedia.org/wiki/Top-down_and_bottom-up_design

Текстовое содержимое доступно в соответствии с GNU Free Documentation License: http://www.gnu.org/copyleft/fdl.html. Источник: Википедиа http://en.wikipedia.org/wiki/Top-down_and_bottom-up_design. Авторы: http://en.wikipedia.org/w/index.php?title=Top-down_and_bottom-up_design&action=history

Продолжение следует.

Результат беспорядков: итальянские власти депортируют африканских нелегалов

http://txt.newsru.co.il/world/10jan2010/ital505.html

Эстония будет переходить на евро по существующему обменному курсу


По мнению МВФ, учитывая действия эстонского правительства по улучшению показателей госбюджета на 2010 год, Эстония способна выполнить все Маастрихтские критерии для перехода на евро в 2011 году.

Маастрихтские критерии - финансово-экономические показатели страны, показывающие ее готовность вступить в еврозону. По этим критериям оценивается жизнеспособность финансовой системы, уровень цен и стабильность валютного курса. В частности, дефицит правительственного сектора бюджета должен быть менее 3% от ВВП, долг правительственного сектора - менее 60% от ВВП, а размер инфляции не должен превышать более чем на 1,5 процентных пункта средний уровень трех стран Евросоюза, достигших наилучших результатов в сфере стабильности цен.

http://russian.news.cn/economic/2010-01/09/c_13131311.htm

Гендиректор ВТО: в 2010 году мировая экономика вряд ли выйдет из кризиса


Генеральный директор Всемирной торговой организации Паскаль Лами в пятницу заявил, что мировая экономика, возможно, уже пережила самый глубокий спад, однако возвратный подъем пока не очевиден, поэтому сейчас еще нельзя утверждать, что в 2010 году глобальная экономика выйдет из кризиса.

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

По мнению генерального директора ВТО, в странах с нарождающимися рынками, включая Индию, Бразилию, ЮАР и Китай, экономика остается жизнеспособной, благодаря этому их рост подвергся меньшим ударам. Жизнеспособность экономики, надлежащее управление и сравнительно небольшое количество задолженностей в определенной мере свидетельствуют о том, что макрорегулирование и макроконтроль в этих странах осуществляется лучше, чем в западных странах.

http://russian.news.cn/economic/2010-01/09/c_13131401.htm

США продают арабским странам новейшее вооружение вопреки соглашениям с Израилем


США продают арабским странам самое современное вооружение, вопреки договоренностям, достигнутым с Израилем...поставки оружия начались уже в последний год администрации Джорджа Буша и продолжаются поныне.

...на протяжении последних двух лет идет продажа вооружения, так называемым умеренным арабским странам, таким как Саудовская Аравия, Египет и Объединенные Арабские Эмираты. Лишь несколько недель назад американцы согласились внести изменения в очередную сделку по продаже оружия этим странам после того, как Израиль оказал серьезное давление на американскую администрацию в этом вопросе.

Основное вооружение, которым США торгуют с арабскими странами – самолеты. Так, в распоряжении Саудовской Аравии находятся сегодня 200-250 самолетов F-15, подобных тем, что США продавали Израилю.

Помимо этого Вашингтон продавал Саудовской Аравии, так называемые, "умные бомбы", управляемые лазером, а также мощные торпеды и электронные системы для боевых самолетов.

В Иерусалиме отмечают, что, несмотря на изначальные намерения США вооружить арабские страны для возможного противостояния с Ираном. Это оружие может при определенных условиях быть направлено против Израиля. Американцы признали, что сделки с арабскими странами являются нарушением соглашений ранее заключенных с Израилем, и...выразили готовность вести переговоры с целью исправить положение.

http://cursorinfo.co.il/news/novosti/2010/01/10/usa_neshek/

Возле здания греческого парламента сработало взрывное устройство

http://txt.newsru.co.il/arch/world/10jan2010/athens_601.html
http://txt.newsru.com/arch/world/10jan2010/gr.html

Холода в Мексике привели к гибели одиннадцати человек

http://txt.newsru.co.il/arch/world/10jan2010/mexico_608.html