Чем программирование сегодня отличается от программирования 20 лет назад? +145




Я увидел этот вопрос на Quora и начал писать ответ. Но ответ получился слишком большим, так что я превратил его в эту статью.


Вот часть изменений в случайном порядке, которые я заметил в программировании за последние 20 лет:


  • Многие концепции, которые были лишь теоретическими 20 лет назад, сегодня широко применяются на практике. Например, такие функциональные парадигмы как неизменяемость объектов, хвостовая рекурсия, ленивые коллекции, сопоставление с шаблоном, функции первого класса и взгляд свысока на тех, кто всё это не использует.
  • «Десктопным приложением» многие неиронично называют упакованный браузер со страницей по умолчанию и без адресной строки.
  • Объектно-ориентированное программирование (ООП) сдало позиции, хотя всё ещё гораздо популярнее любой из альтернатив. Молодые языки типа Go, Rust и Swift всё активнее используют типажи. Композицию повсеместно предпочитают наследованию.
  • Из-за распространённости многоядерных процессоров поддержку параллельного программирования в языках сегодня встретить легче, чем поддержку примитивных обращений к операционной системе 20 лет назад. Таким образом, в обиход прочно вошли асинхронные примитивы (типа async/await), параллельные сопрограммы вроде «горутин» в Go или каналов в D, семантика композиционности («composability semantics») вроде механизма «observables» при реактивном программировании.
  • Пиксель перестал быть подходящей единицей измерения.
  • Сборка мусора стала обычным способом безопасного программирования, но ей на пятки наступают более молодые альтернативы типа семантики для указания времени жизни объектов в Rust и язвительных шуток на код-ревью.
  • 3 миллиарда девайсов используют Java. Правда, это число не менялось уже лет десять.
  • Система управления зависимостями стала жизненно важной частью любого языка. Никто не хочет вручную скачивать или устанавливать что-либо. 20 лет назад, скачав zip архив, распаковав его в папку проекта, мы обновляли файл конфигурации и молились, чтобы ничего не сломалось.
  • Быть командой разработчиков теперь означает необходимость выполнять таинственный ритуал: всем вместе 15 минут с утра рисовать оккультные символы на стикерах.
  • Набор инструментов при работе с языком гораздо шире. Раньше был только компилятор и, если повезёт, отладчик. Сегодня они обычно идут в комплекте с линтером, средством форматирования кода, шаблонизатором, возможностью самообновления и списком доводов для использования в холиварах против конкурирующих языков.
  • Даже языки программирования приняли участие в дебатах «табы или пробелы».
  • Adobe Flash, который был единственным рабочим способом реализовать нормальный интерфейс в вебе, к счастью, ныне почил. Правда, на смену единому стандарту пришли три разных фреймворка с абсолютно разными моделями.
  • IDE и языки программирования удаляются друг от друга. 20 лет назад был язык и IDE, специально разработанная для него, вроде Eclipse для Java, Visual Basic, Delphi и т.п. Теперь же у нас есть универсальные редакторы типа VS Code, способные поддерживать множество разных языков и возможностей.
  • Код принято выполнять за тремя слоями виртуализации. Это как минимум. Код, который выполняется на голом железе? Не, это было бы излишне производительно.
  • Кросс-платформенная разработка — стандарт из-за кучи архитектур, мобильных девайсов, облачных серверов, встроенных IoT систем. 20 лет назад разработка велась почти эксклюзивно для ПК.
  • Код стали запускать локально гораздо реже.
  • Документация теперь только в онлайне и называется Гугл. Оффлайновой документации почти нет. А когда она есть, никто не знает, где она находится.
  • Многие не считают туториалы полезными, если только это не видеоролик. Даже если его просмотр займёт больше времени, чем прочтение текста.
  • Говорят, что до изобретения StackOverflow приходилось задавать вопросы живым людям.
  • Люди занимаются разработкой на Mac OS.
  • Подключение к интернету — правило, а оффлайн — исключение. Раньше было ровно наоборот.
  • Защита от взлома — то, о чём сейчас приходится думать при создании программы.
  • Мобильные девайсы способны отображать обычные страницы, так что нужда в WAP страницах для мобильных версий сайтов на поддоменах отпала. Вместо этого мы создаём обычные страницы для мобильных версий сайтов на поддоменах.
  • Мы с радостью выкладываем наш код в Open Source. Конечно, кроме кода, за который нам стыдно.
  • В индустрии гораздо больше талантливых женщин, людей не европейской внешности, и представителей ЛГБТ сообщества — спасибо всем, кто боролся против дискриминации. Не думаю, что полное равноправие уже достигнуто, но ситуация гораздо лучше, чем она была 20 лет назад. (не забывайте, что это перевод — прим. перев.)
  • Утечка данных пользователей — типовое событие. В таких случаях в корпоративный блог пишется пост с рекомендацией срочно поменять пароль. Прощения обычно не просят.
  • Работать программистом удалённо теперь легче, чем когда-либо. За это спасибо технологиям видео-конференций, повсеместному доступу в интернет и домашним кофе-машинам.
  • Мы больше не используем IRC для связи. Мы выбрали гораздо более раздутую альтернативу под названием Slack, лишь бы не пришлось вбивать адрес сервера вручную.
  • Мы выполняем программы на видеокартах.
  • Ваш продукт не стоит и копейки, если не полагается на блокчейн и AI. Да, даже если централизованная и управляемая алгоритмами версия проще, эффективнее и быстрее.
  • Один гигабайт — недостаточный объём.
  • Из-за атак по сторонним каналам мы не можем доверять даже физическим процессорам.
  • Значительная часть программирования сейчас происходит во время игры в настольный футбол.
  • Так как у нас появились более быстрые ЦПУ, сложные вычисления мы стали делать на Python, не на Fortran. Так что вычисления занимают примерно то же время, что занимали 20 лет назад.
  • Создание новых языков программирования или даже создание новых девайсов — обычное, нормальное хобби.
  • Модульное тестирование, как и любая другая полезная вещь, которую постиг хайп, стало использоваться даже там, где не нужно, и в конечном итоге превратилось в религию.
  • Коллеги хмурятся, когда узнают, что вы храните пароли пользователей в открытом виде. Но ничего не говорят: они сами так делают.




Комментарии (224):

  1. n0isy
    /#21129044 / +2

    Добрый день. Можно эту тему раскрыть более детально? (по поводу трёх фреймворков):

    Adobe Flash, который был единственным рабочим способом реализовать нормальный интерфейс в вебе, к счастью, ныне почил. Правда, на смену единому стандарту пришли три разных фреймворка с абсолютно разными моделями

    • Houston
      /#21129066 / +1

      Позволю себе погадать: React, Angular и Vue?

      • germn
        /#21129140

        В точку. Вообще, в оригинале написано так: «Now we have to develop on three different platforms». Я предположил, что речь именно о React, Angular и Vue. Какие ещё могут быть три платформы в контексте веба и Adobe Flash?

        • urtow
          /#21129592

          Chrome, Firefox, Safari?

          • germn
            /#21129980

            Разные браузеры и в эпоху Flash существовали. Речь о том, что пришло ему на смену.

            • lehkap
              /#21130688

              Рантайм был flash и не зависел от браузера

            • 1nd1go
              /#21132322 / +2

              Вам правильно выше написали — платформа ios, платформа android, только я бы поправил — web. Ваш перевод неверн точно, потому что platforms — это не «фреймоврки с моделями»

    • 3263927
      /#21136158 / +7

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

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

      вот этот образовательный проект мы делали с детьми от 7 до 11 лет, они сами писали код, делали управляемых персонажей, собирали проект, и всё это сделали мы за неделю. это интерактивный фильм с элементами игры
      http://3263927.ru/edu/kolobok/index.htm

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

      флеш решает самую главную задачу — он не заставляет программировать то, что проще просто нарисовать

      • NLO
        /#21136280

        НЛО прилетело и опубликовало эту надпись здесь

        • 3263927
          /#21136344 / +1

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

      • Arris
        /#21136320 / +1

        То, что можно эксплойтить — будут эксплойтить.

        То, что можно будет применять во вред окружающим — будут применять во вред окружающим.

        Такая судьба и постигла flash.

        P.S. Вспоминаю «Магазинчик Бо» на флэше…

        • 3263927
          /#21136368 / +1

          а мне нравился dead rat )))
          если бы adobe сделала его открытым то это бы изменило всё, они бы и заработали на этом хорошо (на редакторе) и в то же время сообщество приняли бы эту технологию… согласен с вами

          • khim
            /#21136918

            Adobe до самого последнего момента билась за то, чтобы никто ничего не увидел, не дай бог.

            Я общался с человеком, который для Chrome Flash пилил — так вот там у них был air gap, сдача телефонов на входе и прочее. Только при таких условиях Adobe соглашался дать Google доступ к коду.

            Не знаю уж что там за дикие секреты были — но делать открытый player они не хотели категорически… ну а потом уже Джобс решил его убить… что и проделал «с особенным цинизмом».

            • 3263927
              /#21136998 / +2

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

              • JustDont
                /#21137268

                Флеш умер гораздо раньше заявлений Джобса, если чё.
                А причина одна: говнокод и отсутствие какого-либо вменяемого плана поддержки (из-за чего старый говнокод так и продолжал спокойно жить, даже когда появлялся новый немного получше).
                Проблемы с безопасностью и закрытостью флеш всего лишь добили.

  2. maxzh83
    /#21129202

    Говорят, что до изобретения StackOverflow приходилось задавать вопросы живым людям.

    Я бы лучше написал так: «20 лет назад StackOverflow не было, сейчас есть». Раньше же не только к живым людям лезешь с вопросами, а еще и в документацию и это сильно меняет подход к разработке (примерно как фильмы против клипов).

    • n0isy
      /#21129226

      Думаю это просто сарказм автора. А так Вы об одном и том же говорите.

      • maxzh83
        /#21129504

        В целом да, об одном, просто немножко в разные стороны. Я про то, что появилось явление — Stack Overflow driven development

        • Costic
          /#21130630 / +1

          20 лет назад были (и сейчас есть) codeproject, msdn, rsdn, и даже журнал «Программист». На мой взгляд хорошие специализированные источники (были).

          • maxzh83
            /#21130712

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

            • bamovetz
              /#21131918

              Вы наверное удивитесь, но msdn никуда не делся и доступен и сейчас. Правда онлайн — да!

              • syrslava
                /#21132068 / +1

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

  3. YuraLia
    /#21129238

    Так как у нас появились более быстрые ЦПУ, сложные вычисления мы стали делать на Python, не на Fortran. Так что вычисления занимают примерно то же время, что занимали 20 лет назад.


    Имею опыт работы и с Fortran и с Python. Если использовать для вычислений Numpy/Scipy то скорость не особо различается. Например, бенчмарки с решениями СЛАУ «Оценка скорости решения СЛАУ различными средствами»

    image
    Более того, Python обходит некоторые не слишком оптимизированные библиотеки под Fortran.
    Естественно, если реализовать решение СЛАУ на чистом Python, все будет печально)

    • AKudinov
      /#21129404 / +1

      скорость не особо различается

      Кхм-кхм… В два раза различается.

      • YuraLia
        /#21129852 / +2

        Если учесть что разброс между разными библиотеками/компиляторами Fortran куда больший чем в 2 раза, то отличие действительно небольшое. Есть чисто «фортрановские связки» которые уступают Python/Numpy более чем в 2 раза: 7.4 секунды (самый худший результат Fortran) против 0.93 секунды в Python. Что говорит говорит о том, что все не столько зависит от выбранного языка, сколько от грамотной оптимизации библиотек. С другой стороны, самый быстрый результат принадлежит Intel Fortran, который несвободный и весьма недешевый. Если вы не пишите софт для суперкомпьютера, а делаете небольшие расчеты, которые продолжаются несколько минут, то разница в 2 раза — не такая уж заметная.

      • RGrimov
        /#21137420

        В сравнение нету Python + NumPy (MKL). Разные реализации numpy сильно отличаются по скорости.

    • iroln
      /#21130170

      Цитата из статьи по ссылке:


      «Под капотом» у NumPy/SciPy – Intel MKL (интересно, почему это остается бесплатным?). Ожидаем отличную производительность.

      Я тут недавно сделал бенчмарк своего кода с numpy/scipy (numpy/scipy.sparse). Пакеты собранные с MKL и с OpenBLAS. С OpenBLAS оказалось быстрее. Проверял на сборке numpy+mkl от gohlke, intel_numpy/intel_scipy и на официальных пакетах с PyPI. Официальные пакеты, собранные с OpenBLAS, оказались самыми производительными. Делаю вывод, что нет больше смысла тащить к себе в проект жирный пропиетарный MKL.


      График

      array size — это размер по одной размерности, массив на самом деле двумерный, то есть MxM


      • khim
        /#21130762

        «Под капотом» у NumPy/SciPy – Intel MKL (интересно, почему это остается бесплатным?).
        Почему «это» остаётся бесплатным, кстати понятно.

        MKL сильно замедлен на процессорах AMD, так что… «ничего личного, просто бизнес»

        • iroln
          /#21131246

          Я замерял на процессоре Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz.
          После того как получил результаты решил погуглить, оказывается OpenBLAS очень хорошо оптимизирован для параллельных вычислений. Чем больше ядер тем быстрее будет работать. Вот пара других бенчмарков, что я находил:
          https://github.com/tmolteno/necpp/issues/18
          http://markus-beuckelmann.de/blog/boosting-numpy-blas.html


          MKL сильно замедлен на процессорах AMD

          Ну что ж, если вспомнить недавний прорыв AMD на процессорном рынке, MKL тем более не нужен. :)

          • khim
            /#21132170

            MKL сильно замедлен на процессорах AMD
            Ну что ж, если вспомнить недавний прорыв AMD на процессорном рынке, MKL тем более не нужен. :)
            Это вам он не нужне. А Intel — очень даже нужен. Именно поэтому и именно бесплатный.

        • 0xd34df00d
          /#21134254

          Я ни разу не видел, чтобы покупали процессоры под MKL. Даже в датасайенсе, трейдинге и так далее.


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

      • 0xd34df00d
        /#21134260

        Во всех случаях, с которыми я сталкивался, MKL был существенно быстрее. Правда, я его не напрямую дергал, а через dlib (eigen тормознее, и там разница меньше).

    • Pand5461
      /#21130310 / +1

      Тесты не совсем идентичны: Фортрановская версия копирует данные в предварительно выделенные массивы, версии на Julia и NumPy каждый раз заново выделяют память.


      С другой стороны, матрицы для теста уже достаточно большие, чтобы время на распаковку питоновского объекта, отправку в BLAS и запаковку ответа обратно терялось на фоне времени на собственно решение. А может так оказаться, что решать нужно не матрицы 1000?1000, а 10?10, зато много. Тут уже Фортран и Джулия будут рулить, а Питон курить в сторонке.

    • alex1t
      /#21130662

      Так эти библиотеки написаны вроде как на C и имеют обёртку для Python?

      • khim
        /#21130792

        Они вообще на Fortran написаны, в основном.

        Так что эти тесты, в общем-то, просто фантастическое открытие совершают: если к программе на Fortran добавить чуть-чуть Python кода, то она будет продолжать работать с той же скоростью, что и программа на Fortran… фантастика… неожиданная неожиданность…

      • YuraLia
        /#21131086

        Если быть точным то на С и Фортран, и собственно Python.

    • nmrulin
      /#21134018 / +4

      Ну со сторонними библиотеками написанными НЕ на этом языке, любой язык покажет одинаковую скорость, что Бейсик, что Дельфи, что Php. Даже какой-нибудь 1С тоже не сильно будет отставать.

      • YuraLia
        /#21135328

        Подключить то можно, но почему то такие библиотеки не всегда есть, а если есть, то не всегда удобно использовать. Почему то для языков более удобных в использовании экосистема библиотек более развитая)
        И в принципе, какая разница на каком языке написана библиотека для меня, с практической точки зрения, если сам язык надежно абстрагирует меня от этого?
        Сам CPython написан на С, и когда я использую стандартную функцию sum() я программирую на С или Python?
        Если мне удобнее использовать несколько разнородных библиотек, написанных на разных языках, и все они имеют интерфейс в Python, то очевидным выбором будет использовать именно его! В этом вся его суть, это очень удобный язык-клей.

        • bamovetz
          /#21147982

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

          • DollaR84
            /#21149280

            не надо говорить как сравниватели языков что питон так же быстр как С. Не быстр — априори. Иначе не пришлось бы создавать CPython и PyQt.

            Ну если вы говорите о скорости исполнения, то я могу подразумевать, что CPython вы просто перепутали с Cython. Но при чем тут pyQT? Это библиотека GUI, каким боком она относится к скорости исполнения не понял.

    • vitaly_il1
      /#21148078

      А может быть фортрановские библиотеки сегодня на Python пишут? :-)

  4. SFelix
    /#21129296

    >Многие концепции, которые были лишь теоретическими 20 лет назад, сегодня широко применяются на практике. Например,

    > смотрение свысока на тех, кто всё это не использует.

    Ну эта всегда применялась :D

    • khim
      /#21130802 / +1

      Да там вообще многое — это хорошо забытое старое… можно даже отдельную статью написать, наверное.

  5. vassabi
    /#21129410 / +1

    еще — скретч (блокли, ардускретч и т.д.) занял нишу бейсика для детей

  6. mmlevin
    /#21129640

    NC в КДПВ запущен из-под Windows)

    • khim
      /#21130816

      Весьма вероятно, но не факт. Может быть ещё FreeDOS + doslfn.

      • samhuawey
        /#21131288

        Если вы про те времена, то тогда NC мало кто пользовался (из программистов). Ибо был могучий DN который умел намного больше и падал гораздо реже, а ещё в нём был встроенный тетрис.

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

        Но с тех пор как в винду встроили ядро Линукс, я лично постепенно переполз на стандартные tar less grep sed, потому что в итоге удобнее.

        • khim
          /#21132200 / +1

          Если вы про те времена, то тогда NC мало кто пользовался (из программистов).
          Вот конкретно этим — нет. А вообще — многие пользовались. Но потом пути разошлись — часть перешла на VC (маленький и быстрый), часть на DN (монструозный, но зато куча фичек).

          Сейчас NC тоже никто не использует, потому что есть монстр в хорошем смысле Far, который умеет практически всё из коробки, а сверху имеет миллиард плагинов.
          Никто не использует потому что NC под Windows графический, но хуже, чем Total Commander. Какой в нём смысл?

          NC был крут, пока его автор делал… а как большая корпорация его купила и индусам отдала — так он и кончился…

          • HackerDelphi
            /#21143162

            Какая корпорация его купила? Norton Commander всегда писался компанией Symantec Inc. Просто на заре компания состояла из одного Питера Нортона, а потом уже в неё добавились ещё программисты.
            Питер Нортон — основатель Symantec

            • khim
              /#21143990

              Питер Нортон — основатель Symantec
              Ужас какой. И вы так ещё это уверенно всё это пишите… прям даже поверить можно.

              Сходили бы на Wikipedia, что ли, просветились бы. Symantec был основан в 1982 году Гари Хендриксом. Peter Norton Computing — в том же году, но в совсем другом городе, Питером Нортоном.

              А Norton Commander вообще писал Джон Соча — первые три версии. А вот когда Peter Norton Computing был куплен — его разработкой занялись эффективные манагеры.

              В результате версии с 1й по 3ю — маленькие и быстрые. С 4й и далее — огромные, неуклюжие монстры. Вот тут все версии есть — можете скачать и поиграться…

  7. Fregl
    /#21129784 / +3

    От того что добавилось феминисток и прочего ЛГБТ стаффа код стал лучше?

    • QSandrew
      /#21130340 / +1

      Да. Теперь можно, не стесняясь, говорить, что этот код написал какой-то пид***с)

      • riky
        /#21134138

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

    • Alexey2005
      /#21130572 / +6

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

    • elmm
      /#21130764

      К чему этот вопрос?
      Статья про то, что поменялось в разработке за 20 лет.

      PS: Ваш код от этого стал хуже?

      • khim
        /#21130870

        Статья про то, что поменялось в разработке за 20 лет.
        Вот только «людей не европейской внешности» и раньше хватало. Или Raymond Chen, который работал в Microsoft, когда автора ещё на свете не было или Theodore Ts'o, создавший файловую систему Linux, которой пользуются миллиарды — уже европейцами стали?

        А женщих, кстати, в 60е годы в разработке было больше, чем сегодня…

        • site6893
          /#21131366

          60е годы, это не 20 лет назад.

        • elmm
          /#21131434

          Мне сложно судить — автор по видимому в США, у них там своя кухня.
          Особенно по расовому разнообразию.

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

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

          • 0xd34df00d
            /#21134262 / +2

            Моё личное мнение — это позитивный тренд, и мне лично не попадались в реальности эти страшные истории, когда адекватные люди лишались работы из за «дайверсити» в индустрии.

            Встречался со случаем, когда человек из-за фразы в offtopic-канале про Гарри Поттера, что gingers have no soul, получил выговор с занесением и обязательное прослушивание курса по D&I.

  8. lingvo
    /#21129794 / +1

    Я бы добавил, что сложность создания отдельно-стоящей программы Hello World от установки компилятора и до запуска исполняемого кода на целевой платформе (PC или смартфоне), многократно возросла.


    Помню:
    CSEG segment
    org 100h
    Begin:
    mov ah,9
    mov dx,offset Message
    int 21h
    int 20h
    Message db 'Hello, world$'
    CSEG ends
    end Begin


    Компильнул masmом, линкером и получил com файл. А сейчас попробуй сделать это под винду или iOS/Android?

    • impwx
      /#21130850 / +2

      Hello World на Си занимает две строчки и компилируется одной консольной командой…

    • elmm
      /#21130884 / +1

      С PC это работало, но с мобильными?!
      Помню эти чудные былые времена, когда «было все просто» под мобильные.
      Сборка под Symbian S60 — когда самому приходилось править глючные заголовочные файлы, или компилятор генерил местами просто мусор. Или незабываемые отношения с код вариором. А следом пошла масса глючных IDE на криво переделанном эклипсе. Были времена. (С J2Me тоже было так же «просто»).

      • CrashLogger
        /#21134746

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

    • aavezel
      /#21136474

      Сарказм:
      > F12 — Console
      > console.log(«Hello, World!»)

    • vladkorotnev
      /#21139360 / +1

      До PC было ещё проще — воткнул комп в розетку, напечатал


      10 PRINT "HELLO WORLD"
      20 GOTO 10
      RUN

      и никаких компиляторов и линкеров не надо :-)

      • khim
        /#21141774

        На IBM PC тоже так можно…

    • vesper-bot
      /#21145146

      Хмм, а разве не надо делать push cs; pop ds? 9-я функция int21h просит адрес строки в ds:dx, а тут ds вообще отсутствует. Или у ком-файлов при инициализации регистров ds=cs, а я не знаю?

      • khim
        /#21146784

        COM файлы были сделаны так, чтобы можно были использовать ассемблерные программы для CP/M (с помощью специального ассмеблера программы, изначально рассчитанные для CP/M компилируются для 8086). Понятно что такие программы ничего про сегментные регистры не знают, потому при запуске CS=DS=ES=SS…

  9. questor
    /#21129832 / +2

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

    • khim
      /#21130906

      Переход как раз начался 20 лет назад. BitKeeper — это, насколько я знаю, первая DVCS, которой начали пользоваться реальные разработчики. До этого были только какие-то исследовательские проекты.

      И да — это куда больше изменило мир разработки, чем привлечение LGBT.

    • PsyHaSTe
      /#21134142 / -1

      Так там же написано, что больше не надо распаковывать архивчики и молиться.

      • surly
        /#21135070 / +3

        «больше не надо распаковывать архивчики и молиться» — это не про Git, а про pom.xml, package.json, Gemfile и соответствующие репозитории модулей с автоматическим разрешением зависимостей.

  10. PerlPower
    /#21130002

    Объектно ориентированное программирование (ООП) сдало позиции, хотя всё ещё гораздо популярнее любой из альтернатив. Молодые языки типа Go, Rust и Swift всё активнее используют типажи. Композиция повсеместно предпочитается наследованию.


    Ткните меня пожалуйста в проект какой-то широко применяемой библиотеки с несколькими сущностями, где все построено на базе композиции, а не наследования.

    • synedra
      /#21131148

      Entity-Component-System в игровых движках, например в Unity. Имплементировано поверх ООП, конечно, с классами компонентов и прочим таким, не на базовых типах. Но игровые сущности именно что композируются (сущность с отдельными компонентами "Модель", "Позиция", "Контроллер поведения", "Механика повреждений" и т.д.), а не наследуются от базового GameCharacter, у которого на все эти случаи были бы методы/аттрибуты.

      • mmMike
        /#21131484

        Только наверное не надо это называть "новой концепций".


        Множественное наследование (C++) я использовал те же 20 лет назад…
        Как в вырожденном случае (новый класс как результат наследования нескольких), так и в любых смешанных комбинация.


        Одно (наследование от базового класса) не отменяет множественное наследование. И нигде не прибито гвоздями на уровне концепций (ООП) как эти инструменты использовать.

        • synedra
          /#21132490

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


          Например, есть у нас в игре гравитация. GravitySystem раз в тик опрашивает все сущности: "Есть у тебя WeightComponent? Если нету — то и фиг с тобой. А если есть — то пусть твой PositionComponent ускорится вниз на 9.8". Потом рендерер опрашивает сущности, и если их PositionComponent в пределах видимости — то берёт ImageComponent.current_image (если это не 3D) и вывешивает его на экран. И вся остальная логика работает так же.

          • strannik_k
            /#21132874 / +1

            Судя по описанию, вы путаете. Может Entity Component (ECS) и появился не так давно, но это не то, что вы описали. Хотя ссылка ведет на ECS:)

            А подход с контейнером для компонентов, внутри которых логика, был в Unity3d на момент выхода движка в 2005-ом. И вряд ли это первый движок, в котором этот подход используется. Тут, кстати, упоминается о других движках:
            gameprogrammingpatterns.com/component.html#see-also

          • Nidere
            /#21134048

            Компоненты не содержат логики, ECS — data-oriented подход
            Логика, собственно, только в системах

            • synedra
              /#21135552

              Всегда? Мне казалось, что выбор между логикой только в системах и логикой в компонентах и системах (entity-specific и non-entity specific соответственно) — скорее вопрос вкусов имплементирующего, чем ключевая часть паттерна.

  11. vvm13
    /#21130186

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

    Язвительная шутка на код-ревью — это более молодая альтернатива сборке мусора? Эту шутку я не понял.

    • germn
      /#21130378

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

  12. QSandrew
    /#21130322

    «представителей ЛГБТ сообщества».
    Теперь можно, не стесняясь, говорить, что этот код написал какой-то пид***с)

    • kprohorow
      /#21136044

      Не стоит путать ментальую и сексуальную ориентации.

  13. Tzimie
    /#21130434

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

    • VolCh
      /#21130740 / +2

      Я бы не сказал. Что сейчас на 1G канале, что тогда на 48к примерно одинаково

      • khim
        /#21130940 / +1

        Нет. Тогда Netscape научили показывать сайты до того, как они полностью подгрузятся, так что можно было начинать читать сразу после загрузки первых 3-5 килобайт. И да, люди делали сайты с рассчётом на эту особенность.

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

        Но это, скорее, тенденция последних лет 10-15.

        • tmin10
          /#21132720 / +3

          Рантше грузился текст, потом стили и картинки. Сейчас с кастомными шрифтами загружается всё, но текста пока нет...

          • syrslava
            /#21132758 / +11

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

          • Finesse
            /#21134148

            CSS-свойство font-display в помощь разработчикам. С помощью него можно сделать так, чтобы до загрузки кастомного шрифта отображался альтернативный нативный шрифт.

            • Oplkill
              /#21139610

              Это костыль скорее. так как кому приятно видеть, как сайт сперва показывается нормальным шрифтом, а потом бац(может быть даже в процессе чтения) сменился на другой…

        • DaylightIsBurning
          /#21136808

          Если принебречь latency, то теоретичски выходит, что по сравнению с dial-up стало быстрее:
          3kbyte / (56kbit/s) = 0.4s
          2MB / (100Mbit/s) = 0.16s

          • khim
            /#21136952

            Сейчас мобильных пользователей и лаптопов с WiFi больше, чем настольных компов. Там 100Mbit/s и не пахнет.

            А latency и вообще почти не изменилась — притом что странички вместо одного-двух файлов сегодня их грузят десятками, а то и сотнями…

        • anurbol
          /#21138180

          Сейчас все стесняются так называемого FOUC — вспышки нестилизованного контента.

    • wStranger
      /#21133796 / +1

      В повседневной жизни, со всеми кабельными подключениями, или 4G этими вашими, как правило, не так заметно, поэтому и сходит с рук.
      У меня в роуминге скорость мобильного интернета ограничена 256 кб/с или около того. Казалось бы, когда-то о такой могли только мечтать, хватало на всё на свете. А вот заходишь на сайт любого кафе посмотреть меню, а он грузится. И грузится. И через пару минут загружается… крутилка. И крутится еще минут 5. Всё это чтобы показать статическую, по сути своей, страничку на несколько десятков строчек, зачастую даже без картинок. Зато фреймворки, это да.

      • NLO
        /#21135136

        НЛО прилетело и опубликовало эту надпись здесь

      • Wingtiger
        /#21138650 / +1

        у меня полуживой смартфон. В декабре лежал в больнице, скорость была 1-2 килобайта/сек на 2G. 3G и 4G вообще не ловило. Я вроде как статический текст грузил по 20-40 минут, постоянные обрывы. Писали бы сайты при таких условиях, они работали бы замечательно и везде.

    • Firsto
      /#21133890 / +2

      Сейчас вкладка браузера занимает памяти больше среднестатистического хранилища ПК тех времён

      • VolCh
        /#21134410

        В 2000-м 8Гб диски ставили, вроде как, в офисные компы долларов за 500 (без монитора).

    • diakin
      /#21135830

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

      • Tzimie
        /#21136318

        Да. А главное, чаще всего мне от сайта нужно — О компании -> Контакты, узнать адрес или телефон

  14. vr_17
    /#21130530

    и нейронные сети

  15. Tarakanator
    /#21131224 / +1

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

    Не только туториалы. Вся информация. Даже та, что не должна.
    Видеоролик с таблицами это ужас. Поиск тоже не работает.
    Почему, почему этот тренд жив?

    • site6893
      /#21131412

      пройдет еще 20 лет и прикрутят тебе поиск к видео, быстрый и реалтаймовый. по таблицам, тексту как написаному так и сказаному диктором… просто подожди немного))

      • Nikola_Piterskiy
        /#21135068

        Сколько же места еще понадобится, что бы ютуб/инста все видосы смогли «распарсить» с тайм-лайнами, да еще хотя бы на разных языках и построить индексы для всего этого… Жесть…

    • dead_undead
      /#21131518

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

      • Alexey2005
        /#21132786 / +2

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

        • syrslava
          /#21137544 / +1

          По моему опыту, у гугла нынче по запросу «copy assignment operator c++» на третьей странице скорее будет медицинская справка по домашним лошадям, чем что-то по теме.

        • sumanai
          /#21137592

          У DuckDuckGo такой фигни нет. Перешёл на него с яндекса, когда у последнего весь первый экран стал занят всякой фигнёй типа картинок, видосиков и быстрых ответов, оттесняя собственно результат куда-то вдаль за прокрутку.

      • Tzimie
        /#21136322

        На индусском английском!

    • v2kxyz
      /#21132246

      Этот тренд жив, потому что, ИМХО, видео записать проще, чем написать туториал. А записать удобнее, так как говорить в целом проще чем писать текст.
      P.S. Мне тоже не нравится, что слишком многое стало в видео формате, где куда уместнее текстовый.

  16. AlexAV1000
    /#21131282

    Мы выполняем программы на видеокартах.


    Помнится, ещё в MS-DOS, можно было использовать память видеокарты для увеличения оперативки, был какой-то драйвер.

    З.Ы.
    О, нашел! old-dos.ru/index.php?page=files&mode=files&do=show&id=5752

    EGA2MEM

    Эта утилита увеличивает за счет видеоадаптера основную память DOS на 96 килобайт!
    Для программы требуется адаптер EGA или VGA, 640 килобайт основной памяти.

    • CrashLogger
      /#21134834

      А толку? Код оттуда все равно исполнять нельзя. Использовать как временный буфер для данных… ну такое себе.

      • khim
        /#21136980

        Код исполнять как раз можно, но только на CPU. На тогдашних видеокартах его нечем было исполнять.

  17. Fen1kz
    /#21131496 / +1

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

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

    • Tarakanator
      /#21131522

      Я ещё слышал, что видео монетизировать проще (выгоднее?). Хз насколько правда.

  18. SellerOfSmiles
    /#21131940

    Если бы автор текста действительно писал программы 20 лет назад, он бы также заметил, что раньше программы были на порядок проще и писались на порядок быстрее.
    При неизменном количестве функционала…

    Java-разработки не в счет. Это всегда была отдельная религия. :)

    • VolCh
      /#21134416 / +1

      Раньше и задачи были проще. Вернее многие современные задачи не делались бы по причине "это невозможно" или, в лучшем случае, "займёт годы".

      • khim
        /#21137022

        Произошло какое-то вырождение. Некоторые задачи, которые были тогда «невозможны» стали вполне себе «возможны».

        С другой стороны простейшие задачи типа «сделать так, чтобы фон у окна мог быть не только белым, но и чёрным» почему-то превращаются в многолетнюю задачу, которая презентуется примерно как полёт на Луну…

        • DaylightIsBurning
          /#21137116

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

        • JustDont
          /#21137322

          С другой стороны простейшие задачи типа «сделать так, чтобы фон у окна мог быть не только белым, но и чёрным» почему-то превращаются в многолетнюю задачу, которая презентуется примерно как полёт на Луну…

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

          Такая вот простота ?\_(?)_/?

          • khim
            /#21137898

            Ну дык Java — это уже прогрессивные методы! Но непонятно почему в Turbo Pascal 1/2/3 — это было проблемой, в Turbo Pascal 4+ и Windows 1+ — проблемой быть перестало, а в новейших и крутейших фреймворках — это снова беда, качмар и много лет работы…

            • DaylightIsBurning
              /#21137916

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

              • khim
                /#21147042

                Сегодня интерфейс — это множество разнородных вложенных элементов, чего раньше почти не было.
                Что значит «не было»? С этого, собственно, начались как Windows, так и TUI.

                Я в школе с Turbo Vision игрался… так там даже окно и «панель» внутри — это разные компоненты!

                У меня есть ощущение, что это типичный случай когда «больше — значит меньше».

                В том же Turbo Vision у вас вообще не было способа поменять цвет кнопки. Если у вас есть кнопка — значит есть палитра, а значит вам нужно думать — откуда она взялась.

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

                А потом на это «удобстве» вырастают развесистые многоуровневые конструкции из костылей, которые подпираются другими костылями.

                Анимации ещё сильнее усложняют ситуацию.
                Да нет, не слишком. Анимации и треть века назад были… да, текстовые — но что это меняет?

                Просто каждое новое поколение считает, что оно самое умное, выкидывает всё, что было наработано предыдущими, городит свои костыли… в конце приходит к тем же проблемам и, в сущности, тем же решением — только с ещё большим количеством граблей.

                • DaylightIsBurning
                  /#21147628

                  Мне кажется, в данном случае нельзя говорить ни о каких поколениях. Множество людей, работавших над интерфейсам и 80е, 90е, 2000 и 2010 сильно пересекаются.
                  Но да, конечно, вложенность появилась не вчера. Просто степень вложенности, разнообразие элементов и связей со временем росли, усложняя задачу. Палитра — это ограничение, которого иногда хочется избежать. Есть MacOS где все эти подходы «лучше меньше да лучше» как раз цветут и пахнут. Мы знаем, правда, чего это стоит и что за это приходится расплачиваться гибкостью.
                  Это похоже на резиновые vs фиксированные интерфейсы. Конечно, в идеале, резиновые лучше, но это сложно. Также и с палитрами, им сложно следовать, хоть это и более универсально и легче поддерживать.

                  • khim
                    /#21147848

                    Также и с палитрами, им сложно следовать, хоть это и более универсально и легче поддерживать.
                    Да нет. Сложно убедить им следовать. Следовать как раз несложно — особенно если и фреймворк это поддерживает.

                    • DaylightIsBurning
                      /#21148222

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

                      • khim
                        /#21148342 / +1

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

                        • DaylightIsBurning
                          /#21148796

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

                          • Siemargl
                            /#21149606

                            Эта техника известна более пары тысяч лет…

                            Весьма глупо ей противоречить — мы все так построены

                  • bamovetz
                    /#21148018

                    В том то и проблема что нет не пересекаются люди. Потому что ранее «работа над ГУИ» это было про десктоп. А сейчас это в основном про веб. И вот те кто в вебе по моим ощущениям пропустили все развитие GUI за последние 30 лет.

            • JustDont
              /#21138320

              Но непонятно почему в Turbo Pascal 1/2/3 — это было проблемой, в Turbo Pascal 4+ и Windows 1+ — проблемой быть перестало, а в новейших и крутейших фреймворках — это снова беда, качмар и много лет работы…

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

              Когда такого места нет (по любым причинам) — начитается адъ. В современном вебе, например, о наличии (а точнее, отсутствии) такого места частенько задумываются только тогда, когда уже гром грянул, т.е. когда надо один и тот же продукт по-разному раскрашивать.

              • VolCh
                /#21145780

                Задумываются может и раньше, задавая бизнесу/ПО вопрос: "Тем и других кастомизаций у нас точно не будет?" На что тот отвечает: "Точно никогда. Это же только наше приложение." А потом оказывается, что оно очень удачное и надо его продавать как SaaS и(или) "коробку", конечно, с кастомизацией. Или выходить на внешние рынки. Или просто мода пошла на темные темы. Или маркетологи/сеошники придумали что-нужно дцать сайтов на разных доменах, различающихся только палитрой и другими мелочами.

              • khim
                /#21147146

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

                Вот почему, собственно? Turbo Vision, четвертьвековой давности, содержит, Win16/32/64 — содержит (гибкости поменьше, чем в Turbo Vision, но Win16 и появился раньше), а современные фреймворки — нет?

  19. zenkov
    /#21132058

    > 20 лет назад был язык и IDE, специально разработанная для него, вроде Eclipse для Java, Visual Basic, Delphi и т.п. Теперь же у нас есть универсальные редакторы типа VS Code

    Ну конечно ведь все же эти 40 лет Emacs'оподобных редакторов никогда не существовало.

  20. SerJook
    /#21132942 / +2

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

    >Люди занимаются разработкой на Mac OS.
    Ну я же говорю, хипстеры. И 15 лет назад в наших краях о маках даже не слышали. Я уж не говорю о том, что как система для программиста, мак уступает по многим параметрам и Windows, и Linux.

    >Один гигабайт — недостаточный объём.
    Конечно, если «десктопным приложением многие неиронично называют упакованный браузер со страницей по умолчанию и без адресной строки.». Эти помешанные на js, не осилившие ни один нормальный язык, в угоду скорости разработки и всяким рюшечкам заставляют нас страдать. Слава богу, остаются еще адекватные разработчики, которые не ведутся на это.

    • khim
      /#21132970 / +3

      Раньше разработчики были настоящими, а сейчас всякие js-хипстеры и прочие «вайтишники» позорят нашу отрасль.
      Не вижу изменений. Да, раньше «ненастоящие» разработчики делали свои поделки на BASIC, потом на Clipper и VBA, сейчас вот до JavaScript добрались… но их всегда хватало.

      А сейчас в отрасль пришли люди, которые создавать ПО толком не умеют, зато выглядят с иголочки и имеют развитые социальные навыки.
      Таких было полно в IBM полвека назад…

      • sshikov
        /#21133110 / +2

        Хм. Вот не надо обижать VBA. Разработчики могут быть разные, инструменты тоже — но настоящими их делает решенная задача, на мой взгляд. Пару примеров:

        • Созданная одним из трейдов FI Desk система обработки котировок и сделок по бондам, выглядащая как десятка полтора Excel таблиц, запущенных/открытых одновременно, и переваривающих информацию, получаемую из Reuters, а также из коопоративной шины от других источников. 120 тыс строк кода на VBA! Я не преувеличиваю — я мерял. Много лет обеспечивала потребности трейдеров в информации.
        • Приходит к программисту заказчик, и говорит: нам нужно геокодировать 50 тыс адресов. Адреса в Excel. Программист берет в руки Rest API Google Maps, VBA, VBA-Web, и где-то за полчаса пишет макрос, который тупо геокодирует адреса из колонки таблицы. Заказчик доволен.


        Кто из них ненастоящий и почему?

        • khim
          /#21133548 / -3

          Знаете — это всё равно как называть «профессиональным фотографом» чувака, который купил DSLR камеру, выучил где у неё кнопка спуска затвора и начал зашибать деньгу, зарабатывая на съемках свадеб.

          Формально, если использовать ваши критерии — это профессионал и пофиг, что он ни о диафрагме, ни про выдержке не имеет представления.

          Вот то же самое и с вашими «разработчиками на VBA»: они могут быть отличными профессионалами, скажем, прекрасными трейдерами… но какое это всё имеет отношение к программированию?

          • sshikov
            /#21133558 / +1

            Я про VBA вообще-то говорю. Не надо инструмент обижать, он тут не при чем. Он решает свою задачу.

            • khim
              /#21133578

              Он, конечно, решает свою задачу, но это как фотоснимки делать смартфоном.

              Да, иногда, если выбора нет — настоящий профессионал (особенно репортажник) тоже может на смартфон фоток наснимать (и быстренько отослать в редакцию).

              Но профессиональных фотографов на смартфонах — всё-таки не существует, у профессионалов — другие инструменты.

              То же самое и с VBA… да, он решает свою задачу… и эта задача — дать возможность, человеку, не являющемуся профессиональным программистом, что-то с делать с MS Office (ну или Photoshop).

              • sshikov
                /#21133664

                «Что-то сделать» — это про 120 тыс строк кода? Про работу с шиной и Reuters? Про онлайн доставку трейдерам финансовой информации по бондам с биржи, с одновременным перерасчетом доходности? Я практически уверен, что большинство тех, кто считает себя профессионалами, никогда в жизни не писали такое в одиночку.

                На мой взгляд, профессионализм — он исключительно в голове. Рассказываю продолжение истории: приглашают разработчика, назовем его Паша, чтобы эти работающие 120 тыс строк VBA переписать на C#, благо Офис его давно уже поддерживает.

                Для начала Паше говорят: сделай так, чтобы этот код был а) в Git б) в виде Excel plugin, чтобы код версионировать и отделить его от данных в таблицах. И на словах несколько раз обсуждается, как сделать, чтобы код был в Git, и в Excel одновременно. Следите за руками? Ожидалось, что файл .xls будет либо собираться из файлов .vba, либо наоборот, разбираться, чтобы их закоммитить.

                Далее я, как постановщик задачи, отвлекаюсь, и через какое-то время уточняю, готово ли решение. И что я обнаруживаю? В Git лежат файлы Excel, а вовсе не .vba, .frm и т.п. (то есть, целиком таблицы, пусть и те которые внутри .zip), а во-вторых, этот censored написал инструкцию, что вот так и надо коммитить. И задачу закрыл. А исходных (до внесения им изменений) файлов .vba вообще нигде в Git нет.

                Ну вот вам двое. Один трейдер, не программист, и писал на VBA, другой типа C# разработчик. Так кто из них больше профессионал?

                • khim
                  /#21133934 / +1

                  Ну вот вам двое. Один трейдер, не программист, и писал на VBA, другой типа C# разработчик. Так кто из них больше профессионал?
                  Судя по описанию… Один из них — хороший профессиональный трейдер, другой — дерьмовый программист.

                  Я вообще не понимаю о чём тут спорить.

                  Я практически уверен, что большинство тех, кто считает себя профессионалами, никогда в жизни не писали такое в одиночку.
                  А я практически уверен, что большинство профессиональных монтажников сетей никогда не делали сеть такого масштаба:
                  Однако… вы всерьёз хотите сказать, что сейчас назовёте людей, сотворивших вот всё вот это — профессиональными монтажниками и администраторами? Да у любого профессионала при одном виде этого… творения — мурашки по коже.

                  Ну кроме тех, кто профессионал только по титулу, а не по навыкам — как раз как с вашим «профессионалам в C#».

                  А ведь оно работало. Не один десяток лет работало и куча народы счастливы были.

                  Вот так же и с вашими 120 тысячами строк на VBA (вы, кстати, так говорите, как будто 120 тысяч строк — это что-то огромное: но по меркам компьютерной индустрии это ведь очень небольшой проект… хотя, конечно, это очень внушительно для проекта, сделанного в одиночку… сравнимо по размерами c TempleOS).

                  • kbaa
                    /#21134784

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

                  • salas
                    /#21134808

                    Подождите. Насколько я понимаю, социально-экономически доступных вариантов тогда было примерно два: монтировать изображённого монстра или не делать сеть вообще. Люди выбрали первый вариант — и сеть у них работала. Верно ли я понимаю, что профессионалами следует называть тех, кто выбрал бы второй вариант?


                    Для тех, кто не опознаёт картинку — это общежитие в главном здании МГУ, где-то в нулевых годах.

                    • aidarchikable
                      /#21135250

                      В нашем студгородке (ЮГУ) было так же. Никто бы не позволил студентам тянуть нормальную сеть

                    • khim
                      /#21137082

                      Верно ли я понимаю, что профессионалами следует называть тех, кто выбрал бы второй вариант?
                      Профессиональным монтажником можно назвать человека, способного сделать сеть хоть с какими-то SLA и такими, которые не позволяли бы всех участвующих, на законных основаниях, отправить «в места не столь отдалённые».

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

                      Потому что с таким подходом, как у вас и «жучки» станут «профессиональными» и установка оборудования без заземления (которое потом горит) и многое другое — тоже. «Ну и что, что кто-то ткнул пальцем и всё сгорело нафиг и 1000 человек похоронили… денег-то не было, значит то, что мы имели — это было супер-пупер-про».

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

                      Тем не менее — профессиональным это творение назвать никак нельзя.

                  • sumanai
                    /#21137624 / +1

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

                    • NLO
                      /#21137874

                      НЛО прилетело и опубликовало эту надпись здесь

                      • sumanai
                        /#21138208

                        Там не просто сталинка, там может быть объект культурного наследия, который сверлить в принципе нельзя. Понятное дело что в обычной общаге/доме никто не мешает провести трубы и повесить шкафы, хотя и там есть свои строительные нормы.

      • Stas911
        /#21134506 / +1

        Несколько лет назад пролетала информация, что на VB/VBA было написано софта больше, чем на всех остальных языках вместе взятых. А уж насколько мировая финансовая система держится на экселевских таблицах и макросах — об этом лучше вообще не думать.

        • Tzimie
          /#21137962

          Мировая финансовая система держится на COBOL

          • NLO
            /#21139818

            НЛО прилетело и опубликовало эту надпись здесь

    • beeruser
      /#21133874 / +3

      Я уж не говорю о том, что как система для программиста, мак уступает по многим параметрам и Windows, и Linux.

      По каким же это интересно? macOs — сертифицированный юникс, в отличие от сами знаете.

      • staticmain
        /#21136386

        У этого сертифицированного unix почти все утилиты остались образцами 80х годов, без половины опций, написание банального шелл-скрипта до сих пор вызывает боль, если нужно сделать какой-нибудь `grep -P` нужно танцевать с бубном типа `perl -nle'print if m{PATTERN}' file.txt`

        • NLO
          /#21137158

          НЛО прилетело и опубликовало эту надпись здесь

    • prishelec
      /#21150144

      Спасибо вам, я по настольгировал( НОСТАЛЬЖИ). Как же я давно уже не слышал: ого он не моется, у него длинные и жирные волосы, он не нормальный. Интернет это опасно.

  21. sshikov
    /#21132976 / +2

    > IDE, специально разработанная для него, вроде Eclipse для Java
    Вообще-то, Eclipse во-первых всего 18 лет, так что 20 лет назад его не было. А во-вторых, он никогда не был средой для Java только. А как раз средой для разработки IDE вообще, под любые языки, с широкими возможностями расширения в виде OSGI.

    • khim
      /#21132998

      Вообще-то, Eclipse во-первых всего 18 лет, так что 20 лет назад его не было.
      Было. Называлось только по другому.

      Сегодня — фиг найдёшь, оч. большая редкость.

      • sshikov
        /#21133034

        Не соглашусь. Причем я работал с обоими. Это разные продукты. Ну то есть я могу допустить, что Eclipse 1.0 был переработан из версии Visual Age, но внешне и по функциональности это были совершенно разные продукты.

    • Stas911
      /#21134510

      А не помните, как назывался очень популярный редактор для Java когда не было Idea/Eclipse, но не NetBeans? Вылетело из головы…

      • javax
        /#21138800

        CodeGuide

        • khim
          /#21138846

          А он точно был «очень популярным»? У меня есть ощущение, что даже Borland JBuilder был популярнее…

  22. potan
    /#21133050

    «Кросс-платформенная разработка — стандарт из-за кучи архитектур, мобильных девайсов, облачных серверов, встроенных IoT систем. 20 лет назад разработка велась почти эксклюзивно для ПК.»
    20 лет назад кросплатформенной или мобильной называлась программа, которую можно запустить под DOS, Unix на 5 различных архитектурах и OpenVMS.
    Сейчас под кросплатформенностью подразумивается открытие сайта в Firefox и Chrome. А термин «мобильный» совсем изменил значение.

  23. EddyEm
    /#21133148 / -2

    Программирование сейчас отличается от программирования тогда главным образом двумя фактами: 1) люди стали значительно более ленивыми, 2) из-за расцвета веба веб-кодеров тоже стали называть программистами, в итоге в среднем количество квалифицированных программистов резко упало. Вы попробуйте сейчас квалифицированного железячника найдите! Одни GUI-кодеры кругом… А раньше даже для работы на компьютере нужно было иметь квалификацию, это вам не мышкой на игровой приставке тыкать по «кнопочкам»!..

    • Paskin
      /#21133824 / +3

      Кстати, про современное железо можно такую же сагу написать — когда на плате стоят 5 разных процессоров, из которых самый мощный — контроллер не выведенного наружу отладочного USB…

      • EddyEm
        /#21133876

        Ой, если вспомнить, какой дурью ардуинщики маются… А любители LabView так вообще иной раз отжигают, используя ПЛИС для щелкания парой релюшек…

        • Wesha
          /#21143808

          А любители LabView так вообще иной раз отжигают, используя ПЛИС для щелкания парой релюшек…

          Хуже, что они для таких решений ещё и оправдания находят...

    • xadd
      /#21133992 / +4

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

    • CrashLogger
      /#21135024 / +1

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

      • EddyEm
        /#21135180 / -4

        Это да. По каким-то необъяснимым причинам труд «мартышек» оплачивается значительно выше, чем квалифицированный труд!

        • VolodjaT
          /#21137278 / +1

          в микроконтроллерах меньше учить надо. там нет такого дикого зоопарка фреймворков

          • EvgeniiR
            /#21140142

            в микроконтроллерах меньше учить надо. там нет такого дикого зоопарка фреймворков

            Там же зоопарк микроконтроллеров, или нет?

            А мейнстрим PHP-фреймворков всего 2 — Symfony и Laravel, и самому молодому из них уже 8 лет, не говоря уже о количестве всяких Laravel-девелоперов(или даже древнего Yii), которые клепают всё на нём и ничего более не умеют.

            Да и вообще, давно фреймворки стали чем то сложнее чем набор готовых компонентов реализующих 20-30 лет назад изобретённые паттерны?

            • khim
              /#21141784

              Да и вообще, давно фреймворки стали чем то сложнее чем набор готовых компонентов реализующих 20-30 лет назад изобретённые паттерны?
              С тех пор, как люди стали учить работу с фреймворками, вместо того, чтобы учиться программировать. А вот когда это случилось… не знаю.

              • Vilaine
                /#21144530

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

                • khim
                  /#21144552

                  Ну если вы не встречали программистов на jQuery, которые «программируют» соединяя разные куски кода со StackOverflow пока оно не начнёт как-то работать — то это ваше счастье.

            • Vilaine
              /#21144514

              Фреймворки — это мелочи, в основном знания утяжеляют всякие «паттерны энтерпрайз разработки» и вот это всё. В бэкенде к тому же много других технологий, где можно оттачивать мастерство — БД например. Есть даже отдельная профессия DBA, а программисту, разбирающемуся в этой теме, готовы хорошо доплачивать просто из практичных соображений.

              • EvgeniiR
                /#21145812

                Фреймворки — это мелочи, в основном знания утяжеляют всякие «паттерны энтерпрайз разработки» и вот это всё.

                Так в том и дело, что слишком много разработчиков останавливаются на шаблонном клепании процедур в сервисах на каком-нибудь фреймворке…

                А паттерны… Спросите у какого-нибудь веб-разработчика, в чём разница AR и Row Data Gateway, Repository и Gateway, REST и RPC, MVC и MVA, зачем UoW нужен.

        • VolCh
          /#21137640

          Работодатель/заказчик оплачивает не квалификацию, а способность решать его задачи.

          • EddyEm
            /#21137770 / -3

            И что ж такого могут веб-мартышки?

            • VolodjaT
              /#21138172

              мартышка тут только ты

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

              PS и веб могу, и микроконтроллеры и FPGA

    • Vilaine
      /#21144494

      из-за расцвета веба веб-кодеров тоже стали называть программистами
      Когда было такое время? По-моему, расцвет презрения к Web-разработке пришелся на последние лет 10, когда веб-разработчиков стало настолько много, что стало возможным «элитарное» самоутверждение на них.

      • EddyEm
        /#21144536

        Посмотрите на вакансии: веб-макак называют программистами (php, жабоскрипт и прочее непотребство)!
        Хотя их в лучшем случае верстальщиками можно называть. А то эдак моя теща, которая статьи в латехе набирает, тоже в разряд программистов попадет…

        • Vilaine
          /#21144546

          Вы себя в профиле называете троллем, то есть тем, кто специально занимается провокацией других людей. От лица всех мартышек могу согласиться с вами. Но всё же, зачем называете верстальщиками тех, кто уделяет вёрстке малую или никакую часть рабочего времени? Если же вы вкладываете в понятие «вёрстки» написание кода на PHP, Javascript и прочем непотребстве (Typescript, Elm..?), то вы несомненно правы (в рамках своего понятийного аппарата).

  24. Darlington
    /#21133502

    А ещё вайтишников намного меньше было

  25. le1ic
    /#21133866 / +1

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

    • Andrusha
      /#21136718

      По-моему, это не хайповое заявление, а просто саркастическая шутка (с долей правды, да).

  26. Spaceoddity
    /#21134378 / +1

    Система управления зависимостями стала жизненно важной частью любого языка. Никто не хочет вручную скачивать или устанавливать что-либо. 20 лет назад, скачав zip архив, распаковав его в папку проекта, мы обновляли файл конфигурации и молились, чтобы ничего не сломалось.

    Как же у меня от этого горит порой… Частенько встречаешь «самый простой способ установить плагин — npm instal...». И понеслась. Запускаешь — не работает. Надо импортировать. Опять криво. JS загрузился, а стили отвалились. Лезешь импортировать их — постой, вначале разберись с переменными путей. А все зависимости подгрузились? А файлы?
    Зато оказывается сколько сложностей с распаковкой zip-архива…

    • Dima_Sharihin
      /#21134466

      Я дошел до ручки и отдельно складирую node_modules.tar.gz, чтобы локальная CI не давилась тормознутым инетом и не выкачивала еще раз 40 мегабайт пакетов, чтобы собрать вебмордочку

      • sfi0zy
        /#21136036

        складирую node_modules.tar.gz

        Можно же сделать частичное зеркало npm registry, чтобы при первой установке пакеты скачивались и сохранялись в нем, а в следующий раз устанавливались уже «в оффлайне», без обращения к основному хранилищу где-то далеко в интернете. Это удобнее, чем архивы, тем более, что есть готовые инструменты — не нужно все самому придумывать.

        • Dima_Sharihin
          /#21136046

          Спасибо за наводку, изучу вопрос подробнее

  27. valis
    /#21134990 / +1

    Adobe Flash, который был единственным рабочим способом реализовать нормальный интерфейс в вебе, к счастью, ныне почил. Правда, на смену единому стандарту пришли три разных фреймворка с абсолютно разными моделями.

    Ну я бы не был так категоричен:
    1. Подавляющее большинство фронтенда все еще на jQuery, который жил во времена Flash. И не знаю что хуже — фреймворки как-то больше дисциплинируют.
    2. Веб стандартов не много, они большие и многолики. Да и фреймворки все больше на друг друга похожи. Особенно Vue3 и React
    3. Супруга ежедневно посещает онлайн игрушку на флеше, я часто посещаю вебинары, которые тоже работают на флеше. Даже не знаю на скоро его хоронить.

    • khim
      /#21137122

      Даже не знаю на скоро его хоронить.
      У вас остался ровно год. В конце 2020го и Adobe и Google перестанут его поддерживать. Совсем. С концами.

      Вот блог-пост от Adobe. Вот от Google.

      И да, я больше чем уверен, что будут и петиции и требования вернуть и много чего другого… а реакции… не будет. Всё уже прошли когда отключали Java applets.

      • sumanai
        /#21137722

        Игры в VK процентов на 90 флеш. Интересно что будут делать они.

        • khim
          /#21137926

          Скорее всего ничего. Или они с этих игр сильно много денег зарабатывают?

          • sumanai
            /#21138210

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

            • khim
              /#21138412

              Думаю что та же история, что и Java-Applet'ами (по всему миру) и ActiveX (это в Корее в основном): рассчёт на авось и ожидание того, что кто-то другой будет решать их проблемы.

              Как я уже сказал: шуму была масса — но ничего не изменилось. И инсайд ничего не сделал.

              Что-то может сделать только достаточно большой процент пользователей, причём в мировом масштабе, а у Флеша — этого нет.

              Ради VK никто ничего поддерживать не будет… они слишком маленькие.

  28. dyadyaSerezha
    /#21136348

    Касательно Нортон Коммандера — я к нему так привык, что у меня FAR стоит на 200+ серверах, с которыми надо работать. Мелочь, а приятно.)

    • The_Kf
      /#21143028 / -1

      какой ужас: с серверами надо удалённо, а не интерактивно работать.

  29. halted
    /#21136798

    В индустрии гораздо больше талантливых женщин, людей не европейской внешности

    интересно, кто-нибудь проводил срез эффективности работы среди женщин и негров?
    Поясню сразу для адептов заокеанских стереотипов, слово «негр» в России не является оскорбительным.

    • EvilBeaver
      /#21139496 / +1

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

    • Vilaine
      /#21144540

      Как измерить эффективность программиста численными метриками?

      • Wesha
        /#21144690

        Ну это же элементарно, Ватсон!

        image

  30. Astroscope
    /#21138090 / +2

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

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

    • UlanMAM
      /#21138380 / +2

      Кстати, да. Я думал, я один отсталый и считаю, что туториалы в текстово-картиночном виде заходят легче. Так же легче над каким-то тонким моментом думать, если что-то не понял. В видео по пять раз один момент прокручивать приходиться, а ведь голоса и дикция у лекторов далеко не фонтан.

      • EvilBeaver
        /#21139498 / +1

        Нет, не один, но видимо, мы вымирающие динозавры.

        • MTyrz
          /#21149288

          Знаете, вот не все так однозначно.
          Некоторая часть информации лично мне (при моей адской нелюбви к видео, я фильмы смотрю примерно по одному в год) внезапно гораздо лучше доходит именно в виде ролика. Я полагаю, некоторые вещи проще один раз увидеть, чем десять прочитать. Как разобрать заковыристый ноутбук, или подлезть к хитрому узлу в автомобиле.
          Хотя конечно, видео на каждый чих — нелепость.
          (Тут можно еще развести этологическую конспирологию про первую сигнальную систему и биологическую приспособленность «смотреть, как делают», а не «читать, как делают» — оставим это любителям жанра)

    • khim
      /#21138420

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

  31. Igor1101
    /#21138246

    20 лет назад был язык и IDE, специально разработанная для него, вроде Eclipse для Java, Visual Basic, Delphi и т.п

    Насчет Eclipse не согласен, сейчас трудно найти более универсальную IDE чем эта. Большая часть компаний — производителей «кремния» в качестве средства разработки предоставляют переделанную Eclipse.

  32. EvilBeaver
    /#21139490 / +2

    Сейчас упоминание в технической или научной статье ЛГБТ становится чем-то вроде ритуала, в точности, как упоминание съезда КПСС и Ленина в научных статьях недавнего прошлого

  33. prishelec
    /#21150158

    Я заметил, что те кто из нас начал пролаживать свой путь в IT, лет 15 назад ±, намного более 'заколенные' и грамотнее сейчас.
    Не хочу обидеть молодое поколение, но бывает такое на тостере спрашивают…
    Бывает хочешь лишний раз помочь, и думаешь, а надо ли твой ответ. Если человек какую нить контрольную хочет решить, то это я считаю нормально. Но судя по вопросам, это будущий вайтишник, как бы печально это не звучало.

    • dyadyaSerezha
      /#21150222

      Слово "грамотнее" тут ключевое — в коротком тексте с 15+ грубейшими ошибками.)