company_banner

Программирование — занятие не для каждого

http://techcrunch.com/2016/05/10/please-dont-learn-to-code/
  • Перевод


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

Если вы периодически уделяете внимание культурологическим аферам Кремниевой Долины, то несомненно слышали о движении «Учись программировать» (“Learn to Code”). Политики, некоммерческие организации вроде Code.org, и даже бывший мэр Нью-Йорка Майкл Блумберг занимаются пропагандированием того, что они рассматривают в качестве навыка, который скоро будет необходим всему трудоспособному населению.

Возможно, отчасти это и так.

Но реальная картина получается несколько сложнее.

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

Возьмём буткемпы для программистов. Успех программных инженеров из Кремниевой Долины превратился в пример для подражания, в мейнстрим, и сегодня многие мечтают создать стартап или стать инженером. Телеканал HBO показывает нам программистов, не достигших тридцати, которые по ночам набивают код, при этом зарабатывая миллионы долларов. Американская общественность очарована такими персонажами, как Элон Маск и Марк Цукерберг, которые, казалось бы, в одночасье зарабатывают целые состояния. Лихорадка программирования проникла даже в Белый Дом, и президента Обаму подталкивают к тому, чтобы включить информатику в общеобразовательную программу.

И по необъяснимой причине не только буткемпы и политики поощряют людей учиться программировать.

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

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

Если всё внимание сосредоточено на коде, то задача выбора «правильного» метода решения проблемы заслоняет собой важность понимания самой проблемы.

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

Вы должны спросить себя «Существует ли проблема?» и «Можно ли применить принцип Фейнмана-Тафта для объяснения этой проблемы, чтобы вас могли понять другие?».

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

Он стал чемпионом.

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

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

В этой отрасли технологии сменяются быстро.

Всего несколько лет назад я использовал Objective-C, а теперь пишу исключительно на Swift. Сегодня работу ищут разработчики, которые не написали ни строчки на Objective-C. Swift легче в изучении, безопаснее, он использует современные парадигмы разработки, и он гораздо элегантнее Objective-C. Это замечательно, что новым разработчикам не приходилось иметь дела с недостатками Objective-C, но здесь не берутся в расчёт суровые реалии профессии.

Разработчики должны обучаться быстро, при минимальном контроле и с чуть большей мотивацией, чем грохот гильотины увольнения. Кто-то скажет, что это лишь одна из издержек профессии. Но если современные разработчики разочаровываются и начинают отставать — а есть достаточно признаков, что так и есть — то зачем вдохновлять людей ввязываться во всю эту неопределённость? Что произойдёт с человеком, который днями и ночами изучал Objective-C только для того, чтобы ужаснуться анонсированию Swift на WWDC 2014? Будут ли они продолжать программировать на том, что быстро превращается в маловостребованный язык, или начнут всё заново? Если вам нет тридцати, то вряд ли столкнётесь с большими затруднениями. Но если вам нужно кормить семью и оплачивать счета, то это превращается в титаническую задачу.

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

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

Серьёзно.

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

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

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

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

Блюстители и привратники есть везде. Это и «выпускники Лиги Плюща», которые верят, что вопросами вроде «Как вы инвертируете бинарное дерево» можно оценить чью-то техническую подкованность. Это и менеджеры проектов, обожающие устраивать тесты с помощью маркерной доски (признаюсь: у меня есть несколько досок), и бесконечные HR-менеджеры, составляющие требования по вакансии наподобие «5 лет опыта программирования на Swift» (подсказка: Swift появился в 2014). Все эти люди так или иначе будут стоять у вас на пути к приличной работе.

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

Заключительные мысли


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

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

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

