суббота, 25 января 2014 г.

[prog] Еще интересное с RSDN, про опыт использование СУБД от Oracle

Поделился ув.тов.netch80 (один из самых толковых спецов, тусующихся на RSDN, так что история вдвойне заслуживает внимания):

В portaone ради "серьёзных людей" пришлось делать вариант поддержки базы Oracle. Теперь
1) нужен фактически отдельный DBA, оплата книг, курсов, etc, и он постоянно занят диагностиками и оптимизациями.
2) резко усложнилось администрирование — банальный запрос мелкой переделки структуры базы требует согласований, подгонки под умение базы в плане организации индексов, местами какие-то безумные требования типа "для этой колонки включите nls_sort_ci, и нам пофиг, что у вас там адрес узла, которому всякие особенности локализации в принципе запрещены", в результате мы рисуя чего хотим видеть — выглядим идиотами перед DBA'щиками.
3) DBA ходит и ноет "вы тут слишком много транзакций плодите. собирайте действия в пачки, даже если совершенно не связаны друг с другом. у меня коммит дорогой".
4) у клиентских библиотек в принципе не лечатся детские болезни. обрыв сети после отправки полного запроса, но до получения ответа — и клиент не знает про таймаут. перевод на connection pool под реальной нагрузкой даёт segfault'ы из-за обгонов. в ихней багбазе уже с десяток тикетов и фиксов на эти проблемы, но они всё равно не вылечены. в результате на клиентское соединение порождаем промежуточный процесс, который не жалко убить.
5) получили жёсткую привязку к RHEL, который отстаёт по куче софта.

И это я ещё не вспоминаю проблемы собственно DBA, и дублирование текстов запросов серьёзнее, чем "select foo from bar". Я давно уже жалею, что перед этим отказались от постгреса.

[prog.flame] Интересное мнение про перспективы .NET

Нашел на RSDN интересное мнение о перспективах .NET в корпоративном секторе. Позволю себе процитировать полностью:

Могу сказать про банки в штатах. .NET с серверов приложений полностью выдавлен джавой. Web-технологии 50/50. Десктоп пока за .NET. Но тенденции печальные.

Если ещё лет пять назад можно было говорить о конкуренции .NET с джавой на серверах приложений, то сегодня такого разговора нет вообще в принципе. Всё! .NET с серверов надёжно и надолго вытеснен. Что от этого выиграла MS мне лично не понятно Везде крутится линукс. Если бы наоборот — выжали джаву с серверов, то не исключено, что на определённом, и, думаю, не маленьком, проценте серверов сейчас крутилась бы винда. Но не судьба.

В Web интересен прежде всего сильверлайт, которому в мире джавы альтернативы нет. Но MS эту технологию забросила и вовсю пиарит HTML5/JavaScript, что как раз и является пиленимем сука. Если они переведут всех веб девелоперов на это дело, то далее лёгким движением IIS меняется на Апач и .NET разработчики становятся джавистами. После чего возникает вполне законный вопрос — а зачем нам винда для веб-серверов? Нафиг винду, линукс форева.

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

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

Вспомнилось, что несколько месяцев назад где-то на microsoft.com читал какой-то документик, который описывал основные стратегические направления, на которые должны ориентироваться разработчики для платформ MS. Направления там было три, но я запомнил только два из них. Первое -- это HTML5+JS для создания кросс-платформенных приложений, которые смогут работать как на Web, так и на Desktop (Metro-style), так и на мобильных устройствах. Второе -- это нативная разработка на C/C++ для создания высокоэффективных приложений для десктопа и мобильных устройств (для экономного расхода ресурсов). Было там еще и третье направление, вроде бы связанное с .NET-ом, но мне оно показалось настолько невнятно сформулированным и как-то странно позиционированным, что я про него быстро забыл. Так вот, имхо, озвученное на RSDN мнение тов.IT, вполне согласуется с такими акцентами в стратегии MS.

Кроме того, нужно вспомнить, что очень динамично развивающаяся сейчас ниша -- это мобильные устройства. Доминируют в котором iOS (а это, в основном нейтив на Objective-C) и Android (а это Java + немножко нейтива). Доля MS здесь минимальна, перспективы, даже после поглощения соответствующего подразделения Nokia, непонятны. Да и разработчикам под мобильные платформы, имхо, удобно применять HTML5+JS для кроссплатформенности или же родные для платформы технологии для производительности. Так что даже если доля Windows-устройств будет увеличиваться, востребованность для них .NET не будет расти такими же темпами из-за привлекательности связки HTML5+JS.

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

вторник, 21 января 2014 г.

[prog.c++.wow] const int КОД_ОПЕРАЦИИ = 1;

Когда в 1990-не-помню-уже-в-каком-году я начинал осваивать C, а затем C++, в идентификаторах нельзя было использовать русские буквы. Прошло много лет и я где-то мельком услышал, что в C++ теперь допускается применение русских букв в именах. Прошло еще много лет и наконец-таки я увидел реальный живой C++код с использованием набранных на русском языке идентификаторов. В кодировке CP1251, естественно...

Теперь очень хочу это развидеть!!! :(

Upd. Желающие могут поиграться с разными версиями разных компиляторов здесь.