Monthly Archives: June 2013

You are browsing the site archives by month.

Проектування більше немає?

Тим, хто встиг коротко познайомитися з принципами Extreme Programming (ХР), часом здається, що в цій методології немає місця процесу проектування програмних продуктів. При цьому висміюються не тільки “Велике і Детальний Попереднє Проектування”, а й такі техніки як UML і гнучкі каркаси додатків. Навіть значення патернів або принижується, або геть заперечується. Насправді ж, в ХР багато проектування, але подається воно по-іншому, ніж у звичайних усталених процесах розробки ПЗ. Методологія XP оживила еволюційне проектування новими техніками, завдяки яким його тепер можна вважати цілком життєздатною стратегією. Крім того, в ХР перед проектувальником ставляться нові важкі завдання, що вимагають чималої майстерності. По-перше, це необхідність проектувати максимально простим чином, по-друге, рефакторінг, і нарешті, використання патернів в еволюційному стилі.

(Ця стаття являє собою основу моєї доповіді на конференції XP 2000 і буде опублікована в її матеріалах.)

  1. Проектування попереднє і проектування еволюційне
  2. Основоположні практики XP
  3. Переваги простого дизайну
  4. “Простий дизайн” – що ж це за звір такий?
  5. Чи порушує рефакторінг принцип YAGNI?
  6. Патерни і ХР
  7. Нарощування архітектури
  8. UML і XP
  9. Про метафорі
  10. Малюк, хочеш бути архітектором, коли виростеш?
  11. Оборотність рішень
  12. Бажання проектувати
  13. Завдання, що погано піддаються рефакторингу
  14. Проектування це чи ні?
  15. Так що ж, проектування більше немає?
  16. Подяки

Методологія Extreme Programming (XP) кинула виклик багатьом усталеним уявленням про розробку програмного забезпечення. Мабуть, найбільш суперечливою ідеєю є відмова від попереднього проектування на користь більш еволюційного підходу. Для тих, хто всіляко чорнить ХР, це повернення до розробок типу “code and fix” (“пишемо і правимо”). Для прихильників нової методології, це відмова від технік проектування (наприклад, UML), їх принципів і патернів. Нема чого турбуватися про проектування, вважають вони. Досить уважно “вслухатися” в свій код, і проектування утворюється само собою.

Що стосується мене, то я перебуваю безпосередньо в епіцентрі цих суперечок. Більша частина моєї кар’єри була присвячена графічним мовам моделювання – UML (Уніфікована мова моделювання) і його попередникам, а також паттернам. Більше того, я писав книги про UML і про патерни. Раз я тепер приймаю ХР, чи не означає це, що я відрікаюся від усього, що писав досі?

Не буду випробовувати ваше терпіння, і змушувати вас чекати, затамувавши подих, відповіді на цей драматичний питання. Коротка відповідь – ні. Докладний відповідь міститься в частині цієї статті.

Проектування попереднє і проектування еволюційне

У цій статті я опишу два стилі проектування, прийнятих у розробці програмного забезпечення. Напевно, найбільш звичним є еволюційне проектування. Визначення “еволюційний” вказує на те, що під час реалізації системи її дизайн зростає разом з нею. Проектування, в цьому випадку, є частиною процесу програмування, тому в ході розвитку системи дизайн змінюється.

У більшості випадків, еволюційне проектування – це щось жахливе. Зрештою, все одно замість дизайну системи ви отримуєте просто набір із специфічних рішень, кожне з яких ускладнює подальші зміни в програмному коді. Часто це взагалі не можна вважати дизайном (і, вже звісно, ​​такий дизайн ніяк не можна назвати хорошим). Як говорить Кент, дизайн існує для того, щоб дати можливість оперативно вносити в систему будь-які зміни. Якщо дизайн поганий, то така можливість зникає. У результаті ви будете мати справу з ентропією програмного продукту, і з часом і без того поганий дизайн системи стане ще гірше. Тепер вам буде не тільки складніше вносити в систему зміни, а й відшукувати і виправляти помилки, які починають множитися з катастрофічною швидкістю. Все це – кошмар розробок в стилі “code and fix”, коли з плином часу виправлення помилок обходиться все дорожче і дорожче.

Попереднє проектування – повна протилежність еволюційному. Воно побудоване на ідеях, запозичених з іншої області інженерної діяльності. Якщо вам треба побудувати собачу будку, то ви самі в змозі сколотити кілька дощок, щоб отримати задовільний подобу бажаного. Якщо ж ви вирішите побудувати хмарочос, то колишній спосіб не підійде – хмарочос завалиться, перш ніж ви спорудіть його хоча б наполовину. Щоб цього не сталося, вам потрібно починати з креслень, які розробляють у інжинірингових компаніях (на кшталт тієї, в якій працює моя дружина). Проектуючи, вона обчислює всі необхідні дані, іноді шляхом математичного аналізу, але найчастіше – за допомогою “Будівельних норм і правил”. Ці “Норми” представляють собою правила, по яких і створюються проектні конструкції. Всі вони засновані на досвіді реальних працюючих рішень (ну, і невеликій кількості математики). Після того, як роботи з проектування закінчені, інжинірингова компанія передає проектні креслення іншої компанії, яка займається будівництвом.

Приблизно так само йде справа і з попередніми проектуванням при розробці ПЗ. Проектувальники заздалегідь продумують всі основні питання. При цьому вони не пишуть програмний код, оскільки не створюють програмний продукт, а тільки розробляють його дизайн. У своїй роботі вони можуть використовувати такі техніки, як UML, що дозволяє їм абстрагуватися від деяких подробиць розробок, що відносяться безпосередньо до програмування. Як тільки проектний план готовий, його можна передавати в інший відділ (або навіть в іншу компанію), де будуть вестися роботи з безпосереднього створення системи. Оскільки проектувальники працюють на деякому рівні абстракції, їм вдається уникнути прийняття низки тактичних рішень, що ведуть до ентропії програмного продукту. Програмісти ж можуть керуватися проектним планом і (якщо вони його дотримуються) створювати якісно вибудувану систему.

Такий підхід до розробки ПЗ не новий – їм активно користується безліч людей, починаючи з 70 років. За багатьма показниками він набагато краще, ніж еволюційний проектування в стилі “code and fix”, проте і у нього є істотні недоліки. Один з головних недоліків полягає в тому, що неможливо заздалегідь продумати всі питання, з якими доведеться зіткнутися під час кодування системи. Таким чином, в ході робіт неодмінно виникне ситуація, коли у програмістів з’являться питання щодо спроектованого дизайну. А що, якщо проектувальники, закінчивши свою частину роботи, вже переключилися на інший проект? Тоді програмісти починають самостійно вирішувати проблему, що склалася, відступаючи від вже прийнятих проектних рішень, і вносячи при цьому в програмний продукт частку ентропії. І навіть якщо проектувальник ще працює над проектом і може допомогти, все одно йому буде потрібно досить багато часу, щоб з’ясувати ситуацію, внести зміни до діаграми і вже потім міняти код. А при розробці, як правило, питання часу завжди стоїть гостро. Звідси ентропія (знову-таки).

Крім того, існує ще й проблема культур. Проектувальниками стають завдяки високій майстерності і великому досвіду в програмуванні. Однак, ставши проектувальником, програміст настільки поглинається новою роботою, що просто не має фізичної можливості займатися написанням програмного коду. При цьому інструментарій та матеріали програмних розробок постійно змінюються. А коли ви перестаєте самі писати код, ви не тільки втрачаєте можливість відстежувати нововведення в цій області. Ви втрачаєте повагу тих, хто продовжує займатися написанням програмного коду.

Протистояння між розробниками і проектувальниками ми знаходимо і в галузі будівництва, проте там воно виражено не так яскраво, як у сфері програмування. І це не випадково. У галузі будівництва різниця в навичках тих, хто проектує і тих, хто будує, досить очевидна. У програмуванні це не так. Будь-який програміст, що працює з дизайном високого рівня, повинен бути дуже хорошим фахівцем (досить хорошим для того, щоб задати проектувальнику потрібні питання щодо проектних рішень, які той пропонує, особливо в тих випадках, коли проектувальник не так добре обізнаний про особливості платформи, для якої ведеться розробка системи).

Однак такі проблеми все ж можна якось врегулювати. Може бути, можна щось зробити з напруженістю у відносинах між людьми. Може бути, можна знайти таких проектувальників, які могли б розбиратися у більшості питань, і такий дисциплінований процес розробки, який дозволяв би вносити зміни до діаграми. Однак залишається ще одна проблема: змінюються вимоги. Саме змінюються вимоги є проблемою номер один і найбільшим головним болем у всіх проектах, над якими я працював.

Боротися з мінливими вимогами можна по-різному. Один з можливих шляхів – робити дизайн досить гнучким, щоб при змінах у вимогах його можна було легко міняти. Однак для цього потрібно заздалегідь знати, якого типу зміни слід очікувати. Так, при проектуванні системи можна спробувати вгадати ті області, в яких найбільш вірогідні зміни, і врахувати їх у дизайні. У цьому випадку ви, дійсно, полегшите собі роботу з очікуваними змінами у вимогах, але нітрохи не полегшите (а можливо, тільки погіршите) ситуацію із змінами несподіваними. Крім того, щоб заздалегідь визначити ті області, в яких найбільш вірогідні зміни, ви повинні прекрасно розуміти вимоги, що за моїми спостереженнями, дуже непросто.

Втім, не всі проблеми із змінами у вимогах виникають через їх нерозуміння. Безліч людей напружено працює над розробкою технічних вимог до системи в надії, що це вбереже їх від подальших поправок при проектуванні. Але й так ви далеко не завжди зможете вирішити проблему. Багато змін у вимогах диктуються змінами в економіці і тому виді бізнесу, для якого призначається система. Такі зміни вгадати неможливо, скільки б ви не сиділи над розробкою вимог.

Після всього цього можна подумати, що попереднє проектування взагалі неможливо. Але це не так. Так, є серйозні труднощі. Однак я зовсім не схильний вважати, що попереднє проектування гірше еволюційного в його звичайній манері “code and fix”. Сам я віддаю перевагу попереднє проектування, але проте, чудово уявляю собі всі складнощі, які з ним пов’язані і намагаюся знайти нові шляхи їх подолання.

Основоположні практики ХР

У методології XP є багато спірних моментів. Одним з ключових таких моментів є те, що вона базується на еволюційному, а не попередньому проектуванні. А як ми вже з’ясували, використання еволюційного проектування не може привести ні до чого хорошого за великої кількості сьогохвилинних проектувальних рішень та ентропії програмного продукту.

В основі цього твердження лежить крива вартості змін у програмному продукті. Відповідно до цієї кривої, по мірі розвитку проекту вартість внесення змін експоненціально зростає. Як правило, в ній використовуються поняття “фази розвитку проекту” (як кажуть, “зміна, яка на стадії аналізу коштує 1 долар, після поставки системи коштуватиме багато тисяч”). У цьому є певна частка іронії, оскільки в більшості проектів процес розробки взагалі не визначений, і там просто немає стадії аналізу, а експонентна залежність залишається в силі. Виходить, що якщо експонентна крива вірна, то еволюційне проектування взагалі не можна використовувати в роботі. Звідси ж випливає, що не можна робити помилки в попередньому проектуванні – витрати на їх виправлення будуть визначатися все тієї ж залежністю.

В основі XP лежить припущення, що цю криву можна згладити до такої міри, щоб можна було застосовувати еволюційний проектування. Таке згладжування, з одного боку, виникає при використанні методології XP, а з іншого, воно ж в ній і використовується. Це ще раз підкреслює тісний взаємозв’язок між практиками ХР: не можна використовувати ті частини методології, які припускають існування згладжування, не використовуючи ті практики, які це згладжування здійснюють. Саме це є основним предметом суперечок навколо XP. Багато хто починає критикувати використання, не розібравшись в тому, як його треба досягати за допомогою здійснення. Часто тому виною власний досвід критикує, який упустив в розробках ті практики, які дозволяють здійснювати інші. В результаті, раз обпікшись, такі люди при згадці про ХР і на воду дують.

У практик, за допомогою яких здійснюється згладжування, є безліч складових. В основі всіх їх лежить Тестування і Безперервна інтеграція. Саме надійність коду, яку забезпечує тестування, робить можливим все інше в цій методології. Безперервна інтеграція необхідна для синхронної роботи всіх розробників, так щоб кожна людина могла вносити в систему свої зміни і не турбуватися про інтеграцію з іншими членами команди. Взяті разом, ці дві практики можуть чинити істотний вплив на криву вартості змін у програмному продукті. Я отримав ще одне підтвердження цьому в компанії “ThoughtWorks”. Навіть застосування всього двох практик, тестування та безперервної інтеграції, істотно позначилося на результатах. Можна навіть засумніватися, чи справді потрібно (як це прийнято вважати в ХР) слідувати всім практикам, щоб отримати помітний результат.

Подібний ефект має і рефакторінг. Ті, хто роблять рефакторінг в тій суворої манері, що прийнята в ХР, відзначають значне підвищення його ефективності в порівнянні з більш безсистемної реструктуризацією. Саме це я і відчув, коли Кент нарешті навчив мене, як правильно робити рефакторінг. Зрештою, це так мене вразило, що я навіть написав про це цілу книгу.

Джим Хайсміт (Jim Highsmith) у своєму чудовому викладі методології XP використовує аналогію з звичайними вагами. На одній чаші лежить попереднє проектування, на іншій – рефакторінг. У більш традиційних підходах до розробки ПЗ переважує попереднє проектування, оскільки передбачається, що передумати ви не можете. Якщо ж вартість змін знизиться, то частина проектування можна робити і на більш пізніх стадіях роботи, у вигляді рефакторінга. Це зовсім не означає відмови від попереднього проектування. Однак тепер можна говорити про існування балансу між двома підходами до проектування, з яких можна вибрати найбільш підходящий. Що стосується мене, то іноді мені здається, що до знайомства з рефакторингом я працював, як однорукий каліка.

Всі ці основоположні практики (безперервна інтеграція, тестування і рефакторінг) створюють нове середовище, в якій еволюційне проектування виглядає цілком переконливо. Втім, ми ще не з’ясували, де ж у цих ваг точка рівноваги. Особисто я впевнений, що не дивлячись на поверхове враження, методологія ХР – це не просто тестування, кодування і рефакторінг. У ній знайдеться місце і для попереднього проектування. Частково воно виробляється ще до написання першого рядка коду, але більша його частина припадає на той час, який передує реалізації конкретного завдання протягом ітерації. Втім, така ситуація являє собою нове співвідношення сил між попередніми проектуванням і рефакторингом.

Переваги простого дизайну

У ХР дуже популярні два гасла: “Do the Simplest Thing that Could Possibly Work” (“Шукайте найпростіше рішення, яке може спрацювати”) і YAGNI (“You Aren’t Going to Need It” – “Це вам не знадобиться”) . Обидва вони уособлюють собою одну з практик ХР під назвою Простий дизайн.

За принципом YAGNI, ви не повинні займатися написанням коду сьогодні, якщо він знадобиться для того властивості програми, яке ви будете реалізовувати тільки завтра. На перший погляд у цьому немає нічого складного. Складнощі починаються, коли мова заходить про такі речі, як програмні каркаси для створення додатків, компоненти для повторного використання і гнучкий дизайн. Треба сказати, що спроектувати їх досить складно. Ви заздалегідь додаєте до загальної вартості робіт вартість і такого проектування і розраховуєте згодом повернути ці гроші. При цьому наявність завчасно вбудованої в систему гнучкості вважається ознакою хорошого проектування.

Тим не менш, ХР не радить займатися створенням гнучких компонентів і каркасів до того, як знадобиться саме ця функціональність. Краще, якщо ці структури будуть нарощуватися у міру необхідності. Якщо сьогодні мені потрібен клас Money, який обробляє додавання, а не множення, то сьогодні я буду вбудовувати в цей клас тільки додавання. Навіть якщо я абсолютно впевнений, що множення знадобиться мені вже в наступній ітерації, і я знаю як дуже просто і швидко це зробити зараз, все одно я повинен залишити це на наступну ітерацію – коли в ньому з’явиться реальна необхідність.

Така поведінка виправдано з економічної точки зору. Займаючись роботою, яка знадобиться тільки завтра, я тим самим витрачаю сили і час, призначені для задач, які повинні були бути зроблені сьогодні. План випуску програми чітко вказує, над чим мені потрібно працювати в даний момент. Якщо я відхиляюся від нього, щоб попрацювати над тим, що знадобиться в майбутньому, я порушую свою угоду із замовником. Крім того, з’являється ризик не встигнути зробити все, записане у вимогах для поточної ітерації. І навіть у тому випадку, якщо такої небезпеки немає, і у вас з’явився вільний час, то вирішувати чим вам зайнятися – прерогатива замовника, який може попросити зайнятися зовсім не множенням.

Таким чином, можливі перешкоди економічного характеру ускладнюються ще й тим, що ми можемо помилятися. Навіть якщо ми абсолютно впевнені в тому, як працює ця функція, ми все одно можемо помилитися, особливо якщо у нас ще немає докладних вимог замовника. А чим раніше ми використовуємо в роботі над проектом помилкові рішення, тим гірше. Прихильники методології ХР вважають, що в такій ситуації набагато легше прийняти неправильне рішення (і я повністю з ними згоден).

Інша причина, по якій простий дизайн краще складного, це відмова від принципу “блукаючого вогника”. Складну конструкцію набагато важче зрозуміти, ніж просту. Саме тому будь-яка модифікація системи робить її все більш складною. Це, знову-таки, веде до збільшення вартість робіт в період між тим часом, коли дизайн системи став більш складним, і часом, коли це дійсно стало необхідно.

Такий стиль роботи багатьом здається абсурдним, і треба сказати, що вони мають рацію. Мають рацію за однієї умови – абсурд вийде, якщо цю практику почати застосовувати в звичайному процесі розробки, а всі інші практики ХР ігнорувати. Якщо ж змінити існуючий баланс між еволюційним і попередніми проектуванням, то YAGNI стає дуже корисним принципом (тоді і тільки тоді).

Підіб’ємо підсумок. Вам не потрібно витрачати сили на те, щоб внести в систему нову функціональність, якщо вона не знадобиться до наступної ітерації. Навіть якщо це практично нічого не коштує, вам не потрібно це робити, оскільки це збільшить загальну вартість модифікації. Однак для того, щоб свідомо застосовувати такий принцип на ділі, вам потрібно використовувати ХР або іншу подібну методологію, яка знижує вартість змін.

“Простий дизайн” – що ж це за звір такий?

Отже, ми хочемо, щоб наш програмний код був максимально простий. З цим ніхто не сперечається. Зрештою, кому потрібно, щоб код був складний і заплутаний? Залишилося тільки зрозуміти, що ми розуміємо під словом “простий”.

У книзі Extreme Programming Explained Кент призводить чотири критерії простої системи. Ось вони в порядку убування важливості:

  • Система успішно проходить всі тести
  • Код системи ясно розкриває всі початкові задуми
  • У ній відсутня дублювання коду
  • Використовується мінімально можливу кількість класів і методів

Успішне тестування системи – досить простий критерій. Відсутність дублювання коду теж цілком чітка вимога, хоча більшість розробників потрібно вчити, як цього досягти. Найскладніше ховається в словах “розкриває початкові задуми”. Дійсно, що ж це значить?

Основна перевага програмного коду, в даному випадку – його ясність. ХР всіляко підкреслює, що хороший код – це код, який можна легко прочитати. Скажіть ХР-шнику, що він пише “заумний код”, і будьте впевнені, що облаяли цієї людини. Але розуміння задумів програміста, який написав код, залежить також і від досвіду і розуму того, хто цей код намагається прочитати.

У своїй доповіді на конференції XP 2000, Джош Керіевскі (Josh Kerievsky) призводить хороший приклад на дану тему. Він піддає аналізу, можливо, найбільш відкритий з усіх кодів ХР – JUnit. JUnit використовує декоратори (патерн Decorator), для того, щоб доповнити тестові сценарії додатковим поведінкою, таким як синхронізація доступу та встановлення початкових передумов для груп тестів. Так як подібна поведінка реалізується в окремих класах-декоратор, код тестів стає простіше, ніж якщо б ця функціональність присутня в них самих.

Проте в даному випадку потрібно задати собі питання: а зрозуміліше чи буде код, отриманий в результаті цих операцій? З моєї точки зору так, але я-то знайомий з патерном Decorator. Для тих, хто не має про нього чіткого уявлення, цей код може здатися досить складним. Аналогічно цьому, в JUnit використовуються методи-вставки (pluggable methods), які, за моїми спостереженнями, більшість програмістів розцінюють як що завгодно, але тільки не як просте і зрозуміле рішення. Виходить, що структура JUnit є простою для досвідчених проектувальників, але складною для менш досвідчених програмістів?

Я думаю, що одним з найбільш очевидних та корисних порад, які тільки можна дати, це уникати повторів в коді, як проголошується в ХР (“Once and Only Once”) і в книзі Pragmatic Programmer’s (принцип DRY – Don’t Repeat Yourself) . Дотримуйтесь цього принципу, ви підете далеко вперед. Але це далеко не все, що необхідно для простого дизайну. А створити простий дизайн – це дуже складне завдання.

