• «Через год-два .NET Core потеснит Java на рынке enterprise решений», — Интервью с Jon Skeet, Google

      Наверняка, вы знаете, кто такой Джон Скит: №1 на Stack Overflow, автор C# in Depth, одной из лучших книг по .NET, разработчик в Google и 14-кратный MVP. Разработчиков такого масштаба не так много, хватит двух порядков, чтобы их всех перечислить. 19-20 мая Джон приедет в Петербург и выступит на DotNext 2017 Piter.

      Мне удалось пообщаться с Джоном и взять у него большое интервью по поводу судьбы .NET, .NET Core, нововведений в C# 7 и общем уровне развития среднего разработчика в 2017 году.



      Если говорить конкретно, то обсудили следующие вопросы:

      • Общее направление развития .NET и ошибки Microsoft;
      • Чего ждать от .NET Core в ближайшем будущем;
      • Стоит ли мигрировать на .NET Core, если у вас легаси на .NET Framework;
      • Проблемы и победы .NET на поприще кроссплатформенности;
      • Java vs .NET на рынке enterprise решений;
      • Чем хороши tuples и pattern matching в С# 7, а что стоило сделать иначе;
      • Небольшие, но приятные фичи C# 7;
      • Деградация сообщества разработчиков (и есть ли она);
      • Правильный подход к диагностике багов и постановке правильных вопросов на SO;
      • Гайд по изучению новых языков и платформ;
      • Проблемы с базовыми типами: числа, текст, дата и время;

      Интервью получилось очень большое, но мне кажется, оно стоит каждой потраченной на него минуты.
      Читать дальше →
    • Перформанс: что в имени тебе моём? — Алексей Шипилёв об оптимизации в крупных проектах

        Оптимизация производительности издавна не даёт покоя разработчикам, представляясь своеобразным «золотым ключиком» к интересным решениям и хорошему послужном списку. Большую обзорную экскурсию по ключевым вехам оптимизации больших проектов  – от общих принципов до ловушек и противоречий —  на прошедшем JPoint 2017 провёл Алексей Шипилёв, эксперт по производительности.



        Под катом — расшифровка его доклада.
        Читать дальше →
      • Тест Джоэла как инструмент собеседуемого

          Многие хабровачане наверняка знакомы с тестом Джоэла (перевод). Если в двух словах, Джоэл Спольски предлагает на основе выбранных им критериев оценить любому инженеру, насколько хороша его команда.

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

          Допустим, эта часть Вам понравилась и Вы задумались о том, чтобы перейти в этот проект. Потенциально Вам с этими людьми работать следующие несколько лет (ну минимум — месяцев). Поэтому имеет смысл пораспрашивать о проекте поподробнее. А заодно и будущих сокомандников прощупать — что они за перцы? ;)

          И вот тут выясняется, что вышеупомянутный тест Джоэла очень хорошо подходит для выяснения подробностей о проекте. С одной существенной оговоркой — тест составлен более двенадцати лет назад. За это время отрасль существенно шагнула вперёд. Поэтому вопросы имеет смысл слегка подкоррекировать с учётом этого факта.

          Читать дальше →
        • «Ни единого разрыва»: чего стоит сделать онлайн-трансляцию, которая не будет падать, тормозить и вызывать боль в глазах?

            Если кто следит за нашим блогом, наверняка уже знает, что мы проводим хардкорные технические конференции в разных областях программирования (Java, .NET, HolyJS, iOS/Android, тестирование). Конференции эти традиционно проходят в Москве и Петербурге, почему? Потому что в этих городах физически больше разработчиков – это позволяет собирать под одной крышей по 500-1000 единомышленников.



            Однако мы знаем и понимаем, что и в других городах России есть множество разработчиков, которые готовы влиться в сообщество, которые ищут новые технологии и подходы, но им просто нереально добраться до столиц – для таких людей мы делаем онлайн трансляции наших конференций.

            Как выглядит идеальная на наш взгляд трансляция? Вот несколько ссылок на свежие трансляции последних конференций:
















            А если вам интересно, чего нам стоило отточить трансляцию и видеозаписи до такого состояния, а также какие факапы с реал-тайм системой вызывают самый сильный баттхерт, читайте под катом.
            Читать дальше →
          • «Меня разрывает, когда я не могу писать код» — интервью с Максимом Шафировым, CEO JetBrains



              В новогоднем выпуске «Без слайдов» — Максим shafirov Шафиров, CEO компании JetBrains.

              Вот о чем мы поговорили с Максимом:

              • Важен ли для JetBrains российский рынок?
              • Почему Максим не прекращает писать код?
              • Насколько помогает догфудинг и в чём его ограничения?
              • Почему компания редко закрывает продукты?
              • Как появился Kotlin, и какими компания видит его перспективы?
              • Почему компания не была продана, несмотря на щедрые предложения?
              • Как в JetBrains появилась должность PMM?
              • Как JetBrains одновременно конкурируют и сотрудничают с Microsoft?




              Как обычно, под катом — полная текстовая расшифровка беседы.
              Читать дальше →
            • «Половина научных работ по Concurrency — полная чушь!» — интервью с Романом Елизаровым из Devexperts

                Добрый день, это «Без слайдов». В гостях у меня побывал Роман Елизаров aka elizarov, Java Champion, эксперт по Java и многопоточности (а с недавнего времени — еще и по финансовой математике), спикер многочисленных конференций, председатель жюри Северо-Восточного Европейского региона ACM-ICPC, престижнейшей в мире олимпиады по программированию, лектор в ИТМО и, наконец, VP по технологиям в компании Devexperts. В общем, «человек и пароход».

                В разговоре мы затронули следующие темы:
                • что такое финансовая математика и как ее учить;
                • как устроен софт для финансовой индустрии;
                • как в компании Devexperts появилась исследовательская лаборатория по многопоточности;
                • куда развивается Concurrency, и что будет в моде в ближайшее время;
                • как всемирная олимпиада по программированию пришла в Россию.




                Текстовая версия — под катом.
                Читать дальше →
              • Java Stream API: что делает хорошо, а что не очень



                  Настолько ли «энергичен» Java 8 Stream API? Возможно ли «превращение» обработки сложных операций над коллекциями в простой и понятный код? Где та выгода от параллельных операций, и когда стоит остановиться? Это одни из многочисленных вопросов, встречающихся читателям. Попробуем разобрать подводные камни Stream API с Тагиром Валеевым aka @lany. Многие читатели уже знакомы с нашим собеседником по статьям, исследованиям в области Java, выразительным докладам на конференциях. Итак, без проволочек, начинаем обсуждение.

                  Тагир, у вас отличные показатели на ресурсе StackOverflow (gold status в ветке «java-stream»). Как вы думаете, динамика применения Java 8 Stream API и сложность конструкций выросла (на основе вопросов и ответов на данном ресурсе)?
                  Читать дальше →
                  • +56
                  • 17,9k
                  • 8
                • «Скорость – это такая фича, от которой никто никогда не отказывается» — интервью с Дмитрием Жемеровым из JetBrains

                    Сегодня пятница, а пятница на хабре — это отличный день для чего-то необычного. Сегодня я предлагаю вашему вниманию интервью с Дмитрием yole Жемеровым, человеком, который приложил руку и к IntelliJ IDEA, PyCharm, Kotlin и многим другим продуктам компании JetBrains.

                    О чем мы поговорили:
                    • как развивается IDEA, куда она движется
                    • в чем разница между IntelliJ и JetBrains
                    • зачем в компании два CEO
                    • что происходит в Kotlin'e
                    • с какими трудностями столкнулась команда Kotlin в процессе разработке языка
                    • что такое Language Design Review
                    • что представляет собой современный Google
                    • почему закрылся Google Code
                    • почему хабр важен для разработчиков IDE




                    Под катом — расшифровка этого интервью.
                    Приступить к прочтению
                  • Что браузеры делают с вашим JavaScript-кодом: об оптимизациях в JS-движках на примере V8

                      Оптимизация кода начинается не столько с изучения особенностей языка программирования, сколько с понимания схемы работы всей «технологической цепочки», задействованной при создании приложения — от алгоритма программы до компилятора.

                      Мы поговорили с Вячеславом Егоровым aka mraleph, инженером из Google, компиляторщиком до мозга костей, который работал над JavaScript движком под названием V8, встроенным в Chromium (и, как следствие в Chrome, Android версию браузера, облачную операционную систему Chrome OS) и в менее известный Maxthone.
                      JavaScript-программистам Вячеслав, скорее всего, известен как автор постов про внутренности V8 и как докладчик, увлеченно показывающий машинный код на конференциях для Web-разработчиков.

                      В настоящее время Вячеслав активно работает в Google над Dart VM.
                      В этом интервью он рассказал о том, что происходит внутри движка, выполняющего динамический JS-код и поделился примерами, как выполняются некоторые оптимизации и почему важно глубоко понимать работу движка, чтобы обеспечить быстрое выполнение кода.

                      Читать дальше →
                    • Моноиды, полугруппы и все-все-все

                      • Перевод

                      Если ты на практике используешь ООП, то хорошо разбираешься в таких вещах, как «паттерны проектирования». А знаешь ли ты, что есть множество полезных паттернов, которые не укладываются в этот стандартный список? К сожалению, многие из них связаны с «функциональным программированием», которое, согласно легенде, сложное и заумное. Если десять раз сказать слово «моноид», можно вызвать Дьявола.


                      Mark Seeman расскажет о функциональном программировании просто и быстро. Для этого он начал писать цикл статей, посвященных связи между паттернами проектирования и теорией категорий. Любой ООПшник, у которого есть 15 минут свободного времени, сможет заполучить в свои руки принципиально новый набор идей и инсайтов, касающихся не только функциональщины, но и правильного объектно-ориентированного дизайна. Решающим фактором является то, что все примеры — это реальный код на C#, F# и Haskell. Этот хабрапост — перевод самого начала цикла, первых трех статей, слитых воедино для удобства понимания.


                      Кроме того, с Марком можно пообщаться вживую, посетив конференцию DotNext 2017 Moscow, которая состоится 12-13 ноября 2017 г. в Москве, в «Славянская Рэдиссон». Марк прочитает доклад на тему «From dependency injection to dependency rejection». Билеты можно взять здесь.

                      Читать дальше →
                    Самое читаемое