Сергей Тарасов - Дефрагментация мозга. Софтостроение изнутри

Дефрагментация мозга. Софтостроение изнутри
Название: Дефрагментация мозга. Софтостроение изнутри
Автор:
Жанры: Программы | Программирование
Серия: Библиотека программиста
ISBN: Нет данных
Год: 2013
О чем книга "Дефрагментация мозга. Софтостроение изнутри"

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

Не секрет, что основная масса софтостроения сосредоточена в секторе так называемой корпоративной разработки: от комплексных информационных систем предприятия до отдельных приложений. Поэтому немалая часть сюжетов касается именно Enterprise Programming.

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

В книге мне хотелось показать наш софтостроительный мир разработки корпоративных информационных систем не с парадного фасада описаний программных сред, подходов и технологий, а изнутри. Насколько это получилось – судить читателю.

Бесплатно читать онлайн Дефрагментация мозга. Софтостроение изнутри


К читателю

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

Не секрет, что основная масса софтостроения сосредоточена в секторе так называемой корпоративной разработки: от комплексных информационных систем предприятия до отдельных приложений. Поэтому немалая часть сюжетов касается именно Enterprise Programming.

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

В книге мне хотелось показать наш софтостроительный мир разработки корпоративных информационных систем не с парадного фасада описаний программных сред, подходов и технологий, а изнутри. Насколько это получилось – судить читателю.

О нашей профессии

У каждого дела запах особый:
В булочной пахнет тестом и сдобой…
Д. Родари. «Чем пахнут ремёсла?»

Очень краткий экскурс

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

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

Если первые программисты были сильно ограничены в средствах и привязаны к аппаратному обеспечению – «железу», к конкретной ЭВМ[1], то современные располагают огромным арсеналом инструментов и технологий, в большинстве случаев позволяющих разработчику не принимать во внимание особенности устройства тех компьютеров, на которых его программа будет выполняться.

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

Джордж Лукас приступил к созданию недостающих серий «Звёздных войн» только через 20 лет. Ещё дольше ждали создатели первых луноходов и автоматических межпланетных зондов, прежде чем выпустить на разведку роботы-марсоходы. Станки с ЧПУ[2], безлюдные заводы и роботы-хирурги не имели практической возможности воплотиться до 1980-х годов, когда появились массовые достаточно мощные промышленные микропроцессоры. Для многих задач и существующая мощность пока недостаточна, поэтому суперкомпьютеры продолжают её наращивать. Но прогнозы погоды всё равно ошибаются.

Специализация

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


Программист = алгоритмизация и кодирование


С ростом сложности задач и упрощения процесса непосредственного кодирования при одновременном усложнении повторного использования кода появилась возможность разделить труд, и формула приобрела примерно такой вид:


Программист минус алгоритмизация = кодировщик

Программист минус кодирование = постановщик задачи


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

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

Тестером (не путайте с тостером) раньше назывался прибор-мультиметр, способный измерять напряжение, силу тока и сопротивление. Вы хотели бы работать «тестером»? А если назвать должность в соответствии с её сутью: «инженер-испытатель»? Думаю, отношение к делу сразу изменится.

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

Кто такой ведущий инженер, или Как это было

Давайте рассмотрим и сравним проектные организации по разработке, поставке и эксплуатации программного обеспечения, оборудования и системной интеграции, условно названные как:

• «А» – организации времён позднего СССР (1960–80 гг.): НИИ[3], КБ[4], КТЦ[5], ВЦ[6]

• «Б» – современные компании.


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


Иерархия подразделений

(*) – отдел является единицей финансирования, то есть бюджеты составляются, начиная с уровня отдела;

(**) – уровень лаборатории не являлся обязательным для организаций, не ведущих НИР (научно-исследовательскую работу), например для ВЦКП (Вычислительный Центр Коллективного Пользования).


Иерархия должностей

(*) – в современных организациях образовательный ценз, как правило, формально не учитывается;

(**) – как правило, укладывается в шаблон Chief «направление» Officer. Например, CAO – Chief Accounting Officer – главный бухгалтер, CDO – Chief Development Of-ficer – директор по развитию и т. д.