Нещодавно мені довелося працювати над системою з вельми заумним дизайном. Після проведеного мною рефакторінга дизайн позбувся деякої гнучкості (за непотрібністю). Однак, як зауважив один з розробників, “набагато простіше робити рефакторінг системи зі складним дизайном, ніж рефакторінг системи, у якої дизайну взагалі немає”. Найкраще бути трохи простіше, ніж потрібно, але немає нічого жахливого в тому, щоб бути трохи складніше.

А найкращий порада, яку я чув з цього приводу, виходив з вуст “Дядечка Боба” (Роберта Мартіна). Полягає він в наступному: не варто сушити голову над питанням, як зробити дизайн максимально простим. Зрештою, пізніше ви зможете (і повинні, і будете) зайнятися рефакторингом. В кінці роботи над проектом бажання робити рефакторінг набагато важливіше, ніж точне розуміння того, яке рішення є найпростішим.

Чи порушує рефакторінг принцип YAGNI?

Ця тема порівняно недавно спливла в списку розсилки, присвяченому XP, і коли незабаром ми заговорили про роль проектування, нам варто її обговорити.

Справа в тому, що процес рефакторинга вимагає часу, але не додає нової функціональності. З іншого боку, принцип YAGNI свідчить, що треба проектувати тільки для поточної функціональності, а не для того, що знадобиться в майбутньому. Чи не стикаємося ми тут з протиріччям?

Принцип YAGNI полягає в тому, щоб не робити систему більш складною, ніж того вимагає реалізація поточних завдань. Це є частиною практики “Простий дизайн”. Рефакторінг ж необхідний для підтримки системи в максимально простому стані. Його потрібно проводити відразу ж, як тільки ви виявите, що можете що-небудь спростити.

Простий дизайн одночасно задіює практики ХР і сам по собі є основоположною практикою. Тільки за умови тестування, безперервної інтеграції і рефакторінга, можна говорити про ефективне використання простого дизайну. Але в той же час, простий дизайн абсолютно необхідний для згладжування кривої вартості змін. Будь-яка зайво складна конструкція утруднить внесення змін до системи по всіх напрямах, за винятком того з них, заради якого ця складність у неї вносилася. Проте рідко вдається передбачити такий напрямок, тому краще буде прагнути до простих рішень. І в теж час, мало кому вдається зробити все максимально просто з першого разу, так що вам доведеться займатися рефакторингом, щоб наблизитися до мети.

Патерни і ХР

Приклад JUnit постійно наводить мене на роздуми про патерну. Взагалі, ставлення, існуюче між ХР і патернами, досить цікаво і часто обговорюється. Так, Джошуа Керіевскі вважає, що ХР відводить паттернам неприпустимо маленьку роль. Його аргументація настільки красномовна, що я утримаюся від переказу. Проте хочу зауважити: багатьом здається, що використання патернів суперечить принципам ХР.

Суть в тому, що часто патерни використовуються надто активно. Відома історія про програміста, який, прочитавши в перший раз книгу Банди Чотирьох (видана російською мовою у видавництві “Пітер” під назвою “Паттерни проектування” – прим. Перекладачів), ухитрився використовувати 16 патернів в 32 рядках коду. Пам’ятаю чудовий вечір, підігрітий всього-навсього одним стаканчиком солоду, коли ми з Кентом накидали статтю під назвою “Не патерни проектування: 23 дешевих трюку”, де розповіли про такі речі, як використання оператора “if” замість патерну “стратегія”. У кожному жарті є частка правди. Патерни нерідко використовуються там, де без них цілком можна було б обійтися, однак це не робить гірше саму ідею. Все питання в тому, як ви їх використовуєте.

Згідно з однією з існуючих теорій, прагнучи до простого дизайну, ви прийдете саме до паттернам. Для деяких видів рефакторінга це відбувається абсолютно явно, проте і без рефакторінга, приймаючи прості проектні рішення, ви починаєте використовувати патерни, навіть якщо до цього ви нічого про них не знали. Може бути, це і так, але чи так уже гарний цей шлях? Звичайно ж, краще заздалегідь уявляти собі, з чим ви зіткнетеся, і мати при собі книгу, щоб не винаходити все самому. Кожен раз, коли я відчуваю, що на підході ситуація, коли можна використовувати патерн, я дістаю з полиці книгу Банди Чотирьох. Для мене саме словосполучення “ефективний дизайн” свідчить про те, що використання патерну виправдано. Зрештою, призначення патернів полягає саме в полегшенні створення простого дизайну системи. Точно так само і Джошуа пропонує приділяти більше уваги питанню, як можна спростити поступовий перехід до використання патернів. З цієї точки зору, патерни в ХР використовуються трохи незвичним чином, однак це зовсім не означає, що при цьому їх значення якось принижується.

Читаючи деякі списки розсилки, я приходжу до висновку, що багато хто взагалі бачать в ХР якесь заперечення патернів. І це при тому, що більшість творців цієї методології були, свого часу, в числі лідерів руху за використання патернів! Не знаю, як для всіх інших, але для мене патерни досі абсолютно необхідні. Методологія ХР може служити процесом розробки, але патерни – це основа мистецтва проектування, мистецтва, без якого не обійтися, яким би процесом ви не користувалися. Знову-таки, різні процеси можуть використовувати патерни по-різному. Так, в ХР вважається, що не потрібно використовувати патерн до тих пір, поки в ньому дійсно не опиниться необхідності, а також що потрібно приходити до використання патерну поступово, шляхом спрощення реалізації. Тим не менш, знання патернів було і залишається абсолютно необхідним.

Мої поради тим, хто працює за методологією ХР і використовує патерни:

  • Не бійтеся витратити час на вивчення патернів
  • Добре подумайте, коли краще всього застосувати патерн (не надто рано)
  • Добре подумайте, як краще всього реалізувати патерн в його найпростіших формі, а вже потім вносите доповнення
  • Якщо ви застосували патерн, а потім зрозуміли, що без нього було б краще – прибирайте, не сумнівайтеся.

Мені здається, що в методологію ХР варто було б включити окремим пунктом вивчення патернів. Боюся, що мені не під силу придумати, як це можна внести до практики ХР, але у Кента це напевно вийде.

Нарощування архітектури

Що ми називаємо архітектурою програмного продукту? З моєї точки зору, термін “архітектура” передає ідею основних елементів системи, тих її частин, які важко змінити. Вони є фундаментом, на якому можна побудувати все інше.

Яку роль відіграє архітектура в еволюційному проектуванні? Критики ХР вважають, що ця методологія взагалі не визнає роботи над архітектурою, що вся суть ХР – відразу сідати за написання коду, і сподіватися на те, що рефакторінг вирішить всі проблеми з проектуванням. Смішно сказати, але вони праві, і, може бути, в цьому полягає деяка слабкість ХР. Всім відомо, що найагресивніші прихильники ХР – Кент Бек (Kent Beck), Рон Джеффріз (Ron Jeffries) і Боб Мартін (Bob Martin) – прикладають дуже багато сил, щоб взагалі уникнути будь-якого попереднього проектування архітектури. Не додавайте в систему базу даних, поки вона вам дійсно не знадобилася. Працюйте спочатку з файлами, а база даних з’явиться в наступній ітерації, в результаті рефакторінга.

Я заслужив репутацію боягузливого ХР-шника, і в цій якості змушений не погодитися з підходом моїх більш сміливих колег. Мені здається, що краще почати з загального начерку архітектури системи – подумати про те, як розділити додаток на рівні, як побудувати взаємодію з базою даних (якщо вона вам знадобиться), який підхід застосувати до управління веб-сервером.

По суті своїй, багато чого з таких ранніх архітектурних побудов – просто патерни, які приходять до нас з досвідом. З плином часу кількість освоєних патернів зростає, і у вас має з’явитися своє розумно обгрунтована думка на те, як їх використовувати. Однак ключова відмінність тут буде в тому, що ранні архітектурні рішення зовсім не висічені в камені, і що в разі помилки, команді не потрібно буде збирати всю свою сміливість, щоб її виправити. Хтось розповів мені, як в одному проекті, вже перед самою поставкою, вирішили, що їм більше не потрібен EJB. Ну, і прибрали його з системи. Звичайно, це вимагало порядного рефакторінга, але використання практик ХР дозволило не тільки зробити таку операцію здійсненною, це зробило її доцільною.

Цікаво, а якщо перевернути все навпаки? Якби ви спочатку вирішили не використовувати EJB, не було б складніше в останній момент внести його в систему? Чи справді не варто починати робити систему з EJB, поки ви остаточно не переконаєтеся, що без цього не обійтися? Це питання зачіпає відразу кілька факторів. Зрозуміло, працювати без такого складного компонента легше і швидше. Однак іноді легше щось викинути з системи, ніж вставити.

Отже, я б все ж порадив почати роботу з приблизної оцінки архітектури системи. Якщо ви бачите велику кількість даних і безліч різних користувачів, сміливо включайте в архітектуру базу даних. Якщо ви повинні працювати зі складною бізнес-логікою, використовуйте модель предметної області. Однак не забувайте про повагу до богів YAGNI, і в сумнівних випадках віддавайте перевагу більш простим рішенням. Крім того, завжди будьте готові викинути шматок архітектури, якщо бачите, що він не приносить нічого корисного.

UML і XP

Мені ставлять досить багато питань щодо моєї прихильності методології ХР, причому найчастіше люди цікавляться – як я можу поєднувати її з вірністю UML. Хіба вони не виключають один одного?

Так, в ХР і UML є декілька взаємовиключних аспектів. Так, в ХР істотно знижується значення діаграм. Не дивлячись на те, що офіційна позиція ХР з цього приводу говорить: “використовуйте їх, якщо це допомагає вам у роботі”, але існує і неофіційний підтекст: “справжній ХР-шник не малює діаграм”. Це підкреслюється ще й тим фактом, що таким людям, як Кент, незручно використовувати діаграми. Я, наприклад, ніколи не бачив, щоб Кент по своїй волі малював діаграму програмного продукту, неважливо навіть на мові UML, або якому іншому.

Я думаю, що така ситуація виникає з інших причин. По-перше, одні люди вважають, що діаграми корисні, а інші дотримуються протилежної думки. Фокус у тому, що ті, які так вважають, вважають, що ті, які так не вважають, повинні змінити свою думку, і навпаки. Замість цього, ми повинні просто прийняти той факт, що одні люди будуть використовувати в роботі діаграми, а інші не будуть.

По-друге, діаграми програмних продуктів зазвичай асоціюються з важкими процесами розробки. У таких процесах велика частина часу йде на побудову діаграм, що не дуже допомагає в роботі, а іноді навіть шкодить. Саме тому я вважаю, що людей потрібно вчити, як використовувати діаграми правильно і уникати різних пасток, а не просто говорити “малюй діаграму, якщо тобі без неї зовсім не обійтися, бідолаха”, як це зазвичай роблять затяті ХР-шники.

Ось мої поради тим, хто хоче правильно використовувати діаграми:

По-перше, поки малюєте діаграму, не забувайте, для чого ви це робите. Основна її перевага – комунікація з людьми. Щоб комунікація була ефективною, потрібно відображати на діаграмі тільки важливі аспекти, не звертаючи уваги на всі другорядні. Така вибірковість – основа правильної роботи з UML. Не треба відображати на діаграмі кожен клас – тільки найважливіші. У класів не потрібно задавати кожен атрибут або операцію – тільки найважливіші. Не треба малювати діаграми послідовності для всіх варіантів використання і сценаріїв – ну, і так далі. Найпоширеніша проблема з використанням діаграм це те, що їх намагаються зробити максимально всеосяжними. Однак найкращий джерело всеосяжної інформації – це програмний код, так як саме його найлегше синхронізувати з кодом. Для діаграми ж всеоб’емлімость – ворог удобопонятно.

Найчастіше діаграми використовуються для того, щоб проаналізувати проектні рішення ще до написання коду. Нерідко при цьому виникає відчуття, що в ХР цього робити не можна. Це зовсім не так. Багато хто вважає, що перед розробкою складного завдання стоїть ненадовго зібратися всією командою для її попереднього проектування. Проте, коли проводите такі зібрання, не забувайте, що:

  • вони повинні бути дійсно недовгими
  • не потрібно обговорювати всі подробиці (тільки найважливіше)
  • ставитеся до отриманого в результаті проектного рішенню як до начерку, а не як до кінцевої версії, несхильною змінам

Останній пункт стоїть розкрити докладніше. Коли ви займаєтеся попередніми проектуванням, ви неминуче виявляєте, що деякі ваші рішення неправильні. Причому виявляється це вже при кодуванні. Зрозуміло, це не проблема, якщо ви після цього вносите відповідні зміни. Проблеми починаються тоді, коли ви вважаєте, що з проектуванням покінчено, і не враховуєте отримані відомості, зберігаючи невірний дизайн.

Зміни в дизайні зовсім необов’язково має на увазі зміни в діаграмах. Абсолютно розумним буде просто-напросто викинути діаграму, після того, як вона допомогла вам знайти потрібне рішення. Намалювавши діаграму, ви вирішили що стояла перед вами проблему, і цього абсолютно достатньо. Діаграма і не повинна існувати як якийсь постійний артефакт. Треба сказати, що кращі UML-діаграми такими артефактами якраз не є.

Багато ХР-шники використовують CRC-картки. Це не суперечить UML. Особисто я весь час задіюю якусь суміш з CRC та UML, і взагалі, користуюся будь-якими техніками, які полегшують мені виконання поточного завдання.

Крім того, UML-діаграми використовуються в якості документації по проекту. Як правило, у своїй звичайній формі це модель, редагована за допомогою деякого CASE-інструменту. Ідея тут полягає в тому, що ведення такої документації полегшує роботу. Насправді, найчастіше вона взагалі не потрібна, оскільки:

  • потрібно постійно витрачати масу часу, щоб не дати диаграммам застаріти, в іншому випадку, вони не відповідатимуть програмному коду
  • діаграми знаходяться всередині складного CASE-засоби або в товстенною папці, і ніхто туди не заглядає

Отже, якщо ви хочете мати поточну документацію по проекту, враховуйте всі перераховані вище проблеми:

  • Використовуйте тільки ті діаграми, які ви можете підтримувати без особливих зусиль
  • Поміщайте діаграми туди, де їх всі бачать. Я віддаю перевагу пришпилювати їх на стіну. Нехай інші малюють на ній ручкою всі прості зміни, які були внесені до початковий варіант.
  • Подивіться, чи звертають ваші розробники на діаграми хоч якусь увагу, і якщо ні, викиньте їх.

І, нарешті, останній аспект використання UML для документації – передача проекту в інші руки (наприклад, від однієї групи розробників інший). Згідно з методологією ХР, створення документації – така ж завдання, як і всі інші, а значить, її пріоритет повинен бути визначений замовником. У цій ситуації може стати в нагоді UML, зрозуміло, за умови вибірковості діаграм, які створювалися з метою полегшення комунікації. Пам’ятайте, що програмний код – це основний репозиторій докладної інформації, а діаграми служать для узагальненого представлення основних аспектів системи.
Про метафорі

Ну ось, тепер я можу зізнатися публічно – я до сих пір не можу зрозуміти, що ж це за штука така, ця метафора. Я бачив, як вона працює (у проекті С3 вона спрацювала просто чудово), однак це зовсім не означає, що я розумію, як це зробити, не кажучи вже про те, щоб пояснювати це іншим.

Метафора – одна з практик ХР. Вона будується на системі імен, підході, розробленому Уордом Каннінгем (Ward Cunningham). Суть цього підходу в тому, що ви визначаєте якийсь набір імен, які служать словником для опису предметної області проекту. Надалі система імен з цього набору служить для іменування класів і методів системи.

Що стосується мене, то я будую систему імен за допомогою концептуальної моделі предметної області. Я роблю це разом з фахівцями в цій галузі, і використовую UML (а раніше – його попередників). Весь мій досвід показує, що така робота повинна вестися дуже обережно. Ви повинні використовувати мінімальний набір понять і не допускати, щоб в їх числі в модель прокралися складні технічні терміни. Якщо вам вдалося це зробити, то у вас в руках знаходиться основа для побудови словника предметної області, який буде зрозумілий як фахівцям, так і розробникам системи, і за допомогою якого ті й інші будуть спілкуватися один з одним. Звичайно, ця модель не зовсім збігається з класами, які з’являться при проектуванні, проте її цілком достатньо для створення термінологічної бази.

По правді кажучи, я не бачу причин, по яких такий словник не можна було б зробити метафоричним, як у проекті C3, де побудова платіжної відомості представили у вигляді фабричної лінії складання. З іншого боку, я не розумію, чому не можна визначати систему імен, виходячи зі словника предметної області, і вже тим більше я не збираюся відмовлятися від свого способу визначати систему імен, який мене цілком влаштовує.

Часто критики ХР вказують на те, що для роботи над проектом необхідна хоча б приблизна архітектура системи. На що прихильники цієї методології відповідають: “Так це і є метафора”. Насправді, я до сих пір не чув, щоб хто-небудь виразно пояснив, що ж це таке, метафора. Мені здається, що такий пробіл все ж потрібно якось ліквідувати.

Малюк, хочеш бути архітектором, коли виростеш?

За останнє десять років стало дуже популярно словосполучення “архітектор програмного забезпечення”. Особисто мені такий термін використовувати дуже важко. Справа в тому, що моя дружина – інженер-будівельник. А відносини між архітекторами та інженерами-будівельниками кілька …. натягнуті. Інженери вважають, що архітекторам нічого не варто намалювати цілу купу симпатичних малюночків, а потім інженери повинні в поті чола обчислювати, зможе така симпатична конструкція триматися вертикально, або відразу розвалиться. Саме тому я завжди намагався уникати терміну “архітектор”. Самі судіть, якщо моя власна дружина не стане ставитися до мене з професійним повагою, то чого мені чекати від інших?

У області програмування термін “архітектор” має безліч значень. (Втім, в області програмування будь-який термін має безліч значень.) Однак, як правило, тут присутній якийсь підтекст: “Я вже не просто якийсь там програміст, я – архітектор”, що можна зрозуміти як “Тепер я архітектор, і мені не пристало займатися програмуванням “. Питання тільки в тому, чи дійсно потрібно відмовлятися від тривіального програмування, якщо збираєшся стати технічним лідером.

Таке питання зазвичай викликає бурю емоцій. Скільки разів я бачив, як люди не на жарт сердилися при думці, що як архітектори вони вже не грають такої важливої ​​ролі. “У ХР немає місця досвідченим архітекторам!” – Такий крик я чую досить часто.

Все це нагадує стан справ з проектуванням в цілому. Я не думаю, що при використанні методології ХР зникає необхідність в умінні добре проектувати. Більше того, саме завдяки основоположникам ХР – Кенту Беку, Бобу Мартіну, і звичайно ж, Уорду Каннінгем – я, свого часу, дізнався, що таке справжнє проектування. Однак зараз багатьом може здатися, що ці люди перестали грати роль технічних лідерів (у загальноприйнятому розумінні).

Для прикладу можна взяти одного з технічних лідерів компанії “ThoughtWorks”, на ім’я Дейв Райс (Dave Rice). Дейв вже давно працює в компанії і заслужив неофіційну мантію технічного лідера в проекті, над яким працює близько п’ятдесяти осіб. Що ж означає його лідерство? У першу чергу, те, що він проводить більшу частину часу з програмістами. Він допомагає тим, кому це необхідно, і намагається бути поруч на випадок, якщо його допомога знадобиться. Цікаво відзначити, де розташовується його робоче місце. Як заслужений працівник компанії, він міг би вибрати будь-яке приміщення за своїм бажанням. Якийсь час тому він сидів в офісі з Кара (Cara), який відповідав за випуск системи. Проте, ось уже кілька місяців, як Дейв перебрався в кімнату до програмістам (у тому самому стилі “war room”, який звеличує ХР). Для нього дуже важливо перебувати разом з розробниками, тому що в цьому випадку він знає, що відбувається, і завжди може протягнути руку допомоги тим, хто перебуває у скруті.

Ті, хто вже знайомий з методологією ХР, зрозуміють, що я описав наявне там поняття “тренера” ​​(“coach”). Це ще один приклад гри словами, яку так люблять в ХР. Технічний лідер команди називається “тренером”. Підтекст зрозумілий кожному: в ХР лідер вчить програмістів і допомагає їм приймати рішення. Щоб бути тренером, потрібні не тільки відмінні технічні знання, але і хороші якості людської натури. Як зауважив Джек Боллс (Jack Bolles) на конференції ХР 2000, для знавців-одинаків скоро взагалі не залишиться місця. Ключ до успіху – навчання та взаємодопомога.

