?

Log in

No account? Create an account
entries friends calendar profile My Website Previous Previous Next Next
Уголок Школьника
scolar
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: , ,

7 comments or Leave a comment
Comments
olkab From: olkab Date: May 8th, 2007 08:56 am (UTC) (Link)
Долго и мучительно переводила твой пост обратно на английский. В уме. Ох.
scolar From: scolar Date: May 8th, 2007 08:59 am (UTC) (Link)
Да, это тот случай, когда по-английски было бы проще всё, кроме первого предложения.
olkab From: olkab Date: May 8th, 2007 09:02 am (UTC) (Link)
Ага :) а я ещё этих слов в таком виде не встречала никогда. Беззнаковое целое. Какая прелесть. Интересно, а как будет double?
Впрочем, я в своё время переводила мастер по hardware architecture с английского на иврит, причём по-аглицки его писал русскоязычный студент. :)
scolar From: scolar Date: May 8th, 2007 09:04 am (UTC) (Link)
Дабл он и в Африке дабл. Но в Париже его называют "лё дабл".
olkab From: olkab Date: May 8th, 2007 09:06 am (UTC) (Link)
Про Африку можешь не рассказывать, мы тут сами в Африке. Ну, почти.
А в Париже вообще компьютер называют пиво l'ordinateur.
pilpilon From: pilpilon Date: May 8th, 2007 12:42 pm (UTC) (Link)
число с плаваюшей точкой двойной точности?
olkab From: olkab Date: May 8th, 2007 12:46 pm (UTC) (Link)
Ну да, ну да. Сижу я это на code review и читаю название функции или там параметры - const double... угадай на какой минуте аудитория впадёт в летаргию?
7 comments or Leave a comment