С этой книгой читают
Технический директор (CTO) находит баланс между потребностями бизнеса и постоянно развивающимся миром технологий. Развейте навыки и мышление, необходимые, чтобы взять на себя эту важную роль и стать успешным лидером. Автор приводит мнения отраслевых экспертов и опытных CTO и делится практическими стратегиями навигации в мире технологического лидерства, где ставки чрезвычайно высоки.Книга на примерах из реальной практики показывает, как преуспеть
«Как пасти котов» – это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды программистов. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знает
В этой книге вы не найдете описания конкретных технологий, алгоритмов и языков программирования – ценность ее не в этом. Она представляет собой сборник практических советов и рекомендаций, касающихся ситуаций, с которыми порой сталкивается любой разработчик: отсутствие мотивации, выбор приоритетов, психология программирования, отношения с руководством и коллегами и многих других. Подобные знания обычно приходят лишь в результате многолетнего опыт
Эта книга предназначена для всех, кто желает освоить СУБД MySQL. Для ее чтения вам не нужны никакие специальные знания – достаточно быть пользователем Windows. Вы узнаете, как установить и запустить MySQL, как создать собственную базу данных, как работать с данными при помощи команд SQL, как администрировать базу данных и оптимизировать ее работу. Разработчики веб-приложений на языках PHP, Perl и Java найдут в этой книге полезные сведения по испо
Почти все сюжеты для этих фантастических рассказов пришли ко мне во снах – я спал, а мое подсознание не спало, а усиленно трудилось. Утром я только записывал очередной приснившийся мне сюжет и потом печатал рассказ на компьютере.Все было просто – мы вместе сочиняли рассказы: я и мое второе «я». Такой метод мне понравился – пока один автор спал, а второй работал. Никакого перерыва в работе.На мой взгляд, я хорошо организовал свою работу, и рассказ
В этих рассказах жизнь простого подростка из рабочего поселка на окраине крупного города. Он вырос, сходил в армию, окончил горный институт, потом Высшие инженерно- экономические курсы, получил диплом менеджера. За годы работы повидал всякое, - прошел огонь, воду и медные трубы. Написал несколько десятков рассказов – про геологию, школу, друзей и про всякие необычные случаи, которые с ним случались в жизни.В книге есть несколько почти фантастичес
На монитор села моль, потом еще одна, и когда они начали ползать по экрану, слова и целые предложения стали пропадать...
Данная книга – своеобразная «скорая помощь» для новичков, которым нужно быстро разобраться с возможностями новой версии текстового процессора Mirosoft Word 2007. Кроме того, это полезное пособие для более опытных пользователей – с его помощью они смогут быстрее освоить новый интерфейс программы. В книге нет слишком подробных описаний, не рассматриваются экзотические возможности приложения. Ее основная цель – помочь вам за несколько минут найти от
Не секрет, что любая безупречно оформленная письменная работа всегда претендует на более высокую оценку. Если вы хотите научиться быстро и качественно оформлять рефераты и курсовые работы, эта книга станет для вас незаменимым помощником. Поиск нужной информации в Интернете, быстрый набор, сканирование и форматирование текстов, создание сложных математических формул и качественных иллюстраций больше не будут казаться чем-то чрезвычайно сложным и н
Когда-нибудь на любом компьютере неизбежно накапливается большое количество информации. Прочитав эту книгу, вы научитесь переносить ваши данные на компакт-диски или DVD, узнаете, как создавать диски с данными, музыкальные диски, DVD со всеми атрибутами. Если у вас скопилось большое количество аудио– и видеокассет со старыми записями, эта книга расскажет, как перенести их на цифровой носитель. Вы научитесь создавать этикетки для дисков, работать с
Современный бухгалтер немыслим без компьютера и бухгалтерских компьютерных программ, помогающих оформить платежные документы, приходные и расходные кассовые ордера, вести учет поступления и движения товаров, выписывать счета-фактуры и многое, многое другое. В книге подробно рассматриваются специализированные бухгалтерские программы «1С: Предприятие», 7.7 и 8.0, а также редактор электронных таблиц Microsoft Excel, приводятся конкретные примеры их
Горячие бутерброды – удобное и вкусное блюдо, которое уместно подать к столу и на завтрак, и на обед, и на ужин. Да и праздничный стол от них только выиграет. А приготовив такие бутерброды в микроволновой печи, вы сэкономите свои силы и время.Для широкого круга читателей.
Разнообразные и интересно оформленные, дополненные гарниром закуски являются украшением не только будничного, но и праздничного стола. Как приготовить аппетитные и оригинальные закуски, вы узнаете из этой книги.Для широкого круга читателей.
Это продолжение того, как уважаемый следователь по уголовным преступлениям Роман Павлович Птачек вляпался в историю, в которой, думал, он не окажется никогда. Слабонервным, беременным и детям не рекомендуется, а тем, кто не читал первой книги, вообще табу! Наслаждайтесь, если посмеете.Содержит нецензурную брань.
Узгодження часів – Sequence of Tenses – це шістнадцятий навчальний посібник з серії Англійська мова. Теорія і практика.Освоївши теоретичний матеріал, представлений в цій серії і виконавши більше 600 вправ для самоконтролю, Ваш словниковий запас складатиметься з більше, ніж 6 000 англійських слів і виразів, що дозволить Вам успішно скласти такі міжнародні іспити по англійській мові, як TOEFL(Test of English as a Foreign Language), IELTS(Internatio