среда, 31 октября 2012 г.

Самые востребованные языки программирования

Очень интересная статистика от компании “HeadHunter”: http://habrahabr.ru/company/hh/blog/156803/ Анализируя её, могу вот еще что отметить.

Если посчитать соотношение запросов (по Москве) соискателей к запросам работодателей, то получается примерно такое:

Язык программирования

Соотношение запросов

php

2,2

java

3

c++

6

c#/.net

6,4

delphi

8,7

Просто феерический успех у php. Но и “классика жанра“- Java- очень хорошо смотрится. Посмотрите мою статью “Специализация” пятилетней давности- там я выделял Java, как наиболее подходящий для карьеры, зарабатывания денег язык. И, судя по статистике, это остается верным и на сегодняшний день.

Заметьте также, что остальные языки оказываются в 2 раза менее востребованными, чем лидеры: Java- коэф.= 3, а уже следующий C++ – коэф.= 6. Более того, если вы посмотрите вакансии по другим странам, то увидите, что и там Java наиболее востребован.

В общем, учите Java, и живите счастливо! Улыбка

пятница, 12 октября 2012 г.

Полный P&P

Пятого октября прошла конференция Microsoft Patterns and Practices Summit Russia 2012 для архитекторов программных систем и руководителей. Докладчики были из Редмонда, из группы “Patterns and Practices”, и из российского офиса компании.

Я сначала распланировал посещение секций так, чтобы по Windows 8 больше информации получить, но потом понял, что наши “евангелисты” от MS больше, чем я уже знаю, не скажут. Быстро переориентировался- и, вуаля- выудил кое-что полезное из выступлений.

Первое. Запомнилось (даже записал и хочу поиграться с этим) организация вложенных вызовов в линейную цепочку: start(a).then(b).then(c).done;. Вместо

if (a(b(c))) { done; },

где a, b, c- могут быть анонимные функции.

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

Второе. В Window 8 в ресурсы приложения одну и ту же картинку можно будет записать с разным разрешением и размером. ОС сама будет вытаскивать и отображать ту из картинок, которая наиболее подходит для данного монитора (с учетом его размеров и разрешения).

Третье. Какую они удобную локализацию сделали- закачаешься! Может это и раньше было, я про это на конференции узнал. Просто создаете папочки вида “en-en”, “ru-ru” и т.д. и кладете туда файлы с ресурсами в которых пишите что-то вроде:

button1.name = …

button.width = …

button.font.style = …

Еще к этому верификацию прикрутить, чтобы проверять к каким текстам, заголовкам сделаны переводы, а к каким- нет, то вообще “бомба”.

Четвертое. Мысль вроде простая, но я нигде (Word, Visio, AutoCAD и т.д.) пока не видел реализации. Зачем на мелком масштабе пытаться отрисовывать маленькие элементы? Там же ничего уже не разглядеть. Куда эффективней заменять изображение более крупными информационными блоками с большими подписями. Ткнул в блок мышкой- масштаб увеличился, блок “раскрылся”.

И еще. Явно об этом нигде не говорится- народ только по форумам судачит. Но я лично на конференции почувствовал, что предпочтение отдается JavaScript. C# вроде как не задвигают, то существенно меньше о нем говорят. Неужто опять будет эпопея с очередной сменой мейнстримового языка? Так что я предупредил- а вы держите “ушки востро”. Подмигивающая рожица

Потом, конечно, Вы сами сможете посмотреть выступления на www.techdays.ru, но я вам скажу, что через экран монитора вы упустите “ауру” тусовки- на уровне эмоций, жестов очень многое передается. А это редко в кадр попадает, а если и попадает, то как-то “не ловится” мозгом. Ну, и приятно иногда взять докладчика “за пуговичку” и из “первых уст” получить информацию.

По организации конференции:

  1. Очень понравилось. Хорошо все продумано, четко сработано- ну, просто мастера.
  2. Для уровня архитекторов программных систем откровенно слабовато. Хотя, судя по уровню вопросов из зала, может это я слишком многого хочу.