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

Original author: Sedat Kapanoglu
  • Translation


Я увидел этот вопрос на 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 лет назад.
  • Создание новых языков программирования или даже создание новых девайсов — обычное, нормальное хобби.
  • Модульное тестирование, как и любая другая полезная вещь, которую постиг хайп, стало использоваться даже там, где не нужно, и в конечном итоге превратилось в религию.
  • Коллеги хмурятся, когда узнают, что вы храните пароли пользователей в открытом виде. Но ничего не говорят: они сами так делают.
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 250

    +2
    Добрый день. Можно эту тему раскрыть более детально? (по поводу трёх фреймворков):
    Adobe Flash, который был единственным рабочим способом реализовать нормальный интерфейс в вебе, к счастью, ныне почил. Правда, на смену единому стандарту пришли три разных фреймворка с абсолютно разными моделями
      +10
      Позволю себе погадать: React, Angular и Vue?
        0
        В точку. Вообще, в оригинале написано так: «Now we have to develop on three different platforms». Я предположил, что речь именно о React, Angular и Vue. Какие ещё могут быть три платформы в контексте веба и Adobe Flash?
          +4
          Chrome, Firefox, Safari?
          • UFO just landed and posted this here
              +3
              Разные браузеры и в эпоху Flash существовали. Речь о том, что пришло ему на смену.
                +1
                Рантайм был flash и не зависел от браузера
                  +4
                  Вам правильно выше написали — платформа ios, платформа android, только я бы поправил — web. Ваш перевод неверн точно, потому что platforms — это не «фреймоврки с моделями»
                0

                HTML, CSS & JavaScript?

                +19
                canvas, svg, webgl?
                  0

                  Blazor, WPF, Xamarin?

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

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

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

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

                  флеш решает самую главную задачу — он не заставляет программировать то, что проще просто нарисовать
                  • UFO just landed and posted this here
                      +1
                      к сожалению scratch это игрушка для совсем маленьких. на флеше можно делать полноценные проекты с библиотеками, рециркулируемыми клипами, кодовой базой, наследованием, и всякими профессиональными вещами. и самое главное, почему программистам не всегда понятно зачем он нужен — он для тех, кто умеет и рисовать и программировать, потому что там потрясающее управление графикой.
                      я когда в конкурсе стартапов в Microsoft участвовал там был такой челлендж — надо было своё приложение нарисовать на специальных бумажках, сделать прототип интерфейса. я благорадя тому что знаю флеш быстрее сделал рабочий интерактивный прототип, чем некоторые нарисовали то что хотели. потому что во флеше идеальный баланс между рисованием руками и автоматизацией. там программирование действительно используется по назначению — всё можно автоматизировать, но ты не обязан это делать. то что проще нарисовать руками рисуешь сам, то для чего нужны алгоритмы без проблем автоматизируется. можно на ходу за пару строчек кода конвертировать клипы в битмэпы и работать с ними как с картинками, размывая точки, делать красивые визуальные эффекты очень дёшево с точки зрения усилий и времени.
                      мне очень не хватает этого удобства в современной разработке
                      +2
                      То, что можно эксплойтить — будут эксплойтить.

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

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

                      P.S. Вспоминаю «Магазинчик Бо» на флэше…
                        +1
                        а мне нравился dead rat )))
                        если бы adobe сделала его открытым то это бы изменило всё, они бы и заработали на этом хорошо (на редакторе) и в то же время сообщество приняли бы эту технологию… согласен с вами
                          +1
                          Adobe до самого последнего момента билась за то, чтобы никто ничего не увидел, не дай бог.

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

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

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

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

                                Ответ прост. Flash создали не в Adobe. Вот конечный владелец руками эффективных менеджеров его и убил.

                            0
                            «Магазинчик Бо» Куваев выложил на Ютубе. Обаденный мульт.
                        +4
                        Говорят, что до изобретения StackOverflow приходилось задавать вопросы живым людям.

                        Я бы лучше написал так: «20 лет назад StackOverflow не было, сейчас есть». Раньше же не только к живым людям лезешь с вопросами, а еще и в документацию и это сильно меняет подход к разработке (примерно как фильмы против клипов).
                          +3
                          Думаю это просто сарказм автора. А так Вы об одном и том же говорите.
                            +1
                            В целом да, об одном, просто немножко в разные стороны. Я про то, что появилось явление — Stack Overflow driven development
                              +5
                              20 лет назад были (и сейчас есть) codeproject, msdn, rsdn, и даже журнал «Программист». На мой взгляд хорошие специализированные источники (были).
                                0
                                Да, были. Когда писал «документацию» сразу вспомнил про MSDN. Но в них все же были статьи, которые формировали более-менее целостный взгляд на что-то, а не костыли по запросу.
                                  0
                                  Вы наверное удивитесь, но msdn никуда не делся и доступен и сейчас. Правда онлайн — да!
                                    +1
                                    Я не знаю точно, что они в последние несколько лет сделали с сайтом msdn, но точно это не прощу. В какой-то момент (долго не ходил туда вообще, так что проморгал), например, они умудрились поломать большинство старых ссылок, да так, что с при попытке перехода по ним выбрасывает просто на главную страницу.
                                      0

                                      Оффлайн тоже. Тсссс! Это секрет, никому не говорите! https://stackoverflow.com/questions/50582497/how-to-download-offline-copy-msdn-microsoft-help-documentation

                                  +2

                                  Ещё появилось интересное явление: по некому программному продукту StackOverflow является официальным и единственным каналом поддержки. Да, кому-то платят деньги, чтобы они отвечали на StackOverflow по заданному списку тегов.

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


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

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

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

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


                                    «Под капотом» у 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


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

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

                                        Я замерял на процессоре 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 тем более не нужен. :)

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

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


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

                                          0

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

                                          +3

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


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

                                            +1
                                            Так эти библиотеки написаны вроде как на C и имеют обёртку для Python?
                                              +12
                                              Они вообще на Fortran написаны, в основном.

                                              Так что эти тесты, в общем-то, просто фантастическое открытие совершают: если к программе на Fortran добавить чуть-чуть Python кода, то она будет продолжать работать с той же скоростью, что и программа на Fortran… фантастика… неожиданная неожиданность…
                                                0
                                                Если быть точным то на С и Фортран, и собственно Python.
                                                +4
                                                Ну со сторонними библиотеками написанными НЕ на этом языке, любой язык покажет одинаковую скорость, что Бейсик, что Дельфи, что Php. Даже какой-нибудь 1С тоже не сильно будет отставать.
                                                  +2
                                                  Подключить то можно, но почему то такие библиотеки не всегда есть, а если есть, то не всегда удобно использовать. Почему то для языков более удобных в использовании экосистема библиотек более развитая)
                                                  И в принципе, какая разница на каком языке написана библиотека для меня, с практической точки зрения, если сам язык надежно абстрагирует меня от этого?
                                                  Сам CPython написан на С, и когда я использую стандартную функцию sum() я программирую на С или Python?
                                                  Если мне удобнее использовать несколько разнородных библиотек, написанных на разных языках, и все они имеют интерфейс в Python, то очевидным выбором будет использовать именно его! В этом вся его суть, это очень удобный язык-клей.
                                                    0
                                                    Конечно использовать можно. Никто не запрещает. Просто не надо говорить как сравниватели языков что питон так же быстр как С. Не быстр — априори. Иначе не пришлось бы создавать CPython и PyQt.
                                                    Я вообще не понимаю почему некоторым авторам хочется доказать что их любимый язык так же быстр как С (Если это не раст например конечно, который позиционируется как замена С). Говорить что ваш язык безопасней и удобней — но по скорости зачем сравнивать то.
                                                      0
                                                      не надо говорить как сравниватели языков что питон так же быстр как С. Не быстр — априори. Иначе не пришлось бы создавать CPython и PyQt.

                                                      Ну если вы говорите о скорости исполнения, то я могу подразумевать, что CPython вы просто перепутали с Cython. Но при чем тут pyQT? Это библиотека GUI, каким боком она относится к скорости исполнения не понял.
                                                  0
                                                  А может быть фортрановские библиотеки сегодня на Python пишут? :-)
                                                  +5
                                                  >Многие концепции, которые были лишь теоретическими 20 лет назад, сегодня широко применяются на практике. Например,

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

                                                  Ну эта всегда применялась :D
                                                    +1
                                                    Да там вообще многое — это хорошо забытое старое… можно даже отдельную статью написать, наверное.
                                                    +2
                                                    еще — скретч (блокли, ардускретч и т.д.) занял нишу бейсика для детей
                                                      0
                                                      NC в КДПВ запущен из-под Windows)
                                                        0
                                                        Весьма вероятно, но не факт. Может быть ещё FreeDOS + doslfn.
                                                        • UFO just landed and posted this here
                                                            +1
                                                            Если вы про те времена, то тогда NC мало кто пользовался (из программистов).
                                                            Вот конкретно этим — нет. А вообще — многие пользовались. Но потом пути разошлись — часть перешла на VC (маленький и быстрый), часть на DN (монструозный, но зато куча фичек).

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

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

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

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

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

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

                                                                В результате версии с 1й по 3ю — маленькие и быстрые. С 4й и далее — огромные, неуклюжие монстры. Вот тут все версии есть — можете скачать и поиграться…
                                                        +11
                                                        От того что добавилось феминисток и прочего ЛГБТ стаффа код стал лучше?
                                                          +52
                                                          Да. Теперь можно, не стесняясь, говорить, что этот код написал какой-то пид***с)
                                                            0
                                                            наоборот, не стесняясь это теперь можно разве что мысленно говорить.
                                                            иначе не поймут что имелось в виду
                                                            +11
                                                            Просто теперь в корень каждого крупного проекта добавились длиннющие простыни всевозможных «кодексов поведения», а в команде разработчиков обязательно должен присутствовать специалист по научному коммунизму CoC, в задачи которого входит вникать во всю эту бредятину, вовремя обновлять, правильно интерпретировать и прикрывать задницы всей остальной команде, дабы разработчики не слишком сильно палились на незнании кодексов и неправильном поведении.
                                                            +1
                                                            К чему этот вопрос?
                                                            Статья про то, что поменялось в разработке за 20 лет.

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

                                                              А женщих, кстати, в 60е годы в разработке было больше, чем сегодня…
                                                                +1
                                                                60е годы, это не 20 лет назад.
                                                                  +2
                                                                  Мне сложно судить — автор по видимому в США, у них там своя кухня.
                                                                  Особенно по расовому разнообразию.

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

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

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

                                                              +5

                                                              Я бы добавил, что сложность создания отдельно-стоящей программы 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?

                                                                +10
                                                                Hello World на Си занимает две строчки и компилируется одной консольной командой…
                                                                  +5
                                                                  С PC это работало, но с мобильными?!
                                                                  Помню эти чудные былые времена, когда «было все просто» под мобильные.
                                                                  Сборка под Symbian S60 — когда самому приходилось править глючные заголовочные файлы, или компилятор генерил местами просто мусор. Или незабываемые отношения с код вариором. А следом пошла масса глючных IDE на криво переделанном эклипсе. Были времена. (С J2Me тоже было так же «просто»).
                                                                    0
                                                                    С мобильными добавится стандартный код инициализации окна и графических элементов, но этот код обычно автоматически генерится IDE. Останется только вписать одну строчку для вывода текста.
                                                                      0
                                                                      del
                                                                      0
                                                                      Сарказм:
                                                                      > F12 — Console
                                                                      > console.log(«Hello, World!»)
                                                                        +1

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


                                                                        10 PRINT "HELLO WORLD"
                                                                        20 GOTO 10
                                                                        RUN

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

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

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

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

                                                                              Если не ошибаюсь, то MS-DOS (в девичестве 86-DOS) разрабатывалась c большой оглядкой на анонсы и инсайды о релизе CP/M-86. Скорее всего такое поведение заимствовано оттуда.

                                                                                +1
                                                                                Ошибаетесь. Причём в двух пунктах. 86-DOS — это уже её второе имя. Первое было QDOS (Quick and Dirty Operating System). И она вышла на год раньше. Собственно она потому и вышла, что железо надо было как-то продавать, а CP/M-86 ещё не было.

                                                                                Вот тут всё подробно описано (это блог Типа Патерсона, собственно, человека, который написал QDOS 86-DOS IBM PC DOS.
                                                                                  0

                                                                                  Спасибо за поправки и ссылку

                                                                          +24

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

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

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

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

                                                                                +3
                                                                                «больше не надо распаковывать архивчики и молиться» — это не про Git, а про pom.xml, package.json, Gemfile и соответствующие репозитории модулей с автоматическим разрешением зависимостей.
                                                                              0
                                                                              Объектно ориентированное программирование (ООП) сдало позиции, хотя всё ещё гораздо популярнее любой из альтернатив. Молодые языки типа Go, Rust и Swift всё активнее используют типажи. Композиция повсеместно предпочитается наследованию.


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

                                                                                Любая на Go? :)

                                                                                  +6

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

                                                                                    0

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


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


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

                                                                                      0

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


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

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

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

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

                                                                                  • UFO just landed and posted this here
                                                                                      +3
                                                                                      Язвительная шутка на код-ревью — это способ безопасного программирования.
                                                                                      Т.е. человек, боясь язвительных шуток, будет лучше следить за своим кодом.
                                                                                      –3
                                                                                      «представителей ЛГБТ сообщества».
                                                                                      Теперь можно, не стесняясь, говорить, что этот код написал какой-то пид***с)
                                                                                        0

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

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

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

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

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

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

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

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

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

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

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

                                                                                                        0
                                                                                                        Поэтому веб-шрифты не нужны.
                                                                                                    0
                                                                                                    Если принебречь latency, то теоретичски выходит, что по сравнению с dial-up стало быстрее:
                                                                                                    3kbyte / (56kbit/s) = 0.4s
                                                                                                    2MB / (100Mbit/s) = 0.16s
                                                                                                      0
                                                                                                      Сейчас мобильных пользователей и лаптопов с WiFi больше, чем настольных компов. Там 100Mbit/s и не пахнет.

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

                                                                                                        Ну по крайней мере в теории latency загрузки кучи файлов должны схлопываться засчёт http/2.

                                                                                                          0
                                                                                                          Это если они с одного домена. Вот сейчас глянул на логи вот этой вот самой странички, где мы что-то тут обсуждаем.

                                                                                                          Дюжина доменов, шестьдесят с лишним запросов. И это далеко не самый худшый вариант…
                                                                                                      0
                                                                                                      FOUT называется
                                                                                                        0
                                                                                                        Сейчас все стесняются так называемого FOUC — вспышки нестилизованного контента.
                                                                                                      +1
                                                                                                      В повседневной жизни, со всеми кабельными подключениями, или 4G этими вашими, как правило, не так заметно, поэтому и сходит с рук.
                                                                                                      У меня в роуминге скорость мобильного интернета ограничена 256 кб/с или около того. Казалось бы, когда-то о такой могли только мечтать, хватало на всё на свете. А вот заходишь на сайт любого кафе посмотреть меню, а он грузится. И грузится. И через пару минут загружается… крутилка. И крутится еще минут 5. Всё это чтобы показать статическую, по сути своей, страничку на несколько десятков строчек, зачастую даже без картинок. Зато фреймворки, это да.
                                                                                                      • UFO just landed and posted this here
                                                                                                          +1
                                                                                                          у меня полуживой смартфон. В декабре лежал в больнице, скорость была 1-2 килобайта/сек на 2G. 3G и 4G вообще не ловило. Я вроде как статический текст грузил по 20-40 минут, постоянные обрывы. Писали бы сайты при таких условиях, они работали бы замечательно и везде.
                                                                                                          +2

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

                                                                                                            +1

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

                                                                                                            +1
                                                                                                            Потому что вместо того, чтобы генерировать страничку на стороне сервера и отдавать клиенту, сервер отдает клиенту мегатонны js, чтобы браузер его выполнил, подгрузил недостающее и нарисовал страничку самостоятельно.
                                                                                                              +1
                                                                                                              Да. А главное, чаще всего мне от сайта нужно — О компании -> Контакты, узнать адрес или телефон
                                                                                                            0
                                                                                                            и нейронные сети
                                                                                                              +4
                                                                                                              Многие не считают туториалы полезными, если только это не видеоролик. Даже если его просмотр займёт больше времени, чем прочтение текста.

                                                                                                              Не только туториалы. Вся информация. Даже та, что не должна.
                                                                                                              Видеоролик с таблицами это ужас. Поиск тоже не работает.
                                                                                                              Почему, почему этот тренд жив?
                                                                                                                0
                                                                                                                пройдет еще 20 лет и прикрутят тебе поиск к видео, быстрый и реалтаймовый. по таблицам, тексту как написаному так и сказаному диктором… просто подожди немного))
                                                                                                                  0
                                                                                                                  Сколько же места еще понадобится, что бы ютуб/инста все видосы смогли «распарсить» с тайм-лайнами, да еще хотя бы на разных языках и построить индексы для всего этого… Жесть…
                                                                                                                  +4
                                                                                                                  о да, блин, это ужасно. Часто пытаешься найти решение какой то проблемы, и вместо человеческих туториалов выпадают только видео.
                                                                                                                    +3
                                                                                                                    А тут ещё и поисковикам надо сказать спасибо. Тому же Google в первую очередь, который слишком явно впаривает именно видео, даже если та же информация есть в текстовом виде (видео будет на первой странице выдачи, текст — на третьей в лучшем случае).
                                                                                                                      +1
                                                                                                                      По моему опыту, у гугла нынче по запросу «copy assignment operator c++» на третьей странице скорее будет медицинская справка по домашним лошадям, чем что-то по теме.
                                                                                                                        +1
                                                                                                                        У DuckDuckGo такой фигни нет. Перешёл на него с яндекса, когда у последнего весь первый экран стал занят всякой фигнёй типа картинок, видосиков и быстрых ответов, оттесняя собственно результат куда-то вдаль за прокрутку.
                                                                                                                        0
                                                                                                                        На индусском английском!
                                                                                                                        0
                                                                                                                        Этот тренд жив, потому что, ИМХО, видео записать проще, чем написать туториал. А записать удобнее, так как говорить в целом проще чем писать текст.
                                                                                                                        P.S. Мне тоже не нравится, что слишком многое стало в видео формате, где куда уместнее текстовый.
                                                                                                                        +1
                                                                                                                        Мы выполняем программы на видеокартах.


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

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

                                                                                                                        EGA2MEM

                                                                                                                        Эта утилита увеличивает за счет видеоадаптера основную память DOS на 96 килобайт!
                                                                                                                        Для программы требуется адаптер EGA или VGA, 640 килобайт основной памяти.
                                                                                                                          0
                                                                                                                          А толку? Код оттуда все равно исполнять нельзя. Использовать как временный буфер для данных… ну такое себе.
                                                                                                                            0
                                                                                                                            Код исполнять как раз можно, но только на CPU. На тогдашних видеокартах его нечем было исполнять.
                                                                                                                          +2
                                                                                                                          Многие не считают туториалы полезными, если только это не видеоролик. Даже если его просмотр займёт больше времени, чем прочтение текста.

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

                                                                                                                            +2
                                                                                                                            Я ещё слышал, что видео монетизировать проще (выгоднее?). Хз насколько правда.
                                                                                                                            0
                                                                                                                            Если бы автор текста действительно писал программы 20 лет назад, он бы также заметил, что раньше программы были на порядок проще и писались на порядок быстрее.
                                                                                                                            При неизменном количестве функционала…

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

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

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

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

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

                                                                                                                                    Такая вот простота ¯\_(ツ)_/¯
                                                                                                                                      0
                                                                                                                                      Ну дык Java — это уже прогрессивные методы! Но непонятно почему в Turbo Pascal 1/2/3 — это было проблемой, в Turbo Pascal 4+ и Windows 1+ — проблемой быть перестало, а в новейших и крутейших фреймворках — это снова беда, качмар и много лет работы…
                                                                                                                                        0
                                                                                                                                        Мне кажется, понятно: интерфейсы сильно усложнились по составу и технической реализации. Сегодня интерфейс — это множество разнородных вложенных элементов, чего раньше почти не было. Анимации ещё сильнее усложняют ситуацию.
                                                                                                                                          0
                                                                                                                                          Сегодня интерфейс — это множество разнородных вложенных элементов, чего раньше почти не было.
                                                                                                                                          Что значит «не было»? С этого, собственно, начались как Windows, так и TUI.

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

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

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

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

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

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

                                                                                                                                          Просто каждое новое поколение считает, что оно самое умное, выкидывает всё, что было наработано предыдущими, городит свои костыли… в конце приходит к тем же проблемам и, в сущности, тем же решением — только с ещё большим количеством граблей.
                                                                                                                                            0
                                                                                                                                            Мне кажется, в данном случае нельзя говорить ни о каких поколениях. Множество людей, работавших над интерфейсам и 80е, 90е, 2000 и 2010 сильно пересекаются.
                                                                                                                                            Но да, конечно, вложенность появилась не вчера. Просто степень вложенности, разнообразие элементов и связей со временем росли, усложняя задачу. Палитра — это ограничение, которого иногда хочется избежать. Есть MacOS где все эти подходы «лучше меньше да лучше» как раз цветут и пахнут. Мы знаем, правда, чего это стоит и что за это приходится расплачиваться гибкостью.
                                                                                                                                            Это похоже на резиновые vs фиксированные интерфейсы. Конечно, в идеале, резиновые лучше, но это сложно. Также и с палитрами, им сложно следовать, хоть это и более универсально и легче поддерживать.
                                                                                                                                              +1
                                                                                                                                              Также и с палитрами, им сложно следовать, хоть это и более универсально и легче поддерживать.
                                                                                                                                              Да нет. Сложно убедить им следовать. Следовать как раз несложно — особенно если и фреймворк это поддерживает.
                                                                                                                                                0
                                                                                                                                                Сложно потому, что необходимо ограничить себя теми цветами, которые в палитре предусмотрены, а не использовать первый цвет, который пришел на ум. По аналогии с тем, как приходится использовать виджеты из ограниченного списка и по жестким правилам vs любую самописную непредсказуемую, но, иногда, более удобную в данном конкретном случае хрень. Либо просто более легко осуществимую, но непривычную, некрасивую и неудобную хрень.
                                                                                                                                                  +2
                                                                                                                                                  но, иногда, более удобную в данном конкретном случае хрень.
                                                                                                                                                  В 99% случаев она оказывается более удобной только в больном воображении её авторов…
                                                                                                                                                    0
                                                                                                                                                    Не обладаю статистикой, но звучит правдоподобно :). Отсутствие палитр — это одно из проявлений техники «херак-херак и в продакшен», с известными преимуществами и недостатками. Эта техника не на пустом месте появилась.
                                                                                                                                                      0
                                                                                                                                                      Эта техника известна более пары тысяч лет…

                                                                                                                                                      Весьма глупо ей противоречить — мы все так построены
                                                                                                                                                0
                                                                                                                                                В том то и проблема что нет не пересекаются люди. Потому что ранее «работа над ГУИ» это было про десктоп. А сейчас это в основном про веб. И вот те кто в вебе по моим ощущениям пропустили все развитие GUI за последние 30 лет.
                                                                                                                                            +1
                                                                                                                                            Но непонятно почему в Turbo Pascal 1/2/3 — это было проблемой, в Turbo Pascal 4+ и Windows 1+ — проблемой быть перестало, а в новейших и крутейших фреймворках — это снова беда, качмар и много лет работы…

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

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

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

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

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

                                                                                                                                                  Какие фреймворки конкретно вы имеете в виду?

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

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

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

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

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

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


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

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

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

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

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

                                                                                                                                                  То же самое и с VBA… да, он решает свою задачу… и эта задача — дать возможность, человеку, не являющемуся профессиональным программистом, что-то с делать с MS Office (ну или Photoshop).
                                                                                                                                                    0
                                                                                                                                                    «Что-то сделать» — это про 120 тыс строк кода? Про работу с шиной и Reuters? Про онлайн доставку трейдерам финансовой информации по бондам с биржи, с одновременным перерасчетом доходности? Я практически уверен, что большинство тех, кто считает себя профессионалами, никогда в жизни не писали такое в одиночку.

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

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

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

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

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

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

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

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

                                                                                                                                                      Вот так же и с вашими 120 тысячами строк на VBA (вы, кстати, так говорите, как будто 120 тысяч строк — это что-то огромное: но по меркам компьютерной индустрии это ведь очень небольшой проект… хотя, конечно, это очень внушительно для проекта, сделанного в одиночку… сравнимо по размерами c TempleOS).
                                                                                                                                                        0
                                                                                                                                                        я ощутил почти что физическую боль от этой фотографии
                                                                                                                                                        очень любопытно, где такое было вообще?
                                                                                                                                                          0
                                                                                                                                                          МГУ, главное здание )))))
                                                                                                                                                          Сам был в шоке когда увидел… Не верил глазам своим…
                                                                                                                                                          И как обычно, монополист провайдер с внутренними коммуникациями обходится коммуникациями снаружи.
                                                                                                                                                            0
                                                                                                                                                            Если я не ошибаюсь, это главное здание МГУ. Там довольно много общежитий, а соответствующей инфраструктуры в здании 50х годов нет — вот и приходилось так провода тянуть.
                                                                                                                                                            0

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


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

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

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

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

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

                                                                                                                                                                Тем не менее — профессиональным это творение назвать никак нельзя.
                                                                                                                                                                +1
                                                                                                                                                                Мне кажется. сеть со снимка сделали такой лишь потому, что нельзя просто взять и просверлить памятник культуры где захотелось. А в щель окна кабель и так пролезает.
                                                                                                                                                                • UFO just landed and posted this here
                                                                                                                                                                    0
                                                                                                                                                                    Там не просто сталинка, там может быть объект культурного наследия, который сверлить в принципе нельзя. Понятное дело что в обычной общаге/доме никто не мешает провести трубы и повесить шкафы, хотя и там есть свои строительные нормы.
                                                                                                                                                                      0
                                                                                                                                                                      Там сейчас всё чисто и культурно. Но если бы те студены, которые кидали эти провода в окна ждали пока все разрешения будут получены и провод протянут… ну так бы и сидели до выпуска без локалки.

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

                                                                                                                                                                      Но назвать это профессиональной сеткой? Я вас умоляю.
                                                                                                                                                      +1
                                                                                                                                                      Несколько лет назад пролетала информация, что на VB/VBA было написано софта больше, чем на всех остальных языках вместе взятых. А уж насколько мировая финансовая система держится на экселевских таблицах и макросах — об этом лучше вообще не думать.
                                                                                                                                                        0
                                                                                                                                                        Мировая финансовая система держится на COBOL
                                                                                                                                                        • UFO just landed and posted this here
                                                                                                                                                      +2
                                                                                                                                                      Я уж не говорю о том, что как система для программиста, мак уступает по многим параметрам и Windows, и Linux.

                                                                                                                                                      По каким же это интересно? macOs — сертифицированный юникс, в отличие от сами знаете.
                                                                                                                                                        0
                                                                                                                                                        У этого сертифицированного unix почти все утилиты остались образцами 80х годов, без половины опций, написание банального шелл-скрипта до сих пор вызывает боль, если нужно сделать какой-нибудь `grep -P` нужно танцевать с бубном типа `perl -nle'print if m{PATTERN}' file.txt`
                                                                                                                                                        • UFO just landed and posted this here
                                                                                                                                                        0
                                                                                                                                                        Спасибо вам, я по настольгировал( НОСТАЛЬЖИ). Как же я давно уже не слышал: ого он не моется, у него длинные и жирные волосы, он не нормальный. Интернет это опасно.
                                                                                                                                                        +2
                                                                                                                                                        > IDE, специально разработанная для него, вроде Eclipse для Java
                                                                                                                                                        Вообще-то, Eclipse во-первых всего 18 лет, так что 20 лет назад его не было. А во-вторых, он никогда не был средой для Java только. А как раз средой для разработки IDE вообще, под любые языки, с широкими возможностями расширения в виде OSGI.
                                                                                                                                                          0
                                                                                                                                                          Вообще-то, Eclipse во-первых всего 18 лет, так что 20 лет назад его не было.
                                                                                                                                                          Было. Называлось только по другому.

                                                                                                                                                          Сегодня — фиг найдёшь, оч. большая редкость.
                                                                                                                                                            0
                                                                                                                                                            Не соглашусь. Причем я работал с обоими. Это разные продукты. Ну то есть я могу допустить, что Eclipse 1.0 был переработан из версии Visual Age, но внешне и по функциональности это были совершенно разные продукты.
                                                                                                                                                            0
                                                                                                                                                            А не помните, как назывался очень популярный редактор для Java когда не было Idea/Eclipse, но не NetBeans? Вылетело из головы…
                                                                                                                                                              0
                                                                                                                                                              JDeveloper?
                                                                                                                                                                0
                                                                                                                                                                JCreator то был похоже
                                                                                                                                                                0
                                                                                                                                                                CodeGuide
                                                                                                                                                                  0
                                                                                                                                                                  А он точно был «очень популярным»? У меня есть ощущение, что даже Borland JBuilder был популярнее…
                                                                                                                                                                  0
                                                                                                                                                                  (del)
                                                                                                                                                                0
                                                                                                                                                                «Кросс-платформенная разработка — стандарт из-за кучи архитектур, мобильных девайсов, облачных серверов, встроенных IoT систем. 20 лет назад разработка велась почти эксклюзивно для ПК.»
                                                                                                                                                                20 лет назад кросплатформенной или мобильной называлась программа, которую можно запустить под DOS, Unix на 5 различных архитектурах и OpenVMS.
                                                                                                                                                                Сейчас под кросплатформенностью подразумивается открытие сайта в Firefox и Chrome. А термин «мобильный» совсем изменил значение.
                                                                                                                                                                  +2
                                                                                                                                                                  в Firefox

                                                                                                                                                                  Да если бы.
                                                                                                                                                                  –2
                                                                                                                                                                  Программирование сейчас отличается от программирования тогда главным образом двумя фактами: 1) люди стали значительно более ленивыми, 2) из-за расцвета веба веб-кодеров тоже стали называть программистами, в итоге в среднем количество квалифицированных программистов резко упало. Вы попробуйте сейчас квалифицированного железячника найдите! Одни GUI-кодеры кругом… А раньше даже для работы на компьютере нужно было иметь квалификацию, это вам не мышкой на игровой приставке тыкать по «кнопочкам»!..
                                                                                                                                                                    +3
                                                                                                                                                                    Кстати, про современное железо можно такую же сагу написать — когда на плате стоят 5 разных процессоров, из которых самый мощный — контроллер не выведенного наружу отладочного USB…
                                                                                                                                                                      0
                                                                                                                                                                      Ой, если вспомнить, какой дурью ардуинщики маются… А любители LabView так вообще иной раз отжигают, используя ПЛИС для щелкания парой релюшек…
                                                                                                                                                                        0
                                                                                                                                                                        А любители LabView так вообще иной раз отжигают, используя ПЛИС для щелкания парой релюшек…

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

                                                                                                                                                                      +4

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

                                                                                                                                                                        +1
                                                                                                                                                                        А вы сравните зарплаты у железячников и у веб кодеров. Я вот после универа посмотрел, и пошел клепать сайты на PHP, хотя по специальности разработчик аппаратуры и программист микроконтроллеров.
                                                                                                                                                                          –5
                                                                                                                                                                          Это да. По каким-то необъяснимым причинам труд «мартышек» оплачивается значительно выше, чем квалифицированный труд!
                                                                                                                                                                            0
                                                                                                                                                                            в микроконтроллерах меньше учить надо. там нет такого дикого зоопарка фреймворков
                                                                                                                                                                              0
                                                                                                                                                                              в микроконтроллерах меньше учить надо. там нет такого дикого зоопарка фреймворков

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

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

                                                                                                                                                                              Да и вообще, давно фреймворки стали чем то сложнее чем набор готовых компонентов реализующих 20-30 лет назад изобретённые паттерны?
                                                                                                                                                                                0
                                                                                                                                                                                Да и вообще, давно фреймворки стали чем то сложнее чем набор готовых компонентов реализующих 20-30 лет назад изобретённые паттерны?
                                                                                                                                                                                С тех пор, как люди стали учить работу с фреймворками, вместо того, чтобы учиться программировать. А вот когда это случилось… не знаю.
                                                                                                                                                                                  0
                                                                                                                                                                                  Вы перегибаете, все известные мне разработчики всех уровней начинали с обучения обычного программирования. Не умеющие программировать не смогут ээ программировать. А изучение фреймворка неизбежно, я не знаю как без этого. При этом более глубокие знания о фреймворке в ряде случаев увеличивают ценность для бизнеса.
                                                                                                                                                                                    +1
                                                                                                                                                                                    Ну если вы не встречали программистов на jQuery, которые «программируют» соединяя разные куски кода со StackOverflow пока оно не начнёт как-то работать — то это ваше счастье.
                                                                                                                                                                                  0
                                                                                                                                                                                  Фреймворки — это мелочи, в основном знания утяжеляют всякие «паттерны энтерпрайз разработки» и вот это всё. В бэкенде к тому же много других технологий, где можно оттачивать мастерство — БД например. Есть даже отдельная профессия DBA, а программисту, разбирающемуся в этой теме, готовы хорошо доплачивать просто из практичных соображений.
                                                                                                                                                                                    +1
                                                                                                                                                                                    Фреймворки — это мелочи, в основном знания утяжеляют всякие «паттерны энтерпрайз разработки» и вот это всё.

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

                                                                                                                                                                                    А паттерны… Спросите у какого-нибудь веб-разработчика, в чём разница AR и Row Data Gateway, Repository и Gateway, REST и RPC, MVC и MVA, Coupling и Cohesion, ООП и ПП/ФП, зачем какой-нибудь UoW нужен — в лучшем случае теоретиком далёким от разработки не обзовут.
                                                                                                                                                                                      0
                                                                                                                                                                                      Видимо, веб-разрабочики не сталкивались с проблемами и не пытались их решить, всё-таки большинство работ довольно рутинные. Паттерны эти сами по себе имеют смысл только в попытках побороть определенные проблемы. Плохо только то, что многие сознательно игнорируют best inductry practices, дескать намудрили эти джависты лишнего (питонисты добавляют «из-за ограниченности их языка»). Вот это неполезное распространенное явление, и встречается далеко не только в Web.
                                                                                                                                                                                        0
                                                                                                                                                                                        Видимо, веб-разрабочики не сталкивались с проблемами и не пытались их решить, всё-таки большинство работ довольно рутинные

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

                                                                                                                                                                                        Ну и изначально я как раз опровергал тезис о том что в веб-разработке есть какой-то зоопарк фреймворков/паттернов или ещё чего-то.
                                                                                                                                                                                        (Нету зоопарка, порог входа низкий. Результаты, увы, соответствующие)

                                                                                                                                                                                        Паттерны эти сами по себе имеют смысл только в попытках побороть определенные проблемы.

                                                                                                                                                                                        Не я начал про паттерны, но всё же:
                                                                                                                                                                                        AR / Repository / Gateway / UoW — это, вобщем-то, штуки которые используются часто(в любом проекте), и часто используются не по назначению / без понимания.

                                                                                                                                                                                        А ООП / MVC и пр. — мне не нравится то что люди очень любят об этом говорить и не особо вкладываются в изчение. Мода и всё.

                                                                                                                                                                                        Проблема узкого кругозора в том что разработчики не видят тот момент когда что-то идёт не так и что-то стоит улучшить.

                                                                                                                                                                                        Если разработчик не понимает Coupling/Cohesion — по каким принципам он вообще проектирует программу?
                                                                                                                                                                                        Обычно это сомнительные бест практики и то самое шаблонное клепание сервисов, что превращается в слабо-поддерживаемое легаси уже на 50-100к строк.

                                                                                                                                                                                        Плохо только то, что многие сознательно игнорируют best inductry practices, дескать намудрили эти джависты лишнего (питонисты добавляют «из-за ограниченности их языка»). Вот это неполезное распространенное явление, и встречается далеко не только в Web.

                                                                                                                                                                                        А можно пример этих «best industry practices»?
                                                                                                                                                                                        А то есть мысль что «Java Best Practices» действительно чушь в 99% случаев.
                                                                                                                                                                                          0
                                                                                                                                                                                          А можно пример этих «best industry practices»?
                                                                                                                                                                                          Dependency Injection, например. Что-то у меня эмоциональные впечатления от разговоров остались, а конкретные примеры вылетели из головы.
                                                                                                                                                                                0

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

                                                                                                                                                                                  –5
                                                                                                                                                                                  И что ж такого могут веб-мартышки?
                                                                                                                                                                                    +1
                                                                                                                                                                                    мартышка тут только ты

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

                                                                                                                                                                                    PS и веб могу, и микроконтроллеры и FPGA
                                                                                                                                                                              0
                                                                                                                                                                              из-за расцвета веба веб-кодеров тоже стали называть программистами
                                                                                                                                                                              Когда было такое время? По-моему, расцвет презрения к Web-разработке пришелся на последние лет 10, когда веб-разработчиков стало настолько много, что стало возможным «элитарное» самоутверждение на них.
                                                                                                                                                                                –3
                                                                                                                                                                                Посмотрите на вакансии: веб-макак называют программистами (php, жабоскрипт и прочее непотребство)!
                                                                                                                                                                                Хотя их в лучшем случае верстальщиками можно называть. А то эдак моя теща, которая статьи в латехе набирает, тоже в разряд программистов попадет…
                                                                                                                                                                                  0
                                                                                                                                                                                  Вы себя в профиле называете троллем, то есть тем, кто специально занимается провокацией других людей. От лица всех мартышек могу согласиться с вами. Но всё же, зачем называете верстальщиками тех, кто уделяет вёрстке малую или никакую часть рабочего времени? Если же вы вкладываете в понятие «вёрстки» написание кода на PHP, Javascript и прочем непотребстве (Typescript, Elm..?), то вы несомненно правы (в рамках своего понятийного аппарата).
                                                                                                                                                                              0
                                                                                                                                                                              А ещё вайтишников намного меньше было
                                                                                                                                                                                +1
                                                                                                                                                                                Зачем-то намешали множество действительно дельных наблюдений, и хайповых заявлений типа
                                                                                                                                                                                > Ваш продукт не стоит и копейки, если не полагается на блокчейн и AI. Да, даже если централизованная и управляемая алгоритмами версия проще, эффективнее и быстрее
                                                                                                                                                                                  +1
                                                                                                                                                                                  По-моему, это не хайповое заявление, а просто саркастическая шутка (с долей правды, да).