Языки. В том числе и ругательные. Но не только.

12 сентябрь, 2011 - 23:16Андрей Зубинский

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

Так что, пятиминутка ненависти, господа :)

И да, котэ тоже негодуэ :)

Языки. В том числе и ругательные. Но не только.

Hate mode on

Так как чёрный пиар - занятие, требующее хорошей оплаты, пальцем тыкать в бренды не буду, но и молчать тоже не могу. Ноутбуки, не нонейм, а как бы и именитые, чуть ли не все прошли через сервис. Серверная материнская плата после установки в PCIe-разъём карты (рабочей, проверено) выдаёт на уровне BIOS критическую ошибку контроллера PCI, и, судя по стонам в уютном интернетике, лечится это только заменой на более позднюю её ревизию. МФУ @%$#^&*!!!. Здесь без вычурной обсценной лексики не обойтись. Чудовищный агрегат, выдуманный отцами-иезуитами для пыток еретиков. Или печатает в цвете, или сканирует, но печатает в ч/б. О работе в wifi-сети с wifi принт-сервером можно сказать очень кратко, букв шесть всего. Но воздержусь. Винчестеры... Отдельная история, питающая неиссякаемый генератор лучиков радости и счастья, направляемых в сторону производителей.

И это всё - с техникой, эксплуатируемой в кондиционируемом помещении, не в круглосуточном режиме, и вообще очень щадяще эксплуатируемой.

Hate mode off

Разве что рабочая лошадка принтер Samsung, мой любимый "сюсик" (нетбук NB30) и телефон LG радуют - делают что должны без малейших нареканий. Корейцы таки сделали то, во что многие не верили. И показали достойный пример всему ex-USSR. Хотя нам это не поможет, наши примеры, похоже, все в телевизоре, в передачах "про зiрок", по-сельски неуклюже копирующих по их разумению красивое и модное. Впрочем, Лесь Подерв'янський в своей последней пьесе "Блеск та нiщета ..." лучше меня сказал, я так не могу.

Hate mode totally off :)

И да, ни Samsung, ни LG мне ни копейки денег не дали. (и это возмутительно, например). Но из песни слов не выкинуть - что вижу, то пою потому что.

Теперь можно и о вещах душеполезных и интересных.

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

Итак, хороший ресурс для "шахтёров данных" (dataminers), KDNuggets, провёл очередное голосование среди этих самых "шахтёров" для определения наиболее популярного в их среде "шанцевого инструмента". Иными словами - для выявления самых пригодных для "раскопок в данных" языков программирования. В голосовании приняли участие 570 специалистов - это очень немало, "шахтёров данных" вообще немного и в силу междисциплинарности предметной области, и просто потому, что много их не требуется.

Результаты голосования преподносят разные сюрпризы.

То, что язык и инфраструктура R на первом месте - в этом ничего неожиданного нет. Не буду вдаваться почему, некогда, просто скажу - заслуженно на первом месте. Что SQL на втором месте - тоже не сюрприз, на самом деле SQL используют чуть ли не все "шахтёры данных", просто SQL упрятан в инструменты и его не видно, но саму "породу" данных надо откуда-то выгребать чем-то, а данные залегают, в основном, в реляционных СУБД, и выгребаются оттуда комбайном под названием SQL. Так что SQL даже обижен. А вот третье и четвёртое место с практически равными результатами (1% - не разница) - это уже внезапно. Python и Java. Придумать что-то более разное даже трудно. Злая и строгая очень говорливая (многословная) госпожа Java, сплошные ограничения и кожаная плётка в семь хвостов :) , и Python, изначально создававшийся для "реактивно-эскизного" максимально удобного программирования. Громадная инфраструктура,  образующая Java, и интерпретатор Python. И всего лишь 1% различия в популярности. Очень интересный факт, о котором стоит подумать.

По логике вещей, - чем выше уровень языка, чем компактнее синтаксис и чем богаче семантика, тем язык более применим в прикладном программировании. Яркий пример - R. И, по этой же логике, Python, располагающий прекрасными библиотеками, весьма приятный что в синтаксисе, что в семантике, должен далеко отрываться от сплошных со всех сторон заборов Java. А вот на практике такого не происходит. Стало быть, что-то в логике не учтено.

Я так думаю, что не учтены строгость Java и принятый в Java-мире инженерный подход к программированию. Последний является источником тусклых лулзов для начинающих кодировщиков (начинающим всегда кажется, что они уже всё знают и умеют), но инженеры на своей шкуре проверили работоспособность правила - не надо бросаться за проектирование узла, прежде чем не выяснено, что готового такого узла нет. Ну а строгость... У неё ведь есть и обратная сторона, кроме "мне так неудобно". Строгость даёт возможность реализовать мощную инструментальную поддержку (в инженерии, к слову, тоже; стандарты, допуски, посадки, технологические нормы etc - это ведь всё "излишние строгости", но без них инструменты не сделать). И у Java она выше всяких похвал. И строгость при проектировании даёт возможность проще (безопаснее) повторно использовать уже сделанное. Так что, на первый взгляд внезапное равенство популярности Python и Java оказыватся не таким уж и внезапным, если хорошо подумать.

В результатах есть и смешное. Для тех, кто понимает. Например, паритет между Perl и Lisp. Экие две прекрасные крайности - лавкрафтовский хтонический в синтаксисе Perl и ассемблер весьма специфической (но реализуемой "в железе") машины, практически лишённый синтаксиса Lisp. Хрен редьки не слаще, короче :)

Хочется из всего этого сделать какие-то выводы, но обойдусь. В конце концов, если у кого получается лопатить данные на Perl - почему бы и нет. Лишь бы от результатов не коробило специалистов по мат. статистике :)

Вторая выуженная находка - вот это чистый ужас. Опять же, для тех, кто понимает. Речь пойдёт о преемнике Java - языке Scala, который, по идее, должен быть для Java тем, чем стал С++ для просто C.

(ох, чую, сейчас набигут, хихи)

Если бы этот текст написал, например, я, изучающий Scala из любопытства, фанаты Scala разорвали бы меня в клочья и ещё месяца два кровожадно рычали бы по форумам. Но тут понимаете какое дело... Дэвид Поллак - суровый мужчина, он всё-таки фактически автор фреймворка Lift, Scala-программист, подаривший миру 250 тысяч строк собственного Scala-кода, ну и, наконец, автор очень хорошей книги по Scala. Так что на вякающих из форумов мосек такой мастодонт даже внимания не обратит :) И потому ему можно сказать следующее (не перевожу ввиду простоты текста):

Scala is an inappropriate language for the majority of Java developers and cannot be expected to replace Java because for at least 50% of Java developers, Scala's difficulty outweighs its value.

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

Вообще, крайне душеполезная запись в блоге Дэвида Поллака, очень рекомендую, тем более, что она - результат продолжительной дискуссии между людьми, прекрасно понимающими в своём деле.

Так.

Что-то ещё у меня было забавное.

Ага.

Только вот обмолвился давеча об SDR (Software Defined Radio), как компания Silicon Labs (очень славная компания, вообще-то) выдала на рынок первую однокристальную реализацию всеволнового радиоприёмника Si4840. Достаточно посмотреть на блок-схему "радиотракта" этого приёмника, чтобы понять - это, безусловно, уже больше компьютер, чем радиоприёмник:

Языки. В том числе и ругательные. Но не только.

И сделанный именно так, как упомянул в одной из прошлых записей, - за смесителем (два кружочка с "x" в прямоугольнике) сразу сигнал преобразуется в цифру (два аналогово-цифровых преобразователя, ADC), затем обрабатывается цифровым сигнальным процессором (DSP) и преобразуется обратно в аналоговый сигнал цифро-аналоговыми преобразователями (DAC). Это, вообще-то, очень круто, я считаю. Не потому что красиво и изящно (нет, конечно и потому). Просто радиоприёмник - штука дорогая, потому что аналоговый тракт неизбежно нуждается в настройке. А тут и настраивать-то почти нечего, аналоговая "обвязка" минимальна. В Silicon Labs вообще большие умнички работают и красивые микросхемы делают.

Не к ночи будут помянуты таблеты, но тут уж ничего не поделаешь. По-моему, это красавец, особенно учитывая цену. Продажи обещают с конца октября. Экранчик - 1366х768, очень ОК, остальное - достойное, ну и дизайн приятный. Одно "но". Оно вроде как под Android работает, но не совсем - тут Android так переделали, что маркета Google нет, много чего нет, но обещают, что приложения андроидные бегать на планшетке будут. В общем, дождёмся конца октября, поглядим. Такого ещё будет много.

Ах, ну да, ну да. Ка же это я. Сегодня же вышла вторая версия MongoDB. Что бы кто ни говорил, а нравится она мне при всех её недостатках.

Хорошее кино. Что-то полюбил я смотреть кино. Так что тут его есть, хорошего кино, - в видеоотчётах с конференции по разработке ПО AARHUS.

Польза. "Их есть у меня" (с). Очень понравилась и стала  повседневной утилита синхронизации локальных офсиных файлов с Google Docs iGoSyncDocs. Открытая, кросс-платформенная. И из той же оперы, практически того же назначения, но для скриптов (особенно хорошо для скриптов на Python, потому как гомогенная среда получается) - GDataCopier.

Есть у меня ещё всякого интересного много, но это уже на потом.

В очередной раз откланиваюсь, а то расписался что-то.