Замечали неравномерность человеческого внимания к разным достижениям? Мемы о том, что Стив Джобс и Деннис Ритчи ушли почти одновременно, но обществом была замечена только смерть первого, хотя вклад второго в IT гигантский:


Реальность неумолима: как бы ни был талантлив сценарист фильма, актёрам всегда достанется больше внимания, потому что их видно. Как бы ни был профессионален создатель серверной технологии, Марк Цукерберг привлечёт больше внимания, потому что рядовой пользователь взаимодействует с его проектом напрямую. Это нормально: мы все не замечаем чего-то, с чем не сталкиваемся напрямую.

В этом посте будет небольшой заплыв в специфику организации мероприятий, а также Kotlin, Machine Learning и создателя ОС Фантом. Коротко о посте в одной картинке (да, вы скоро поймете, о чем речь):


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

Предлагаемая схема: обращать внимание людей на «незамеченные» вещи и объяснять их значимость. Например, сейчас мы запускаем фестиваль TechTrain, и видим несколько историй, о которых пойдет речь.

История 1. Языки программирования


Так получилось, что люди любят чудеса, особенно — технологические чудеса. Чтобы привлечь внимание аудитории нужно что-то действительно яркое и необычное. Для внутреннего митапа в компании подойдет какой-то удачно выстреливший проект. Что делать, если ставки повышаются и нужно собрать большую площадку? Давайте ухватим за хвост какую-нибудь скрытую историю и поставим себе на службу.

Вот яркий контраст. С одной стороны, даже далёкие от IT люди знают понятие «язык программирования» и понимают, что это важнейшая составляющая разработки. Но с другой, в массовом сознании полностью отсутствует рефлексия на тему того, что сами эти языки тоже кто-то разрабатывает. Для общества они ощущаются такими «законами природы»: мы не выбирали физические формулы, а просто открыли их, вот и языки программирования были даны нам на скрижалях высшими силами. И даже когда в 2014-м был громко представлен Swift, в бытовых обсуждениях этой новости не фигурировало имя Криса Латтнера, а было лишь размытое «Apple» (что для многих как раз и значит «высшие силы»).



Оказывается, если углубиться в вопрос, понимаешь: чуть ли не самое интересное в языках программирования — то, что такую основополагающую вещь делают живые люди. Они вкладывают в язык свои субъективные представления о правильном и неправильном. Зачастую они сами не понимают, как правильнее. Это люди, которые испытывают эмоции и могут ошибаться. И которые, безусловно, заслуживают уважения: создание популярного языка — это большая работа, большая ответственность и большая польза.

В этой области сейчас происходит история, о которой хорошо знают многие разработчики, но почти не знают все остальные: взлёт языка Kotlin. Если у вас сейчас в кармане Android-телефон, то вы не понаслышке знаете о результатах работы Android-разработчиков. Сейчас разработка под Android активно переходит на Kotlin, сопровождается это бурными восторгами («как же теперь стало удобнее, чем раньше с Java»). Для пользователя же это означает некое магическое улучшение работы любимых телефонов и гаджетов.



Этот язык создала российская компания JetBrains, и, возможно, это главный успех российского IT на международной арене со времён появления веб-сервера Nginx. Вообще говоря, страна могла бы гордиться: в Санкт-Петербурге появился современный технологический продукт, которым с восторгом пользуются по всему миру, в том числе в крупнейших компаниях. Со стороны этот успех не очевиден (когда используешь мобильное приложение, не видишь, на каком языке оно написано), и в итоге триумф остаётся незамеченным.

То, что его не замечают другие, не мешает заметить его самостоятельно, даже если с Android-разработкой мы никак не связаны. И использовать на пользу дела. Мы бесстыдно использовали понимание ситуации, чтобы позвать Романа Елизарова из JetBrains. Он расскажет, зачем вообще в 2018-м нужны новые языки программирования, когда старых и так уже много. А возглавляющего весь проект Андрей Бреслава мы убедили поучаствовать в серии блиц-вопросов. Конечно, его там обступят с конкретными техническими вопросами разработчики, уже пишущие на Kotlin, но и на более общие вопросы минутка найдется.



Вопрос в том, чтобы систематически отслеживать такие возможности и подводить под них основу. Как в этом случае помогает систематичность? Вот глядите, кто-то спросит: но ведь Андрей и Роман необычнайно занятые люди, каким образом вы смогли их убедить? Это выглядит как фокус с доставанием кролика из шляпы. Разгадка фокуса проста: и Андрей, и Роман далеко не в первый раз у нас на конференциях (других — тех, которые непосредственно про хардкорное программирование). Когда понадобилось сделать что-то масштабное для TechTrain, под это уже была подготовлена почва. Система — это то, что превращает невыполнимую миссию в понятную задачу.

Имея такую базу, можно делать что угодно. Можно строить IT-фестивали, можно делать локальные митапы. Кому-то интересно, как сделать популярный корпоративный блог на Хабре, который не будут хейтить читатели? Да, и это можно сделать. «Обращаем внимание и объясняем значимость». Там дальше будет еще парочка историй, и вот эту часть доказательства уже не буду повторять — для них она та же самая.

История 2. Техноблоггинг и 90-е


Вторая история — не о том, как что-то значимое не замечают, а о том, как о нём быстро забывают.

Продумывая идею TechTrain мы поняли, что обязательно нужно пригласить лидеров мнений, ведущих техноблогеров, и так далее. Разные люди, разных направлений, которые — согласно задумке — дадут объемную картину современного IT. Может быть, какие-то отцы-основатели российского интернета?

Но видите ли, отцы-основатели не ходят строем по улице. Это как раз те люди, которые редко светятся в топе Ютуба, предпочитая вместо этого заниматься важными делами. (На самом деле, это типичная проблема поиска спикеров для какого угодно события, претендующего на глубину). Нужно их как-то достать и вывести на чистую воду. Отличная цель для нашей методики — «искать скрытое и объяснять значимость»!

А искать мы будем, да-да, в нашем собственном опыте и воспоминаниях.

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


(скриншот операционной системы Фантом, автором концепции которой является Дмитрий)

Тут можно сказать «ну и зачем в 2018-м помнить автора сайта из XX века, технологии так стремительно развиваются, что сейчас уже бессмысленно вспоминать тот контент и равняться на тех авторов». И вот с этим не соглашусь.

Адреса dz.ru и dz.yandex.ru уже не открываются, но если зайти на сайт через WayBack Machine, то можно надолго залипнуть на темах, поднимавшихся там многие годы назад. Как правильнее синхронизировать данные между компьютером и КПК? (ссылка) Как повлияет интернет на удалённую работу? (ссылка) Что за новое устройство «USB drive» и лучше ли оно привычных дискет? (ссылка).

Если разобраться, «какими тогда были технологии и что тогда люди о них думали», это позволяет взглянуть по-новому на все, что нас окружает сегодня. Ну и попросту, это страшно любопытно. Многое из написанного тогда на сайте опередило своё время: мысли «как сделать удобнее работу с мобильным устройством» казались уделом кучки гиков с КПК, пока внезапно весь мир не начал носить по мобильному устройству в кармане.

То есть, у нас есть человек, который ещё десятилетия назад внимательно следил за технологиями и хорошо понимал их. После этого никуда не делся из IT-индустрии, но перестал вести сайт и ушёл с головой в руководительские задачи.

Дальше договориться, чтобы он выступил на TechTrain с докладом «Практики и кейсы проектного управления» было делом техники. Опыт помогает ему видеть ситуацию в перспективе: он видел управление проектами ещё тогда, когда о всех этих ваших эджайлах широкие народные массы слыхом не слыхивали. Я бы подошел к нему с парой вопросов о будущем технологий.

Кстати, Женя Трифонов (phillennium) только что рассказал историю: когда-то в начале нулевых, когда он был увлечённым технологиями старшеклассником и иногда читал dz online, он написал Дмитрию письмо с несколькими вопросами. Дмитрий ответил — и, если память не подводит Женю, в ответе сетовал «сейчас сайты показывают одинаковые баннеры всем подряд, как телерекламу, хотя в интернете можно было бы разным пользователям показывать разную». По сути, в том старом письме он предвосхитил взлёт персонализированной рекламы. Очень интересно, какие возможности для развития он видит теперь.

Измерений, в которых проходит поиск новых идей — множество, и обратная отмотка истории российского интернета — только один из приемов по исследованию этих измерений. Нужно не забывать это и эксплуатировать на полную катушку.

История 3. Machine learning


О том, как важно машинное обучение, сейчас знают не только специалисты. Можно часто увидеть новости о том, что благодаря ML машины научились водить машины, обыгрывать людей в го, сочинять песни в духе «Гражданской обороны» и распознавать опухоли. В быту мы сталкиваемся и с голосовыми помощниками, и с распознаванием объектов на фото. На презентациях Google аббревиатура «AI» звучит, кажется, чаще самого слова «Google».


(Источник: 5th World Machine Learning and Deep Learning Congress)

О новых применениях машинного обучения говорят много, но остаются за кадром те люди, благодаря которым всё это происходит. Информационное поле выглядит так, словно машины уже учатся всему самостоятельно. А это всё-таки чересчур оптимистичная оценка ситуации (или пессимистичная, в зависимости от ваших взглядов на угрозы ИИ).

Во многом это вызвано тем, что у машинного обучения нет какого-то единого лидера, каким для Linux-мира стал Линус Торвальдс, а для мира свободного ПО стал Ричард Столлман. (Кстати, их мы тоже позвали, но график Ричарда слишком плотный). Над открывающимися сейчас возможностями работает множество людей по всей планете, и нашим дивным новым миром мы обязаны всем им сразу, а не кому-то одному. И всех вместе в голове-то не удержишь.

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

Для этого можно, например, посмотреть на YouTube несколько выступлений от ML-специалистов. Можно нагуглить и какие-то вводные материалы для новичков, и более конкретные для тех, у кого некоторый уровень подготовки уже есть.



Очевидно, что для успеха фестиваля это идеальная тема. Мы быстро позвали Романа Удовиченко —- руководителя группы обработки дорожной ситуации в направлении беспилотных автомобилей Яндекса. Он расскажет, как такие автомобили прогнозируют поведение других автомобилистов и пешеходов. Еще мы позвали Ивана Ямщикова — он создал тот самый проект «Нейронная оборона» с песнями «под Егора Летова»; в его выступлении будет рассказано, как наш мир меняется благодаря накопленным данным и что измениться всё-таки не может.

А ещё будут Андрей Законов из ВКонтакте, Дмитрий Сошников из Microsoft, Виталий Худобахшов из JetBrains, и даже сам Дмитрий «Гоблин» Пучков проведет интервью с Иваном Ямщиковым. Неплохо, да? Короче, найти для себя что-то интересное про ML там сможет любой, вне зависимости от степени предварительного знакомства с темой.

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

Напоследок хочется задать всем такой вопрос: а какие люди в IT, по-вашему, достойны куда большего внимания, чем получают? Кого бы вы хотели видеть? Наверняка мы упускаем что-то ценное, и Хабр — лучшее место, чтобы восполнить пробелы.

Комментарии (64)


  1. olegchir Автор
    10.08.2018 20:56
    +5

    Ребятки, уже полсотни плюсов и ни одного комментария.
    Все читают, но не комментят.
    Мне страшно.


    1. Dvlbug
      10.08.2018 21:15
      +3

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


    1. Dvlbug
      10.08.2018 21:42
      +5

      Кстати, вы заметили, как название темы похоже на ваш комментарий?


  1. korizza_spb
    10.08.2018 22:34
    +3

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


    1. olegchir Автор
      10.08.2018 22:43
      +1

      Буржуй! А у меня так и не было книги Ритчи) В универе преподавателем был товарищ Никита Каменский и сказал, что пока мы не выучим стандарт Си на зубок, никто отсюда не выйдет. Поэтому денег хватило распечатать стандарт Си-99 на принтере и читать на бумаге. Хмм… Не сказал бы, что это как-то помогло, учитывая количество пересдач. Но из ностальгических соображений Стандарт все еще лежит на полке в Новосибирской квартире.

      Что касается сравнений, то тут есть конкретные метрики и наблюдения. Сразу после выпуска этой статьи мы разговаривали с одной весьма умной и начитанной девушкой, и она взахлеб поведала о фактах жизни Стива Джобса, недавно вычитанных из понятно какой книжки. С другой стороны, про Ритчи она практически ничего не знала. Знала про Си и Си++, а про Ритчи — нет. Как так?

      Попробуй у себя провести этот эксперимент с разработчиками, которые вообще не писали на Си и Си++, например, на новичках-фронтендерах. Какие будут результаты? Как их можно интерпретировать?


      1. vconst
        13.08.2018 14:28

        распечатать стандарт Си-99 на принтере и читать на бумаге
        Помню, в начале 90-х отец притащил с работы польский клон 9-игольчатого Роботрона, купил переплетный станок с резаком и прессом, и стал делать книги по библиотекам С++ и тд тп. Получались очень увесистые фолианты, весом и форматом как тома БСЭ.


    1. frmless
      12.08.2018 00:03
      +6

      Я бы не был так категоричен.

      Язык Си на самом-то деле наколенная поделка по факту, почитайте историю его создания и скачайте исходники ранних версий его компилятора. И, как мне кажется, очень многие широко известные уязвимости, о которых мы много раз слышали (Heartbleed, например), проистекают именно из недостатков этого языка. Я говорю про то, как реализованы там массивы (границы не проверяются), приведение типов, строки и строковые функции, работа с памятью (принудительно вручную), сколько там в стандарте тонких мест, позволяющих плодить трудно отлавливаемые и исправляемые баги, и т.п., и если вам кажется, что так, как там, делать нормально и допустимо (особенно в наше время), то в этом и заключаются основные негативные последствия повсеместного распространения этого языка. Почитайте CVE и статьи авторов PVS Studio, и в полной мере насладитесь масштабом катастрофы :)

      А вот Apple часто была ледоколом революции, и достаточно сильно повлияла на индустрию, вспомним хотя бы WebKit с clang/llvm. Но вы почему-то помните только iPhone (который сам по себе и весьма неплох, да).


      1. VolCh
        12.08.2018 10:09
        +1

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


        1. yarric
          12.08.2018 13:21
          +2

          большинство названных вами вещей не считались недостатками

          А можно пруф, что отсутствие проверки границ массивов, возможность использования неинициализированных указателей и неопределённое поведение в C когда-то не считались недостатками языка программирования? В конце-концов проверку границ можно было бы включать/отключать флагом компилятора, а использование неинициализированных переменных и указателей вообще проверяется на этапе компиляции. К тому же я что-то не встречал неопределённого поведения в описании, к примеру, FORTRAN — хотя он такой же быстрый (а то и быстрее), как C. А цель эмуляции строк и массивов в C через указатели для высокоуровневого языка вообще за гранью понимания.


  1. berezuev
    10.08.2018 22:43
    +2

    del


  1. Error1024
    10.08.2018 23:08
    +12

    Я просто обожаю наитупейшую картинку, которую автор использовал в качестве «картинки для привлечения внимания», Деннис Ритчи очень крут, он создал один из моих любимых языков прогамирования — СИ.
    Однако присваивание ему заструги в появлении Photoshop/FLStudio/MacOS полный бред, все эти три штуки появились благодаря языку Pascal/Delphi (а если серьезно, то язык был использован, тот, что был более удобен для конкретной задачи, не один, так другой).
    Уж не смог удержаться от этого комментария. Это всё-таки не паблик ВК, где и появилась эта картинка, скорее всего, а технический ресурс.


    1. Error1024
      10.08.2018 23:19
      +7

      Ха, и эта статья — реклама конференции, где мне должны пояснить за it?
      Серьёзно? С такими ляпами? Хипстота.
      Картинку приложу сюда на всякий случай, а то ещё потрут :)


      1. olegchir Автор
        10.08.2018 23:38
        -5

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

        Я часто пересматриваю вот эту презентацию.

        «This is a day I’ve been looking forward to for two-and-a-half years.

        Every once in a while, a revolutionary product comes along that changes everything. And Apple has been – well, first of all, one’s very fortunate if you get to work on just one of these in your career.

        Apple’s been very fortunate. It’s been able to introduce a few of these into the world.»

        И дальше по тексту. Очень рекомендую к просмотру.


        1. Error1024
          11.08.2018 05:04
          +4

          Причём тут Джобс вообще, какая-то вода вместо ответа про СИ и его создателя.


          1. olegchir Автор
            11.08.2018 15:12

            Сам Ритчи был одним из авторов Юникса, вовсе не очевидно, что юникс бы написали вообще. Вы это хотели услышать?


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


            1. areht
              11.08.2018 19:11

              > вовсе не очевидно, что юникс бы написали вообще.

              И что? Ну взлетела бы другая ОС, Торвальдс написал бы её клона на Simula. А Photoshop на винде работал бы точно так же.


            1. Error1024
              12.08.2018 01:20
              -1

              АРРР!
              По существу моего комментария вы так и не ответили, зато написали немного бессвязного текста. Извините, но такое ощущение, что вы отвечаете в комментариях под воздействием веществ.


        1. parmactep
          11.08.2018 16:23
          +1

          This is a day I’ve been looking forward to for two-and-a-half years

          Сегодня не все могут смотреть в завтрашний день…
          Классика жи.


  1. DimDem
    10.08.2018 23:27
    +9

    Такое чувство, что я чем-то обязан всем тем, кто что-то изобрел, и чьим изобретением я пользуюсь. Нет, не обязан, и я не должен знать этих людей, если мне самому не интересно это.
    Это называется open source не спроста — берите и пользуйтесь все, кто хотите, без вознаграждения.
    Весь технологический прогресс строится благодаря таким людям, но, в первую очередь, эти люди делают это ради достижения именно своих целей, ну и круто, что иногда достижения этих целей двигает развитие технологий в целом.
    А Стив Джобс — это хорошо разрекламированная личность, ради продаж, ради достижения именно своих собственных целей.


    1. susnake
      11.08.2018 00:27
      +3

      Это называется open source не спроста — берите и пользуйтесь все, кто хотите, без вознаграждения.

      Это не называется open source. Это называется free software. Причем free like a beer, and not like a speech.


    1. bro-dev0
      12.08.2018 13:21

      Мотивация людей не только личные интересы, некоторые делают для всеобщего блага.


  1. yarric
    10.08.2018 23:43
    +8

    До C был создан FORTRAN с его скоростью и шикарными встроенными возможностями по обработке массивов данных, которые в C и его наследниках до сих пор так и не появились.
    До C был создан PL/I и его семейство языков с безопасностью в плане ошибок адресации и переполнения буфера, на котором пишут операционные системы и софт для мейнфреймов IBM.
    До C был создан Pascal, на котором, как уже упоминали выше, были написаны первые версии того же Photoshop и на котором писался софт для Mac OS…
    На их фоне распространённость C, с его стандартом с кучей undefined behaviours, бедными возможностями по работе с массивами и типами данных, но богатыми возможностями по отстрелу ног и написанию программ из закорючек, выглядит парадоксом.


    1. olegchir Автор
      10.08.2018 23:57
      -1

      Надеюсь сюда включится кто-нибудь, чей первый язык программирования не был Java :-)

      Про FORTRAN vs C. Если ты запускаешь свой код на железе напрямую, без операционной системы в качестве прослойки (или если это какая-то встроенная система), то нужно управлять железом напрямую. А для этого нужен доступ к настоящим адресам памяти. Си предоставляет эту возможность посредством поинтеров. Насколько понимаю, в FORTRAN существует концепция поинтеров, но они не эквивалентны поинтерам в Си. Фортрановские поинтеры нельзя использовать для прямого управления железом, что могло быть огромной проблемой в эпоху, когда на макбуки еще не ставили 64 гигабайта оперативной памяти, которые позволяют из любого языка вызывать любой, не включая мозг. Фортран наверняка использовали вместе с Си и даже ассемблером. И тут сразу возникает вопрос — нафига козе баян, зачем использовать три языка, если можно обойтись одним?


      1. DSolodukhin
        11.08.2018 01:40
        +3

        И тут сразу возникает вопрос — нафига козе баян, зачем использовать три языка, если можно обойтись одним?

        Зачем мне три разных инструмента, если я всё-равно гвозди микроскопом забиваю?

        Fortran разрабатывался учёными для учёных, и он приобрел наибольшую популярность именно в сфере научных расчетов. До сих пор существует огромное количество научного ПО, написанного на Fortran, так же как и разработчики, которые продолжают на нем писать.

        C создавался программистами для программистов, с весьма утилитарной целью — обеспечить переносимость Unix. Недаром, C называют ассемблером виртуальной машины Unix.

        Отсюда вытекают особенности этих языков, так же как и области применения. Это разные инструменты.


        1. olegchir Автор
          11.08.2018 15:30
          +1

          Это очень хороший вопрос, и тут я на вашей стороне :-) Сейчас я разобраюсь с GraalVM и пытаюсь популяризовать её в широких народных массах. Одна из основных частей технологии — это так называемый Polyglot Runtime, позволяющий быстро и без оверхеда пистать приложение сразу на куче языков, выбирая нужный под задачу.


          Но в попытке объяснить это людям встречаюсь с очень большими затруднениями. На практике донести эту аргументацию бизнесовым чувакам очень, очень сложно.


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


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


          Попробуйте объяснить бизнесмену, почему он должен обучать свои десять тысяч разработчиков не одному языку (Java или JS), а сразу двум (Java+JS). В конечном итоге все упирается во время, деньги, скорость вывода продуктов на рынок, и так далее. Обучение и зарплаты сотрудников — это очень большие расходы. Коммуникация между разработчиками — это очень большие расходы (есть формальное объяснение в "мифическом человеко-месяце"), а несколько языков (и несколько связанных с ними программных платформ) увеличивают сложность коммуникации.


          Да, писать задачу на языке, удобном для этой задачи — это очень приятно для программиста. Далеко не всегда очевидно, что это действительно будет экономить деньги. Например, сейчас многие пишут веб-фронтенды на Java хотя камон, Java вообще никак для браузера в его текущем виде не подходит. Многие пишут бэкенды на JS, хотя JS для хайлоадной системы это кошмар и ад. Но пробиться сквозь простую логику, что раз у нас уже есть 2 тысячи JS разработчиков, нафига нам покупать еще тысячу джавистов или упаси бог C++-ников, если можно просто перекинуть JS разрабов на бэкенд — очень сложно эту логику пепреплюнуть.


          Если у вас есть хороший ответ на этот вопрос — пожалуйста, расскажите. Скопипащу, сохраню, запомню наизусть, буду использовать в повседневной деятельности.


      1. DustCn
        11.08.2018 05:07
        +1

        >>Фортрановские поинтеры нельзя использовать для прямого управления железом
        Поинтеры не используют для управления железом, они для адресации. Мб вы перепутали с портами?

        Указатели в фортране — тот же адрес. Проблема в массивах, они там с дескриптором.
        Так же есть проблема с преобразованием типов (нельзя перекинуть float в Int напрямую, подправить пару битов и вернуть в float).

        Тут можно почитать про отличия фортрана от С:
        openmp.ru/2017/04/05/%d0%be%d1%81%d0%be%d0%b1%d0%b5%d0%bd%d0%bd%d0%be%d1%81%d1%82%d0%b8-%d1%8f%d0%b7%d1%8b%d0%ba%d0%b0-%d1%84%d0%be%d1%80%d1%82%d1%80%d0%b0%d0%bd-%d0%b2%d0%b7%d0%b3%d0%bb%d1%8f%d0%b4-%d1%81%d0%be-%d1%81


      1. yarric
        11.08.2018 05:11
        +1

        Кстати от использования ассемблера в ядре UNIX никуда не ушёл. В принципе прямой доступ к памяти можно встроить в любой язык путём добавления соответствующей функции.


        1. vanxant
          11.08.2018 18:57
          +2

          А и задачи такой не было, точнее была не совсем такая. В самом первом юниксе было 10000 строк на Си и всего 1000 на асме, и для переноса ОС на другую железку нужно было переписать только вот эти 1000 строк ассемблера. За счёт этого оно и взлетело.
          Все другие ОС были написаны полностью на асме. Железо менялось часто, а переписывать всю ОС на новый ассемблер было делом долгим и дорогим.


          1. yarric
            12.08.2018 08:19
            +1

            MULTICS на PL/I был написан. В то время уже появлялись ОС, написанные на высокоуровневых языках.


            1. vanxant
              13.08.2018 02:51

              Вы этот PL/I в глаза видели? Асм попроще будет, сильно попроще.


              1. yarric
                13.08.2018 07:53

                В асм сложность в непереносимости и необходимости знать особенности архитектуры железа, а что в PL/I сложного?


      1. Error1024
        11.08.2018 05:20

        Окей, в Паскале тоже есть принтеры, и кроме того очень удобна фича, для низкоуровневого программирования, в большинстве компиляторов: встроенный ассемблер.
        А ещё строки, Строки, СТРОКИ. Уж сколько в мире уязвимостей(я думаю больше половины), тупо из-за отсутствия строк в СИ.
        Я люблю СИ за то, что он является кросплатфоременным ассемблером, и работает везде, но если бы на его месте был Паскаль, мир бы был чуточку лучше. Но к сожалению создатели UNIX выбрали, и сделали популярным именно СИ.


        1. VolCh
          11.08.2018 06:50
          +2

          Истории Юникс и Си тесно переплетаются, Не создатели Юникс выбрали Си, а Си создали, чтобы создать Юникс в том виде, в котором мы его знаем. Есть основания считать, что на Паскале получилась бы совсем другая ОС.


        1. vanxant
          13.08.2018 02:53

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


      1. Error1024
        11.08.2018 05:28

        И тут сразу возникает вопрос — нафига козе баян, зачем использовать три языка, если можно обойтись одним?

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


        1. olegchir Автор
          11.08.2018 15:06

          Я не только люблю использовать Java, но и постоянно пишу про неё на Хабр :-) В общем-то, это основная и практически единственная тема, про которую я пишу на Хабр.


          Например, сейчас я дико увлечен проектом по переписыванию рантайма Java с C++ на Java. Сейчас про это речь идет в проекте GraalVM, но целиком это называется Project Metropolis и поддерживается основными архитекторами Java-рантайма. Так что да, безусловно, я бы хотел увидеть написанным на джаве вообще всё, и работаю в этом направлении.


          Но мы не одни такие. Например, еще есть JavaScript, и сейчас бэкенды серверных приложений стало нормально писать на JS, и переводить на JS софт, который ранее был написан на Java и С/C++.


          Это совершенно нормально — не связываться с излишней сложностью, когда с ней можно не связыватья. Введение дополнительного языка — это сложность. Использование Си позволяет избавиться от неё. В чем проблема?


          1. sand14
            11.08.2018 18:53
            +2

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

            Это совершенно нормально — не связываться с излишней сложностью, когда с ней можно не связыватья. Введение дополнительного языка — это сложность. Использование Си позволяет избавиться от неё. В чем проблема?

            Забавно.
            Еще не так давно мир и двигался в этом направлении — некая централизация во всем:


            1. Появились IDE вместо отдельных тестового редактора, компилятора и линковщика, и нам рассказывали, как это круто — делать все в одной IDE, причем в основном мышкой.
            2. Один язык. Если очень упрощенно, конкурировали за эту роль C++ и Delphi/Object Pascal.
            3. Затем — единая платформа/VM. Здесь будет уже ближе к действительности, если сказать, что конкурентами здесь были Java и .NET.
            4. С другого ракурса — единые интегрированые системы управления жизненным циклом приложений. Вначале Borland ALM, потом Microsoft ALM (и TFS — лишь часть ее).

            И вдруг что-то случилось.
            Началось это примерно с бума планшетов (кстати, где они сейчас), и мифического закаты "эры ПК/буков" (вроде ужались до своей естественной ниши, а так живее всех живых).


            Затем перекинулось почему-то на средства разработки.
            Вновь стали отдельные компиляторы, редакторы, из IDE вынесена отдельно в невсегда работоспособные утилиты куча тулинга (а ведь до сих вроде нет такого же удобного мерджа, если не ошибаюсь, с семантическим анализом (?), как это было в TFS), и все это склеивалось на честном слове.
            Снова разные языки (а уж какой вдораздел произошел между беком и фронтом, не описать).


            И вновь разработка стала, как в 80-х — начале 90-х. Ну, почти.


            И вдруг маятник качнулся в обратную сторону.
            Тут и Web Assembly (можем писать на фронте на бек языках), а уж какой вклад в (ре)интеграцию внесли IDEA и Kotlin (разом под JVM, JS, Native)…
            Ну и понятно, Node с JS/TS на бек-енде.


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


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


          1. Error1024
            12.08.2018 01:31

            Это совершенно нормально — не связываться с излишней сложностью, когда с ней можно не связыватья. Введение дополнительного языка — это сложность. Использование Си позволяет избавиться от неё. В чем проблема?

            Мне кажется, или тут взаимоисключающие утверждения?


    1. Mishkun
      11.08.2018 09:02
      +8

      Каламбур: возмущаются, что Стив Джобс распиаренная рекламная личность, за которым не видно человека создавшего Си, но Си тоже распиаренный ЯП за которым не видно более безопасных и удобных в использовании для прикладного программирования языков


      1. VolCh
        11.08.2018 14:06
        +2

        А кто пиарит Си как прикладной язык?


    1. Welran
      11.08.2018 09:05
      +1

      программ из закорючек
      эмм обычная программа, просто все названия переменных и функция состоят из одного символа и записаны в одну строку. Ну вот ни разу не программа на Perl.


  1. Wedmer
    11.08.2018 00:56
    +3

    КПДВ хороша, но FL Studio написана на производных Pascal.


  1. da-nie
    11.08.2018 08:29
    +5

    И даже когда в 2014-м был громко представлен Swift, в бытовых обсуждениях этой новости не фигурировало имя Криса Латтнера, а было лишь размытое «Apple»


    Ильф и Петров. Одноэтажная Америка
    По ту сторону плотины лежало большое, чистое, прохладное озеро.

    Дойдя до центра плотины, мистер Томсон внезапно остановился, широко расставив ноги по обе стороны белой черты.

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

    — Скажите, — спросили мы Томсона, — кто автор проекта Боулдер-дам?

    К нашему удивлению, он не ответил на этот вопрос. Он мог лишь сообщить названия акционерных обществ, которые по заказу правительства выполняли эту работу.

    — Вероятно, — сказал Томсон, улыбаясь, — если какого-нибудь строителя спросить, кто здесь монтирует турбины, он не сможет назвать мое имя. Он скажет просто, что монтаж ведет «Дженерал Электрик Компани». Инженеры у нас, в Америке, не пользуются известностью. У нас известны только фирмы.

    — Позвольте, мистер Томсон, но это большая несправедливость. Мы знаем, кто построил собор Петра в Риме, хотя он был построен несколько веков тому назад. Авторы Боулдер-дам, где соединены замечательная техника и удивительное строительное искусство, имеют право на известность.

    — Нет, — сказал мистер Томсон, — я не вижу в этом несправедливости.

    Лично я, например, не ищу известности. Я вполне удовлетворен тем, что мою фамилию знают двести специалистов в мире. Кроме того, состояние современной техники таково, что действительно не всегда можно определить автора того или иного технического произведения. Эпоха Эдисона кончилась. Пора отдельных великих изобретений прошла. Сейчас есть общий технический прогресс. Кто строит Боулдер-дам? Шесть известных фирм. И это все.

    — Но вот в СССР есть инженеры и рабочие, которые пользуются большой популярностью. Газеты о них пишут, журналы печатают их портреты.

    — Вы просто увлечены строительством. Оно играет у вас сейчас слишком большую роль. А потом вы позабудете о нем и перестанете прославлять инженеров и рабочих.

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

    Стоя на вершине одного из самых прекрасных сооружений нашего века, о котором доподлинно известно лишь то, что оно неизвестно кем построено, мы говорили о славе в Соединенных Штатах.

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

    Кто пользуется в Америке действительно большой, всенародной славой?

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

    А кому может понадобиться делать славу Томсону или Джексону, Вильсону или Адамсу, если эти люди всего только строят какие-то машины, электростанции, мосты и оросительные системы! Их хозяевам даже невыгодно делать им славу. Знаменитому человеку придется платить больше жалованья.

    — Нет, серьезно, сэры, — сказал нам мистер Адамс, — неужели вы думаете, что Форд знаменит в Америке потому, что он создал дешевый автомобиль? О, но!

    Было бы глупо так думать! Просто по всей стране бегают автомобили с его фамилией на радиаторе. В вашей стране знаменит совсем другой Форд. У вас знаменит Форд-механик, у нас — Форд-удачливый купец.

    Нет, пожалуй, милейший мистер Томсон прав, отмахиваясь от американской славы. Слава в Америке — это товар. И как всякий товар в Америке, она приносит прибыль не тому, кто ее произвел, а тому, кто ею торгует.


  1. CheatEx
    11.08.2018 08:53
    +3

    Елизаров впрыгнул в котлин году на 5м жизни проекта. www.linkedin.com/in/relizarov

    Там минимум человек 10 больше знают больше про историю и развитие языка. Но рассказывать вы зовёте лицо с лучшей историе продаж. Неплохое продолжение истории про Ритчи.


    1. 23derevo
      11.08.2018 10:28
      +3

      Вы просто не в курсе ситуации. Почитайте, например, интервью с CEO JetBrains Максимом Шафировым:

      — То есть сначала вы это вдвоём делали? В четыре руки, в две головы?

      — Ну, это слишком нескромно. Участвовали другие люди, конечно. Всякие идеи обрабатывались и апробировались в коридоре. Очень много ребят (тот же Дима Жемеров, тот же Илья Рыженков, Володя Решетников, который сейчас в Microsoft), высказывали массу идей, комментировали. Или Рома Елизаров — он пришёл к нам, потому что я позвал: «Ром, я буду в JetBrains рассказывать, как мы будем делать язык программирования, приходи».

      — Какой это был год?

      — 2011-й. Может, 2012-й. Рома пришёл, послушал, сказал: «Чуваки, всё классно… Но Nullability». И мы такие: «Ну это трудно: дженерики, interoperability с Java»… Он: «Nullability, чуваки». И появилось Nullability.

      — Это очень интересно, потому что Рома Елизаров зимой тоже был в «Без слайдов», и тогда он ещё был сотрудником компании Devexperts, а теперь он сотрудник компании JetBrains и внезапно он делает Kotlin Native, о котором мы ещё поговорим. То есть он ещё тогда, на том этапе, был человеком, который существенно повлиял на язык?

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


  1. beskov
    11.08.2018 12:14
    -6

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

    Рефле?ксия (от позднелат. reflexio «обращение назад») — это обращение внимания субъекта на самого себя и на своё сознание, в частности, на продукты собственной активности, а также какое-либо их переосмысление.

    Что вы там лепите, ******* безграмотные?

    Каким образом языки программирования и их происхождение могут быть продуктом активности массового сознания?


    1. kot_mapku3
      11.08.2018 13:38
      +1

      Вообще-то вы и сами прекрасно поняли, что хотел сказать автор. А если нет, то это повод задуматься. Рефлексия, как вы ранее упомянули это обращение назад. Т.е. в данном случае это означает, что человек не занимается возвратом сознания и анализом, что вполне приемлимо и никакой ошибки я тут не нашёл.


      P.S. Безусловно, есть более подходящее слово, так и вертится на языке, но никак не могу вспомнить.


  1. DistortNeo
    11.08.2018 14:43
    +2

    Не было бы C — ничего страшного, был бы другой язык.
    Не было бы Джобса — ничего страшного, были бы другие смартфоны.
    А культ личности — это плохо.


  1. Nimtar
    11.08.2018 15:15
    +2

    «И даже когда в 2014-м был громко представлен Swift, в бытовых обсуждениях этой новости не фигурировало имя Криса Латтнера, а было лишь размытое «Apple»»
    Я заметил интересную классификацию: некоторые языки известны по именам, некоторые — по компаниям.
    В качестве примеров, есть языки, авторов которых «все знают»: C от Кена Томпсона и Денниса Ритчи, C++ от Бьярна Страуструпа, Python от Гвидо ван Россума, Ruby от Юкихиро Matz Мацумото, Scala от Мартина Одерски, Pascal от Никлауса Вирта. С другой стороны «корпоративные» языки: Sun Java, Microsoft C#, Mozilla JavaScript и Rust, Apple Objective-C и Swift, JetBrains Kotlin. Причём известно, что C делался в AT&T, Гвидо наверное где-то тоже работал, фольклор сохраняет предание о JS, написанном за 2 недели каким-то парнем, да и Kotlin пилят конкретные люди, но почему-то на слуху оказываются в одних случаях люди, в других — компании.
    Интересно, почему так? Или это только в моём инфополе такое разделение?


    1. VolCh
      11.08.2018 15:32
      +1

      Может просто время уже другое, корпоративное. А может просто «авторские» языки создавались для решения проблем авторов, а не его работодателей, пускай и в ходе решения его проблем, авторами же популяризировались, а не маркетинговые отделы работали. В общем никто авторам не говорил «нам нужен новый язык», а они сами его создавали, пускай и в ходе работы над чем-то другим.


    1. F0iL
      11.08.2018 17:48
      +3

      Microsoft C#
      не знаю как вам, а мне на ум сразу приходит имя Андерса Хейлсберга, который до этого создал Delphi, а потом был ведущим архитектором C#
      фольклор сохраняет предание о JS, написанном за 2 недели каким-то парнем
      Аналогично, сразу. Брендан Айк же.
      Он еще был CEO Mozilla одно время, и он же один из создателей WASM.


    1. Pepsilike
      12.08.2018 00:10

      Сказки не рассказывай про JS, ок? Brendan Eich создатель и точка. И да, он co-founder Mozilla. И на последний твой вопрос — да, это только в твоем ограниченном инфополе.


  1. Mycolaos
    11.08.2018 16:25

    Что думаете о конференции Codemotion?


  1. JuniorIL
    12.08.2018 00:06
    +1

    Неужели Котлин начинает набирать обороты и можно будет его начинать использовать вместо мерзкой Джавы?
    Был один хороший язык на JVM, но мир не смог его осилить и понять как на нем писать. А возвращаться со Скалы на Джаву было очень больно. Теперь я все ещё жду, что появится нормальная замена для нее, но пока не будет популярности, боюсь что будет очень сложно ставить деньги на очередного кандидата.


    1. yarric
      12.08.2018 09:12

      На мой взгляд сейчас гораздо актуальнее новые нативные языки типа Go, Swift, Rust. Java нужна в-основном для допиливания давно написанного энтерпрайза, поэтому другие языки для JVM уже не взлетят — никто не будет переписывать софт на Scala или Kotlin. В мобильной разработке под один Android писать не выгодно, так что там рулят кроссплатформенные средства разработки, соответственно Kotlin как замена Java там тоже пролетает.


      1. sand14
        12.08.2018 12:02

        На мой взгляд сейчас гораздо актуальнее новые нативные языки типа Go, Swift, Rust. Java нужна в-основном для допиливания давно написанного энтерпрайза, поэтому другие языки для JVM уже не взлетят — никто не будет переписывать софт

        А можно поподробней?


        • Какую сферу применения вы видите для Rust?
          Если позиционировать его как замену C++, то насколько знаю, C++ тоже используется в легаси кода — в финансовых приложениях, где важна скорость (поэтому C++, а не Java).
          Какие есть еще области применения? Язык действительно очень интересный — системный и со всеми современными плюшками, хотелось бы его видеть в реальной работе.
        • Swift? Но если Swift, то почему вы не ставите на Kotlin? Для мобильной разработки он требуется в том же объеме, что и Swift (а когда выйдет Fuсhsia OS, писать/переписывыать приложения нужно будет еще больше).


        1. yarric
          12.08.2018 13:06

          Потенциально Rust — замена C++ и C. Хотя, на мой взгляд, зря они скопировали закорючечный синтаксис C++. Я его привёл больше для полноты примера и потому, что он использует инновационную модель управления памятью.


          если Swift, то почему вы не ставите на Kotlin

          Потому как Swift нативный и не использует сборщик мусора, что в реальных задачах ставит его на один уровень с C++ по скорости. Прикручивание языка, изначально предназначенного для VM, к нативу, обычно не работает.


          Кстати Swift уже поддерживается в Fuchsia, соответственно выбор языка для написания легкопортируемого мобильного приложения в будущем очевиден.


          1. sand14
            12.08.2018 19:18

            Прикручивание языка, изначально предназначенного для VM, к нативу, обычно не работает.

            А Kotlin Native?


            1. yarric
              12.08.2018 19:23

              Со Скалой такое что-то не взлетело.


          1. sand14
            12.08.2018 19:21

            Потенциально Rust — замена C++ и C.

            Тогда здесь уместен ваш же аргумент против Java в части переписывания на Kotlin:
            На C/C++ тоже практически все написано, и вряд ли все это будет переписываться на Rust.


            Про Rust давно говорят (как говорили раньше про D), но где рабочие проекты, а если точнее, реальные вакансии?


            1. Wedmer
              12.08.2018 19:38

              Вакансии по Rust проскакивают. По D за годы ни разу не видел.


    1. JC_IIB
      12.08.2018 12:37

      Неужели Котлин начинает набирать обороты


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


  1. yarric
    12.08.2018 08:47

    del


  1. JC_IIB
    12.08.2018 12:36

    взлёт языка Kotlin.


    Пока я вижу только хайп вокруг этого языка.

    Сейчас разработка под Android активно переходит на Kotlin, сопровождается это бурными восторгами


    Насколько активно, есть сухие цифры? И про бурные восторги тоже интересно.