Дима Школьник (Школяр) (scolar) wrote,
Дима Школьник (Школяр)
scolar

Разнорабочее

Во мне всё более крепнет мысль, что водораздел между условными сторонниками C/C++ и Java/C# происходит примерно там же, где расходятся либералы и социалисты. Одни любят, чтоб о них заботились, другие искренне не понимают, почему какие-то дяди запрещают им ковыряться в носу, как будто дяди лучше знают, когда выделять память, когда её освобождать, и когда уместен подсчёт ссылок. Хотя, конечно, аналогия неполная: в случае программирования есть ещё та сторона, что за всё это платит - и им, в чьих таблицах мы проходим под гордым именем жёлтый земляной червяк ресурсы, виднее, что может написать среднестатистический ресурс, дай ему волю.

Нужно было сегодня из Web-приложения (натурально ASP.NET и C#) отдать наружу некоторую структуру, которую не дурак придумывал, а потому все целые там были в network byte order. Долго я искал в глубинах дотнета htonl и htons. Ладно, будем считать очень логичным, что статический метод HostToNetworkByteOrder() и его зазеркальный брат-близнец обнаружились в классе System.Net.IPAddress. И это очень приятно, что они определены сразу для 16-, 32- и 64-битных целых. Но: какой идиот забыл их определить для беззнаковых типов?! Этот умник хоть раз данные между разными платформами передавал? Знаете, к чему без единого писка автоматически приводится 16-битное беззнаковое целое при передаче в эти функции? Я теперь знаю: к 32-битному знаковому. Здравствуйте, лишние два нулевых байта на каждый чих. В результате стройный строго-типизированный код на C# дополнен явными приведениями ushort к short.

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

И о приятном: вся эта гетерозиготная система с web-server'ом на дотнете, windows-клиентом на C++, общающимся с java-карточкой, зажила-таки. Завтра бета поедет к счастливым бета-клиентам.
Tags: менеджерское, программирование, рабочее
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 7 comments