Если проявите упорство, то сможете изменить не только свою жизнь, и весь образ мышления.
Mail.Ru Group 339,03
Строим Интернет
Поделиться публикацией
Похожие публикации
Комментарии 90
  • +3
    У вас описан частный случай.

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

    Про себя могу аналогичное написать, т.к. профильного образования у меня нет, а стажа уже 5 лет накопилось. но я учился больше полугода

    Человеку либо дано быть разработчиком, либо нет. Он либо готов всё время учиться, либо нет.
    Флаг «я хочу много денег» при отсутствии предрасположенности, ведёт к скорому выгоранию и смене деятельности.
    • +3
      > ведёт к скорому выгоранию и смене деятельности
      А вот куда может уйти программист? Я 10 лет в разработке и меня от неё блевать тянет, хотя, вначале было весело.
      • +2

        Куда угодно, на самом деле.

          • +1
            Попробуйте взять отпуск, впервые за 10 лет )
          • 0
            От разработки, или от процессов в разработке на данном конкретном месте? от процессов разработки или конкретных людей/работодателя? Если бы вы писали код в одиночку, было бы проще?
            • 0

              Подкопите денег и сгоняйте куда-нибудь на Гоа на полгодика минимум. Отдохнёте от всего, разберетесь чего хотите. Может и в разработку захотите вернуться, возможно в другую область. Можно для начала даже прямо там на удалёнке поработать.
              Знакомый знакомого (с) так с выгоранием боролся.

              • 0
                Что делать, если я физически не могу отдыхать, и прям ощущаю необходимость что-то делать?
                • 0
                  Строить дом, родить сына :)
                  • 0
                    Дом в центре города не построишь, сын не в планах совсем.

                    Да и я про работу в профессиональной области говорил. День код не пишешь — угрызения совести и чувство вины. День статьи умные не читал — угрызения совести и чувство вины.
                    • 0

                      Если вам это мешает — тренируйте силу воли. Экстремально — купите билеты в глушь на самолет недели на две и летите туда без телефона, ноута, интернета и т.д.)

                  • 0

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

                • 0
                  Может просто компанию нужно сменить? У самого такое было — думал все, приплыли. Перешел в другую компанию — и жизнь заиграла красками и продолжает радовать. Проблема была в комании/продукте, а не во мне.
              • 0
                «Я потратил на самообучение больше года, прежде чем смог стать фрилансером. И заработок был невысокий. Я провалил бессчётное количество собеседований, потому что у меня не было диплома программиста.

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

                Это была — и есть — настойчивость, именно она позволила мне удержаться в этой сфере.»
                С текущей скоростью развития автоматизации скоро эти слова на собеседованиях будут говорить уже не только программисты, но и, скажем, представители такой вечной профессии как… дворники:) да и о других вечных профессиях не будем забывать тоже (https://geektimes.ru/search/?q=%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D1%8B+%D1%81%D0%B5%D0%BA%D1%81):)…
                • +2
                  Я ожидал что в этой статье будет в т.ч. про то, что у ~половины людей их таланты лежат не в области программирования/аналитического мышления, а в чем-то ином.

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

                  А учить каждого ребенка насильно программированию, и говорить что это "единственный нормальный путь состояться в жизни и получить нормальную зарплату" — верный способ к появлению разочаровавшихся в профессии хреновых программистов.
                  • +3
                    >А учить каждого ребенка насильно программированию, и говорить что это «единственный нормальный путь состояться в жизни и получить нормальную зарплату» — верный способ к появлению разочаровавшихся в профессии хреновых программистов.

                    Всех детей учат писать и делают это не для того чтобы каждый из них стал писателем. Аналогично музыка и физкультура в школе отнюдь не для того чтобы все стали музыкантами или спортсменами.
                    И на мой взгляд учить всех детей основам программирования надо не потому что это способ получать много денег, а потому что это рано или поздно станет относится к базовым знаниям. То есть я не согласен с автором статьи в том что «программирование это не новая грамотность».
                    • +1

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

                      • 0
                        Ну тут вопрос в том как это всё назвать или сформулировать. Естественно что школьнику не нужны знания о последнем фрэймворке. Но на мой взгляд он должен знать какие типы языков программирования существуют и чем отличаются друг от друга. И хорошо было бы если бы он при этом написал пару небольших программ на языке каждого типа. Просто чтобы закрепить это самое понимание.
                        Это как с математикой, физикой или химией: базовые знания надо получить и немножко «потрогать руками» :)
                        • 0

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


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

                          • +2
                            >Нахрена ему вообще знать о каком-либо фреймворке, или у вас программирование это ворочание фреймворков?

                            Об это и речь -> это ему знать незачем.

                            >Зачем ему вообще знать типы языков программирования? Смысл этих деталей.

                            А зачем ребенку например знать что есть потенциальная и кинетическая энергия? Смысл этих деталей? :)

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

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

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

                              • –1
                                Извините, конечно, но сравнивать знание фундаментальных основ физики и знание языков программирования это неправильно.
                                Программирование — всего лишь инструмент, который далеко не каждому понадобится.

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

                                • +1
                                  Вы прям как церковник из 16-го века, который утверждает, что сравнивать физику со священным писанием нелепо. Писание нужно каждому, а физика лишь кучке ненормальных и в жизни обывателя до нее никому нет дела.
                                  Подозреваю, что когда тут пишут «программирование», то подразумевают «Computer science». А это вполне себе наука, которая дает вклад сопоставимый со вкладом физики. Так же как и физика — в самых различных отраслях деятельности человека. Взять хотя бы машинное обучение — оно делает и будет делать возможным то, что ранее было фантастикой. Все эти GoogleTranslate, распознавание голоса/фото/видео, ускорение исследований в биологии, генной инженерии, в физике, опять же. Это все благодаря этому «инструменту».
                                  Понадобится он конечно не каждому. Но мое видение таково, что этот инструмент вмест с остальным прогрессом приведет к тому, что лет через 50 не будет профессий: водитель, продавец, дворник, и т.д. Потребность в других профессиях значительно снизится (т.е. будет требоваться на порядки меньше людей, чем сейчас). Остаются только те професии, где пока машины не заменяют человека: программисты, различного рода инженеры, ученые. Наверное пару классов профессий еще забыл. Но будущее скорее таково. Т.е. если у вас не будет высшего образования, то у вас не будет куска хлеба.
                                  • 0
                                    По поводу «Computer science» я уже отметил, что общие принципы преподавать нужно. Я против лишь позиции относительно изучения конкретных языков и их истории, потому что считаю это ошибочным.

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

                                    Ну и плюс Вы ещё забыли творческие профессии, которые могли бы быть отдушиной для многих.
                                    • 0
                                      Творческие — останутся. Но какова потребность в них? Т.е. там будет конкуренция ого-го. И не факт, что «инструмент» не приложит руку и там.
                                      Я и не предлагал заниматься предсказательством — достаточно посмотреть на то, что появляется сейчас и становится очевидным к чему это приведет. Насчет исчезновения профессии водителя же нет сомнений? Хотя сейчас их множество.
                                      • 0
                                        Ну, мне хочется верить, что у людей будет возможность заниматься тем, что им нравится, не переживая о том, как заработать на кусок хлеба. И тогда многие смогут заниматься тем, что им нравится, а не тем, что выгодно. Знаю, наивно, да, но хочется верить, что прогресс для того и нужен.
                                    • 0
                                      «Т.е. если у вас не будет высшего образования, то у вас не будет куска хлеба. „
                                      Или образование — изменится — и тому, что учат современных учёных — будут учить в ПТУ а учёных будут учить гораздо более продвинутым вещам.
                                      Так постоянно происходит — в 19 веке электричество было предметом научных исследований и было предчувствие скорого его применения на практике, а сейчас — является предметом изучения для будущих электриков.
                                      http://dokonlin.ru/video/bbc-shok-i-trepet-istorija-yelektrichest-34-24.html
                                  • 0
                                    >> А зачем ребенку например знать что есть потенциальная и кинетическая энергия

                                    Потому что без подобных знаний он будет думать что есть какая-то другая «энергия камней».
                                • 0
                                  Среднестатистическому человеку нужно знать только общую информацию о языках программирования, проще говоря классификацию:
                                  — язык программирования компьютера специалиста (можно детализировать на ЯНУ, ЯВУК, ЯВУИ)
                                  — язык программирования компьютера пользователя (в основном — UI, максимум — небольшой скриптинг на ЯВУИ)
                                  — язык программирования компьютерного специалиста (естественные языки, формализованные в ТЗ)
                                  — язык программирования компьютерного аналитика (естественные языки)
                                  • 0
                                    Зачем знать типы языков программирования?
                                    По моему мнению, пара написанных программ лучше, чем эта теория.
                                    • 0
                                      По моему мнению, пара написанных программ лучше, чем эта теория.

                                      Чтобы понимать, например, что введение variable length arrays as in C в C++ приведет к появлению в системе типов C++ некоего подобия зависимых типов, что может сделать систему типов неразрешимой в общем случае, например.

                                      А то получается, что и физика не нужна, пара ударов мячами разной массы с разной высоты лучше, чем эта теория.
                                  • 0
                                    Информатика — точно всем не нужна.
                                    Её даже большинство программистов толком не знают.
                                    Кто из них не заглядывая в гугл даст толковое определение биту? :)
                                    • 0
                                      Думаю большинству это под силу. А информатика все же нужна, возможно только не в таком вид как она есть сейчас. Это повысит общую компьютерную грамотность и в идеале уменьшит количество людей которые переходят по ссылками «Вы тысячный победитель и вам за это...» и которые кричат «ааа все пропало, я удалил ворд», когда сносят ярлык ну и тд. Это как в школе наваливают кучу предметов, а там уж сам выбирай какие из них будут в твоей профессии.
                                      • 0
                                        Это компьютерная грамотность.
                                        Информатика всё-таки более «отвлечённая» наука по меркам рядового пользователя.
                                        А теоретическая информатика — и по меркам рядового программиста :)
                                      • +1
                                        Вам бит с т.з. физики или с т.з. информатики?

                                        Бит с точки зрения физики — определимое состояние в конкретной точке, например на входе транзистора — выше порогового значения будет 1цей, ниже — 0ём. Бит генетической информации будет представлен одним из 4х белков ДНК.

                                        Бит с точки зрения информатики — минимально воспроизводимый/воспринимаемый блок информации. На текущий момент под битом обычно подразумевают бинарный бит имеющий состояния (0|1).
                                        • 0
                                          В физике я про бит вообще не слышал.
                                          И вообще кроме информатики знаю только про бит, который в шуруповёрт вставляется.

                                          А в информатике бит, как у меня отложилось, это количество информации которое несёт один символ двоичного алфавита при равновероятном их появлении.

                                          Я вот и говорю — теоретическая информатика даже большинству программистов в повседневной работе не нужна.
                                          Если только вы архиватор новый не изобретаете.
                                          • 0
                                            В шуруповёрте — бита.

                                            Бит с т.з. физики == бит с точки зрения физических проявлений.

                                            В информатике — у вас неверное определение. Даже с точки зрения реально-существующих/существоваших искусственных информационных систем имеется как минимум тернарный бит (бит, принимающий одно из трёх значений {-1. 0. +1}, квантовый бит (бит, имеющий состояние, описываемое параметром в заданных пределах). С точки зрений биологических ИС — минимальный фрагмент ДНК тоже бит и имеет 4 состояния. Вероятность появления вообще не относится к свойствам бита никак. Ещё раз:
                                            — бит — минимально воспринимаемый и или воспроизводимый кусок информации.

                                            PS а вообще информатика как минимум полезна. лучше всё-таки иметь представление о том, как эта «волшебная лампа Алладина» работает. Вот только её нужно постоянно актуализировать (информация о прерываниях сейчас нужна только совсем уж низкоуровневым программистам, например программистам контроллеров).
                                            • 0
                                              https://ru.m.wikipedia.org/wiki/Бит

                                              по Шеннону[4]:
                                              бит — это двоичный логарифм вероятности равновероятных событий или сумма произведений вероятности на двоичный логарифм вероятности при равновероятных событиях; см. информационная энтропия;
                                              бит — базовая единица измерения количества информации, равная количеству информации, содержащемуся в опыте, имеющем два равновероятных исхода; см. информационная энтропия. Это тождественно количеству информации в ответе на вопрос, допускающий ответ «да» или «нет» и никакого другого (то есть такое количество информации, которое позволяет однозначно ответить на поставленный вопрос);
                                              • 0
                                                Ну что я могу сказать? Печально.
                                                Статья в вики вообще не учитывает биты других разрядностей (как я уже писал — существовала ИС, оперерующая тернарными битами).
                                                По поводу определения Шеннона — имеется в виду мат. модель информации. С кучей теорем и прочих (непонятно — нужных ли) наукоёмких компонент.

                                                Хотя… нашёл на странице ссылки к «трит»у (он же тернарный бит) и кубиту (он же квантовый бит).
                                                • –1
                                                  «По поводу определения Шеннона — имеется в виду мат. модель информации. С кучей теорем и прочих (непонятно — нужных ли) наукоёмких компонент.»
                                                  Вот это и есть — информатика.
                                                  Наука об информации.

                                                  А прерывания всякие, ЯВУ и т.п. — computer scince.
                                                  • 0
                                                    Кхм… ИМХО это углублённая информатика. В базовой определение бита не нуждается в этих подробностях. (тем более конкретно это определение не учитывает другие размерности/разрядности бита и должно характеризовать ТОЛЬКО бинарный бит)
                                                  • +1

                                                    Хм. Бит от би- же. Два состояния то бишь. А триты, кубиты и всякие наты это всё таки другое.

                                        • 0
                                          Арифметика в жизни нужна даже меньше, с любыми расчетами справляется калькулятор. В школе должны учить думать, а не запоминать факты. Программирование как раз хорошо учит думать.
                                          • 0
                                            В таком случае лучше уж давать не программирование а чистую алгоритмику. Что будет, возможно, даже и поинтересней, чем то программирование, что дают в школах.
                                      • +1
                                        Зачем про это писать? Мы, программисты, и так это знаем. Программирование требует определённых черт характера, и только усугубляет их с годами. Многим нравятся зарплаты программистов, но только единицы способны увлечься этой работой настолько, чтобы приобрести навыки, действительно позволяющие зарабатывать эти деньги.
                                        • 0
                                          Родители детей этого, к сожалению, не знают :)

                                          «Ты должен стать гениальным виолончелистом, чтобы мы гордились тобой» — и с 4-х лет суют ребенка в музыкальную школу. Которую он сколько-то лет спустя, после ежедневного многолетнего прессинга родителей закончит, но… Чувак-то на самом деле был прирожденным микробиологом. Но после гуманитарного образования слишком малы шансы, что он в эту сферу каким-либо образом попадет.
                                      • +7
                                        Вода. Жонглирование понятиями «разработка», «программирование», «кодирование» без определения оных.
                                        • +2
                                          «Всегда найдется человек, который попросит уточнить определения всех слов в статье» ©
                                        • +3
                                          Информатика — это не программирование, рассказывать школьникам «что там по ту сторону компьютерной игры» ничем не отличается от «законов Ома». Вменяемые люди прекрасно понимают, что профессиональное программирование требует хорошего опыта и солидных знаний. Но написать простой скрипт VBA для чего-то там в Excel — это не программирование, а просто уровень user++, способ автоматизации ежедневной рутины и т.п. Поэтому «должны уметь все» и «именно вторая грамотность» (лозунг из советских 80-х). Профессиональный снобизм здесь неуместен.
                                          • +1
                                            >написать простой скрипт VBA для чего-то там в Excel — это не программирование

                                            Это в вас профессиональный снобизм как раз и говорит. Ибо это программирование, хоть с какой стороны подойди.

                                            И дистанция от VBA до любого современного языка + окружения гораздо меньше чем от отсутствия знания VBA до VBA.
                                            • +1
                                              И что самое печальное, с обратной стороны мнение не лучше.
                                              Приглядываю на работе например за сервером с простейшей стороны — перезагрузить из за глюков, принтер настроить, обновления установить разогнав пользователей на время ребута и т.п. Так идут косяками с вопросами о заглючивших или сломанных телефонах (планшетах, ноутбуках), дохлых флешках и прочем. И все со словами тыжпрограммист
                                              Поэтому тоже думаю, уроки информатики нужны. Чтоб люди хотя бы немного понимали, что просить программиста программиста поглядеть утопленный телефон, это то же самое что к повару прийти со сломанной ногой. Тоже же с мясом и костями работает регулярно. И не вернет он забытый пароль от почты, а чудо программа которая «прочитает чужие СМС», это что-то вирусно-троянское.
                                          • +2
                                            > Правда в том, что нельзя просто так взять и заняться разработкой, даже в качестве стажёра. Вам понадобятся связи, люди, которые за вас поручатся, нужно будет поддерживать аккаунт на GitHub, и многое другое.
                                            Мне кажется что автор хочет скинуть свои неудачи на круговую поруку. А отшивали его наверное за мировоззрение
                                            >Что произойдёт с человеком, который днями и ночами изучал Objective-C только для того, чтобы ужаснуться анонсированию Swift на WWDC 2014? Будут ли они продолжать программировать на том, что быстро превращается в маловостребованный язык, или начнут всё заново? Если вам нет тридцати, то вряд ли столкнётесь с большими затруднениями. Но если вам нужно кормить семью и оплачивать счета, то это превращается в титаническую задачу.
                                            Да ничего не произойдет, если человек правда учился программированию, а не проходил идиотские курсы аля «как собрать свое первое приложение на IOS», ему вообще плевать на чем писать. Титаническая задача это узнать как в Swift циклы прописываются и классы объявляются? И что-то не верится что язык на котором было написано несколько миллионов приложений перестанет быть востребованным.
                                            • +6
                                              >Программирование — занятие не для каждого
                                              >Блог компании Mail.Ru Group

                                              Мне кажется, стоит показать эту статью погроммистам мэйла.ру
                                              • +1
                                                Да программисты-то у них нормальные. Тут скорее их фирменный завод по сжиганию менеджеров и маркетологов недостаточно продуктивен.
                                              • 0
                                                Стал свидетелем попытки сделать из человека программиста.
                                                Человека обучали C# + WPF (проще наверное трудно найти) на протяжении 2х лет, при чём первый год очень много объясняли как всё работает, куча практических примеров, паттерны проектирования и др. Второй год ему давали уже рабочие задания (простые), но при возникновении вопросов всё объясняли.
                                                Что в итоге. Понимания так и не появилось, элементарные задания выполнялись неделями (с помощью и подсказками), человек даже не помнил что делалось и объяснялось ему неделю назад.
                                                Короче попытка оказалась провальной. Я думаю основная проблема была в памяти и способностей к абстрактно-логическому мышлению.

                                                Вторая история из универа. Девочка проявляла отличные способности к мат-анализу и др, но Паскаль повергал ее в ужас и тотальное непонимание.
                                                Отвечая на вопрос «Программирование для всех?», отвечу «Нет! Это дано не всем»
                                                • +2
                                                  Адский минус. «Новая грамотность» — это не про карьерные проблемы офисного плантктона «прямо тут и сейчас», это про социальные изменения в размере цивилизации. Ровно так же навык чтения не делает человеку «хорошо прямо тут и сейчас» и даже не позволяет получить высокооплачиваемую работу на которой можно бездельничать и много получать.

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

                                                  Программирование — так же. Когда все будут уметь сколько-то программировать, интерфейсы многих систем поменяются с сторону увеличения возможностей за счёт скриптования. Да, будет совершенно нормально набросать домашний скрипт, который делает то, что нужно. Ровно так же, как сейчас совершенно нормально пришлёпнуть на холодильник записку. Not a big deal, определяющий лик цивилизации.

                                                  А вы тут про зарплаты и карьерные перспективы у планктона…
                                                  • +1
                                                    я смотрю на вещи так — если ты программист, ты можешь написать что угодно на чем угодно. просто думаешь, могу ли я написать оконный менеджер или операционную систему или язык программирования. если понимаешь, что да, в принципе можешь, вопрос только во времени, то да, ты программист и на смену основного языка или специализации у тебя уйдет ~месяц. но есть не мало людей которые не могу, не понимают как написать веб сервер или xml парсер, но вполне нормально выполняют свои задачи по разработке чего-то при помощи конкретной технологии — это кодеры. для них, смена технологии чревата годами обучени и переобучения.
                                                    вот и суть трудностей. если ты настоящий хардкорный программист, ты интуитивно понимаешь подводные камни, основные сложности и пр. а главное понимаешь, что идеал не достижим. поэтому не стоит вылизывать знание технологии и проходить тонны сертификаций, лучше потратить время на понимание того как всё устроено и вы всегда будете в цене. IMHO
                                                    • 0
                                                      Программирование — очень хорошие ворота в мир инженерной мысли, оно отлично дополняет довольно сухую математику в попытках сформировать оценочный аппарат. После того как человек решит первую реально заинтересовавшую его задачу через формальных подход и реализует это все формальным языком магический замок «мне так кажется и имею право на мнение» тут же рухнет и человек реже станет полагаться на интуицию где не надо, меньше платить за ненжуные вещи, меньше говорить глупостей. Не каждый и не всегда, это как мытье рук, но это один из немногих хороших путей.
                                                      • +1
                                                        Причина, почему программирование не для всех — проста.

                                                        Чтобы программировать хорошо, надо много чего знать и уметь помимо самого программирования. Знать алгоритмы, уметь системно мыслить, знать альтернативные решения и выбрать лучшее и т.п.

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

                                                        > идея, согласно которой все должны учиться программированию

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

                                                        На таком уровне, может и действительно все должны уметь. XXI век всё-таки.
                                                        • 0
                                                          Что по вашему значит «знать алгоритмы»?
                                                          • +1
                                                            Любую задачу можно набыдлокодить, а можно использовать хороший алгоритм, который даст преимущество по производительности во много раз.

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

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

                                                              Ну или словами Ломоносова: «Математику только затем учить надо, что она ум в порядок приводит.».
                                                        • 0
                                                          > если у вас нет формальных дипломов, то вам придётся сражаться за получение работы

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

                                                          Все, что нужно, чтобы получить работу программиста — быть программистом. Хотя, может быть в Штатах это не так, не могу ручаться. Но даже в этом случае есть прямая дорога на upwork. Только вот на апворке еще сложнее заработать деньги, не обладая профессиональными навыками, чем в компании.
                                                          • 0
                                                            Я думаю это только в России так, из-за 90-х, когда дипломы потеряли свою ценность.
                                                            И существенный момент. Наличие хоть какого-то диплома (тем более если он относится к точным наукам) и полное отсутствие оного — две большие разницы. Если бы я нанимал человека без диплома, и человека с дипломом, при прочих равных выбрал бы дипломированного специалиста — так оно чуть надежнее. Однако если есть дипломированный математик и дипломированный специалист по IT, то это уже не так существенно.
                                                          • 0
                                                            У меня есть близкий друг из Стэнфорда, который когда-то стал победителем международного чемпионата по программированию Ассоциации вычислительной техники.

                                                            Почти всё время, выделенное на решение задачи, он потратил на обдумывание. И принялся писать код лишь за несколько минут до окончания.

                                                            Минутка занудства:
                                                            Последний раз Стэнфорд побеждал в ACM ICPC в 1991 году (полагаю, тогда конкурс еще не был международным). Не знаю, как в 1991, но в современном ICPC время решает и необходимо уметь придумать решение за несколько минут и быстро его закодить. При том решение типовых задач не должно занимать больше времени, чем время прочтения задачи + время печатания кода.
                                                            • 0
                                                              Давайте не путать шеф-повара и умение готовить для себя. Последнее свойственно всем людям. Первое — удел профессионалов. С программированием та же история — это вторая грамотность, которая должна быть доступна всем. Но это не значит, что способности к программированию у всех должны быть одинаковыми. Кто-то становится профессионалом, а кто-то остаётся любителем. Мы все умеем читать и писать, но профессиональных писателей среди нас единицы. Нет никакого противоречия в этом.
                                                              • 0
                                                                А какой аналог навыкам письма и чтения можно привести для программирования?
                                                                Ну вот худо бедно писать все умеют, а писатели — да, это склад ума, талант и работа в этом направлении.
                                                                Если программиста сопоставить с писателем, то что в программировании будет соответствовать навыкам обычного письма?
                                                                • 0
                                                                  Мы все умеем как-нибудь писать комментарии от силы на четверть страницы, более продвинутые пишут на хабре статьи на несколько страниц. Писатели пишут романы на сотни страниц. Они, конечно, могут и в малый жанр — но это уже следующий уровень, когда ты учишься сокращать и сжимать большие тексты до эквивалентно ярких и запоминающихся малых.

                                                                  Так что в программировании аналогом простым навыкам письма являются несложные скрипты, bash, vba. Да хоть python или си — главное размер. Пока твои программы не превосходят сотню строчек длины, тебе не нужно профессиональное образование. Достиг тысячи — ты уже очень продвинутый любитель, способен писать программы на десятки-сотни тысяч строк — профессионал. Если тебе расписывают архитектуры и методы, а ты реализуешь — то джуниор, если сам способен набросать архитектуру и костяк программы на 100 тысяч строк и распределить задачи в команде — то уже сеньор.
                                                                  • 0
                                                                    Хайку, выходит, пишут дилетанты :)

                                                                    А зачем домохозяйке или журналисту или парикмахеру или механику или повару или… можно бесконечно перечислять — зачем им писать программу, даже в 100 строк длиной — на C или python? Что в их жизни может вызвать такую необходимость?
                                                                    Я ещё могу себе представить что им на VBA нужно что-то сваять. Хотя я за 20 лет работы с офисными программами — такой необходимости не почувствовал.
                                                                    bash, если они УВЛЕКАЮТСЯ компьютерами до такой степени, что ковыряются в консоли — тоже возможно. Но много ли таких среди обычных обывателей? И, опять-таки, это — увлечение, а не жизненная необходимость, как письмо.
                                                                    Да и линукс сейчас всё больше с человеческим лицом :)
                                                                    https://s-media-cache-ak0.pinimg.com/736x/2d/d7/8f/2dd78f56c7fefb8499cbf565da3ae25e.jpg
                                                                    Многие обычные пользователи в консоль и не заглядывают.
                                                                    • 0
                                                                      А зачем домохозяйке или журналисту или парикмахеру или механику или повару или… можно бесконечно перечислять — зачем им писать программу, даже в 100 строк длиной — на C или python?

                                                                      Раз в секунду рефрешить веб-страницу, разбирать DOM-дерево, и, если оно удовлетворяет некоторым условиям, посылать запрос с данными, зависящими от содержания этого дерева.

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

                                                                      Ну, это из личной практики помощи.
                                                                      • 0
                                                                        Иппонский городовой!
                                                                        Мне, даже как будто программисту, за 20 лет жизни за компом и 15 — профессиональной деятельности — такое ни разу в голову не приходило, да и необходимости такой не припомню.
                                                                      • 0
                                                                        Вы совершаете ошибку, т.к. пишете про СЕЙЧАС. А речь вроде идет про программирование для всех со школы. Т.е. люди эти выйдут на работы примерно через десять лет самое раннее. Откуда вам знать с чем придется работать повару через 10 лет? Не придется ли ему писать скрипт для готовки на полуавтоматизированной кухне. Не придется ли делать то же самое механику? Журналист с этими знаниями может сильно ускорить сбор данных и их обработку уже сегодня. Разве что насчет парикмахера я не уверен — лет через 20 его возможно заменит робот, и ему не придется ничего писать…
                                                                        • 0
                                                                          Информатика в школе уже сто лет и поголовная необходимость в знании программирования так не появилась. И я не вижу предпосылок чтобы что-то поменялось в ближайшее время.
                                                                          Ну а всякие повары-программисты — это просто из области фантастики. В стиле Беляева.

                                                                          Каждый должен заниматься своим делом. Разделение труда и всё такое.
                                                                          Шурик, Вы марксист? Это же не наш метод!
                                                                          :)

                                                                          Даже программисты хорошо разбираются только в своём разделе очень уже широкой индустрии «Программирование».
                                                                          А Вы предлагаете, чтобы посторонние в этой области люди — сегодня писали скрипт на bash, завтра — прогу для АСУТП, послезавтра — анализ данных в СУБД, послезавтра — работа с DOM в python.
                                                                          И утверждаете, что у них будет в этом потребность.
                                                                          И что можно их натаскать, чтобы у них это более-менее получалось и в приемлемые сроки?
                                                                          Полный анриал.
                                                                          А главное — бессмысленно. Потому что не нужно это простому обывателю. Потому что есть специально обученные люди, которые сделают лучше и быстрее. И, кстати, очень вероятно, что давно уже сделали, т.к. вряд ли у домохозяйки тёти Кати возникла потребность в какой-то уникальной задаче, которая раньше не вставала перед программистами.
                                                                          Профессионалы должны работать, а не дилетанты. Если, конечно, речь не о хобби каком-то.
                                                                          Вы вот в машине давно сами ковырялись?
                                                                          • 0
                                                                            Еще раз — не стоит быть таким консервативным. Сейчас «программирование для всех» бесполезно. Но вы оглянитесь вокруг, прогресс стремительно меняет наш мир.
                                                                            И тему «программирование для всех» поднимают по той причине, что спрос на программистов растет гораздо быстрее, чем их кол-во. Т.е. этот недостаток замедляет прогресс, снижает конкурентоспособность. Но бум в IT он не просто так, а потому что IT позволяет снизить затраты, кол-во наемных рабочих. Следовательно бум в IT снижает потребность в обычных работниках.
                                                                            «Истинно говорю вам» — через 50 лет не будет особого выбора — придется становиться инженером или ученым. Ну художники, музыканты, артисты тоже будут, но там тоже большая и трудная школа. Хотя и их, так или иначе, IT заденет.
                                                                            А вот люди со средним образованием не нужны будут. Т.е. они могут ничего не учить, но это будут их проблемы.
                                                                            • 0
                                                                              Вот смотрите, на заре вычислительной техники с компьютерами работали исключительно инженеры, которые знали машину досконально. Программирование заключалось в коммутировании кабелей и надо было хорошо понимать что ты делаешь с машиной.
                                                                              Потом программирование отделилось от потрохов машины: программисты составляли программы, электронщики обслуживали железо. Но программы пока писались на ассемблере (хорошо если не в машинных кодах) и всё-таки какое-то представление об аппаратной части надо было иметь.
                                                                              И примерно в это же время появились специалисты со средним специальным образованием, а то и просто со средним школьным и небольшие курсы сверху. Это были операторы. Они загружали программы, которые им давали программисты, данные для этих программ, следили за выполнением программ. Отдельная группа готовила данные (какие-нибудь табульки с производства, данные из бухгалтерии). Они же следили за работоспособностью машины и вызывали электронщиков в случае необходимости.

                                                                              Потом появились персоналки. Это была революция во многих смыслах:
                                                                              Во-первых, исчезли электронщики.
                                                                              Во-вторых, исчезли операторы. По двум причинам:
                                                                              1)персональный компьютер подразумевает, что пользуется им собственно тот самый бухгалтер, учётчик, кладовщик и т.п.
                                                                              2) но главная причина — компьютеры и программы стали такими, что работать с ними смогли люди уже без специального ИТ-образования.

                                                                              Но всё-таки общение с компьютером было не настолько интуитивным. Нужно было быть Пользователем. Может книжку почитать про Norton Commander. В общем, какая-никакая подготовка требовалась.
                                                                              Но прогресс стоит на месте: интерфейсы улучшаются, становятся более дружелюбными и интуитивными.
                                                                              Операции, которые раньше выполнялись специальным персоналом по длинным инструкциям, а ещё раньше — вообще программистами и/или электронщиками — сейчас выполняются 3х летним ребёнком парой движений пальца по экрану.
                                                                              И чем дальше — тем круче. Всякие Siri, OK google, повсеместное применение концепции wysiwyg приводит к тому, что не только программистом, не надо быть, а даже и Пользователем-то не обязательно.
                                                                              И странно ожидать откат назад, когда, по Вашим словам, журналисту придётся разбираться с HTTP и DOM, ковыряться в javascript, вместо того, чтобы просто словами сказать компьютеру что нужно найти.

                                                                              Наоборот, в IT всё идёт по пути упрощения и через Ваши условные 50 лет — всё будет ещё проще. Мы может даже не представляем себе насколько просто.
                                                                              • 0
                                                                                В голову пришел противоположный пример.
                                                                                Как раньше просто было, оседлал лошадь и поехал. А тут и бензин налей и шины проверь, и рулить надо не в пример внимательнее чем на лошади. Но это все предисловие.
                                                                                Вопрос в другом. Сколько было автомехаников в 1900 году? А сколько в 2000? Потребности со временем меняются, и ничего с этим не поделать.
                                                                                Парк и функционал вычислительной техники растет стремительно. Вот только программная часть все больше смахивает на какой то дикий базар, где у каждого продавца свои деньги, в 90% продаваемых пирожков снотворное или цианид и прочие «веселые» моменты. И чем больше выходит разных приложений, тем чаще приходится писать различные «переходники», чтоб подружить их. Что в общем то печально, но выход из ситуации пока никто не предложил.
                                                                                • +1
                                                                                  А Вы седлали когда-нибудь лошадь? :)
                                                                                  Я Вас уверяю, сесть в машину, завести её и поехать требует гораздо меньше времени, сил и навыков.
                                                                                  А управлять лошадью сложнее, чем автомобилем.
                                                                                  Ну а «заправить, шины» и прочее обслуживание — оно и с лошадью можно аналогии провести.
                                                                                  Но это так, лирическое отступление.

                                                                                  А по существу, и железо и софт сейчас пользователя требуют значительно меньше навыков чем раньше. И уж тем более не требуют навыков программирования для выполнения ежедневных задач. А иначе — зачем вообще эти дармоеды-программисты если за них ещё и программы пользователям писать пришлось бы!
                                                                                  • 0
                                                                                    Отличный пример с Вашей стороны, я как раз о нем и говорил.
                                                                                    Севший первый раз на лошадь поедет ничуть не лучше, чем наездник 1900 года проедет на современном автомобиле по нынешнему оживленному городу. Во всем нужен опыт.
                                                                                    И про железо с софтом тоже верно, навыков надо меньше. Так это к тому, что не надо всем уметь писать на ассемблере изучая при этом тонкости команд актуальных процессоров. Достаточно общего знакомства с чем то на уровне VBS/Java.
                                                                                    Хорошо изучить использование офиса или фотошопа тоже дело долгое. А ведь программ десятки, и освоить их хорошо, точно так же как и программирование, дело не школьных уроков информатики.
                                                                                    • 0
                                                                                      Вы бы Java то с VBS не уравнивали. Сам язык может и простой в изучении, но он не приспособлен быть DSL, а обычным людям что-то большее, чем DSL… мало смысла использовать.
                                                                                      • 0
                                                                                        Честно говоря, нынче языков так много, что выбрать непросто. Тем более учесть сложность обучения и не отпугнуть сложностью(объемом) кода, для получения хоть чего то похожего на функционирующую программу, а не строчку приветствия в пустом окошке.
                                                                                        Впрочем, не претендую на толковые советы по данной теме, слишком уж шапочно знаком с программированием.
                                                                • 0
                                                                  «Почти всё время, выделенное на решение задачи, он потратил на обдумывание. И принялся писать код лишь за несколько минут до окончания»

                                                                  Вспомнилось:
                                                                  В стране проходит всесоюзная студенческая олимпиада. На первом туре все студенты сидят, парятся, ногти кусают, в общем, чего-то пишут. Один лишь студент (физтех) сложил руки в два ковшика и одну к другой прикладывает по-разному в глазах задумчивость. Только за пятнадцать минут до конца тура хватает ручку и пишет в тетрадке решения задач. Тур он выигрывает.
                                                                  На втором туре история повторяется. Физтех также решает все задачи. После того, как физтех выигрывает последний тур (и олимпиаду), к нему подходят несколько студентов, писавших олимпиаду вместе с ним, и спрашивают:
                                                                  — Извините, а о чем вы думали, когда задачи решали, и зачем вот так руками делали?
                                                                  — Да я вот, — говорит, никак понять не могу на самом деле, как вот ежики еб… тся?
                                                                  • +1
                                                                    Насколько мне известно, обойти их не получится, придётся играть по их правилам, даже если эти правила нечестные.

                                                                    Если под «приличной работой» вы имеете ввиду деньги, то вам как раз к ним.
                                                                    А так, если напоролись на таких товарищей, то сразу ясно — компания провалила собеседование сама.
                                                                    • –1
                                                                      Программированию надо учить со школы но сделать этот предмет не обязательным.
                                                                      Просто для того чтобы человек знал что задачу можно решить при помощи машины
                                                                      Преподавать современный высокоуровнвый язык. Давать не сложные задачи.
                                                                      Просто часто встречался с задачами которые можно решить за час умея программировать или на несколько дней не умея.
                                                                      Это как с обучением кад системам паралельно с черчением.
                                                                      Ведь выполнить чертёж в сад системе по госту тоже не очень просто.
                                                                      Рисование совместить с изучением фотошопа или аналогичных программ.
                                                                      В матеметику добавить математические пакеты
                                                                      В школе давать основы а в вуза углублять.
                                                                      • 0
                                                                        Учиться программированию !== стать программистом.

                                                                        Реакция программиста, пишущего на objectiveC, увидевшего Swift будет «хм, прикольно, посмотрим, выстрелит или нет», а не паника и ночные зубрежки документации. «Начнёт все заново» — это глупость катастрофического масштаба: заново учить что? Паттерны проектирования? Практики хорошего кода? Алгоритмы? Структуры данных? Эти вещи не зависят от языка программирования от слова «вообще». Это не говоря о том, что swift был создан что бы сосуществовать в одной экосистеме с objectiveC.

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

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

                                                                        Программирование не серебряная пуля для финансовых проблем, и не всем стоит становится профессиональными программистами, разумеется, но мир точно станет капельку лучше, если люди начнут лучше понимать, как работают устройства и программы делающие повседневную жизнь такой интересной.
                                                                        • 0
                                                                          Хм… я вот как Java-программист имею опыт ситуации с «увидвшего Swift» (в своё время у Java пытались отобрать хлеб Groovy, Scala, Kotlin).

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

                                                                          Scala и Kotlin вновь пытаются заявить права на хлеб Java… и да, получили из общего пирога какие-то доли… но я сомневаюсь, что эти доли когда-нибудь заставят Java исчезнуть.

                                                                          Я честно пытался себя заставить разобраться с этими языками… Но вот паники по поводу «зря изучал Java» у меня не было ни в одном глазу. Поэтому ситуацию, когда кто-то изучает ObjectiveC, а потом пугается выпуску Swift… я вижу только следующее объяснение:
                                                                          — человек (новичок) захотел влезть сразу в нишу на «топовом» сегменте и испугался, что его сегмент теперь будет не топовым (в общем — гнался за деньгами, струхнул, что денег не увидит)
                                                                        • 0
                                                                          «Лихорадка программирования проникла даже в Белый Дом, и президента Обаму подталкивают к тому, чтобы включить информатику в общеобразовательную программу.»
                                                                          В СССР информатику включили в общеобразовательную программу еще в 1986 году. Другое дело уровень преподавания.
                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                          • 0
                                                                            Смотря что понимать под программированием.
                                                                            В узком смысле программирование — это написание системного и прикладного программного обеспечения для цифровых двоичных электронных вычислительных машин.
                                                                            В более широком — это также настройка. Настройка будильника, микроволновки, стиральной машины, списка контактов или каналов. Сюда же можно отнести обработку файлов, скажем, в офисном пакете: эти файлы — чем не программы?
                                                                            В совсем широком — создание любых объектов с заданными свойствами. Эти свойства, средства и способы их достижения — тоже самые настоящие программы.
                                                                            • 0
                                                                              Пост для пятницы какой-то совсем безжизненный, ловите отличную недавнюю статью на medium на смежную тему «элитарности» и таланта в IT (eng) medium.com/@WordcorpGlobal/programming-doesnt-require-talent-or-even-passion-11422270e1e4 с сочными цитатами авторов Django, Bootstrap, Rails и (прости Господи) php.

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

                                                                              Самое читаемое
                                                                              Интересные публикации