• Как устроен Heisenbug
    +1
    Да, это ценно. Продолжайте наблюдения! :-)
  • Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
    +1
    Если вы собрали всё вместе сами и всё своё тащите с собой (то есть, не используете всякие адовые аппликейшен серверы), то вы полностью контролируете, что за джарки используются. Closed world почти что — всё известно на этапе компиляции. Всё что после этого интересно от среды выполнения — конкретный билд OpenJDK, версия glibc и возможно, ядра Linux. (При этом есть возможность отвязаться и от версии OpenJDK, скомпилировав всё в self-contained exe file, но для этого нужен либо GraalVM, либо Excelsior JET). Очень элегантно. Да, продвигаю это везде — мне нравится, вот и продвигаю. Например, в Golang это поведение по умолчанию.
  • Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
    0
    Ну как никуда не делись, j2ee уже всё — теперь осталась некая надежда на джакарту, и там основной сэллинг поинт это как раз cloud native из коробки, если это выстрелит — то наследие j2ee будет жить

    А про спрингбут… Да я видел много всего, но по ходу пришел к выводу, что уберджары на спрингбуте — это самое крутое и удобное :)

    И этот подход даже не про джаву, а вообще, про жизнь. Например, я использую GNU/Linux и вижу, насколько круче юзабилити у докерных контейнеров или «все свое тащу с собой» по сравнению с пакетным менеджером. Сейчас у меня есть несколько сайтов про разные вещи, и я везде перешёл к хранению важного софта в self-contained докерах, включая базу данных. Это не просто какой-то непонятно откуда взявшееся утверждение, а моё личное глубокое убеждение о том, как должно выглядеть правильное решение, как я делаю и буду делать у себя.

    если я использую какую-то технологию, то жду, что технология поддерживает это убеждение. Если нет, она просто не подходит, надо брать другую.
  • Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
    0
    > Затем, что это внезапно стандартное поведение для j2ee библиотек.

    j2ee — это та технология, от которой в конце концов отказался Oracle, выпилил все её следы из OpenJDK (включая даже такие повсеместные мелочи как java.bind.xml) и отдал на спасение в Eclipse Foundation? =)

    отличный пример, чудесный
  • Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
    0
    Начал знакомство с ними после «Ночного Дозора» :)
  • Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
    0
    Хочу поопонировать вот тут. Если неофиту не нравится писать на языке, он им пользоваться не станет. Через какое-то время старый язык просто умрет вместе с поколением предыдущих пользователей. Сценарий вполне реальный, только вот он не кажется… справедливым, что ли. Если уж ты что-то приручил — например, написал свой язык и специально сделал его популярным — наверное, стоит о нём заботиться.
  • Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
    0
    Ну тут ничего не поделаешь, нужно делать memset из единиц с начала раскладки объекта в оперативной памяти и до максимального оффсета :))
  • Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
    0
    Ничего не могу поделать — видел как пишут обычные люди в условиях жестких дедлайнов, непонятных требований, недостаточной квалификации, необходимости десятилетиями поддерживать непонятную чертовщину итп — и это знание выгорело на сетчатке глаза, сквозь него теперь весь мир воспринимается по-другому.
  • Итоги конкурса «ТехноТекст»
    0
    Картонные часы с прошлого награждения храню как зеницу ока. Время пройдет, а часы останутся.
  • Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
    0
    Если вы его создаете через new, они и так заполнены нулями
  • Nvidia сошла с ума и открывает PhysX под BSD-3
    +7
    Просто «открытые на чтение» и BSD-3 (или GPL) — это две больших разницы. Вон у Unity тоже C# часть открытая на чтение, а толку? Ни форкнуть, ни поменять ничего нельзя тупо по юридическим соображениям. А тут у тебя полная свобода, включая коммерческие проекты, включая отсутствие назойливой необходимости постоянно рисовать логотипы изначальных авторов.
  • Nvidia сошла с ума и открывает PhysX под BSD-3
    +8
    Тоже под BSD-3?
  • Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
    0

    Может это как-то связано с Open/Closed Principle из SOLID? На новую функциональность нужно пилить новый класс, старый класс менять нельзя. В Java понятно, что сам факт создания класса есть новая функциональность, ибо описание класса доступно через рефлекшен. Может, там где-то RTTI, или даже полноценный RTTR?

  • Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
    –2
    > в джаве уже вроде как признали, что они были ошибкой

    Кто эти люди, которые признали? Рейнхольд? Роуз? Гёц? Мне checked exceptions как раз кажутся очень крутой фичей, всегда их юзал.
  • Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
    0
    Ну строго говоря, про C# — это не совсем валидный аргумент. Язык — это больше, чем просто набор фич. Недостаточно просто собрать в кучу все что знаешь, и назвать это языком, с таким подходом это будет скорей помойка :) C# — это целостная система ценностей и трейдоффов, другая система.
  • Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
    +1
    Ну скажем так… наверное, полезно иметь больше чем одну точку зрения. Чтобы когда условия поменяются, не бегать с горящей задницей кругами :) Точка зрения в посте выбрана очевидно какая, да. Я мог бы написать и с какой-нибудь другой точки зрения, но это неинтересно — обожающих постов, вылизывающих Котлин теплыми щенячьими языками — весь интернет ими переполнен, а толку?
  • Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
    0
    Поправил
  • Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
    +2
    > и наверное не особо хочет разбираться

    не просто хочу разбираться, а в некотором смысле это теперь моя работа.
  • Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
    +3
    Поправил!
  • Тёплый ламповый хардкор. Как прошёл DotNext 2018 Moscow
    0

    Кстати, у нас есть еще две конфы — по тестированию (Heisenbug) и по девопсу (DevOops). Если вам интересны не .NET-специфичные вещи, а производство вообще — возможно, стоит посмотреть на их программы.

  • Итерации цикла: как прошла конференция HolyJS, и что насчёт следующей
    +3
    Так это… между докладами же есть дискуссионные зоны, какие-то самоорганизующиеся междусобойчики… Я старался туда сбежать сразу же, как заканчивались наши с Женей интервью. Слушаешь, о чем разговаривают люди, влезаешь со своими идеями и вопросами с двойным дном. Я человек антисоциальный, поэтому моя антисоциальная метафора такова: это как один большой Хабр, только IRL, где можно пойти в самый жесткий заруб как ради профита, так и просто ради огненного обсуждения. Достаточно во flow кружке пошутить про то, что «typescript и flow это одно и то же, за исключением что flow никто не пользуется» и это минус полчаса холивора. Причем там толпень была адская — это плохо в том смысле, что тесно и непонятно как быстро пробежать от края в край зала (мне это нужно было делать постоянно), и хорошо, потому что волей-неволей начинаешь участвовать в очередном зарубе.
  • Тёплый ламповый хардкор. Как прошёл DotNext 2018 Moscow
    +2
    Тесно — да. С количеством людей мы немного не расчитали. Дотнекст как-то ненормально, необычно вырос по количеству участников в самый последний момент, а площадка таких размеров бронируется за полгода до события. В следующий раз мы с этим что-нибудь постараемся сделать.

    Про переоцененные доклады. Мы с программным комитетом уже обсудили проставленную сложность и пришли к тому же выводу. Некоторые доклады были очевидно отнесены не в ту категорию, например, Рихтеру явно надо было дать «смузи», а не «каску».

    Пожалуйста, расскажите все ваши сомнения в форме обратной связи (у вас ведь есть ссылка?). Мы внимательно читаем совершенно всё и улучшаем, что можем.

    Можно прямо сейчас в комментарии написать самое важное. Что хочется увидеть на следующем Дотнексте, что замотивирует снова прийти?
  • Тёплый ламповый хардкор. Как прошёл DotNext 2018 Moscow
    0
    del
  • Итерации цикла: как прошла конференция HolyJS, и что насчёт следующей
    0
    «а давайте в циклах, кроме опции continue, появится ещё back, и тогда можно станет вернуться на предыдущую итерацию». Воистину дичь!

    нуу, строго говоря, можно придумать модель вычисления, где это возможно. Доказательство минимальным примером: представим, что у нас чистый functional programming compliant API до всех существенных API приложения. Кроме того, мы живем под closed world assumption, так что у нас не используются внешние "грязные" вызовы до внешних сервисов, динамический класслоадинг и кодогенерация, и так далее. Тогда мы берем и выполняем все действия в CQRS форме. Чтобы откатиться назад — инвалидируем текущее состояние базы и по транзакшен логу повторяем все действия с самого начала истории и вплоть до самого последнего (не включая его). Это и будет back. Это, конечно, медленно, но это уже доказательство.

  • Тёплый ламповый хардкор. Как прошёл DotNext 2018 Moscow
    +5
    Кажется, я где-то серьезно прокосячил, если не смог донести про подписку. Постараюсь исправиться!
  • Тёплый ламповый хардкор. Как прошёл DotNext 2018 Moscow
    +4
    «Сами мы не местные» — лучший перформанс года!

    + От твоего рассуждения, что мало информации для доклада, «всего года три опыта», у меня отпала челюсть, да так до сих пор и не вернулась. Это какое-то недостижимое качество подготовки для обычных людей и ивентов.
  • «Нужно лишь аккуратно сгенерировать LLVM IR». Егор Богатов о Mono и .NET Core
    0
    Так ctrl+F и вписать слово «геймдев» :) Кстати, этим диалогом мы увеличили количество вхождений слова с пары, до целых шести!
  • «Нужно лишь аккуратно сгенерировать LLVM IR». Егор Богатов о Mono и .NET Core
    0
    Мой косяк. В изначальной версии оно было, потом многое убрали (есть соображения, зачем), а в заголовке так и осталось. Стыд какой, да. Справедливости ради, пара умпоминаний геймдева осталась.
  • «Server-side Swift недооценён»: интервью с Полом Хадсоном
    +1

    Да, я совершенно серьезно. Это не просто лицензии — это гарантии свободности используемого вами ПО. Рекомендовать несвободный язык было бы, как бы правильней выразиться, аморально? Например, нельзя посоветовать несвободный .NET Framework для использования С#, но можно посоветовать свободный .NET Core.


    Подробное описание причин лучше прочитать полностью на сайте GNU, оно составлено Ричардом Столлманом лично и является хорошим введением в вопрос.


    Программное обеспечение зачастую распространяется в виде исходных кодов. Хотя эта форма выпуска может быть неприемлема, например, для детей, это вполне нормальная форма дистрибуции для взрослого человека, и тем более разработчика. Умение установить ПО, распространяемое в виде исходных кодов — один из ключевых столпов компьютерной грамотности. Более того, именно исходные коды под правильной лицензией (например, GPL3) и являются основным носителем свободности ПО.


    Так что, не совсем понятно, кого и за что вы собрались винить. Вот глядите, есть мантейнер пакета для операционной системы Ubuntu GNU/Linux. Он потратил свое личное время на то, чтобы облегчить вам установку ПО. Время, которое он иначе мог бы потратить на общение с женой или ребенком. Если бы мантейнер пакета под Убунту собрал бы его неправильно, можно было бы предъявить ему некие неформальные претензии, да и то со скидкой, что вряд ли это сделано намеренно.


    Но для вашей ОС CentOS GNU/Linux нет пакета. Нет того человека, который бы потратил личное время и собрал бы его. Ваши претензии к несуществующему человеку?


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


    То, что Apple распространяет книгу с помощью ПО, не являющегося свободным — безусловно, позор. Но этого вполне можно было ждать от маркетологов коммерческой компании, это бич нашего общества.


    Я всячески не рекомендую устанавливать подобное ПО, чтобы качать эту книгу. Вместо этого вы можете воспользоваться поиском по интернету, чтобы найти что-нибудь более доступное, что тоже позволит вам разобраться в Swift. Например, вот здесь опубликована отличная подборка материалов: Awesome Swift. И опубликована надо сказать, под лицензией Creative Commons Zero v1.0 Universal — одной из наиболее пермиссивных лицензий, совместимых с GPL (пользоваться коей я все равно не советую по причине, описанной в предыдущем сообщении).


    Популярность — продажная девка. Не все самые лучшие языки являются одновременно самыми популярными. Одна из лучших IDE в мире, Emacs, написана на Emacs Lisp и С, и непохоже, чтобы ELisp находился на верху индекса Tiobe. Делает ли это Elisp плохим языком?


    В любом случае, я старался помочь вам советом относительно выбора и использования языка, а не разводить пустопорожнюю полемику.


    В завершение хочу предупредить, что операционная система CentOS GNU/Linux опасна, так как может содержать несвободные компоненты. Советую использовать только дистрибутивы, описанные на сайте FSF. Моя персональная рекомендация — Parabola GNU/Linux-libre, это дистрибутив, основанный на Arch Linux.

  • «Server-side Swift недооценён»: интервью с Полом Хадсоном
    0

    del

  • «Server-side Swift недооценён»: интервью с Полом Хадсоном
    +2

    Хорошо, что вы заинтересовались!


    Насколько знаю, со свифтом на GNU/Linux все просто замечательно. В этом и смысл. Можно скачать прямо бинарники для GNU/Linux, но также можно собрать из исходников. Сборка из исходников не только повышает безопасность, гарантируя что бинарник не пропатчен, но и повышает общий уровень вашей грамотности в используемом стеке технологий.


    Кроме того, это лицензия Apache License 2.0. Это, конечно, не AGPL, но уже очень хорошо. И APL2 совместима с GPL3 (но не с GPL2), то есть можно мешать исходники между собой при создании деривативов.


    В качестве IDE советую попробовать Visual Studio Code c плагином vscode-swift. У обеих лицензия MIT, которая хоть и является свободной и совместимой с GPL в одну сторону, не является копилефтной лицензией, а значит дает проприетарщикам возможность давления на вашу свободу. Подробней проблема описана на специальной странице на сайте GNU. К сожалению, хорошей IDE с лицензией GPL3 для Swift нет, поэтому придется довольствоваться VSCode.


    В целом, разрабатывая свободный софт под лицензией GPL на языке Swift под операционную систему GNU с ядром Linux вы продвигаете вперед сообщество свободного программного обеспечения, и человечество в целом.

  • Когда Java наконец помрёт, что с этим делать и что будет с JPoint
    +2
    Ну, в данном случае — наверное, никак нельзя :-) Я просто попытался сказать, что можно изначально пытаться все писать в функциональном стиле (именно труЪ-функциональном), и тогда вопрос «какой там промежуточный тип» будет стоять сильно меньше. Не знаю, как это рассказать коротко, придумаю — напишу статью. Марк Симанн очень много написал размышлений, как превратить изначально не функциональный язык C# во что-то относительно похожее. К сожалению, опять же, применения этого на реальном проекте я показать не могу, это все пока только идеи.
  • Когда Java наконец помрёт, что с этим делать и что будет с JPoint
    0
    > спагетти из extends

    Егора Бугаенко читал?) Может быть, так и надо?
  • Когда Java наконец помрёт, что с этим делать и что будет с JPoint
    0
    А в чем проблема?
    Только записать стримами, чтобы не пришлось проверять на null, итп.

    Мне очень нравится вот этот чувак: blog.ploeh.dk

    У него есть очень стройная теория по применению функционального подхода к C#. Он берет какие-то приемы из Haskell, адаптирует на F#, и потом рассуждает, как это можно применить в C#, несмотря на то, что C# не имеет всяких продвинутых фичей.

    В качестве примера рассуждений, есть его доклад на прошлом DotNext 2017 Moscow про Dependency Injection. Ну да, C# это не совсем Java, но с точки зрения общего дизайна они близнецы-братья.

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

  • Когда Java наконец помрёт, что с этим делать и что будет с JPoint
    0
    А если там написать var, то это читается еще легче: это просто можно не читать и не видеть.
  • Когда Java наконец помрёт, что с этим делать и что будет с JPoint
    –1
    Ты предлагаешь человеку делать то, что может сделать автоматика. А потом эти POJO будут ломаться постоянно, и придется их поддерживать. Не говоря уж о том, что весь этот сейф программинг с перекладыванием пустого в порожнее, DTO в DTO — это адские тормоза. Не лучше ли компилятору заниматься этой грязью, в то время как человек займется чем-то более человеческим — ну, высокоуровневыми вопросами, постановкой задач, вот этим всем. Точно так же когда-то мы отказались от ручного управления оперативной памятью, и это была огромная победа. «Не сломается то, чего нет». Нет памяти, которую можно вручную размечать — нет проблем с памятью. Есть стандартный алгоритм сортировки в коллекциях — нет проблемы с сортировкой. Нет типов, которые нужно вручную выводить — нет проблем с организацией типов. Итп.
  • Когда Java наконец помрёт, что с этим делать и что будет с JPoint
    0
    ZendEngine — это и есть сам PHP. Если за него не будут платить (а про это намекали ушедший сооснователь и 2 ключевых разработчика), то PHP дальше чем сейчас никуда не уйдет. Ну то есть, это хорошо что теперь есть 7.2, но если теперь никогда не станет 8, то это фиаско
  • Когда Java наконец помрёт, что с этим делать и что будет с JPoint
    +2
    В PHP все плохо. Недавно как раз ключевые разрабочтики Zend Engine написали, что сбегают из конторы, которая оплачивает банкет и ищут нового работодателя
  • Когда Java наконец помрёт, что с этим делать и что будет с JPoint
    0
    В Идее при этом всё желто-коричневым перечёркнуто с сообщением, что звать что-то в сыром типе — плохо
  • Когда Java наконец помрёт, что с этим делать и что будет с JPoint
    0
    Если ты именно про высоту, то похоже, даже чаще :mrdestructoid: