Pull to refresh

Comments 90

У вас описан частный случай.

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

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

Человеку либо дано быть разработчиком, либо нет. Он либо готов всё время учиться, либо нет.
Флаг «я хочу много денег» при отсутствии предрасположенности, ведёт к скорому выгоранию и смене деятельности.
> ведёт к скорому выгоранию и смене деятельности
А вот куда может уйти программист? Я 10 лет в разработке и меня от неё блевать тянет, хотя, вначале было весело.
Попробуйте взять отпуск, впервые за 10 лет )
От разработки, или от процессов в разработке на данном конкретном месте? от процессов разработки или конкретных людей/работодателя? Если бы вы писали код в одиночку, было бы проще?

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

UFO just landed and posted this here
Строить дом, родить сына :)
UFO just landed and posted this here

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

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

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

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

Это была — и есть — настойчивость, именно она позволила мне удержаться в этой сфере.»
С текущей скоростью развития автоматизации скоро эти слова на собеседованиях будут говорить уже не только программисты, но и, скажем, представители такой вечной профессии как… дворники:) да и о других вечных профессиях не будем забывать тоже (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):)…
Я ожидал что в этой статье будет в т.ч. про то, что у ~половины людей их таланты лежат не в области программирования/аналитического мышления, а в чем-то ином.

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

А учить каждого ребенка насильно программированию, и говорить что это "единственный нормальный путь состояться в жизни и получить нормальную зарплату" — верный способ к появлению разочаровавшихся в профессии хреновых программистов.
UFO just landed and posted this here

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

UFO just landed and posted this here

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


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

UFO just landed and posted this here

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

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

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

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

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

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

Потому что без подобных знаний он будет думать что есть какая-то другая «энергия камней».
Среднестатистическому человеку нужно знать только общую информацию о языках программирования, проще говоря классификацию:
— язык программирования компьютера специалиста (можно детализировать на ЯНУ, ЯВУК, ЯВУИ)
— язык программирования компьютера пользователя (в основном — UI, максимум — небольшой скриптинг на ЯВУИ)
— язык программирования компьютерного специалиста (естественные языки, формализованные в ТЗ)
— язык программирования компьютерного аналитика (естественные языки)
Зачем знать типы языков программирования?
По моему мнению, пара написанных программ лучше, чем эта теория.
UFO just landed and posted this here
Информатика — точно всем не нужна.
Её даже большинство программистов толком не знают.
Кто из них не заглядывая в гугл даст толковое определение биту? :)
Думаю большинству это под силу. А информатика все же нужна, возможно только не в таком вид как она есть сейчас. Это повысит общую компьютерную грамотность и в идеале уменьшит количество людей которые переходят по ссылками «Вы тысячный победитель и вам за это...» и которые кричат «ааа все пропало, я удалил ворд», когда сносят ярлык ну и тд. Это как в школе наваливают кучу предметов, а там уж сам выбирай какие из них будут в твоей профессии.
Это компьютерная грамотность.
Информатика всё-таки более «отвлечённая» наука по меркам рядового пользователя.
А теоретическая информатика — и по меркам рядового программиста :)
Вам бит с т.з. физики или с т.з. информатики?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

А вы тут про зарплаты и карьерные перспективы у планктона…
я смотрю на вещи так — если ты программист, ты можешь написать что угодно на чем угодно. просто думаешь, могу ли я написать оконный менеджер или операционную систему или язык программирования. если понимаешь, что да, в принципе можешь, вопрос только во времени, то да, ты программист и на смену основного языка или специализации у тебя уйдет ~месяц. но есть не мало людей которые не могу, не понимают как написать веб сервер или xml парсер, но вполне нормально выполняют свои задачи по разработке чего-то при помощи конкретной технологии — это кодеры. для них, смена технологии чревата годами обучени и переобучения.
вот и суть трудностей. если ты настоящий хардкорный программист, ты интуитивно понимаешь подводные камни, основные сложности и пр. а главное понимаешь, что идеал не достижим. поэтому не стоит вылизывать знание технологии и проходить тонны сертификаций, лучше потратить время на понимание того как всё устроено и вы всегда будете в цене. IMHO
Программирование — очень хорошие ворота в мир инженерной мысли, оно отлично дополняет довольно сухую математику в попытках сформировать оценочный аппарат. После того как человек решит первую реально заинтересовавшую его задачу через формальных подход и реализует это все формальным языком магический замок «мне так кажется и имею право на мнение» тут же рухнет и человек реже станет полагаться на интуицию где не надо, меньше платить за ненжуные вещи, меньше говорить глупостей. Не каждый и не всегда, это как мытье рук, но это один из немногих хороших путей.
UFO just landed and posted this here
Что по вашему значит «знать алгоритмы»?
UFO just landed and posted this here
Алгоритмы всетаки существовали задолго до появления программирования, и по большому счету это математическая дисциплина. Люди утверждающие о необходимости изучения программирования(не те что говорят о денрьгах) как раз утверждают что это полезно — учить математику, программирование это очень наглядная математика, формируется на уровне подсознания правильная работа с множествами(не все способны на ходу понять даже как частное опровергает общее), порядком доказательств и мало ли чем еще. «Набыдлокодить» можно где угодно, даже в обыденной жизни, но самая наглядная демонстрация получается всетаки на примере программирования. Так что вопрос не в набирангии кода, если бы можно было избавиться от набирания кода или сократить эту часть процесса, то было бы еще лучше.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вспомнилось:
В стране проходит всесоюзная студенческая олимпиада. На первом туре все студенты сидят, парятся, ногти кусают, в общем, чего-то пишут. Один лишь студент (физтех) сложил руки в два ковшика и одну к другой прикладывает по-разному в глазах задумчивость. Только за пятнадцать минут до конца тура хватает ручку и пишет в тетрадке решения задач. Тур он выигрывает.
На втором туре история повторяется. Физтех также решает все задачи. После того, как физтех выигрывает последний тур (и олимпиаду), к нему подходят несколько студентов, писавших олимпиаду вместе с ним, и спрашивают:
— Извините, а о чем вы думали, когда задачи решали, и зачем вот так руками делали?
— Да я вот, — говорит, никак понять не могу на самом деле, как вот ежики еб… тся?
UFO just landed and posted this here
Программированию надо учить со школы но сделать этот предмет не обязательным.
Просто для того чтобы человек знал что задачу можно решить при помощи машины
Преподавать современный высокоуровнвый язык. Давать не сложные задачи.
Просто часто встречался с задачами которые можно решить за час умея программировать или на несколько дней не умея.
Это как с обучением кад системам паралельно с черчением.
Ведь выполнить чертёж в сад системе по госту тоже не очень просто.
Рисование совместить с изучением фотошопа или аналогичных программ.
В матеметику добавить математические пакеты
В школе давать основы а в вуза углублять.
Учиться программированию !== стать программистом.

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

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

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

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

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

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

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