Совсем недавно написал статью Администраторы за открытый код и в ней я говорил о том, что администраторы не должны бездумно поддерживать открытый код, потому что это не вихря интересах. Чувствую, что не все меня поняли правильно и от поклонников открытого кода посыпались письма. Поэтому я сегодня решил поговорить о моем отношении к коду в любых его проявлениях.
Я уже не раз говорил, что я не отношусь к поклонникам открытого или закрытого кода, я отношусь к людям, которые любят качественный код в любых его проявлениях. Если это качественный открытый проект, такой как линух, то я буду поддерживать его всеми четырьмя конечностями в тех областях, где линух проявляет себя с положительной стороны. Последнее очень важно, например, в качестве веб сервера линух зарекомендовал себя прекрасно и я с удовольствием буду его там использовать, но в качестве игровой платформы эта система пока отстает, поэтому бездумно лепить линух нп домашние компьютеры фермеров не стал бы.
Не секрет, что достаточно большая часть ответственности за безопасность кода лежит на функциях, особенно это относится к С/С++, где повсеместно используются строки, заканчиваются нулем. Это не только самый большой тормоз, но и самый дырявый тип данных. Второй источник проблем безопасности - нарушение логики или ошибки проектирования. Что страшнее? Я не берусь ответить на этот вопрос однозначно, хотя мне кажется, что вторая проблема опасноснее, потому что ее сложнее вычеслить.
Я затеял этот разговор не ради того, чтоб определить, что страшнее, а чтобы задуматься, почему мы не решаем проблемы безопасности и как это можно сделать.
Определить ошибки в логике очень сложно, а в большинстве случаев сделать это может только человек. Автоматизировать поиск можно, но только простейших просчетов типа не проинициализированной переменной. Все переменные должны иметь начальное значение, и эту проверку может, должен и умеют делать компиляторы. Что-то более сложное доверить компьютеру невозможно, потому что это человеческая логика пока не описывается машинным языком.
Сегодня я хочу поговорить о консалтинге и Почему он не может быть хорошим. Еще год назад я считал, что консалтинг реально может помогать компаниям потому что:
Потом я прочитал книгу: "джоел о программировании". Сайт автора кажется www.joelonsoftware.com, а на русскоязычной версии можно прочитать русские варианты статей. Про консалтинг там тоже кажется было в свободном доступе. Первое впечатление о книге - автор просто завидует высоким доходам консалтинговых компаний, и пытается облить грязью конкурентов, ведь как сказал автор, его компания сама занимается консалтинговых, правда это для них не первостепенный доход. Я мог согласиться только с некоторыми мыслями джоела, но далеко не со всеми.
Недавно я поменял работу и об этом уже писал. Я так же уже писал, что у нас на работе стоит ERP система и даже поделился своим мнением по поводу этой системы. Но сейчас мы будем говорить о консалтинге с которым я так же столкнулся в реальности на новой работе. Теперь я понял, что джоел был абсолютно не прав, особенно, что касается российского консалтинга. Это за бугром может быть все терпимо, а в нашей стране консалтинг приносит заказчику только проблемы.
В последнее время стал замечать, что все больше администраторов склоняются к открытому коду. Они становятся просто фанатами этого дела Почему? Зачем? Ответа на этот вопрос найти невозможно, потому что он кроется в психологии людей.
Этим вопросом я всеръез озаботился после прочтения одной из статей Джоела о том, как влияют цены сопряженных товаров. Чтобы лучше понять эту тему, ее лучше рассматривать на примере. Есть компьютер и софт и оба товара взаимосвязаны. Сколько будет стоит компьютер с ОС? Экономист скажет, что он должен стоить столько, сколько готов заплатить потребитель. Если это меньше себестоимости, то производство не рентабельно.
Ттеперь мы подошли к самому интересному. Допустим, что потребитель способен заплатить 1000 зеленых. Теперь, чем меньше будет стоить ОС, тем больше сможет получить производитель железа и наоборот. Поэтому MS стремится сделать железо дешевым и на домашнем рынке ей это удается. Именно поэтому IBM стремится сделпть ОС дешевой и рынке серверов это удается сделать благодаря Linux.
Я сейчас работаю в одной очень интересной фирме и интересна она с разных сторон, но больше всего, своей ИТ инфраструктурой. Когда я устраивался, то по объявлению о по общению с будущим начальством я понял так, что на фирме будет использоваться jаva, а меня ждут такие интересные технологии, как J2EE, сервлеты, портлеты и т.д. Я просто сиял от счастья, потому что хотел получить опыт решения хороших и серьезных задач на jаva. Я знаю этот язык, но опыта разработки и реальной работы в промышленных условиях нет.
И вот я прихожу первый день на работу и узнаю, что на самом деле, у фирмы слишком много денег и поэтому они купили у одной Московской компании внедрение ERP системы. Если быть точнее, то у Московского офиса английской компании. Да что там скрывать, давайте называть вещи своими именами – у XXXXXXXX.
В консалтинговых компаниях работают далеко не лохи и они умеют раскручивать фирмы на бабки и нашу компанию явно раскрутили по полной программе, потому что впарили очень дорогие вещи и внедрили так криво, что уже год все консультатнты вешаются. Ну а что делать, если внедрял и писал код инженер, который н имел никакого опыта программирования.
Я уже давно мечтал купить себе хороший наладонник, но все время мешала проблема "отсутствие денег". Я думаю каждый из нас сталкивался с полобной проблемой, а многие сталкиваются с ней регулярно, как это происходит со мной. Поэтому я не мог себе позволить не то что хороший, а вообще ни какого. Но вот недавно случилось чудо и я смог отложить неплохую сумму на неплохой аппарат - Toshiba G900. Я пользуюсь этой игрушкой только второй день но эмоции пока выражаются только восхищением. Ничего другого сказать немогу.
На самом деле у меня очень маленький опыт работы с наладонниками, только небольшие и не долгие периоды эксплуотации На работе. Все это мелочи, которые не позволют проводить сравнения, но не запрещает высказывать восхищениях данному аппарату.