Пізніше, на обіді, який відбувся після конференції, Дейв і я розмовляли з людиною, яка критикував ХР. Ми почали обговорювати все більш детально, і на подив, з’ясували, наскільки схожі наші підходи. Всі ми воліли адаптивні, ітеративні розробки. Всі погоджувалися з важливістю тестування. Ми з Дейвом ніяк не могли зрозуміти, звідки ж тоді таке неприйняття ХР? І тут наш опонент сказав чудову фразу: “останнє, що я допущу у себе на роботі, це щоб мої програмісти робили рефакторінг і тицяли ніс у проектування”. Після цього все стало ясно. Підсумок нашим концептуальним розбіжностям підвів Дейв, коли сказав мені наостанок: “Цікаво, навіщо брати на роботу програмістів, якщо ти їм не довіряєш?” У ХР найцінніше, що може зробити досвідчений розробник – це передати свої знання молодшим колегам. Замість архітектора, який один уповноважений приймати всі важливі рішення, у вас є тренер, який вчить, як потрібно приймати такі рішення. Як говорить Уорд Каннінгем, таким чином досвідчений розробник поширює свої знання, і приносить проекту набагато більше користі, ніж будь-який герой-одинак.

Оборотність рішень

На конференції XP 2002 Енріко Цінанотто (Enrico Zaninotto) прочитав цікавий доповідь, в якій вказав на зв’язок між гнучкими методологіями і “полегшеним” процесом виробництва в промисловості (lean manufacturing). З його точки зору, одним з основних положень обох методів є зменшення складності процесу шляхом підвищення його оборотності.

Взагалі, незворотність прийнятих рішень цілком можна вважати основною причиною складності процесу розробки ПЗ. Судіть самі: якщо один раз прийняте рішення можна легко змінити, то його правильність стає менш важливою. А це робить життя багато простіше. При еволюційному стилі проектування дизайнери повинні намагатися приймати легко оборотні рішення. І замість того, щоб болісно відшукувати єдино правильне рішення, потрібно або постаратися відкласти його ухвалення на потім (коли у вас буде більше необхідної інформації), або ж прийняти таке рішення, яке в майбутньому можна змінити без особливих зусиль.

Прагнення до вироблення оборотних рішень є основною причиною, по якій гнучкі методології настійно рекомендують тримати весь код в системах управління вихідним кодом (source code control systems). Зрозуміло, це не гарантує оборотність рішень, особливо якщо вони довгострокові. Однак це додає команді деяку впевненість в такій можливості, навіть якщо вона використовується дуже рідко.

Крім того, оборотний дизайн увазі наявність процесу, при якому всі помилки швидко стають очевидними. З цієї точки зору дуже хороший ітеративний підхід, коли замовник власні очі спостерігає розвиток розроблюваної системи. І якщо раптом виявиться, що в специфікації вкралася помилка, поправити її можна буде відразу ж, ще до того, як ціна виправлень стане занадто висока.

Той же підхід дуже корисний і в проектуванні. Проектні рішення повинні вибудовуватися так, щоб проблемні моменти тестувалися і оцінювалися як можна раніше. Крім того, дуже корисно проводити експерименти, щоб зрозуміти, наскільки складно буде внести зміни в майбутньому (навіть якщо ви не збираєтеся нічого змінювати зараз). Найкращий спосіб – поекспериментувати на прототипі, зробленому на якомусь відгалуженні системи. Такий метод раннього прототипування для оцінки складності майбутніх змін в системі вже був успішно випробуваний кількома командами.

Бажання проектувати

До цих пір я звертав увагу, в основному, на технічні аспекти проектування. Однак при цьому дуже легко випустити з поля зору іншої настільки ж важливий аспект – людський фактор.

Для того, щоб принципи еволюційного проектування спрацювали, потрібна ще одна сила. І сила ця може виходити тільки від людей – якогось члена команди, для якого надзвичайно важливо, щоб рівень дизайну завжди залишався на висоті.

Причому зовсім необов’язково, щоб таке бажання виходило від всіх членів команди (хоча, звичайно, це було б чудово). Зазвичай в команді є один або дві особи, які беруть на себе працю зводити воєдино всі елементи проектування і стежити за загальною якістю дизайну системи. Взагалі, це одне з тих завдань, які традиційно належить до сфери діяльності “архітектора”.

У цю задачу входить постійний нагляд за програмним кодом системи. Якщо раптом буде відмічено, що якісь модулі стають заплутаними, необхідно відразу вживати заходів щодо виправлення цієї ситуації, поки вона не вийшла з-під контролю. При цьому “зберігачу дизайну” зовсім не потрібно все робити самому – йому достатньо переконатися, що цю проблему вирішив хтось інший.

Взагалі, основною причиною невдачі еволюційного підходу до проектування є саме брак бажання проектувати. Навіть якщо вам добре зрозумілі і знайомі всі ті принципи, про які я говорю в цій статті, без бажання проектувати у вас нічого не вийде.

Завдання, що погано піддаються рефакторингу

Чи можна вносити в систему всі проектні рішення шляхом рефакторінга, або ж все-таки існують деякі речі, які настільки всепронікающі, що додати їх згодом буде дуже і дуже складно? На даний момент ортодокси ХР стверджують, що все можна додати пізніше, а саме тоді, коли воно знадобиться. Тому принцип YAGNI може бути застосований в будь-якій ситуації. Я все ж, сумніваюся, чи немає тут винятків із правила. Візьмемо, наприклад, підтримку декількох мов (локалізацію). Може бути, якщо працювати над нею з самого початку, можна уникнути мук з приводу того, як її внести в систему на більш пізніх стадіях розробки?

Я можу легко назвати ще кілька речей, які потраплять в ту ж категорію. Проте насправді у нас ще дуже мало інформації. Якщо вам потрібно внести в систему щось нове (наприклад, локалізацію), то безпосередньо перед додаванням ви зможете адекватно оцінити, яких зусиль це зажадає. Ви не зможете оцінити це, якщо будете вкладати зусилля в локалізацію на ітераціях, що передують тій, в якій вона знадобиться. Ви також не зможете адекватно оцінити, які зусилля вам знадобляться, щоб виправити помилку, яку ви цілком могли допустити на початку роботи (у такому випадку, вам знову-таки знадобиться рефакторінг).

Принцип YAGNI частково виправдовується тим, що дуже багато з таких потенційно необхідних завдань, зрештою, виявляються зовсім не так вже необхідні. Принаймні, не в тому вигляді, в якому ви очікували. Вам буде потрібно набагато менше зусиль на те, щоб не виконувати поки такі завдання, ніж на виправлення помилкових рішень і рефакторінг.

Крім того, завжди варто враховувати знання проблеми. Якщо вам вже доводилося кілька разів займатися локалізацією, то ви напевно будете застосовувати в роботі деякі патерни, а значить, у вас більше шансів зробити все правильно з самого початку. Якщо ви досвідчений фахівець, то, напевно, буде краще розробити якісь попередні структури (чого ніяк не можна порекомендувати новачкам). Я б сказав, що ті, хто знає, як це робиться, можуть самі судити про витрати, які потрібні для виконання такого завдання. Однак, якщо ви ніколи раніше не займалися такими проблемами, ви не тільки не можете правильно оцінити завдання, але і швидше за все, будете допускати помилки в її вирішенні. У такому випадку, краще буде внести потрібні доповнення в систему пізніше. Якщо ж ви так і вчинили, а тепер відчуваєте масу труднощів, то повірте, вам було б куди важче, почни ви працювати над цим завданням з самого початку. Тепер ваша команда вже більш досвідчена, ви краще розумієте предметну область і вимоги до системи. Часто, озираючись назад, вам здаватиметься, що раніше це було б зробити набагато простіше. Смію вас запевнити, все могло бути набагато складніше, якщо б почали працювати над цим на початку проекту.

Ця проблема пов’язана з питанням порядку виконання вимог користувача (user stories). У книзі Planning XP ми з Кентом ясно позначили наші розбіжності. Кент вважає, що єдиним фактором, що визначає порядок робіт над завданнями, повинна бути їх важливість для замовника. Тепер на таку ж точці зору встав і Рон Джеффріз, який раніше дотримувався іншої думки. Я, все ж, не можу з ними погодитися. Мені здається, що повинен існувати певний баланс між важливістю завдання та технічних ризиком. Так, якщо використовувати наш приклад, то я став би займатися локалізацією раніше, ніж це було б потрібно, саме щоб знизити ризик. Втім, це було б виправдано, тільки якщо локалізація мала б бути присутнім вже в першому випуску системи. Випустити програму якомога раніше – одна з життєво важливих завдань. Все, що не потрібно в першому випуску, потрібно вносити в систему після нього. Враження, яке справляє на замовника працюючий програмний код, просто невимовно. Перший випуск програми змушує його зосередитися на проекті, підвищує рівень довіри до розробників, і крім того, є потужним джерелом нових відомостей. Робіть все від вас залежне, щоб цей день настав якомога швидше. Навіть якщо ви знаєте, що витратите більше зусиль, якщо внесете нову функціональність пізніше, все одно краще буде зробити це після першого випуску системи.
(Нещодавно опублікована стаття Джима Шо (Jim Shore) описує деякі ситуації, включаючи додавання в систему локалізації та підтримки транзакцій. Виявилося, що описані тут потенційні проблеми зовсім не є непереборним бар’єром).

Проектування це чи ні?

Одна зі складностей еволюційного підходу до проектування полягає в тому, що іноді буває дуже складно сказати, чи відбувається проектування взагалі. Змішуючи написання коду та проектування, не можна забувати про те, що можна писати код і без жодного дизайну – і тоді еволюційне проектування не працює.

Якщо ви самі перебуваєте в команді розробників, то відразу відчуєте, на якому рівні знаходиться проектування – досить подивитися на код. Якщо він стає з кожним днем ​​все складніше, якщо з ним все важче працювати, можна говорити про відсутність або недостатню якість дизайну системи. Однак, на жаль, все це суб’єктивні відчуття. У нас немає ніяких офіційних метрик, за допомогою яких можна було б визначити якість дизайну.

Але якщо якість дизайну важко визначити навіть технічним фахівцям, то що ж говорити про нетехнічних частини команди! Якщо ви, приміром, менеджер або замовник, як вам дізнатися, наскільки добре була спроектована система? А знати це вам потрібно, бо погано спроектовану систему буде набагато складніше і дорожче змінювати в майбутньому. Однозначної відповіді на це питання немає, але щось порадити все-таки можна:

  • Прислухайтеся до того, що говорять технарі. Якщо вони постійно скаржаться, як важко робити ті чи інші зміни в системі, поставтеся до цих скарг максимально серйозно і дайте їм витратити час на вирішення виниклих проблем.
  • Звертайте увагу на обсяг викидається коду. У будь-якому проекті, де виробляють рефакторінг, поганий код постійно видаляється з системи. Якщо код не видаляється, це можна вважати явною ознакою відсутності рефакторінга, що не забариться призвести до деградації дизайну системи. Втім, як і будь-яку іншу інформацію, ці дані можна неправильно інтерпретувати. Найкраще прислухатися до думки висококласних технічних фахівців, бо їх думку, нехай навіть суб’єктивне, набагато важливіше, ніж будь-яка інша метрика.

Так що ж, проектування більше немає?

Ні в якому разі. Однак змінилася сама суть проектування. Проектування в ХР вимагає від людини таких якостей:

  • Постійне бажання зберігати програмний код простим і зрозумілим наскільки це тільки можливо
  • Навики рефакторінга, так щоб ви могли впевнено вносити в систему зміни, як тільки відчуєте в цьому необхідність
  • Добре знання патернів: розглядати їх не просто як готові рішення, а вміти оцінювати їх своєчасність і використовувати поступово, від простого до складного.
  • Знати, як донести до тих, кому це потрібно, рішення з конструювання системи (використовуючи для цього програмний код, діаграми і, найголовніше, особисте спілкування).

Такий ось вражаючий список вимог. Втім, стати хорошим проектувальником завжди було непросто. У даному випадку, ХР не полегшує життя, принаймні, не мені. Однак я вважаю, що методологія ХР дозволяє нам по-новому поглянути на проблему ефективності проектування, тому що саме вона знову зробила еволюційне проектування розумною стратегією програмних розробок. А я великий фанат еволюції. Якби не вона, на якому дереві я б зараз сидів?
Подяки

За останні кілька років я запозичив і крав ідеї у величезної кількості чудових людей. Здебільшого їхні імена зникли в нетрях моїй пам’яті. Втім, я ще пам’ятаю, що перехопив кілька хороших ідей у ​​Джошуа Керіевскі. Крім того, я пам’ятаю, скільки чудових зауважень отримав від Фреда Джорджа (Fred George) і Рона Джеффріз. Не можу не сказати про те потоці ідей, які безупинно виходять з Кента і Уорда.

Я завжди відчуваю вдячність до людей, які задають питання і знаходять помилки. Я полінувався заводити довгий список всіх тих, хто мені в цьому допоміг, але в цьому списку обов’язково були б імена Крейга Джоунса (Craig Jones), Нігеля Торна (Nigel Thorne) і Свена Гортса (Sven Gorts).

19 червня 2013 рік

Ресурс: Martin Fowler

Postfix: Часто задаваемые вопросы

С каких это пор вы строили Postfix оборотах?

Я строил Postfix оборотах еще до 2000 года, когда postfix называли vmailer. Оригинальные обороты были построены с помощью других на Postfix-пользователей списка рассылки.

Какие версии Postfix вы предоставляете пакетов?

Доступных пакетов ссылка говорит вам, какие версии поддерживаются.

Какие дистрибутивы поддерживаются?

Доступных пакетов ссылка говорит Вам, какие дистрибутивы имеет пакеты работать под.
Я стараюсь поддерживать последние RedHat предприятие распределения, а также Fedora Core. Однако цикл обновления Fedora Core является довольно быстро, так что я не всегда пытались построить для последней версии.

Почему я должен использовать ваши обороты, не RedHat Стандартные обороты?

Когда я начал строить мой оборотах RedHat не представило никаких Пакеты для Postfix. Теперь, RedHat не предусматривает Пакеты для Postfix вам не понадобится использовать мои обороты, если Вам необходимо более новая версия, чем версия которую они представляют, или вам нужно использовать с Postfix варианты, которые Postfix об / мин RedHat не предусмотрена. Если это так, то вы можете попробовать свои обороты, в противном случае я предлагаю вам остаться с RedHat’s.

Как я могу построить двоичный RPM с src.rpm на вашем сайте?

Здание оборотах ссылку расскажет вам, как.

Откуда я могу скачать ваши обороты?

Мой обороты могут быть скачаны с http://ftp.wl0.org/ но пожалуйста, подумайте об использовании зеркал, перечисленных на зеркало ссылку. Люди, которые обеспечивают зеркал может быть ближе к вам, и их сервера могут быть доступны, если мой сервер не является. Если вы используете зеркало отправить Сопровождающий слова благодарности за его усилия.

Как я могу узнать, если вы делаете новые обороты?

Подписаться на postfix-rpm-announce список рассылки. По некоторым причинам список интерфейс почтальон тут не показывает список рассылки по некоторым причинам (я все еще необходимо определить, почему). Список рассылки архивов показывают предыдущие сообщения, отправленные в список. Помните, что мой сервер на несколько списков RBL, потому что я абонента кабеля и, следовательно, почтовой программы на вашем сервере или сервере провайдера может отвергнуть почту с объявлением списка. Я не могу исправить эти отказы. Может быть, вы можете.

Почему бы вам не обеспечивают бинарных RPM-пакетов с опцией …?

Бинарных RPM-пакетов на моем сайте, являются самым простым файлы и там есть наименьшее количество зависимостей. Если бы я был?? Построить двоичный пакет Postfix с большим количеством различных опций для этого потребуется установить зависимые пакеты RPM, даже если вы не нуждаетесь в них. Как легко построить бинарный RPM из моего источника об / мин, различные варианты я думаю, что это лучшее, что вы делаете это в соответствии с вашими потребностями. Есть только слишком много вариантов для создания всех возможных комбинаций и, таким образом, сохранить все были счастливы.

Почему бы вам не построить двоичный пакет для распространения XXXX?

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

Почему сборки процедура не нормально?

Первоначально я пытался построить несколько различных дистрибутивов и размещение файлов и некоторых зависимостей были распределения зависимы. Чтобы избежать того, чтобы создать все эти различия в файле спецификаций я настроил файла спецификации я создал, чтобы принять эти различия во внимание. Спектра файл создается с шаблонами файла спецификации обеспечены другие исходные файлы и создавать скрипт, который генерирует фактической спецификации файла из файла шаблона с учетом распределения и необходимые параметры построения. Хотя Есть еще различия между различными дистрибутивами различия менее важной проблемой. Однако изменения построить процедуры в настоящее время требует больше работы, чтобы поставить все чеки и условного поведения внутри файла спецификации, а не за ее пределами. Пакет макросов для подобных ситуаций (в том числе определения распределения, на котором построить среду работает) не являются тривиальными. Таким образом, для момента создания процедура остается той же. Может быть, я буду смотреть на это снова и рассмотреть вопрос об упрощении процедуры создания и, следовательно, позволяет rpmbuild – define “dist rhel4″ postfix.spec типа строит в будущем. Однако я по-прежнему предпочитают файла спецификации знать, на которых распределение она строится без сказать это вручную.

Я получаю проблемы здание вариант POSTFIX_XXX с опцией POSTFIX_YYYY

Некоторые параметры построения не совместимы. Если вы получаете эту проблему, то попробуйте собрать с каждого варианта по-своему, чтобы определить, есть ли проблема с отдельной части сборки. Если оба варианта не строить вместе, то, пожалуйста, сообщите мне. Я, вероятно, должны записать список известных несовместимости.

Я получаю проблемы здание с опцией POSTFIX_SPF

SPF патчи для Postfix не очень широкую поддержку. Часто они не работают в сочетании с другими патчи / вариантов. Поэтому, если вы настаиваете на использовании POSTFIX_SPF не ждать слишком многого от меня обратной связи. Если вы можете решить проблему, то пожалуйста, пришлите мне соответствующие патчи к моему файле спецификации. Если вы не можете, то дайте мне знать, есть проблема, и я постараюсь и список проблема где-то на моем веб-сайте.

Построить сценарий говорит, что мое распределение не признается. Что я должен делать?

Выявление распределение осуществляется сценарий postfix-get-distribution представлен в SRC об / мин. Если ваш дистрибутив не поддерживается, и это клон RedHat, то просьба сообщить мне, с информацией, которая позволяет мне признать распределения как клон. Это, как правило, выход из rpm-q distribution-release, где distribution-release является имя релиз об / мин распределения. например, CentOS имеет Пакет называется centos-release. Если номер версии не совпадает с количеством релиз RedHat, то пожалуйста, скажите мне корреспонденции. Если распределение не является клоном RedHat и построить процедуру можно прямо сконфигурирована на распределение вы пользуетесь, то просьба сообщить мне подробности, и я буду видеть, если я могу изменить построить процедуру, чтобы настроить построить процедуру правильно.

Имеется ли у ваших пакетов построить на SuSE, Mandriva, …?

Я знаю людей, которые используют мои пакеты, на других нет RedHat дистрибутивы, такие как SuSE и Mandriva. С / мин распределения, такие как эти, не RedHat клонов конфигурации среды существенно отличается от RedHat, таким образом Вы можете столкнуться с проблемами. Однако я ценю обратную связь и предложения, которые сделали бы мои пакеты, работать на более широкий круг распределения, если это может быть сделано в прямых образом вперед. Кажется, что неудовлетворительный общий пакет об / мин не может быть создана для работы на всех распределений с необходимыми хитрости, как это позволит сэкономить время разработки для всех, особенно при настройке пакета для нового дистрибутива или версии Postfix.

Ресурс: Postfix

Добро пожаловать в мир Жана Бодрийяра

ПРИМЕЧАНИЕ: ОБЪЕКТЫ в зеркале ближе, чем кажутся

Malaclypse Младшего: О! Эрис! Я полон страха и мучили страшные видения боли. Везде люди наносят ущерб друг другу, планеты цветет с несправедливостью, грабежом целом обществ группы своего собственного народа, мать тюрьму сыновья, дети погибают в то время как братья войны. О, горе.
Богиня Eris: Что случилось с этим, если это то, что вы хотите сделать?
Malaclypse: Но никто не хочет! Все ненавидят его!
Эрис: Ой. Ну, а затем остановится.
В какой момент она обратилась в аспирина коммерческих и левой Polyfather мель наедине с его видов. [1]

Жан Бодрийяр является “Талисман: симптом, знак, обаяние, и, прежде всего, пароль в следующем Вселенной”, (Крокер и Левин, BC 5), если вы слишком много читал Бодрийяра “Вы в опасности превращения в гипер-читатель , и преобразования этого документа в силу вашего воображения в нечто подобное она стала в руках Neo Геос и их апологеты. В этот момент вы принимаете Бодрийяр слишком серьезно “, (Данте, 48)” Бодрийяр начал работать одинаково тщательно играли Исчезающие Теоретик. Он постепенно и сознательно отказались протоколов систематических исследований, скрупулезно аргумент, диссертации разработки, “критики” – в пользу стиля личных короткую (и jaunting) о мире … Это путешествие человека не Безумный Макс. Там нет смысла в стеклянный пузырь Бодрийяра о том , что что-нибудь неприятное может произойти, “(Моррис, HR, 28/09). “В результате анализа Бодрийяра является лицензия вид интеллектуальной дендизм”, (Каллиникос, 147). И так, “в конце концов, а не теория … пришел обнять себя как работы с-ст, тяжелые объекта, и абсолютный товар”, (Моррис, 101, 210).

Основные аспекты воздействия:

Карл Маркс, Фридрих Ницше, Клод Леви-Стросс, Луи Альтюссер, Жорж Баттон, [2] Марселем Мосс, [3] Анри Лефевр [4] (его социологии учитель); Жака лака, Роже Кайуа, Жиль Делез, Франкфуртской школы, Ситуационисты , [5] Тел Quel постструктуралистов, Маршалл Маклюэн, [6] и, конечно, “взрыв” в мае 1968 (“, что в некоторых отношениях, была взорвана его собственные студенты социологии в Нантера,” Левин, ЦПЭ Intro 10). Но “просто список” влияет “на комплекс мыслитель, как Бодрийяр сам заблуждение … ‘Бодрийяр выступает против любой мыслитель, идеи которого он серьезно,’” (Келлнер, JBMB 5-6)

Аннотированный библиография

Работы Бодрийяр

Le Systeme де предметами (Paris: Gallimard, 1968); С. 255-83 транс. как “система объектов” Жака Mourrain, в Евангелии от Марка плакатов, изд. Жан Бодрийяр Избранные произведения (Stanford: 1988) 10-29.

Обсуждение диссертации потребительского общества от нео-марксистской точки зрения, опираясь на Лакаев как психоанализ и Saussurean структурализм развивать его главная тема, которая является то, что потребление стало главным основе социального заказа. Потребительские объектов структуру поведения через языковые функции знака. Реклама взяла на себя “моральную ответственность за все общество, и вместо [D] пуританской морали с гедонистической морали чистого удовольствия, как новое состояние природы в самом сердце hypercivilization”, (12/03). Свобод и свободы у нас в этой новой hypercivilization полностью ограничивается товара системы: “Бесплатный быть самим собой” на самом деле означает:. Свободный проект свои желания на произведенные товары “Бесплатная получать удовольствие от жизни” означает: бесплатно к регрессу и иррационально, и таким образом адаптировать определенные социальные организации производства. [Это] Конечная в нравственности, так как потребитель одновременно примириться с самим собой и с группой. Он становится совершенным общественное бытие “, (13). Покупка товаров обусловлено деятельностью, которая имеет место на пересечении двух систем: у человека, который жидкости и отключен, и что из производственных отношений, которая является кодифицированным, непрерывного и комплексного.” Это НЕ взаимодействие, а нападение на интеграция системы потребностей в рамках системы продуктов “, (14). Отношения похожи на Saussurean системы и условно-досрочное освобождение Langue: объект потребления частности артикуляции (условно-досрочное освобождение) из набора выражений, существовать до товара (Langue). Но это не язык: “Здесь мы Вавилонской башни: каждый пункт говорит на своем языке … Это огромная парадигмы не хватает настоящего синтаксиса “(15), это” система классификации, не языка, “(16).” Потребности “, как такие, созданные предметы потребления:” это категории объектов, которые полностью деспотические побудить категорий лиц . Объекты Они обязуются полицейской социального значения, и сигнификаций они порождают находятся под контролем “, (16/07). Объекты означают, социального положения, и в потребительском обществе они заменяют все другие средства иерархической социальной дивизион – например, расы, пола , класса. Люди больше не ранжируются в соответствии с этими устаревшими механизмами, а товары они обладают – универсальный код признания говорит нам, что человек с часами Rolex выше по иерархии. Это не означает освобождения от эксплуатации; “Напротив, представляется, что ограничение одного референта действует только к обострению желания дискриминации … мы можем наблюдать развертывание всегда новой навязчивой идеей иерархии и различия “, (20). Потребление” систематическое актом манипуляции знаками “(22), что означает социальный статус через разница – покупка Rolex средств не купить Seiko. Сам объект не расходуется, а идея о связи между объектами. Кроме того, технологические императивы взорвать марксистской проблематики революции, потому что изменение является неотъемлемой частью системы и ее очень воспроизводства: “Все находится в движении, все меняется, все трансформируется и пока ничего не меняется Такие общества, бросили в технический прогресс. выполняет все возможные революций, но эти революции на себя. Его рост производительности не приводит к какой-либо структурных изменений. “[7]

La Societe де consommation: SES мифы, СЭС структур (Paris: Gallimard, 1970); С. 17-26 транс. как “Общество потребления”, в плакате, 29-57 [CS], стр. 174-85 транс. Пол Фосс, как “Pop – Искусство потребления”, Пола Тейлора, изд ст., Пост-поп (Cambridge: MIT, 1989) 33-44 [ПКК]

“Весь дискурс на потребление, будь то узнал или лежали, сформулированы на мифологические последовательность байка: человек,” наделен “с потребностями, которые” прямой “его к объектам, которые« дают »ему удовольствие,” (CS 35). Этот миф не учитывает характер потребительского общества, в котором “поведение производителей управления, а также прямые и модель социальных отношений и потребности … это общая диктатуры сектора производства” (CS 38). Бодрийяр проблемы Гэлбрейт понятие JK, что “п] eeds [в действительности являются плоды производства" (CS 41, со ссылкой Новое индустриальное общество), утверждая вместо этого, что "система потребностей является продуктом системы производства .... Потребности производятся как сила потребления ". Иными словами, то, что Гэлбрейт называет "потребностей" существуют только в целях повышения темпов потребления: "нужды ничего, кроме самых передовых форм рационального систематизации производительных сил на индивидуальном уровне, в которой" потребление "занимает логичным и необходимым реле от производства", ( КС 43). "Миром объектов и потребностей, таким образом, быть миру общей истерии. Подобно тому, как органы и функции тела у истеричных преобразования стать гигантской парадигмы, симптом заменяет и называется, в потреблении объекты становятся огромные парадигмы назначения на другом языке, через которые что-то еще говорит, "(CS 45). Потребление, таким образом, как идеологии и системы связи (также обмен), и может рассматриваться в качестве "эксклюзивного удовольствия" (CS 46). Удовольствие это не цель потребления, а рационализация потребления. Реальная цель потребления для поддержания системы объектов: производство и потребление одной и той же большой логический процесс в расширенное воспроизводство производительных сил и их контроля. "Это императив, который относится к системе, входит в перевернутом виде в менталитете, этике и повседневной идеологии, и что является его конечной хитрость: в форме освобождения от потребностей, индивидуального исполнения, удовольствия и богатства, и т.д.", (КС 50). Отдельного потребителя имеет важное значение для восстановления системы.

Потребление стало своего рода работу, в котором отдельные инвестирует свой?? Внутренний мир со смыслом через "активные манипуляции символов." (Леви-Стросс бриколаж) Что такое потребления "не сам объект, но система объектов," идея отношение ", что на самом деле 'больше не жил, но отменена, реферировать, потребляемых" по означает самой системы ... Как мы потребляем "код, по сути, мы проиграть" Система ", Левин, в интро к ЦПЭ (5).

Художественного объекта в этой системе теряет свой статус художественного знака, так как это в настоящее время роль всех объектов. "Циничной улыбкой" американского поп-арта (Warhol) "является одним из обязательных признаков потребления: он больше не показывает юмора, критическое расстояние .... В конце концов, в этом" холодных "улыбку, вы больше не можете отличить между улыбкой юмора, и по коммерческим соучастии .... [я] т не улыбка критическое расстояние, это улыбка заговора “, (ПКК 44).

Для критике политической экономии знака (Сент-Луис: Телос, 1972, 1981) транс. Карл Левин. [ЦПЭ]

в отношении людей к потреблению имеет иерархическое значение статуса в системе символического обмена, который является “социальный институт, который определяет поведение еще до того, рассматривается в сознании социальных субъектов”, (31). В этой системе потребления определяет свой социальный статус – “Через объектов, каждый индивидуальный и групповой поиски свои места ее в порядке, все время пытаются затолкать этом порядке в соответствии с личной траектории”, (38). В этом смысле нет никакого смысла в полагание существования “эмпирический объект” (63), поскольку объект имеет смысл только как означающее отношение.

Концепция необходимости (как в потребительной стоимости области выше) функции идеологически производить тавтологию, в котором предмет определяется объект и наоборот. Законность производства основывается на уверенности, что люди будут рационализации потребления через понятие необходимости. “И поэтому кажется, что это попрошайничество вопроса – это принудительный рационализации – маски внутренних окончательно порядок производства. Просто стать самоцелью, каждая система должна развеять вопрос о его реальном телеология”, (71). “Другими словами, Есть только потребности, потому что система нуждается в них”, (82).

Потребление как знак-значение как богатство и его отсутствие: “акт потребления никогда не бывает просто купить … Кроме того, расходы … это богатство проявляется, и проявляется уничтожение богатства”, (112). Экономический меновая стоимость (т. е. шекелей) превращается в знак обмена ценность, основанная на “монополию кода” (115).

Индивидуальные агентство не имеет значения в обществе потребления .. “Логика обмена первоначальной В некотором смысле, не существует отдельных … определенном языке … является к отдельным Этот язык является общественная форма, в отношении которых существует может собственно должно быть лиц, так как обмен структуры … Язык не может быть объяснено, если предположить индивидуальная потребность говорить …. Прежде чем такие вопросы, может быть даже говоря, нет, просто, язык – не как абсолютной, автономная система, а как структура обмена одновременно с смысл сам, и на котором сформулированы отдельные намерения слова “, (75).

Проблемы с “ложное сознание”, ESP. как проявляются в теории фетишизм: марксизм исключает любые реальные шансы он имеет анализа реального процесса идеологического труда. “Отказавшись анализа структуры и режима идеологического производства присуща своя логика, марксизм обречен … расширения воспроизводство идеологии, а следовательно, и капиталистическая система сама …” фетишизм “срок почти имеет свою собственную жизнь. Вместо того, чтобы функционировать как метаязыка для магического мышления других, это оборачивается против тех, кто использует его, и тайно предоставляет своим магическим мышлением “, (89-90). Это не страсть к объектам, диски товарного фетишизм, но “страсть к коду … Это основной артикуляции идеологического процесса: нет проекции отчужденного сознания в различных надстроек, но и в обобщении на всех уровнях структурного кода”, (92). Итак идеологии »не таинственного обманывают сознания: это социальная логика, которая заменяется другим (и которая решает противоречия последнего), тем самым изменяя само определение значения”, (118). Это магия код, который формами “Keystone господства”, (119).

Идеология “выступает как своего рода культурный поиска вспенивания на плацдарме экономики”, (144).

Тавтология неограниченного семиозиса исключает реальное – это означало узаконены на основе означает и наоборот. Это округлости “является очень тайный всех метафизических (идеологические) оперативности ….” реальных “таблица не существует … если он существует, это потому, что он уже был назначен, реферировать и рационализировать разделения (декупаж), который устанавливает ее в этом эквивалентности к себе”, (155). Смысловые, следовательно, овеществление – “Все репрессивных и восстановительного стратегии уже присутствуют в внутреннюю логику знака, а также стоимости курса и политической экономии только тотальной революции, теоретические и практические, могут восстановить в символической. Кончины знака и значения. Даже знаки должны гореть” , (163).

СМИ: должны быть изучены с точки зрения формы, не содержания; Сосиски, как Брехт и Энценсбергер которые утверждают, что СМИ могут быть освобождение игнорировать, что СМИ являются идеологическими насквозь: “Идеология не существует в каком-то месте, кроме, как дискурс господствующего класса, прежде чем он направляется через средства массовой информации … идеологии функции средств массовой информации на уровне формы “, (169). Средства массовой информации “произвести noncommunication” (169), потому что они “это то, что всегда мешает ответ, делая все процессы обмена невозможно … Это реальная абстракция СМИ. И система социального контроля и власти коренится в его,” (170) . Это не только конечная средством социального контроля, она просто социального контроля; “Это бесполезно фантазировать о состоянии проекция контролем полиции через телевидение: … Телевизор, в силу его присутствием, является социальный контроль сам. Существует не нужно представить его как состояние перископ шпионаже в частной жизни каждого человека – ситуация в его нынешнем виде является более эффективным, чем: это уверенность, что люди больше не говорят друг с другом, что они, безусловно, изолированных в лицо слова без ответа “, (172). Граффити только подрывных средств массовой информации, поскольку он не “против одного кода на другой”, но скорее это “просто разбивает код”, (184).

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

Второй Политической экономии знака: Под покровом функциональность … его институтов определенного режима значение, в котором все окружающие знаки выступают в качестве простых элементов в исчислении и ссылаются друг на друга в рамках системы знака меновая стоимость », (191).

Зеркало производства (Сент-Луис: Телос, 1973,1975) транс. Марк плакат.

Идея о “производстве” в марксистской смысле должны быть представлены радикальные критики. По Бодрийяру, критика потребления “достигает своего полного объема в ее распространения на другие, что товар, рабочую силу”, (25). Рабочей силы не эссенциалистских понятие человеческого потенциала; Он производится в качестве концепции политической экономии. Это фундаментальная критика марксизма в глаза Бодрийяра: “И в этом марксизм помогает хитрость капитала. Это убеждает людей, что они отчуждены от продажи своей рабочей силы, следовательно цензуры гораздо более радикальная гипотеза, что они могут быть отчуждены рабочей силы, как” неотъемлемыми ‘ неотъемлемой “Сила создания ценности своей работой”, (31). Марксистский взгляд, таким образом, проблематичным, поскольку оно предполагает капиталистических зрения человеческих существ, как производство машин. Действительно радикальные перспективе отказаться от этой идеологической строительство производства – “А для того, чтобы найти области за экономическую ценность (которая на самом деле только революционную перспективу), то зеркало производства, в котором все западной метафизики отображается, должны быть сломан”, (47) .

Маркс утверждал, что критика религии была завершена после Фейербаха и только критике политической экономии “может” решить проблему религии путем привлечения из истинных противоречий. Сегодня мы действительно в той же точке по отношению к Марксу. Для нас, критика политической экономии в основном завершена. материалистической диалектики исчерпал его содержание в воспроизведении его формы “, (51). Этот новый радикализм не влечет за собой критику политической экономии, но критике политической экономии знака. Эта революция в политической экономике все проблемы, независимо от того, какой класс (122-3 ). С господством кода (см. ЦПЭ), “Марксизм не в состоянии теоретизирования общей социальной практики (в том числе наиболее радикальной форме марксизма), за исключением отразить это в зеркало способа производства. Это не может привести к размерам революционной “политика”. (152). Отчуждение не так: “Что это абсурд делать вид, что мужчины являются” другими “, чтобы попытаться убедить их в том, что их глубокое желание, чтобы стать” себя “снова каждый человек полностью есть в каждый момент времени общество тоже вполне там !. в каждый момент времени “, (166). Уменьшает марксизма на протяжении всей книги для самых редуктивных и детерминированных сортов, ESP. Ленин и Альтюссер. Именно в этой работе, что Бодрийяр начинается скользкий путь в нигилизм, что Дуглас Келлнер называет “придирчиво”: “более важным, чем критическая, и напоминают о” критической критики “с младогегельянцев нападения Маркс,” (JBMB 53).

L’Echange symbolique др. La Mort (Paris: Gallimard, 1976); С. 19-29 транс. как “Символический обмен и смерть”, в плакате, 119-149.

Здесь Бодрийяр полностью движется из области политической экономии и в его мир “радикальных semiurgy,” тотального господства на код знака обмена. Марксизм, семиотика, anthropolgy, и психоанализ все бесполезно революционной критик, пока они не вывернутый наизнанку через логике обратимости и моделирования. Коды таким образом, представляют собой основной принцип организации социального лица – мы перешли от сосредоточиться на “способ производства”, чтобы сосредоточить внимание на “Код продукции”, Келлнер, JBMB, 61. Идеология мертв. “Сегодня вся система колеблется в неопределенности, всю реальность поглощается гиперреальности кода и моделирования В настоящее время принцип моделирования, не реальности, регулирующие социальную жизнь finalities. Исчезли, мы сейчас порожденных моделей Существует уже не такая вещь, как идеология. Есть только СИМУЛЯКРОВ” , (120). Три порядка СИМУЛЯКРОВ, вытекающие рассматривать как преемственность исторически материал этапов, каждый, разделенных революции (“Это настоящие революции”, 121):

Каждая революция является общей, а в третьем ни порядок дискурса второго порядка (например, марксизм) актуальны. Метафизика код может таким образом быть оспорено только смертью. “Вот почему только стратегии катастрофическая, а не в малейшей диалектический. Вещи должны быть прижаты к границе, где все естественно перевернутой и разрушается”, (123). Признакам представляют собой “наиболее чистой и неразборчиво формы господства … Это полностью всасывается, без следов крови, в знаки, которые нас окружают …. символического насилия везде вписаны в приметы, в том числе в знаках революция”, (130). Вениамин и Маклюэна “схватил техника не как” производительной силой “(там, где марксистский анализ еще находится в ловушке), но как средство, как форма и принцип целое новое поколение смысл. Факт, что любой объект может быть воспроизведена, как таковой , в образцовом двойной, уже революция … симулякр превзойти истории “, (138). Логика binarism такая, что “Мы живем в режиме референдума, и это именно потому, что Есть не более referentials. Все знаки и сообщения … явиться к нам в вопрос / ответ формате. Социальные системы связи превратилась из сложной структурой синтаксических языка для зондирования бинарной системой сигнализации, “(142).

Связь мокрым и липким, и целостно организует концепции по структурной логики:. “Культуры тактильное общение на самом деле растет в технико-Lumino-кинетического пространства, предусмотренных настоящим общего, пространственно-динамических театра она несет с собой вид контакта мнимые, сенсорных mimeticism, тактильные мистики, что прививки на вселенной оперативного моделирования, multistimulation, и нескольких поверхностей отклика, как всей системы экологической концепции “, (144).

Гиперреальности: “От среды до среды, реальное исчезает, становится аллегорией смерти потерял. Но это тоже, в некотором смысле, усиленные через свой?? Собственный объект уничтожения. Это становится реальностью для его собственного блага, фетишизм: больше не предмет изображения, но экстазе отрицания и собственного уничтожения ритуал: гиперреальности …. гиперреальности … удается стереть даже это противоречие между реальной и мнимой нереальность больше не находится в сон. или фантазии, или за его пределами, но в реальной’s галлюцинаторно похож на себя », (145). Гиперреальности является головокружительных: “whirlgig представления сходит с ума, но с имплозийного безумие которых, далеки от экс-ориентированные, слепки тоски глаза в центре, до ее повторения EN abime”, (146).

“Если Баттон напали на метафизический принцип экономики”, пер. Дэвид Джеймс Миллер, канадский журнал политических и социальных 11:03 теория (1976, 1987) 57-62.

Маркс критикует меновая стоимость только возвышает использовать значение – “марксистской стремится эффективно использовать экономики!. Марксизм представляет собой лишь ограниченные мелкобуржуазный критики, еще один шаг в banalization жизни к” хорошим использования “Баттон социальной, наоборот, сметает все это диалектика раба из аристократического точки зрения , что и мастер борется с его смертью … Марксизм только разочаровался горизонта капитала – все, что предшествует или следует за ним является более радикальной, чем ее есть “(60). Бата?? Конструкции метафизического, а не политический принцип экономики; “солнечной экономики”, “cosmogeny расходов” (61) на основе принципа неограниченного дар солнечных лучей. “Но Баттон имеет неправильно Мосс. Одностороннего подарок не существует Это не закон Вселенной … Солнце дает ничего, необходимо, чтобы кормить его постоянно с человеческой кровью, с тем, что оно светит”, (61).

“Бобур-эффект: Имплозия и сдерживания”, 20 октября (весна 1982), 3-13; пер. Розалинд Краусс и Аннет Майкельсона; оригинальные паб. 1977 года.

Критика museam Beauborg. Массовое производство «не массового производства или использования масс для производства, а производство массы (ES),” (8). Мощность исчезает через имплозии.

Забудьте Фуко (Нью-Йорк: Semiotext (E), 1977,1987). [FF]

“Наша культура преждевременной эякуляции”, (24). “Долой богословских власти, да живет teleonomical власти!” (34)

Мощность исчезает: власть произвольно и обратимые по своей форме. “Мы должны сказать, что власть сводят, но не в вульгарной смысле соучастниками форме желания со стороны тех, кто доминирует – это сводится к основываясь на желание других людей, которые на самом деле происходит за борт в принятии людей для идиотов – нет, мощность соблазняет том, что обратимость который преследует его, и от которого минимальная символический цикл устанавливается “, (43-4). “В самом деле, революция уже произошла Ни буржуазной революции, ни коммунистической революции. Только революция”, (50). Таким образом, это бесполезно обсуждать власти, поскольку власть “только там, чтобы скрыть тот факт, что она больше не существует, или, скорее, показывают, что с апогеем политического была пересечена, с другой стороны цикла в настоящее время, начиная с которой власть возвращается в свой?? собственный симулякр … только мышей-ан-сцена … власть работает. Но это признак того, что сфера власть находится в процессе заражения от звезды первой величины на красный карлик, а затем черная дыра поглощает все содержание реальных и все окружающие энергии, в настоящее время превращается в один раз в один чистый знак – знак социального, плотность которого подавляет нас “(51).

В тени молчаливое большинство, или, Конец социального и другие очерки (Нью-Йорк: Semiotext (е), 1978, 1983) транс. Пол Фосс, Джон Джонстон, и Пол Паттон.

“Массой” является концепция создана с помощью моделирования. “Социальной недействительными рассеивается с внедренным объектами и кристаллических кластеров вращающихся вокруг и сливаются в коре головного светотени. Так массы, в вакууме агрегации отдельных частиц, отказаться от социальных и средств массовой информации импульсы непрозрачной туманность чья растет плотность поглощает все окружающие энергии и световые лучи, чтобы свернуть, наконец, под собственным весом. черной дыры, которая охватывает социальные, “(3-4). “Можно задавать вопросы о удивительный факт, что после нескольких революций и век или два политических ученичества, … Есть еще … тысяч человек, которые стоят до двадцати миллионов человек, которые остаются” пассивный “- и не только пассивной, но кто, во всех добросовестно и, даже не спрашивая себя, почему, открыто предпочитают футбольный матч в человеческой и политической драмы? … власть манипулирует ничего, ни массы, ни ввести в заблуждение недоумении. Питание только рады сделать футбол нести ответственность легкая , даже взять на себя ответственность за дьявольские одурманивающих масс. Это удобствами в иллюзию власти, и отводит от гораздо более опасным тот факт, что это равнодушие масс является их правда, их только практике, что нет другого идеала их представить, ничего в этом сожалеем, но все, чтобы проанализировать, как грубый факт коллективного возмездия и отказ от участия в рекомендованных идеалы, однако просвещенные “, (13-14). “Только референта которые до сих пор функции является то, что с молчаливого большинства. Все современные системы функционируют на этой туманной личности, на этот плавучий вещества, существование которого уже не социальная, но статистические, и чей единственный способ появления в том , что исследования … Они не выражают себя, они опрошенных “, (19-20). “Сегодня все изменилось: больше не будет смысла не хватает, оно производится во всем мире, во все возрастающих количествах – это спрос, который является ослабление системы. И это производство этого спрос на смысл, который приобрел решающее значение для …. Без этого власть ничего, кроме пустых симулякр и изолированных эффектом перспективы “, (27). Масса “поглощает все социальные энергии, но больше не преломляет его. Он поглощает каждый знак и каждое значение, но уже не отражает их. Он поглощает все сообщения и дайджесты них. Для каждого вопроса, поставленного на него, он посылает обратно тавтологию и круговой ответ … масса немой, как звери, и его молчание равно молчания зверей. Несмотря на то, были обследованы до смерти … она говорит, ни правда это влево или вправо, ни он предпочитает революции и репрессий. Это без правды и без причины. Это было обусловлено с каждым произвольной замечание. Это без совести и без бессознательного “, (28/09). “Она всегда была мысль – это очень идеологии СМИ – .., что СМИ, которые охватывают массы секрет манипуляции было искать в неистовой симптоматика массовой информации, но это не уделяется достаточно внимания, в этой наивной логики коммуникации, что массы сильнее среде, чем все средства массовой информации, что это бывший охватывающих и поглощают последнего – или, по крайней мере, НЕТ приоритет одного над другим. массы и СМИ являются одним единый процесс. Масса (возраст) является сообщением “(44). Масс “знаем, что нет освобождения, и что система отменена только благодаря падению его в hyperlogic, вынуждая его в чрезмерной практика, которая эквивалентна жесткой амортизации” Вы хотите, чтобы мы потребляем -. Нажмите кнопку ОК, давайте потреблять всегда больше, и ничего бы там ни было, для любого бесполезной и абсурдной цели »(46). Массы и терроризм” самых радикальных, наиболее интенсивной современной формой отрицания всей системы Представитель “, (52).

Lambasts Лиотара “либидинального экономики” и Делеза и Гваттари, “micropolitics желания”, а жестко: «Но будьте осторожны Из этого частного и асоциального вселенной, … некоторые хотели бы, чтобы новый источник революционной энергии (в частности в ее! Сексуального и желание версия). Они хотели бы, чтобы придать ему смысл и восстановить его в своей банальности, как исторического негатива. Воздвижения микро-желания, небольшие различия, бессознательное практики, анонимные marginalities. Заключительный сальто интеллигенции, чтобы возвысить ничтожество, чтобы содействие нонсенс в порядке смысле и передать его обратно в политической причине Банальность, инертность, apoliticism ранее фашист, они находятся в процессе становления революционной – без изменения смысла, не переставая иметь смысл Microrevolution … пошлости, transpolitics желания -. еще один трюк “освободителями” отрицание смысла не имеет смысла “, (401).

“Социальных” больше не существует, (65-84). Таким образом социализм невозможен: “социальные, если бы она существовала с СИМУЛЯКРОВ второго порядка, не имеет даже возможности, которые изготавливаются из третьего порядка, из них: с самого начала его часть содержится в своем собственном” взорвался “и отчаянный постановка,. В своей неприличия Признаки этого hyperrealisation, признаки ее редупликации и его предполагаемое выполнение везде прозрачности социальное отношение щеголял, означает, потребляемой во всем мире истории социальной никогда не имел времени, чтобы привести к революции ..: он был опередил признаками социальной и революции. социальные никогда не имел времени, чтобы привести к социализму, это было короткое замыкание на hypersocial, по гиперреальности социального (но, возможно, социализм не более что это?) “(85)

Информация плохо: она разрушает смысл и значение (96); двум причинам: 1. “Вместо того, вызывая связи, она исчерпывает себя в акте постановки связи; вместо производства смысл, она исчерпывает себя в постановке смысл”, (97-8). Второй “За это усугубляется постановка связи, средств массовой информации, с ее давлением информации, осуществляет непреодолимое destructuration социального”, (100). “Таким образом, информация растворяется смысл и социального в какой-то туманной состояние ведущего … до полной энтропии Итак СМИ не приводят к социализации, а как раз наоборот:. Имплозии социального в массах И это только. Макроскопических расширение имплозии смысла на микроскопическом уровне знак “, (100). Воздействие, восторг: “Beyond смысл, есть увлечения, что является результатом нейтрализации и имплозии смысла”, (104)

Кроме того, средний является средний! “Есть не только распад сообщение в среду, в то же время есть распад самой среды в реальном, распад среды и реального в какой-то туманной гиперреальности, где даже определение и различные действия среды больше не различимы,” (101). “Одним словом, среда сообщение означает не только конец сообщения, но и конца среды. Есть больше не СМИ в буквальном смысле этого слова … то есть, власть посредника между одной реальности, а другой, от одного состояния реального, а второй – ни по содержанию, ни по форме “, (102)

Терроризм, в свою unrepresentativity, подрывает власть вскрытия unrepresentativity власти. “Его слепота точной копией абсолютное отсутствие системы дифференциации … Терроризм наносит удар действительно самым характерным продуктом всей системы: анонимно и полностью недифференцированных лица, срок взаимозаменяемые для любой другой”, (55-6). “Терроризм не является насильственной само по себе, только зрелище это развязывает действительно насильственных”, (114). “Существует не возможно различие между эффектным и символическим, не проводится различия между возможным” преступление “и” репрессии “. Именно это неконтролируемое извержение обратимости, что является настоящей победой терроризма”, (115-6). “Силы террористов приходит к ним именно с тем, что у них нет логики … Потому глупости и непристойности всего того, что сообщил о террористах: везде хотят подсунуть смысл на них, чтобы истребить их с смысл”, (116-7). “[T] он Ставки не бить власти на своей собственной земле, но и против другой политической силы порядка … [НЕ] противоположные друг насилия в другой, … но противопоставить полном насилия, и полное порядка явно превосходит модель уничтожения и вирулентности операционной через пустоту “(119). Цель терроризма, таким образом, “чтобы сделать систему рухнет под избыток реальности”, (120).

Де ла Seduction (Париж: Издания Галилее, 1979); С. 75-92, 107-15, 241-3 транс. как “о совращении,” Плакат, 149-65.

Соблазнение это то, что отделяет правду от смысла в дискурсе. Лака психоанализа “символы смерти психоанализа, как уверенно, как ее институциональных тривиализации”, (153). Искушение Всегда соблазняет, чтобы увековечить соблазнения, он “всегда самоцелью”, (160). “Чтобы соблазнить является ослабление. Соблазнить является давать сбои …. Все обольщения и ничего, кроме обольщения”, (162).

Моделирование (Нью-Йорк: Semiotext (е), 1981, 1983) транс. Пол Фосс, Пол Паттон, и Филипп Beitchman. [SIM]

Неограниченное семиозиса обеспечивает не только то, что реально не возможно, но также, что иллюзия уже невозможно – понятие “иллюзия” предполагает некоторое представление о “реальной” противоречит. Моделирование заменяет идеологию – “это уже не вопрос идеологии власти, но и сценарий власти. Идеология только соответствует предательство реальности знаками; моделирования соответствует короткого замыкания реальности и ее редупликации знаки … это всегда ложные проблемы необходимо восстановить правду под симулякр”, (48) .

СМИ: Ситуационисты были неправы и Маклюэн был прав – “Мы больше не в обществе спектакля, который ситуационисты говорили, ни в конкретных видах отчуждения и репрессий, это означало самой среды больше не идентифицировать. Как таковой, и слияние среды и сообщения (Маклюэн) с ‘является первой большой формула этого нового возраста Существует не любой среде в буквальном смысле:. В настоящее время нематериальные, диффузный и дифрагированного в реальной, и это больше не могут даже сказать, что последняя искажается его “, (54). Таким образом, “мы должны думать о СМИ как если бы они были, в космической орбиты, своего рода генетический код, который контролирует мутацией реального в гиперреальность”, (55). Значение Итак взрывается – “это где моделирование начинается”, (57). “Роль сообщение больше не информация, но тестирование и опросы, и, наконец, контроль (” противопоказаний роль, в том смысле, что все ваши ответы уже вписано в “роли”, о предполагаемом реестре кода), “(119).” Реальным “преобразуется в результате этого процесса:” он становится аллегорией смерти, но он усиливается по самой своей уничтожения, она становится реальной для реального, фетиш утраченный объект – не предмет изображения, но экстази из отрицание и собственного уничтожения ритуал:. гиперреальности …. гиперреальности представляет гораздо более продвинутой фазе в том смысле, что даже это противоречие между реальной и мнимой стирается нереально это уже не мечты или фантазии, из вне или внутри, в том, что с галлюцинаторно подобие реального с самим собой. существование с кризисом представление, вы должны заблокировать реальные в чистом повторения “, (142).” Само определение реальной становится: с какой можно дать эквивалентное воспроизводства., Что … В пределе этот процесс reproductibility, реально не только то, что могут быть воспроизведены, но то, что всегда уже воспроизведено. гиперреальности “, (146).

“За бессознательном: Символическая,” дискурс 3 (1981) 60-87; пер. Ли Хилдрет.

Марксизм и фрейдистской психоанализ НЕ сеть хорошо, потому что они оба тотальности и таким образом когерентного только сами по себе, но не в комбинации. “Ни их” синтез “, ни их загрязнения – только их соответствующих уничтожения – может обеспечить основу для радикальной теории марксизма и психоанализа переживают кризис, мы должны телескопа и осадок их соответствующих кризисов, а не с помощью одного для поддержки других … Они еще могут сделать друг другу огромный вред. Мы не должны лишать себя этого зрелища. Они только критические поля “, (84).

“Фаталити или обратного Предстояние”: по ту сторону принципа неопределенности, “социальных исследований 49:2 (лето 1982) 272-293; пер. Памела парка.

Радикальные обороны структурализм против постструктурализма, хотя сформулировать радикальный защита “смертности” (т. е. судьбы) по отношению к “Шанс” и “случайности”. Вместо того, чтобы принять зрения смысла / заказ как нечто, налагаемые на расстройство от дискурса рациональности, Бодрийяр защищает именно обратное; расстройство навязанной упорядочить по дискурс невиновности (если все остается на усмотрение шанс, мы избежать человеческих ответственность за социальных ситуаций).

Воздействие, Nuke войны: “долгой работы связи означает” с означает, что работа ума, каким-то образом ограничивает и reabsorbs эту роковую обилие магических обольщения мира должны быть сокращены, действительно уничтожен И это будет, если каждый означает .. будет получено его означал, если все будет иметь смысл и стало реальностью. Это, очевидно, будет конец света “, (279).

Фатальные стратегии »(Лондон: Плутон, 1983, 1990) транс. Филипп Beitchman и WGJ Niesluchowski; изд. Джим Флеминг. [FS]

“Мир не диалектический – он будет приведен к присяге в крайности, а не к равновесию, поклялся радикального антагонизма, а не к примирению или синтез”, (7). Эта книга построена на том, что путь к радикализации мир моделирования заключается в “борьбе непристойности со своим собственным оружием.” Таким образом, “Чтобы точнее, чем правда, мы будем выступать против falser чем ложные”, (7). Это “pataphysics” систем (14, заимствуя термин из Стороны Фуллер). “Только тавтологическое приговоры совершенно точно”, говорит Канетти, “(34). Бодрийяр, кажется, предположить, что тавтология, таким образом, хорошая вещь.” Только революция в вещах, сегодня уже не в их диалектическом трансцендентности (Aufhebung), но у них potentialization, в их подъема на второй ступени, в их подъема на п-й степени, независимо от того, что терроризм, ирония, или моделирования. Это уже не диалектики, но экстаз, который находится в процессе “, (41). Кроме того:

Пожалуйста Следуй за мной с Софи Калле (Сиэтл: Бэй Пресс, 1983, 1988).

“Что вы делаете после оргии?” Artforum (октябрь 1983) 42-6.

“Экстаз коммуникации,” пер. Джон Джонстон в Халл Фостер, изд., Anti-Эстетические очерки о постмодернистской культуры (Port Townsend, WA: Bay Press, 1983) 126-134.

Экстази – более непристойными, чем непристойного: “товарной форме является первым большим среде современного мира, но сообщение, что объекты доставить через это … Всегда же: обмен их стоимость Таким образом, в нижней сообщение уже нет .. больше не существует, это среда, которая навязывает себя в чистом обращения … Вселенной связи … оставляет далеко позади тех, относительно анализов вселенной товара Все функции отменено в одном измерении, что коммуникации .. Это экстаз коммуникации. Все секреты, пространства и сцены отменен в одном измерении информации. Это неприличия. горячие, сексуальные непристойности бывших раз меняется холодной и коммуникационные, contactual и мотивационные непристойность сегодняшний день “(131). Мы “В настоящее время в новой форме шизофрении … шизофреник лишен каждой сцене, открытой ко всему, несмотря на себя, живя в наибольшей путаницы. Он сам неприличным, непристойные добычу непристойности в мире … Сейчас он лишь чистый экран, коммутационный центр для всех сетей влияния “, (132-3).

“Интеллектуалы приверженности и политической власти,” Интервью с Марией Шевцова, Диссертация Одиннадцать 11/10 (1984/85) 166-73.

Интеллигенция по сути своей отрицательной; «Интеллектуальная деятельность является своего рода залог, вопреки Это ставка на реальную ситуацию интеллектуальной бы ничего, если он не лежал его ставки, если он не игнорировать то, по крайней мере .. на уровне дискурса,” ( 170). Кроме того, “левые” и “право” не имеют смысла категорий: “Я только хочу, чтобы судить о людях по новому критерию: левый / правый ведет нас в делением людей на хороших и плохих я больше не может функционировать в соответствии с этим критерием ….. Я первой жертвой этого старого критерий … я считать человеком права, если не фашист. Может быть, объективно я на правой. Но я не наплевать … Я не признаю решение, что я фашист, ” (171-2). Кроме того, интеллектуалы не могу говорить за других, на самом деле они могут быть совершенно бесполезны: “Я бы не против, предусматривающие мир без интеллигенции как таковой … это может означать, сияющей и прозрачным мире, где нет больше необходимости мысли, анализы и т.д. “, (173).

“L’2000 Passera по пе” Траверс 33/34 (1985) 8-16; пер. Най-Fei Дин и Гуань-Син Чэнь как “2000 уже произошло у Артура и Marilouise Крокер, ред., Орган захватчиков Panic Секс в Америке (Нью-Йорк: Св. Мартина, 1987), 35-44.


Теория ВИРИЛЬО о скорости в сочетании с теорией Бодрийяра моделирования объявить о конце истории и полное освобождение: “Мы действительно” освобожденных “во всех смыслах этого слова, освобожденных до такой степени, что мы не оставили, через скорость … определенном пространстве и времени, определенного горизонта, где реальная возможность “, (34). “Исчезают точки” музыки в том, что точка, в которой музыка перестает существовать в “экстаз музыкальность” (39) представляется привет-Fi системы. На той же точке, история перестает существовать. Идея оригинального исчезает с имитацией, и мы никогда не сможет отделить “оригинальную концепцию … от их модели совершенства, которое в то же время их модель моделирования”, (40). “[T] его вопреки истории имеет долгую историю, и она всегда завораживает, потому что, глубоко, времени и истории никогда не были приняты”, (42).

Америке (Нью-Йорк: Verso, 1986, 1988) транс. Крис Тернер.

“Внимание: объекты в зеркале может быть ближе, чем они являются”, (1).

Американская пустыня “экстатической критика культуры, экстатическое форма исчезновения”, (5). Скорость является ключевым, потому что “Скорость создает чистые объекты,” [8] (6). США является “единственной оставшейся первобытного общества”, (7). Ездить хорошо: “Вождение впечатляющий вид амнезии Все должно быть выявлено, все уничтожены.” (9)

“Тот, кто ест только умер, но не тот, кто пьет только” (15). БРЕЙКДАНС Интересно, (19). Бег является самоубийство, (21, 38-9). Телевидение по-прежнему Goo: “Это экран, смеялись и веселились Вы просто оставили в покое с вашим ужас … Вдруг телевизор показывает себя за то, что это действительно:. Видео из другого мира, в конечном счете на имя не один на всех , поставляя свои сообщения безразлично, равнодушным к его собственные сообщения (Вы можете легко себе представить по-прежнему работает после человечество исчезло) “, (49-50). Вождение хорошо, (54-5). Деньги, однако, слизь, (61-2). Пустыня есть Бог, (71). “Секс, пляж, и горы. Секс и пляж, пляж и горы. Горы и секс. Несколько концепций. Секс и понятия.” Просто жизни “,” (32). (Получите жизнь!)

“Есть не полицейских в Нью-Йорке” (22). Америка не нуждается в вонючей подлинности (76); “США утопия достигнута”, (77). Давайте все вместе праздновать сейчас. Американцы надлежащего теории / практике баланс – «не концептуализации действительности, но реализации концепций”, (84-5). Официантки обслуживают клиентов “в полной свободе, с улыбкой”, (93). Неприличия Америки является ее полное освобождение, “Короче говоря, оргии,” (96). Власть бессильна, (107). Рейган не подозревали о бедных, (111). “. Права человека были выиграл везде свет почти полностью освобожден; ничего не останется, чтобы бороться за”, (112).

L’Autre номинальной луй-meme (Париж: Издания Галилее, 1987); пер. Бернард и Кэролайн Schutze как Экстаз коммуникации (Нью-Йорк: Semiotext (е), 1988).

Эта книга была “призвана представить всю работу Жана Бодрийяра для докторской степени в Сорбонне,” (редакция, 9). ВИРИЛЬО не так: “Скорость вышло!” (14).

Телевидение Goo: [9] “простое присутствие телевидения преобразует нашу среду обитания в какой-то архаичным, закрытых ячейки, в след человеческих отношений, выживание которых вызывает большие сомнения”, (17-18). Это непристойные Goo:. В период расцвета описывается ситуационисты “потребительское общество было жил под знаком отчуждения; было общество спектакля, и зрелище, даже если отчужденной, никогда не непристойные Obscenity начинается тогда, когда нет больше зрелище, не более этапе, не более театре, не более иллюзии, когда каждый как-то сразу становится прозрачной, видимой, подвергаются в сырье и неумолимой свете информации и коммуникации. Мы больше не участвовать в драму отчуждения, но в экстаз коммуникации “(21/02). Таким образом отчуждения меняется неприличным экстаза. Это неприличия больше не является “горячей” и “сексуальной”, а “крутой” и “коммуникационные”; Бодрийяр будет здесь выступают против порнографии, чувственный. Одновременно субъект необходимо говорить и ничего не сказать – утверждать его существование ее в лицо исчезновение предмета и hypervisibility от непристойных объекта: “надо говорить, если даже нечего сказать, становится более актуальным, если есть нечего сказать, так же, как воля к жизни становится все более актуальной, когда жизнь потеряла смысл “, (30); мы занимаемся сексом с изображениями и объектами, когда предметы исчезают:” наша настоящая половой акт состоит в том, следующим образом: при проверке на границе головокружения бесполезно объективности вещей … Существует без сомнения коллективных головокружение выхода в непорядочности с чистой и пустой формы, характеризуется одновременно чрезмерно пола и его дисквалификации, а также от чрезмерного и деградации видны, “(31/03). Антибиотики = Nuke войны: “Это не будет слишком надуманным сказать, что уничтожение человечества начинается с уничтожения ростков”, (38). Мысли будут заменены “спинномозговой пузыря, освободил всех животных и метафизические рефлексы … каждому свое пузыря, то есть закон сегодня” (39).

Эти оппозиции основу гораздо более поздних работ Бодрийяра, ESP. FS. Выражение / агонии В. Alea / ilinx являются четыре типа игры в соответствии с Роже Кайуа. Наши скорее культура стремится к недвижимости, потому что “все поездки уже состоялись”, (39). Разница больше не дифференциация между субъектами, но различие между проявлениями ту же тему – “Один отчуждается от самого себя, от своих многочисленных клонов, из всех этих маленьких изоморфны” я “,” (41).

Теория: “Это не достаточно для теории для описания и анализа, она сама должна быть событием во Вселенной она описывает … Теория должна работать на время за счет преднамеренного искажения истинной реальностью”, (99). Теория экзорцизм, он должен “завоевать мир и соблазнить его через равнодушие, что, по меньшей мере равной в мире”, (101).

“За Vanishing Point искусства”, пер. Пол Фосс, у Пола Тейлора, изд ст., Пост-поп (Cambridge: MIT, 1987, 1989)

“Искусство” исчезает, как общество бьется в воспроизводимых “культура”: “. Логика исчезновение искусства, точнее, обратно пропорционально, что в производстве культуры” Xerox степени “культуры в состояние абсолютного распространения соответствует до нуля градусов искусства: один другой точке собрания , и абсолютная имитация … С этого прямые ссылки линии Бодлера до Энди Уорхола, под знаком “абсолютный товар”, “(173). “Но это исчезновение [искусства] не является отрицательным или плох – не более чем товар в сознании Бодлера, это объект энтузиазма: есть современное очарование товар, так же, как есть очарование в. Исчезновения искусства. Конечно, это вопрос зная , как исчезнуть. целом исчезновение искусства, таким образом, его настоящее, это искусство исчезновения “, (179). Искусство как симулякр стирает историю – “Искусство не имеет связь с историей и непрерывности, но попал в цепной реакции, что СИМУЛЯКРОВ и моделирования, которое в точности параллельно и изоморфны с потенциальной ядерной цепной реакции цепной реакции. Хиросима положить конец истории. Цепной реакции СИМУЛЯКРОВ положить конец искусства “, (181).

“Если бы мне пришлось охарактеризовать это новое положение дел, я бы назвал это” после оргии “. Оргии в пути целый взрывное движение современности, с ее различными видами освобождения – политическое освобождение, сексуальное освобождение, [и др.] Если вы хотите мой взгляд, сегодня все освобождены игра закончена, и мы все вместе. противостоять важный вопрос: “Что вы делаете после оргии” (182).

Решение беспорядок гиперреальности для искусства создать ауру моделирования: “Отныне мы будем жить в мире без оригиналов, как это было для объектов и изображений перед искусство существовало и в отсутствии оригинальности можно восстановить. Некоторые из этих ритуальные формы, но, конечно, они не будут такими же, как существующие в возрасте до эстетики. Наши формы и образы находятся вне эстетики, так же, как наши средства массовой информации за истинные и ложные, и наши ценности по ту сторону добра и зла. Но всегда есть предел , за точку собрания. Существует всегда время после оргии. тайну обратимости лежит во всем, даже если они кажутся необратимыми. обратимость красиво “, (189).

“Забудьте Бодрийяра,” Интервью с Sylvere Lotringer, в FF (1987).

Человеческий род выпал из истории (68). Это не плохо, его захватывающие: “Не более обнадеживающими мире, но, безусловно, более захватывающее,” (71). Делез и Гваттари не правы; обольщения важнее, чем желание: “.. Я не мог заботиться меньше о желании я не хочу и отменить ее, ни принимать ее во внимание я бы не знаю, где положили его больше”, (74). 3 режима исчезновения субъективности: механический (клонирование), органические (смерть), ритуальные (игры), (76). “Все теории связи должны быть пересмотрены, включая мою собственную, которая все еще слишком значительной”, (78). “Смерть это событие, которое всегда уже состоялись”, (80). “Скорость экстатической форма движения”, (85). “Женщины, дети, животные – мы не должны бояться ассимиляции – не просто предмет сознания, они имеют вид цель иронической предчувствие, что категории, в которые они были помещены не существует, что позволяет им в любое. Данный момент, чтобы использовать двойную стратегию” , (98). “Это имеет смысл, для меня, что большие массы, очень snobbishly, делегат класса интеллектуалов, политиков, этот бизнес управления, о выборе, узнать, что кто-то хочет. Они радостно сброс всех категорий тяжелыми, что никто не, глубоко внутри, действительно хочет любой его части “(103). “Май 68-го это событие, которое было невозможно по рационализации или эксплуатировать, из которого ничего не было заключено. Осталось неразборчиво. Это был предшественник ничего”, (114-5).

Теория “просто вызов реальной задачей в мир, чтобы существовать … теории можно попытаться примирить реальные с самой теории … Я считаю, не в состоянии на деле … реальный -. Все обстоятельства, возможно, она существует – нет, не существует – это непреодолимый предел теории реально не объективный статус вещей, это точка, в которой теория может делать ничего, что не обязательно делать теории .. провал. реальной действительности только вызов теоретических здания. Но на мой взгляд, теория не может иметь статус , отличной от сложной реальности. В этот момент, теория уже не теория, это само событие “, (124-5).

Cool Memories (Нью-Йорк: Verso, 1987, 1990) транс. Крис Тернер.


Это и Америке два “лучших книг, которые я когда-либо написать. Они сделаны из. То есть как что-то идет”, (3).

“Революции – в том числе революции желание – еще меньше рода тем, кто думает, что уже произошло, чем для тех, кто против нее Таким образом это не революции, которая превратит меня в женщине, что произойдет по моей .. поддерживает здесь и сейчас – жарко -. позиции женственности себя Теперь для феминисток это непростительно для этой позиции более женственной, со всеми Верховного женственности она подразумевает, чем у женщин никогда не будет “, (7) .. “Искушение остается только жизненно интенсивности; секс просто утомительно, это просто бонус удовольствия”, (11). “Черный насмешки белых. Удивительно Иди Амина который сам вел в триумфом четырех британских дипломатов и получения папы. Удивительно император Бокасса съедает маленького черного младенцев, сокруши алмазов на Западной сановника. Нигде концепции власти был высмеян в таких Ubuesque образом, как в Африке. Запад будет сильному нажиму, чтобы избавиться от этого поколения simiesque и прозаические деспотов родился в чудовищный пересечении джунгли с блестящими значения идеологии …. Фантастическая! Существует никакой надежды на этом континенте. Все Корпуса Мира будут увязнуть там. сила насмешки. презрение Африки за свое собственное “подлинность”, “(15). “Иногда мне кажется, что я никогда не делал ничего, но обеспечивают видимость идеи”, (25). “Транссексуальность НЕ соблазнительная, это просто тревожная”, (76). “Однажды, мы должны встать и наш зад будет оставаться прикрепленной к свои места”, (146). “Популярные слава, что мы должны стремиться. Ничто не соответствуют отвлекаться взглядом женщина, работающих в мясной, кто видел вас по телевидению”, (198). “Как хорошо было бы, чтобы видеть Солнце в профиль”, (203). “Информация может рассказать нам все. В нем есть все ответы. Но они являются ответы на вопросы, которые мы не просили, и несомненно даже не возникает”, (219). “Сегодня, … в первый раз за, возможно, десять или двадцать лет, я понимаю, что я больше ничего не надо делать. Не проектов, каких-либо ограничений. Все, что было в ожидании была закончена, и все остальное приходит с этого момента будет, В смысле, быть частью дополнительных существования “, (231).

Злой демон изображений (Аннандейл, Австралия: Институт Публикации Power, 1987).

“Современность”, пер. Миллер, CJPST 11:3 (1987) 63-72.

“Настоящее НЕ диалектика истории: это событийность, постоянные игры в настоящий момент, универсальность новости blurbs через средства массовой информации реальность трансмутации всех ценностей, это уничтожение всех прежних ценностей не выходя за рамки. Их, это неоднозначность всех прежних ценностей под знаком обобщенного комбинаторной” , (71).

“Тихо, тихо”, пер. Малкольм Имри, New Statesman 113:2919 (6 марта 1987 Г.) сорок четвёртую

Плач по “Реклама поколение”, “мы живем в обществе, которое хочет только, чтобы быть счастливым с самим собой.” Кроме того, “с точки зрения власти, мы все страдают от СПИДа, все живем в обществе грозит потерей ее антитела (его запасы социальной и политической энергии)”.

“Извращенной логике и наркотики как экзорцизм”, “Курьер ЮНЕСКО” (июль 1987) 7-9.

Все наркотики являются средством экзорцизм, “через наркотики, общество exorcises определенных забыли полномочий, определенных дисков, определенные внутренние противоречия … Общество производит этот эффект, и общество осуждает его отсутствия способности, чтобы остановить его производства (который считается желательным)., общество должно по крайней мере перестать осуждать его, “(9).

“Охота нацистов и потери реальности,” New Statesman 115:2969 (19 февраля 1988 года) 16-17.

Осуждая Хайдеггер и Ницше, как нацисты глупость, потому что “Один день мы должны спросить себя, если сам Хайдеггер действительно существовал”, (17). История стала мифом и искать козлов отпущения, а к такому преступлению, как Холокост становится мифом “преступления первыми освобожден от его исторической реальности В противном случае, поскольку мы были, и до сих пор, не в состоянии прийти к соглашению с исторически. Все это – фашизм, концентрационные лагеря, уничтожение – мы были бы обречены на повторение их вечно, как первичная сцена “, (17). Кроме того: “с учетом всего этого, мы не могли просто пропустить остаток этого века я намерен начать коллективный ходатайство … вызовом для 1990-х годов должно быть отменено, так что мы можем перейти непосредственно с 1989 по 2000 год?,” (17)

“Anorexic Руины”, пер. Дэвид Antal, в Дитмар Kampar и Кристоф Вульф, EDS мира., Оглядываясь на конец (Нью-Йорк: Semiotext (е), 1989 год) 29-48.

Общество Черт: “Мы живем в обществе нарост, то есть то, что постоянно развивается без измеримых против своих собственных целей”, (29). Информационная перегрузка: “Так много сообщений и сигналов были подготовлены и переданы, что они никогда не найдут время для приобретения какого-либо смысла счастья так что для нас к счастью, мы будем игнорировать 99% всей информации, 99% продукции небольшое количество.!. что мы все-таки поглощать уже субъектов нас на вечное поражение электрическим током “(30). Мы уже освобождены и испаряется в тот же исторический момент (34, 37); “нет жизни больше, но информации и жизненно важных функций продолжать … 2000 год, в некотором роде, не произойдет”, (39). Глупая сентиментальность yuppified мира и прав человека движений легко “после оргии”, (43-4). Радикальные пессимизм может спасти нас (45).

Работы О Бодрийяр

  • Каллиникос, Алекс, “Зеркало товарного фетишизм: Бодрийяр и позднего капитализма культуры”, в отношении Постмодернизм: марксистская критика (Нью-Йорк: Св. Мартина, 1990) 144-153.
  • Чен Куан-Син, “Массы и СМИ: имплозийного Постмодернизм Бодрийяра,« Теория, культура и общество 4 (1987) 71-88.
  • Данте, Артур, “Hyper-интеллектуальной,” Новая Республика 3947/8 (10 и 17 сентября 1990) 44-48.
  • Хау, Стивен, “Америка: где сбываются мечты,” New Statesman и общества 1:24 (18 ноября 1988 г) тридцать девятая
  • Левин, Чарльз “, Бодрийяр, критической теории и психоанализа”, CJPST 8:1-2 (1984) 35-51.
  • Келлнер, Дуглас “, Бодрийяр, Semiurgy и смерти,” Теория, культура и общество 4 (1987) 125-46.
  • Жан Бодрийяр: От марксизма к постмодернизму и на последующий период (Stanford: 1989). [JBMB]
  • Крокер, Артур, “Ковчег Мертвого Мощность: Магритта / Бодрийяр / Августин,” CJPST 8:1-2 (1984) 53-69. [MBA]
  • И Карл Левин, “‘s Challenge Бодрийяра,” CJPST 8:1-2 (1984) 5-16. [До н.э.]
  • Моррис, Мигай “, Гиперреальность: в колеса? Сна” New Statesman 113:2935 (26 июня 1987 г.) 28-29. [ОР]
  • “Номер 101 или мало худших вещей в мире”, в пиратов невесты: Феминизм, Чтение, Постмодернизм (Нью-Йорк: Verso, 1988) 187-222. [101]
  • Верующий, Андрей, “Войдите и товара: аспекты культурной Динамические развитого капитализма”, CJPST 8:1-2 (1984) 17-34.

Ресурс: Bernardo Attias

Шутки: коллекция

Некоторая старая классика

Я скромный человек, которого я знаю.

Раньше я думал, что я нерешительный, но теперь я не так уверен.

Семинар по задержкам был отменен, так как никто не удосужился регистрации.

Любой, кто посещает психиатра должны иметь голову рассмотрены.

Мы никогда не делаем misteaks.

87,5% всех статистических данных составлены.

Вот, возьми это плацебо.

Технический термин для “быть не в состоянии вспомнить слово, которое вы хотите” это, э-э …

Есть три типа людей в мире: те, кто может рассчитывать и те, кто не может.

Два правила для успеха являются:
Первый Никогда не говорите им все, что вы знаете.

Есть 10 типов людей: те, кто понимает двоичный, и тех, кто этого не делают.

Мы ненавидим Англичане называют whingers.

Ностальгия не та, что раньше.

Там должно быть правило, что мы не говорим о политике.

Несколько более сложных и современных

Каково происхождение слова “драконовские”?
Древнегреческий законодатель Драко насильственных суровое наказание, люди слишком ленивы, чтобы искать словари.

Теорема: Рассмотрим множество всех множеств, которые никогда не были рассмотрены. Эй! Они все ушли! Ну да ладно, не берите в голову …
[От Дэвида Batchelor; ссылка]

Индекс:
Рекурсивный цикл: Смотрите рекурсии.
[От Borland Pascal с объектами 7.0: Language Guide (1992); ссылка]

Для Джоанны:
Мая блестящая и красивая жена, без которых я бы ничего. Она всегда утешает и консолей, никогда не жаловаться или мешает, ничего не просит и все переносит, и записывает мои посвящения.
[А.П. Malvino, электронные принципах (1993); ссылка]

Одним из претендентов от Бульвер-Литтон конкурсе California State University, для открытия предложение, чтобы конкурировать с Б.Л. классический “Это была темная и бурная ночь”:
“С пышные фигуры, что Венера позавидовал бы, загорелый, безупречный овал лица обрамлении блестящей думаю, каштановые волосы, глубокие сине-голубые глаза окаймленные длинными черными ресницами, идеальный зубы, которые соперничали в борьбе за конкуренцию, и маленький прямой нос, Марили было Красота , которые бросили вызов описанию “. [Ссылка]

Логик спасает жизнь крошечного чужеродные пространства. Иностранец очень благодарен, и, поскольку она всеведущий, предлагает следующие награды: она предлагает ответить на любой вопрос логика может представлять. Без особых раздумий (ведь он логик), он спрашивает: “Что является лучшим задать вопрос, а что правильный ответ на этот вопрос?” Крошечный чужеродные пауз. Наконец, она отвечает: “Лучший вопрос, который вы только что спросили, а правильный ответ, который я дал”.
[Способствовало Рич Hilliard]

Является ли это самостоятельно ссылкой шутка?:
Музыка Вагнера лучше, чем кажется.
[EW Най, указанные в автобиографии Марка Твена]

“Я никогда не делаю прогнозов. Я никогда не имею и никогда не буду. ”
[Приписывать Тони Блэр (правильно?)]

От наших фанов

Сторонники страницу отправить эти взносы:

Я пытаюсь быть менее самоуничижительной, но я действительно посасывать ее. (Eric Knibbe)

Я думал, что я был неправ один раз, но я узнал позже, я ошибся. (Э. аббатство, Gang Monkey Wrench, 1985-е изд, с. 85)

Я могу быть спонтанным, если у меня есть достаточно времени, чтобы подготовиться к нему. (Dave Bellware)

Speling это мой любимый предмет (Bill Winder)

Восемь из Курт Рихтер:

Просто скажи НЕТ отрицательной!

Я не в отрицании!

Вещи более что они являются сегодня, чем они когда-либо были раньше.

Скучать не дает мне занят. – Fray Паскуаль

Я не хотел, чтобы поесть. Это портит мне аппетит. – Fray Паскуаль

Раньше я перфекционист, но я пытаюсь улучшить. – Fray Паскуаль

Не откладывайте. Отложить СЕЙЧАС.

Повторяйте за мной. Мы все люди. – Брайан (Graham Chapman) в жизни Монти Пайтона Брайана.

Человек в ответ видеть океан в первый раз: “. Это не такой большой, как я думал, что это будет “(Brad Reid)

Если вы правы 90% времени, поэтому каламбур о других 5%? (Joel Гвинеи)

Все обобщения неверны (Vivek Дхар)

“Бесплодие является наследственной» и «подчиняться мне”. (Alexandre Bouthors)

Клянусь Богом, я должен быть единственным настоящим оптимистом осталось на планете. (Carl Crowder)

Мая апатия вызывает у меня проблемы, но я не забочусь. (Carl Crowder)

Четыре с Гэри Экланд:

Это чрезвычайно важно, чтобы вы в полной мере понять, как вполне тривиальный это утверждение.

Если я не на Марсе, я должен быть где-то в другом месте. Так как я где-то в другом месте, я не должен быть здесь. Могли бы я там? Это, конечно, где-то в другом месте. Пожалуйста, посмотрите и дайте мне знать, если меня найти.

Перефразировать от Виктора Борг на сцене: “В последний раз я был здесь … – Ну, это не в последний раз, это Но я надеюсь, что это не так ..

Что это парафраз?

Я чувствовал себя, как козел, с тех пор, как я был ребенком (Джеймс Demastus)

“Никто не ходит там больше, это слишком переполнен”. (С Йоги Берри, некоторые из которых известное высказывание близко к самоссылающиеся)

Я не тщеславен. Самомнение неисправности, а у меня нет. (Chris Mark)

Всегда помните, что вы являетесь уникальной личностью, как и все остальные. (Mike Зальцман)

Я хочу вступить в Клуб оптимист, но они, вероятно, не примет меня. (David Cervera)

Некоторые говорят, что у меня есть короткая продолжительность концентрации внимания, но я (David Cervera)

Мне очень жаль, я повторяюсь? Могу ли я быть лишним? Я говорю вещи снова и снова? (Mike Капли)

Я старался быть терпеливым, но это слишком долго («Аня» – Joss Wheedon, в Баффи, истребительница вампиров, через Мейв Кеннеди)

Я никогда не ошибаюсь. Ну, раз я был неправ, потому что я думал, что я был неправ. (Juan Pablo MartГ пенсне)

Я думал о смене моего ума, но потом я передумал. (Brian Haynes)

Самоссылающиеся комиксов (Daniel Lyons)

“Я пошел в книжный магазин и спросила у продавщицы:” Где самопомощи разделе? Она сказала, что когда она мне сказала, что будет противоречить цели “. Стивен Райт, канадский комик. (Nicholas Csergo)

Некоторые другие примеры в Elegancelessness страницу Павла Niquette автора.

XKCD на комментарий … прочее … прочее …

Женщина заходит в бар и просит двойной смысл. Таким образом, бармен дает ей один. (Разные, например, www.hilpers.org/141025-ot-joke-a-woman-walks)

Четыре монахи решили медитировать молча, не говоря течение двух недель. С наступлением темноты в первый день, свечи стали мерцать, а затем вышел. Первый монах сказал: «О, нет! Свеча горит. “Второй монах сказал:” Разве мы не должны говорить? “Третий монах сказал:« Зачем вам два нарушить молчание? “Четвертый монах рассмеялся и сказал:” Ха! Я единственный, кто не говорит “. (Gene Torisky, от http://www-usr.rider.edu/ ~ Сулер / zenstory / silence.html

… Разговор я когда-то с шотландским графом, в котором он осудил снобизм на том основании, что это было «общее». (Тоби Янг, зритель января 2010 года.

После долгих лет отказывался принимать мои звонки, я, наконец, решил быть моим собственным лучшим другом. И сейчас я не называю. Разве я ждать слишком долго? (Douglas N. Beck)

“И, наконец, какой вопрос вы бы хотели меры будет предложено в этом интервью?” “Это была она”. (Sean Omweg)

Терпение есть добродетель Жаль, что я ожидал. (Allan Tripp)

Что делать, когда не было никаких гипотетических вопросов?

Я отдал бы правую руку, чтобы быть симметричная.

Раввин, адвокат, Куинн и кошки прогулки в баре. Говорит бармена: Давай, ребята, это плохая шутка, да? (Йорг Шредер)

Все экстремисты должны быть вывезены и расстреляны!

Если вы говорите “доверчивых” очень медленно, это звучит как “апельсины”. (Julie Truong)

Если у вас есть то, что вы едите, ешьте вегетарианцем. (David Vulcez)

Я думал, что я был неправ один раз, но я был прав. (David Vulcez)

Я очень люблю мою апатию. (David Vulcez)

“Они говорят, Facebook и Twitter убили значительной связи”. “Нравится”.

Вы то, что вы верите так верить в себя. (David Vulcez)

Я согласен со всеми религиозными убеждениями, кроме этого. (John Carlson)

Я так мета, даже эта аббревиатура. (Jake Brown)

Это приносит несчастье быть суеверным.

Ресурс: SELF-REFERENCE JOKES: A COLLECTION

Исходная информация – Oxford Digital Library

Цифровая библиотека Оксфорда (ЦБО) является ключевым компонентом-электронной стратегии Бодлеанской библиотеки. Она была создана с целью создания интеллектуальной структуры и развивать техническую инфраструктуру для улучшения обслуживания, обеспечивая оперативный доступ к огромной коллекции научной библиотеке университета. ЦБО будет иметь важную роль в координации и стимулировании оцифровка деятельности в университете.

Основными задачами библиотеки Оксфорда Цифровой включают в себя:

  • Доступ к электронным ресурсам
  • Центральный цифровое преобразование библиотечных фондов
  • Разработка и установление стандартов для цифровых ресурсов ОДО
  • Обеспечение надежной и устойчивой онлайн доступа для цифрового ресурсов
  • Создание критической массы высококачественных цифровых документов из фондов университета служить стипендии, преподавания и обучения, помогая ученых и студентов из университета и в других местах в соответствии с их работой
  • Администрирование Фонда развития в целях содействия созданию цифрового контента
  • Поддержка научной и библиотечной деятельности в сборе средств для дальнейшей деятельности оцифровки
  • Предоставление консультаций и консультационные услуги для проектов по оцифровке

ЦБО будет играть ключевую роль в развитии гибридной библиотеки, которая включает в себя весь спектр библиотечных материалов в печати, микро-и электронном виде (как подлинные, так и цифровых электронных пересчете). Столь же это будет способствовать Оксфорда коллекций цифровых библиотек во всем мире поддерживают международную репутацию Университета Оксфорда и поддержание и развитие своего совершенства.

Цифровая библиотека Оксфорда начали оперативно как новая единица затем Оксфордский университет Библиотечное обслуживание в июле 2001 года в связи с назначением первым заведующим Цифровой библиотеки Оксфорда.

Ресурс: Oxford Digital Library

FORTRAN 90 VS C + + – образовательной точки зрения – Джон Прентис

Ниже ноте я только что отправил к председателю отдела физики, которые требуется принять первокурсников программирования класса, предлагаемые в технический отдел. Этот курс традиционно учили Fortran77, но в настоящее время нажать на с инженерной школы перейти на преподавание C + +. Как обычно, будучи собраны аргументы вращаются вокруг критику Fortran 77 от людей, которые слишком оторваны много знать ничего про Fortran 90. В любом случае, я попросил одного из старших преподавателей физики способствовать свои пять копеек о том, что язык, которым они должны преподавать. Прилагаемый к сведению то, которое я послал и суммирует наши корпоративные опыт работы с C + +, и некоторые наши чувства по поводу Fortran 90. Другие могут найти это интересно.

Было отмечено, для меня, что инженерная школа рассматривает возможность изменения Eng 120 учить C + +, а не Fortran и что вы вымогательство комментарии об этом в отношении студентов-физиков. Даже если я не связан с университетом, я хотел внести свой вклад моих мыслей, которые приходят от коммерческих, а также исследовательской точки зрения.

Как вы знаете Кетцаль вычислительной Associates специализируется в области вычислительной науки. Мы в настоящее время есть проекты в области вычислительной физики, наук о Земле, и сельское хозяйство для клиентов, которые включают DoD Доу и лабораторий, а также коммерческих клиентов столь же разнообразны, как опасные отходы и компаний зерновых компаний. В течение прошлого года мы разработали численные методы и коды на их основе для моделирования загрязнения потока в пористой среде, моделирования строительной механики резонансных звуковых буровых установок, моделирование бистатическим в почву радара распространении в частично насыщенных почв, моделирование динамики твердого при высоком напряжении ставок, моделирование фенологических развитие кукурузы и соевых бобов, моделирование солнечной инсоляции в процессе фотосинтеза активной спектра на основе первого принципа физики атмосферы, а также разработали нейронных сетей для обнаружения пылевых облаков по спутниковым снимкам.

Один из наших крупнейших проектов вычислительной физики является развитие передовых методов моделирования динамики твердых основе первого принципа физики. Это многолетнее, многомиллионный проект. Этот код численно решает уравнения в частных производных для сплошных твердых динамики с использованием гибридных конечных объемов / конечных элементов техники связан с передовой уравнения состояния и учредительных моделей для твердых тел и жидкостей в расчете. Этот код и другие с которыми мы работаем огромное количество хруст коды, скромный 3D моделирования будет 100 и более часов Cray C-90 время для завершения одного расчета. По любым меркам, они являются одними из крупнейших вычислительных симуляции физики делается в любой точке мира. Кроме того, мы находимся на переднем крае в области применения параллельных вычислений этих проблем. У нас есть проекты для разработки параллельных версий наших коды разнообразную коллекцию компьютеров, в том числе сетей UNIX рабочих станций, IBM SP-2, Cray T3D и Intel Paragon.

Для всех этих проектов, мы используем Fortran 90, как наш основной язык. Мы делаем некоторые опытно-конструкторских работ в Fortran 77, C и C + +, но мы уходим от тех языков, как можно быстрее. Есть много причин, при нашем выборе Fortran 90, но сначала позвольте мне сказать немного о том, почему мы не в восторге от C + +. Самая большая сила C + +, вероятно, наличие относительно недорого и качественно C + + компиляторов для ПК. Но это довольно незначительный рассмотрения в нашем бизнесе, и это перевешивает огромные обязательства мы наблюдали с C + +. Сначала мы рассматриваем C + +, как самый слабый из объектно-ориентированных языков. Objective C является гораздо более прочной и хорошо продуманной OOPS язык, C + + действительно некоторые OOPS возможности ударил по верхней части C. C + +, следовательно, крайне неэффективно, непоследовательная, чрезмерно большой, и чрезвычайно трудно запрограммировать дюйма опыт наших клиентов зеркал, наших собственных, и на самом деле многие Доу и DoD лаборатории считают, что их стремительно спешат C + + был ужасно дорогой ошибкой. Я знаю несколько C + + кодирование научных проектов у самки, которые потребляли миллионы долларов и десятки человеко-лет, только чтобы отказаться из-за полученный код был чрезвычайно неэффективным как традиционного последовательного компьютерами и на их большие параллельные суперкомпьютеры. Подобные истории ужасов изобилует сообщество программистов в этой точке. Билл Гейтс заявил, что его самая большая ошибка при разработке своих новых операционных системах NT было принятие C + + для кодирования графики, полученный код потребовались годы, чтобы написать больше, чем следовало бы и побежала ужасно медленно. В то время как OOPS является твердой развития в научном сообществе компьютер, я думаю, справедливо сказать, что C + + суждено быть мимолетным увлечением, так же, как Паскаль и Ада перед ним.

Основная причина C + + привлекла внимание она в научном сообществе происходит потому, что Fortran 77 был ужасно устаревшим языком. Многочисленные слабые места Fortran 77 решались с Fortran 90 однако. Fortran 90 имеет все функции в С, что важно для научного программирования, и большинство из особенностей объектно-ориентированный язык (ему не хватает только наследование и что, скорее всего, будут добавлены в Fortran 2000). Однако в отличие от C и C + +, Fortran 90 предназначен для создания исполняемых кодов, которые хорошо оптимизированы и, следовательно, работать очень быстро. В качестве примера можно указателей. Указатели являются неотъемлемой частью C и C + + и потому, что компилятор не может определить, является ли указатель является псевдонимом, невозможно для того, чтобы определить межпроцедурной зависимостей. Результатом является значительное ухудшение оптимизации и крайне медленно скорости выполнения (для большинства научных кодов, C и C + + обычно производят кода, который обычно на порядок медленнее, чем Fortran 90 кодов, основанный на тестах мы и другие сделали). Fortran 90 указатели призваны дать функциональные указатели, но с ограничениями, которые устраняют такие вопросы, как сглаживание. С точки зрения программирования, однако, еще более важно то, что Fortran 90 имеет более естественные способы выражения функциональность, C и C + + указатели требуют выразить. Из-за этого, Fortran 90 это более естественный язык программирования, и время, необходимое для отладки кода представляет собой часть, которая требуется С и C + + (C + + гораздо хуже, чем C, при условии, что вы действительно использованием OOPS парадигмы, так как вы найти себе тратить много время отладки идущих вверх и вниз наследования деревьев). Другим важным моментом является то, что время, необходимое, чтобы узнать Fortran 90 лет, намного меньше, чем время, чтобы узнать С или C + +.

Fortran 90 имеет другое большое преимущество над C или C + +. Современные научные вычисления и вычисления в целом, движется в сторону использования параллельных компьютеров. Даже ПК и рабочих станций теперь поставляются с несколькими процессорами, поэтому параллелизм является то, что все от бухгалтера для физика сталкивается сейчас. Одна из основных проблем в программировании параллельных компьютеров, однако, линейная модель памяти, которая присуща всем процедурных языков программирования, с единственным исключением из Fortran 90. Линейной модели памяти является тот, который предполагает, что последовательные элементы массива идут в памяти подряд. Это разумное предположение о традиционных компьютеров, но это совершенно неправильно на параллельном компьютере. Только Fortran 90 решает эту проблему и обеспечивают стандартизированный язык для поддержки параллелизма. Эта поддержка включает синтаксис массива и существует множество встроенных функций для выполнения различных операций с массивами от сокращения операций, таких как массив суммы матричных операций. С использованием Fortran 90 Перегрузка операторов и полиморфизма, можно значительно увеличить количество операций, избежать зависимости от линейной модели памяти. Тот факт, что Fortran 90 отошла от линейной модели памяти является основной причиной того, что она стала базой для так много данных параллельных языков, таких как Fortran Вене, Fortran D, ремесло, и высокая производительность Fortran. Наличие данных параллельного диалектов Fortran 90 является особенно большим фактором в пользу Fortran 90. Составители Высокая Performance Fortran, например, в настоящее время выходит на рынок практически для каждой машины там (в том числе сети рабочих станций) и запись параллельного кода на этом языке просто. Особое значение имеет, что портирование кода Fortran 90 до высокого Performance Fortran является чрезвычайно простым и коды написанные на языках высокого Performance Fortran может быть запущен на неизменном компилятор Фортран 90 (за исключением одного HPF конструкцию, FORALL, который в настоящее время введены в Fortran 95).

Мое собственное мнение таково, что ученые сегодня должны знать больше, чем на одном языке или вычислительной парадигмы. И я думаю, что это вполне разумно, что студенты учатся C + +, прежде чем они выпускника, хотя еще более важным является то, что они узнают, как программы MATLAB и системой компьютерной алгебры, такие как клен или Macsyma. Но вопрос, что первокурсники должны учиться как на родном языке, и для этого я бы рекомендовал Fortran 90 руки вниз. Это лучший язык для обмена научной и программирования и легче в освоении и использовании, чем альтернативные варианты. Кроме того, гораздо более вероятно, будет язык студенты будут используя в своей работе после окончания учебного заведения, и это является наиболее перспективным в настоящее время разрабатывает маршрут для программирования параллельных компьютеров.

Д-р Джон K Прентис, Кетцаль вычислительной Associates, 3455 Main Ave., Suite 4, Durango, CO 81301-0201
Факс: 970-382-8981 Электронная почта: john@quetzalcoatl.com.

Ресурс: FORTRAN 90 vs C++ – an educational perspective – by John Prentice

CMAT

CMAT это программа матрицы калькулятор, написанный на языке C.
Расчеты могут быть выполнены на матрицах с комплексом рациональными коэффициентами с помощью точных процедур арифметике, а также на матрице с элементами модуля г. Есть Unix, DOS и Windows XP версии.
Чтобы запустить под Windows2000 + из окна DOS, пользователь должен сначала загрузить эмулятор DOS от http://dosbox.sourceforge.net/.

Unix, DOS и Windows XP версии, вместе с источником C, могут быть загружены.
Люди, которые используют версии UNIX нужно создать. Cmatrc файл в рабочий каталог, состоящий из двух линий

datpath =.
cmat =.

Есть три калькулятора программ в рамках CMAT: CMATR, CMATCR и CMATM.
CMATR работает над полем рациональных чисел, CMATCR работает поле комплексных рациональных и CMATM работ над полем с р элементов, где р-любое простое число, меньшее 216 = 65536.

Программы используют несколько точных арифметических процедур основано на тех, кто [документацию).

К M0 (= 30) объектов каждого типа могут быть созданы и сохранены для использования в будущих сессиях.

(Rational) numbers: R [0], …, R [M0-1], (rational) matrices: RM [0], …, RM [M0-1]; polynomials (rational): PR [0], …, PR [M0-1]; polynomial (rational) matrices: PRM [0], …, PRM [M0-1];

(Complex rational) numbers CR [0], …, CR [M0-1], (complex rational) matrices CRM [0], …, CRM [M0-1]; polynomials (complex rational): PCR [0] … , PCR [M0-1]; polynomial (complex rational) matrices: PCRM [0], …, PCRM [M0-1];

(Mod p) matrices: mM [0], …, mM [M0-1]; polynomials (mod p): Pm [0], …, Pm [M0-1]; polynomial (mod p) matrices: PmM [0 ], …, PmM [M0-1].

Программа может обрабатывать целые числа произвольного размера. Размер матрицы ограничена только время, затраченное на создание матрицы в вопросе и вычислить с ним. Выполнение раз гораздо менее при расчете с р мода матриц.

РАЦИОНАЛЬНЫЙ / КОМПЛЕКС / MOD P ЧИСЛЕННОЕ ROUTINES В НАЛИЧИИ.

Сообщение, сложение, вычитание, умножение, возведение в степень, отношения и обратное. Кроме того, м-й степени из рациональных могут быть вычислены с заданным числом знаков после запятой.

Полиномиальные ROUTINES В НАЛИЧИИ.

Сложение, вычитание, умножение, скалярное умножение, возведение в степень, производная, оценки, частное, остаток, наибольший общий делитель, выражая НОД в виде линейной комбинации многочленов участие, свободных от квадратов разложения. Полученные двух многочленов над ℤ [х] и дискриминант многочлена над ℤ [х] может быть найдено. Существует модульного возведения в степень по модулю р многочленов.
Матрица Берлекэмпа из квадратов по модулю р многочлена. (Наш Берлекэмпа матрица является транспонированной матрицей обычного Берлекэмпа.) Факторизация многочленов с рациональными, сложные рациональные или модулю р коэффициентами на неприводимые. Поиск неприводимого данного модуля р степени. Поиск го кругового многочлена. (Той г)

MATRIX ROUTINES В НАЛИЧИИ.

Дополнительно, отрицание, комплексно-сопряженное транспонирование, умножение на скаляр, умножение матриц, возведение в степень, Кронекера продукта, оценки матричных многочленов на квадратной матрицы.
Стандартный элементарных строк и столбцов операции могут быть выполнены на всех типах матриц.
Записи хранятся матрицы могут быть изменены, либо индивидуально, либо по строке или столбце. Однажды строки или столбца могут быть удалены.
Одному строке или столбце вектора может быть выбрана из сохраненной матрицы. В целом, подматрица сохраняется матрица может быть сформирована путем выбора подсемейства строк или столбцов соответственно.
Две матрицы можно соединить строки или столбцы. Распределяли матрицы [A | I] может быть сформирована из A. Матрица может быть развернута в вектор-столбец (процесс, полезно для нахождения минимального многочлена матрицы).

Формирование матрицы A-Ti, для использования в расчетах собственного вектора.
Создание специальных матриц, как единичная матрица, элементарные Иордании матриц и матриц спутника, а также группа матрицах.
Создание матрицы скаляры которого (Ij)-го элемента дается простое арифметическое такие выражения, как I + J – I ^ 2 + 3 * J для числитель и знаменатель, может быть создан полностью в пределах CMAT.
Нахождение обратного, соединен, определитель, характеристический многочлен и минимальный многочлен матрицы скаляров, P-1AP. Холецкого разложения положительно определенная матрица находится: A = L * DL, где L является верхний блок треугольные и D-диагональная матрица. Выход должен диагональные элементы D по диагонали и выше ее диагональные элементы являются те, Л.

Обратная матрица M целых чисел той т можно найти, при т> 1 является положительным числом, которое взаимно просто с определителем M.
Поиск приведенных строк ступенчатой форме, решение линейных уравнений, поиска оснований для нуль-пространства N (A) и столбца-пространстве С (А) матрицы A. Эти процедуры очень полезны в алгоритмы для нахождения Жордановых канонической форме, или, более общо, рациональное каноническом виде квадратной матрицы. (См. [статья]).
Вычисление скалярного произведения, длину и с помощью Шмидта процесс, чтобы найти ортогональный базис для столбца-пространство матрицы. Поиск перекрестное произведение векторов-строк (п – 1) х матрицы. Нахождение определителя и связан с полиномиальной матрицей записи.
Поиск Смит каноническом виде матрицы B с полиномиальной записи. (Например, при нанесении на матрицу B = Xi – А где А-матрица с рациональными или комплекс рациональных записей, это дает сходство инвариантов, в частности, мы получаем минимальный многочлен в качестве инварианта наивысшей степени).

Мы также получаем многочлен матрицы P и Q, чьи детерминанты являются постоянными полиномов, с тем свойством, что PBQ в Smith канонической форме.
Элементарные строк / столбцов матрицы операций с полиномиальной записи.
Печать матрицы рациональных чисел в файл или на экран, с точностью до заданного числа десятичных знаков.
Передача данных в линии-принтер.
Файл г (M0 и ле-J) подготовленной матрицы того же типа (рациональные, с плавающей точкой, комплексной рациональной или модульные) могут быть введены в J массив позиций … J + Р-1.

RUNNING CMAT.

После введения CMAT, пользователь теперь может спускаться через различные уровни, выбирая из двух вариантов экрана. Чтобы подняться через различные уровни, Тип Q, когда это вариант. При выходе из программы, пользователю предоставляется возможность сохранения данных для повторного использования в последующих сессиях.

Вычисления с CMAT.

Чтобы ввести рациональное число и хранить числа в R [0], например, выбрать соответствующий пункт меню и типа N 0.
ПРИМЕЧАНИЕ: Используйте Control-H, а не клавишу возврата, чтобы забой более символов.

Целые числа вводятся как обычные, а не целое рациональных чисел вводятся с косой черты, как целого / натуральное число, например: 1/2, в то время как комплексные числа с ненулевой мнимой части должны заканчиваться я, например: 1/2I представляет собой ( 1/2) я. Ни скобки будут использоваться при вводе номера. Рациональные числа выводятся в «младших членов» с положительным знаменателем.

Некоторые широты допускается относительно расстояния. Например, выражение первого, 1 – я 1 – я представляю тот же комплекс рациональных, в то время как первый представляет собой два числа 1 и-я.

Матрицы вводятся по строкам, конец строки обозначается символом возврата каретки. Пространства отдельные записи в строке. Войдя матрицы RM [0] и RM [1], изделие RM [0] * RM [1] отправляется в РМ [2] (например) или RM [0] RM [1]), выбрав опцию умножения т из меню ниже и введя т 0 1 2.

Rational Matrix Arithmetic
————————————
a j k l: RM [j] + RM [k] -> RM [l]
t j k l: RM [j] * RM [k] -> RM [l]
s j k l: RM [j] – RM [k] -> RM [l]
m j k:-RM [j] -> RM [k]
fjkl: R [j] (RM [k]) -> RM [l] (scalar multiple)
* J k: (RM [j]) * -> RM [k] (transpose)
enjk: RM [j] ^ n -> RM [k] (exponentiation)
z j k l: RM [j] – R [k] I -> RM [l]
p: print numbers and matrices
x: to enter data
q: to exit
————————————

Чтобы прекратить введение полинома или матрицы с клавиатуры, типа Q или любой не алфавитно-цифровой символ при вводе коэффициента. Многочлена по умолчанию или матрицы сохраняются.

Чтобы вычислить 10-й степени СМ [0], выберите опцию электронной сведения в верхнем меню, набрав электронной 10 0 3, чтобы направить вывод в РМ [3]. Ситуация несколько проще с модульной арифметические расчеты. Здесь нет числа хранятся и неотрицательные числа меньше соответствующего модуля вводятся непосредственно, а не сохраняются. Например, чтобы умножить матрицу мМ [0] 5 (Mod 7) и сохранить результат в мм [1], выберите соответствующее меню с помощью строки меню

f, jklp: j * (mM [k]) -> mM [l] (mod p) (scalar multiple)

и типа F 5 0 1 7.

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

Чтобы завершить ввод преждевременно после ввода первой буквы меню типа Q следует RETURN.

Наконец, для ввода файла г (M0 & ле-J) подготовленной матрицы того же типа (рациональные, с плавающей точкой, комплексной рациональной или модульные) в массиве позиций J … J + R-1, первая линия файл должен содержать количество матриц; следующая строка состоит из строки и столбца первой матрицы, а затем соответствующие строки матрицы. Например, следующий файл представляет собой две матрицы рациональных чисел, 3 х 3 матрицу с последующим 2 х 2 матрицы:

/ * Рациональное файл матрицы * /

23 32/3 5 -7/81/2 12 -57 6 42 21 00 1

Комментарии на алгоритмы, используемые в CMAT

  • Приемы П. Henrici указано в [Buc] [200-201] используется для ускорения операций сложения и умножения рациональных чисел.
  • Жордана-Гаусса метод используется, чтобы найти пониженной строк ступенчатой форме и решать системы линейных уравнений над всеми тремя полями.
  • Соединенный, обратная, определитель и характеристический многочлен матрицы рациональных чисел или комплексных рациональных чисел находят Фаддеева-Леверье метод. (См. [Fad] [177-181]).
  • Для матриц над ℤ р, мы используем модификацию алгоритма через Фробениуса (см. [MCW] [168-175]), чтобы найти характеристический многочлен.
  • По ℤ г, Гаусса-Жордана используется алгоритм, чтобы найти обратную и определитель матрицы. Соединенный находится пользуясь тем, что прил (A) = 0, если ранг (A) и Ле п-2, звание (прил. ()) = 1, если ранг (A) = N-1 и прил (A) = ( Det (A)) A-1 в противном случае.
  • Обратная целая матрица той т найден с помощью присоединенной матрицы и умножение мод м в обратном определитель м мод.
  • Минимальный многочлен мА (х) пхп матрица находится по поиску наименьшее положительное число т, что Am представим в виде линейной комбинации матриц В, …, Am-1.
    Это делается путем развертывания матрицы В, …, Ar в столбце вектора на 1 и R & ле ле м и решая уравнение [0] I + • • + [R-1] Ar-1 = Ar как система n2 уравнений с неизвестными р . Система не будет совпадать для 1 ≤ R ≤ м, но будет иметь единственное решение, когда г = т, что дает минимальный многочлен мА (х) = хт-[м 1] XM-1-• • – [0] .
  • Форма Смит канонической находится по алгоритму [Наг] [111-113]. Скорее алгоритмы существуют (см. [LU2]).
  • Факторизация многочленов ℤ Р [х] осуществляется с использованием метода нахождения нетривиальных фактор в связи с P. Camion (см. [Cam]). Это используется в сочетании с Берлекэмпа матрица многочлена. Для получения информации об этой матрицы см.. [Knu] [420-429]. (Наш Берлекэмпа матрица является транспонированной Кнута).
  • Факторизации многочлена ℤ [х] осуществляется с помощью алгоритма, изложенные в [Муз]. Алгоритм использует степенью набор процедуру тестирования, которая иногда раскрывает неприводимые к более сложным тестов работают. Hensel-Цассенхауза квадратичные и линейные поднятия используются для получения факторизации F (X) по модулю высокой степенью простого. Степень набора тестов также эффект уменьшения количества тестов подразделения, необходимые для определения возможных факторов над ℤ [х] после поднятия завершены.
  • Факторизации многочлена ℚ (I) [х] осуществляется с помощью алгоритма, изложенные в [Май].
  • Квадратов алгоритм разложения для многочленов в связи с DYY Yun и описаны в [Knu] [631-632] используется.
  • Неприводимых многочленов данной степени (той р) строятся с использованием вероятностного алгоритма из [LU2] [145-149].
  • Алгоритм, используемый для расчета результирующей двух многочленов с целыми коэффициентами, изложенные в статье Р. Loos в [Buc] [130].
  • Круговых Фин многочлен (х) вычисляется с помощью алгоритма из [LU2] [354-356], который в свою очередь основан на счета в [Lu1] [58-63]. Факторинг Phipn-1 (х) по ℤ р [х] дает {φ (р-1)} / п унитарный примитивных многочленов степени п над ℤ г.
  • Т-й степени с рационального числа вычисляется с использованием алгоритма из [Ma1].

ЛИТЕРАТУРА

  1. [Cam] P. Camion. A Deterministic Algorithm for Factorizing Polynomials of Fq [x].
  2. Annals of Discrete Mathematics 17 (1983) 149-157.
  3. [Fla] H. Flanders. Scientific Pascal.
  4. 1984, Reston Publishing Company, Reston, Virginia. (Second Edition Birkhäuser, 1995).
  5. [Knu] D.E. Knuth. The Art of Computer Programming, Volume 2.
  6. Second Edition 1981, Addison-Wesley Publishing Company, Reading, Massachusetts.
  7. [Lu2] H. Lüneburg. On the Rational Normal Form of Endomorphisms.
  8. 1987, B.I. Wissenschaftsverlag, Mannheim / Wien / Zürich.
  9. College Mathematics Journal 19 (1988) 174-176.
  10. [Mus] D.R. Musser. Multivariate Polynomial Factorization.

Ресурс: СМАТ

Исследования в Ботаническом саду

Модель растений, мутантов и видов коллекций

1

Завод, который будет исследован в ботанических институтах, поднял и выращивают в экспериментальных теплицах Ботанического сада. Основной упор делается на молекулярно-генетические модели завода Тале кресс-салата (Arabidopsis THALIANA), рис (Oryza Sativa), табак (Nicotiana Tabacum) и винограда (виноград культурный).Коллекции мутантов и трансгенных линий, построенных здесь являются незаменимым инструментом для понимания молекулярных основ развития, роста и метаболизма.

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

В области пищевой химии ссылкой растений для продовольствия диагностики культивируются, которые не только более часто запрашиваемых лабораторий контроля качества пищевых продуктов, но и для новых полевых исследований (Ботанический питания Диагностика / Молекулярная филогения новые продукты питания, такие как аюрведический растений) используются. Это уже началось поставить в договоре исследований, примером этого является Молекулярная идентификация традиционной китайской медицине растение компании Phytocomm от Келе.

Ресурс: Modellpflanzen, Mutanten und Artensammlungen

Экспериментальный цикл обучения

Колб (1984) представляет собой один из наиболее полезных (но спорно) описательные модели доступно процесса обучения взрослых, вдохновленный работой Курта Левина.

1

Левин утверждал цикла: от конкретного опыта, через отражающие наблюдения, чтобы абстрактную концептуализацию и активное экспериментирование, что привело к новому опыту.Несмотря на многочисленные претензии, Левин не развивались обучения “цикл” как таковой. См. его статью «Теория поля и обучение» (1942)

Это говорит о том, что существуют четыре стадии в процессе обучения, которые следуют друг от друга: конкретный опыт следует Отражение на этот опыт на личной основе. Это может быть последующим выводу общих правил, описывающих опыт, или применения известных теорий к нему (абстрактную концептуализацию), и, следовательно, к построению пути модификации следующего появления опыта (активное экспериментирование), что приводит в перейти к следующей конкретного опыта. Все это может произойти в мгновение ока, или в течение нескольких дней, недель или месяцев, в зависимости от темы, и там может быть “колеса внутри колес» процесс в то же время.

Самое прямое применение модели заключается в использовании его, чтобы убедиться, что (ПАСЕ Бронирование выше) обучение и репетиторство деятельности в полной мере значение для каждого этапа процесса. Это может означать, что для преподавателя или наставника, основная задача заключается в “погони” ученика вокруг цикла, задавая вопросы, которые поощряют Отражение, концептуализации, и способы проверки идеи. (Конкретный опыт сам по себе может происходить отдельно от учебника / наставничества сессии).

Практическое обучение Стили

2

Хани и Мамфорд (1982) создали типологию стилей обучения вокруг этой последовательности, выявление индивидуальных предпочтений для каждого этапа (активист, отражатель, теоретик, прагматик соответственно), Колб также имеет измерительный прибор (стиль обучения инвентаризации), но провел его дальше, касающиеся процесса также формы знания.

Стили обучения означает, что:

  • В незначительных уровне есть необходимость в корректировке между учеником и учителем: иногда их предпочтения друг друга, иногда антагонистические, и, конечно, иногда сговора если они оба склонны идти на те же этапы в цикле.
  • На крупном уровне, пренебрежение некоторых этапах может оказаться серьезным препятствием для обучения.
  • В действительно серьезном уровне, учителя легко кон с правдоподобным, но пагубная змеиный яд (например, идеи о “стиль обучения”-щелкните по ссылке справа).

Разработки Экспериментальный цикл обучения

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

  1. Конкретный опыт соответствует “знание по знакомству”, непосредственного практического опыта (или “задержание” в плане Колб), в отличие от “знания о” нечто, что является теоретическим, но, возможно, более всеобъемлющим, (отсюда и «Постижение») и представлена абстрактную концептуализацию. Это различие впервые было сделано Аристотелем, и был обсужден эпистемологи до сих пор.
  2. 3

  3. Отражающая Наблюдение концентрируется на том опыте значит переживающий, (она превращаются “Intension») или его коннотации, в то время как активное экспериментирование превращает теорию абстрактную концептуализацию, проверив ее на практике (по “расширения”) и относится к его обозначения .

4

Это различие не является легко определить по многим людям, и является одним из примеров, где Колб может идти в атаку: он имеет тенденцию, чтобы поднять его модели к теории Жизнь, Вселенная и все остальное. Тем не менее, есть более простой точки здесь, что он не делает очень четко: конкретный опыт и отражающих Наблюдение по существу частным и личным частях цикла, в то время как абстрактную концептуализацию и активное экспериментирование больше общественных и видимыми для других. Следовательно поведенческих теорий обучения сконцентрироваться почти исключительно на видимом Активные процессы экспериментирования.

5

Pазличие между государственными и частными аспектами схемы Колб.

Формы знания и цикл обучения

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

6

Четыре вида знания расположены в схеме Колба

Сходящиеся и расходящиеся Знания

Это различие было впервые сделано Хадсон (1967) с точки зрения стиля мышления, а не формы знания: знание сходящиеся приносит нести ряд фактов или принципов, на одну тему: проблемы есть “правильные” и “неправильные” ответы. Хадсон считает, сходящиеся учащихся как правило, более высоко ценятся в школу, потому что большинство подходов к оценке сосредоточиться на сходящихся навыков. Примеры включают прикладная математика, инженерия, и некоторые аспекты языка. Он расположен в квадранте между абстрактную концептуализацию и активное экспериментирование.
Различные знаний, с другой стороны, (очень широко) больше о творчестве – это о поколении количество счетов опыт, например, в литературе или истории или искусства. Решение о качестве расходящихся знания и навыки гораздо сложнее, потому что эти частные области. Он создается между конкретным опытом и отражающие наблюдения.

Ассимиляции и аккомодации

Руки вверх, если вы помните вашу Пиаже! Ассимиляции и аккомодации являются, по его мнению две диалектически связанные процессы (т.е. противоположных начал – тезис и антитезис – между которыми компромисс – синтез – должна быть договорная), которые описывают (примерно) иные отношения между знаниями об окружающем мире и знания уже провел в нашими головами.
Колб подход к интеграции этих идей Пиаже с циклом, как правило, менее успешным, чем его применение Хадсон. Поиск новых правил (абстрактную концептуализацию) формализовать наблюдений (светоотражающие наблюдения) вполне может быть адаптивной упражнений, и очень часто методом проб и ошибок обучения (активное экспериментирование) состоит из перемещения из одного известного правила к другому в надежде, что один из них припадки, поэтому оно имеет важный элемент ассимиляции в нем. Тем не менее, подход действительно помогает сосредоточить внимание на взаимосвязь между общим и частным. Ассимиляция включает Место особых случаях в общие категории, и проживание о работе из общего принципа к конкретным приложением

Лично я хотел бы заменить термин «ассимиляция» с более здравым смыслом одного из “Описание” и “Проживание” с “рецепт”, в том смысле, о том, какая вы должны или должны сделать.

Для ученых только! См. ILLERIS K (2007) Как мы учимся; обучение и не обучение в школе и за ее пределами Лондона, Рутледж, для обсуждения которых охватывает последних европейских, а также американских и британских мышление в этой области. Но это не так просто собирается.

Модель Колб и тематикой

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

Вообще говоря, он предполагает, что практикующие творческих дисциплин, таких, как искусство, находятся в расходящихся квадранте.
Чистая ученых и математиков находятся в квадранте ассимиляционной
Прикладная ученые и юристы находятся в квадранте конвергентное
Профессионалы, которые должны работать более интуитивно, таких как учителя, находятся в квадранте аккомодационной
Существуют также различия в расположении специалистов в рамках более общей дисциплины

Это предполагает, что различные предметные области обращаются к различным стилям обучения и повышает обычной курицы и яйца вопрос о том, дисциплина способствует особый стиль обучения, или предпочтительный стиль обучения приводит к принятию дисциплины, или, конечно, и другое. (Все вышесказанное предполагает, что есть некоторые действия в этой концептуализации “стилей обучения”.)

Ресурс: The Experiential Learning Cycle

Новости и особенности eBird

eBirders отправиться в Перу для наблюдения за птицами Rally Challenge

1
Перу уже хорошо известно птицеловов как “должен видеть” пункт назначения – он имеет почти беспрецедентный разнообразие видов птиц, на самом богатом континенте для птиц. В ноябре 2012 года, Перу состоялся Birding Rally Challenge, – первая организованная, международная конкуренция наблюдения за птицами. События прошлого года представлял собой разрез из полных (но очень птичка!) Amazon на юго-востоке Перу до туманных лесов из прохладных Анд. Первоначальный Rally Challenge, Наблюдение за птицами (BRC), авторами которого PromPeru и Inkaterra Ассоциации, имела большой успех. Шесть команд, представляющих пять стран (и четырех континентов!), Боевую стойку в течение шести дней спина к спине наблюдения за птицами. Темп был изнурительный, но награды были фантастическими-600 видов были зарегистрированы во время BRC. И, естественно, как лаборатория была там! Наша команда, eBirders, включая Тома Schulenberg (капитан команды), Lab alumns Майк Андерсен и Том Джонсон, и человек eBird в Центральной Америке, Оливер Комар.

“Master Set” из 4938 загружаемых Bird Sounds от Корнельского

2
Почти 80 лет в процессе становления, наиболее полный загружаемое руководство пение птиц теперь доступно-Руководство Корнелл Bird Sounds: Master Set для Северной Америки. Около 300 звукооператоры в течение десятилетий захватили звуки плача гагар, трели певчих птиц, хрюканье рябчика, и все между ними. 4938 треков были выбраны из почти 200 000 записей в Корнелл лаборатории орнитологии Маколей Библиотека-архив крупнейшего мире звуков животных.

Улучшенная Интеграция с Facebook

3
Мы рады сообщить, улучшена интеграция с Facebook. Теперь, когда вы вставляете ссылку с eBird в Facebook, название места, даты и числа видов, зарегистрированных появится. Если вы встроенных фото в вашем списке, вы сможете выбрать, какой будет отображаться. Это отличный способ, чтобы поделиться с друзьями и семьей ваших последних приключений наблюдение за птицами. Любой, кто вы с друзьями можете нажать на ссылку и воспитывать в перечень eBird. Обратите внимание, что “комментарии поездки” скрыты. Мы постараемся использовать наш Facebook странице разместить несколько более интересных приключениях нашей команды.

В новая публикация о птицах Сьерра используют eBird данные

4
Новая публикация птиц Sierra (Птицы Сьерра-Невада: их естественной истории, состояния и распределение 2013 года; Издательство Калифорнийского университета; http://www.ucpress.edu/book.php?isbn=9780520274945) является одним из первых Книги, которые заставляют широкое использование данных eBird. При написании видов счетов регулярно встречающихся птиц Сьерра, авторы изучили eBird данных для всех мигрирующих видов типичных для подтверждения прибытия и отъезда из региона. По словам соавтора Эд Pandolfino, “В дополнение к рассмотрению нашего личного опыта и консультаций с местными экспертами и опубликованных отчетов, мы также проверили данные eBird, чтобы увидеть, когда значительное число каждого вида прибыли или отошли от различных частей Сьерра”.

eBird переходит на новые CMS

5
eBird переходит на новую систему управления контентом (CMS) на этой неделе. Общий внешний вид сайта останется прежним, но закулисный инструмент, который мы используем, чтобы размещать материалы на внутреннем и о вкладках, будет меняться. В течение этого времени, вы можете испытать немного неожиданным поведением. Это не должно затрагивать представить свои замечания, исследовать данные или Мой eBird вкладках. Ввод данных в режиме онлайн через eBird, любое eBird BirdLog портал и все должны работать так же. Единственным исключением является то, что некоторые ссылки, которые идут в О или главную страницу может сломаться. Если вы столкнетесь с ссылки, которые не работают или другого неожиданного поведения, пожалуйста, напишите нам по адресу: ebird@cornell.edu. Дайте нам URL и ссылку, которая не работает. Мы исправим это как можно скорее. Мы сейчас (7 мая) выпуск CMS для eBird, и планируют выпустить новую CMS для порталов в течение следующей недели. Наша новая CMS должна открыть некоторые интересные возможности для нас в ближайшие годы.

Команда Sapsucker побила североамериканского Большого Рекордный День – 294 видов!

6
eBird руководителей проектов (Marshall Iliff, Брайан Салливан, и капитан команды Крис Вуд) и eBird программист Тим Ленц объединила усилия с Мерлином руководитель проекта Джесси и Барри BirdCast свинца Энди Фарнсворт в третьей попытке команды Sapsucker на национальном Большой Рекордный день. В 2011 году мы были взволнованы, чтобы установить новый рекорд из 264, но спустило колесо прошлом году спущенном наши надежды, как нам только удалось связать наш собственный рекорд. В 2013 году все сошлось с совершенным год, идеальный день погода (см. Birdcast), идеальное планирование и неудачи без исполнения. Мы даже удивил себя, превышающей рекорд, 30 видов, установив новый рекорд из 294. Большой день является важным сбор средств для лаборатории и для eBird, поэтому если вы не залог до того дня, почему бы, сделав пожертвование в знак признательности за этот исторический день больших усилий и в поддержку Лаборатория Корнелла и eBird.

Новый раздел eBird – Помощь и информация

7
Мы очень рады выпустить наш новый Помощь & закладке Информация в eBird, который находится всего в праве Мой eBird. Он появляется на Подать данные, просмотра данных, а мой eBird, но еще не на главном и о страницах (он появится там в ближайшее время). eBird сейчас насчитывает около 100 000 участников, и мы получаем много по электронной почте вопросы. Это было все труднее и труднее оставаться на связи и оперативно реагировать, и мы очень сожалеем об этом. Помощь & Инфо-центр включает в себя две большие возможности, чтобы помочь людям получить ответы на котором они нуждаются. Во-первых, он имеет функцию поиска, которая находит существующие истории, которые мы написали. Вы также можете задать вопрос сообществу, и мы надеемся, что сообщество eBird поможет нам с вопросами, которые появятся здесь.

BirdCast: мигранты прибывают!

8
В этом году наши прогнозы миграции появляются на специальном сайте под названием BirdCast (ссылка находится на правой стороне главной страницы eBird). Получить свой бинокль готовы, потому благоприятные условия которых может принести несколько волн вновь прибывших мигрантов в южной части США в ближайшие недели. Значительное потепление прогноз на Восток, и вместе с некоторыми южными ветрами и влажный воздух, команда BirdCast ожидает поток вновь прибывших. Нам также нравятся шансы для другого набора высокого разнообразия осадков вдоль побережья Мексиканского залива, как холодный фронт подходы в середине недели. Запад продолжает испытывать хорошее множество прибывших весной, в том числе Swift Вокс, все больше певчих птиц, и Озерная Grosbeak.

ID Советы для хитрых зябликов

9
Ты не был поставлен в тупик полосатый коричневый Финч на вашей подачи? Или есть проблемы определения того, “Purple” Финч, вы смотрите на действительно Фиолетовый Финч, а не один из других Двойник видов? Трио Дом Финч, Фиолетовый Финч, и Финч Кассин обеспечить один из самых сложных групп птиц для выявления в Северной Америке. В некотором смысле, незрелые и женщин всех трех видов более похожими друг на друга, чем они есть на взрослых мужчин. Несмотря на эти сходства, с хорошим видом, обычно можно определить большинство людей. Мы подготовили PDF, которая фокусируется на этом вопросе идентификации, и учит, как местоположение, размер и форму, и цвет модели могут быть объединены, чтобы прийти к точной идентификации.

Раскрытие Тайны Blackbird

10
Слышали ли вы ржавые скрипучие петли-песню Blackbird Расти в последнее время? Исторические описания отображения картин многочисленный вид, легко наблюдать в бореальных лесов водно-болотных угодий в период размножения и лесистые водно-болотных угодий в течение всей зимы. В эти дни, птицеловов повезет, чтобы мельком увидеть этих часто забывают птиц; Расти дроздов испытали одно из самых крутых сокращения популяции любых некогда общих североамериканских птиц. По оценкам последнего десятилетия показывают, что Расти дроздов испытали 85-99% населения падение за последние 40 лет. За последние десять лет, ученые стремятся раскрыть секреты загадочной аварии Расти населения Blackbird.

Ресурс: eBird