Join Yalantis and get a $1000 sign-in bonus! React.js, React Native, Python, Java, DevOps, BА. Apply now!
×Закрыть

Латентные программисты

В мире есть немалое количество (точная цифра неизвестна) «латентных» программистов, которые на своей не-IT-работе вовсю используют логику и абстрактное мышление, и вообще являются мозговитыми персонажами. Вот только одна беда: они не знают, что могут программировать, не верят в себя. Если каким-то чудом такому человеку удается выйти из зоны комфорта и начать программировать, ему это кажется редкой удачей и на 100% собственной заслугой. Дружище, а не ты ли давал всем списывать свои контрольные по физике? Не ты ли занимал призовые места на олимпиадах по математике? Не тебя ли хвалил твой препод по теормеху и сопромату? Ладно, даже если и не хвалил и ты учился на тройбаны — не ты ли относительно легко закончил технический факультет в КПИ? То-то же.

Скорее всего, этот человек не в курсе изречения мудреца Хилона: «Познай себя» (греч. gnothi seauton, лат. nosce te ipsum). Потому как за долгие годы он так и не познал свои особенности, что выливается в душещипательные истории людей, которые в свои 37 вдруг просыпаются и начинают программировать, за полгода проходя путь с нуля до двух приложений в AppStore.

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

В другой показательной истории о программировании после 30-ти Илья завершает свою повесть двумя предложениями: «Ребята, никогда не бойтесь поменять кардинально свою профессию, если вам не в кайф. И в сорок берут, и в пятьдесят, главное — желание работать и постоянное самообразование». (Далее в тексте «Илья» будет собирательным образом подсознательных программистов, которым за 30).

Илья, большое спасибо за совет! Вот только на счет «кардинально» — сильно сказано. Так как вы сами же говорили:

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

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

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

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

Идем дальше.

Я очень быстро увлекся программированием станка.

«Заболеть программированием» удается не всем, и это большая удача. Это то, чего так не хватает беднягам-новичкам, которые скорее заболеют зарплатой в 2К долларов, чем своей работой.

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

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

Ну, и завершающий аккорд:

После второго занятия я написал первый код на Objective-C.
Закончив курс — это было 12 занятий, — я через две недели работал (октябрь 2012), еще через две недели получил первые деньги как программист.

Илья, по-моему, это большое упущение, что до сих пор никто не взял у вас интервью и не написал статью в духе «Как за 12 занятий стать программистом Objective-C».

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

Студент — без пяти минут программист

Что нам говорит Александр: Так получилось, что закончил я второй курс КПИ прикладной математики и понял, что знания теории вероятностей и матана — это, конечно, хорошо, но пора искать работу. Решил сделать упор на Java, штудировал Хорстманна, Эккеля, грыз задачки на javarush.ru.

И дальше по тексту:

Средний балл у меня — 4.5.

Ключевые слова: «прикладная математика» и «средний балл 4.5». То есть Александр — как минимум не дурак: «Я точно знаю, что работать, выполнять определенные задачи и быстро получать хороший опыт могу и сейчас». Но что он пишет дальше?

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

В оригинальной версии жирным были выделены слова «помощником программиста» и «стажером», но я позволил себе выделить действительно важное. Человек, который учится почти на отлично на прикладной математике в КПИ, да к тому же свободно говорит по-английски, по-немецки, и даже на pre-intermediate French (разве такое бывает?). Согласен работать за бутерброд. Тогда как какой-нибудь нормальный еврей затребовал бы минимум по 100 баксов за каждый язык, даже без опыта программирования.

Знал бы Александр о том засильи «программистов», которые даже свой родной язык не знают (не говоря уже о том, что учатся они не на прикладной математике), но каждый месяц и бровью не ведут, получая свои 1-2К зеленых. Пример Александра является квинтессенцией мышления, которое ведет в никуда. Запомните этот кейс и никогда так не делайте. Если бы не активность HR-менеджеров, которые сами вылавливают из рек этих самородков, такие ментальные установки почти гарантированно заканчивались бы многолетней работой за ~7000-9000 грн. В связи с этим хочется передать Александру привет, пожелать ему творческих успехов и поставить для него композицию «Never work for free»:

Из гуманитарии в программисты

Для полноты картины не хватает примера с Запада, где 32-летний прожигатель жизни и по совместительству гуманитарий (изначально учил латынь и древнегреческий), как-то раз купил себе дешевенький Toshiba и по совету сестры для пущего быстродействия поставил Ubuntu, где случайно надыбал обучалку по Perl. Парня засосало. Вот что он об этом написал:

Once I had Ubuntu installed, I did some Googling for a basic Linux tutorial (since I knew nothing about Linux) and found one that including a brief tutorial on writing Perl scripts and Bash scripts.

I’ll never forget that first Perl script. It was like smoking crack for the first time.

I began scouring the Internet for anything and everything about programming I could find. I quickly found Harvard’s CS50 course. I watched the lectures and did the assignments. I was well and thoroughly hooked. I moved back to North Carolina to be close to my family and started on a post-bacc Computer Programming certificate at NC State. This led to a part-time programming gig, and now, three years later, I’ve finished the certificate and the part-time programming gig has turned into a full-time position as a software engineer.

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

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

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

Просуммировав, получим две основные причины неудач подсознательных программистов:
1) Незнание.
2) Неверие.

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

Примерно так работодатель видит студентов, готовых работать за еду. Хотите себе такого в офис? Не думаю.

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

Как понять, что вы — латентный программист

Один из самых верных способов — заглянуть в прошлое. Какие школьные предметы давались легче всего, за какие контрольные получались пятерки, на какой специальности проходило обучение в универе? Если вам легко давалась физика и математика, то есть весьма ненулевая вероятность того, что вы на подсознательном уровне таки программист. На этом этапе можно добавить себе +1 балл.

В какой ВУЗ вы поступили? Если это КПИ (или другой уважаемый техно-ВУЗ), где традиционно высокие требования к техническим дисциплинам, и если вы не погибаете на первой сессии, то можно смело добавить себе +1 балл. По крайней мере, программирование вам будет даваться легче, чем тем, кто не смог поступить в КПИ.

На каком факультете? Если это Физтех, ФИВТ, прикладная математика или другой мозгодробильный факультет, то можете смело добавить себе ещё +1 балл.

И, наконец, чем вы занимались в свободное время? Если вы ловили кайф от книг по Linux, TCP/IP, алгоритмам и от прочих технических произведений, при этом «помогая» (на самом деле делая за них всю работу) родственникам править скриптики для интернет-магазинов и бложиков, то можете добавить себе ещё +1 балл.

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

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

Чем больше вы набираете баллов, тем больше вероятность, что в душе вы программист, и вам не хватает лишь реализации. 5 из 5? Я уже позвонил в HR-отдел, за вами выехали. Приготовьте паспорт и сменную обувь.

P.S. Хотелось бы услышать больше невероятных историй о том, как люди приходили в IT из максимально далеких сфер — художники, кухарки, стриптизерши, сантехники, финансисты, крупье, водители маршруток, и так далее. Пришла пора дать стране настоящих героев.

👍НравитсяПонравилось0
В избранноеВ избранном0
Подписаться на автора
LinkedIn

Похожие статьи



Лучшие комментарии пропустить

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

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

Що я щойно прочитала...

137 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Юрий пишет- Я очень быстро увлекся программированием станка.
Программирование станка — это не Программирование.

Параметрическое программирование- это не программирование?))
С каких это пор?
ru.wikipedia.org/...iki/Макропрограммирование

Программирование станка — это разработка программ для станков с ЧПУ.
Полагаю, что Юрий именно это имел в виду.

Созданием или разработку программ для станков с ЧПУ делают технологи или рабочие. Но не программисты.

если рабочий знает язык программирования ЧПУ- значит это хороший рабочий)
Вы видимо не читали мою ссылку выше ,что разработка программ для ЧПУ называется параметрическим программированием, да там свой G-код и что? Всяко это ближе к «настоящему» программированию, чем , например сантехника или разведение кроликов)

Сергей, для разработка программ для станков с ЧПУ не нужно знать язык (G -код). Достаточно использовать для этого специальные CAM программы.

кто знает ,вдруг там был станок первых поколений ,без PC портов .)

Олексію, ТРЕБА знати G-code, щоб нормально програмувати верстати. Програми далеко не завжди видають оптимальний код і тоді його треба правити вручну. Без знань кода не обійдешся. Або ж взяти таку тривіальну задачу як калібровка поверхні в один рівень. Замучаєшся перегенеровувати керуючі програми кожен день по 10 разів. Тому пишеться в G-code’ах з використанням змінних і циклами. Це не програмування?

Извините, Роман, но за 15 лет работы. Мои программы никто не редактировал.
И был всего лишь один случай брака.

Если рабочие редактируют программы для Станков с ЧПУ, то такие сраные технологи их делают.

А за мої 6 років я редагував після CAM постійно. Справа в тім, що система закрита, «від виробника верстату» і постпроцесор поправити нереально. Тому — правилося, перед тим, як віддати на верстат. Потім, звісно, я застосував до цих операцій саморобні сторонні скріпти, але тим не менш — правити доводилось.

В мене був попередник на одній роботі, який віддавав сирий код операторам і казав «ї**ться, пацани». І пацани саме що «ї**лись» з його програмами. Ось для такого рівня G-code знати необов’язково, згоден.

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

Тогда непонятно, откуда у IT’шников такие большие проблемы с английским (тем более, что это рабочий язык).

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

Непонятно почему не IT’шник пытается писать подобные статьи)
Все еще ждём вашу биографию)

Почему «пытается»? Вполне себе спокойно пишет.
Что касается моей биографии, то она частично описана в первых моих статьях.

Может, потому, что в английском слишком много нелогичностей? :)
(Как и в любом естественном языке, но родной хоть как-то привычен)

Вряд ли.
До нелогичностей многим нашим хлопцам с их pre-intermediate и elementary English — как до Луны.
Это нужно уже иметь хоть мало-мальски уверенный уровень английского, чтобы добраться до глубин языка, где есть исключения.
Например, те же do-does, have-has — очень логичны. Но у многих и с этим проблемы.

Например, те же do-does, have-has — очень логичны.

И что логичного в том, что does это [даз], а не [дуз], хотя do это [ду]? Это уже исключение из общего правила, где приклеивается [з] в произношении. (То, что оно [с] после глухих или [из] после [с], [з] — ладно, пусть будут варианты правила. Намеренно пишу транскрипцию кириллицей.)
Почему has, а не haves? Ещё одно. Да, стянулось из-за частоты употребления. Тем не менее уже исключение.
Вот просто оцените, как Вы посмотрели всего лишь на наличие -s в конце у далеко не самых простых примеров и не заметили, что система тут уже сломана, в одном случае в произношении и в двух в написании.

И всё это надо запомнить, чтобы не произносить что-то типа «Дуз хи кноу юау?»

А формы to be? А другие неправильные глаголы?

Вы слишком подвержены школьному шаблону обучения. По нему, например, в русском два спряжения глаголов (и парочка «разносклоняемых»). А когда вбивали данные для компьютера, насчитали около 70 спряжений. Я не шучу. Все случаи типа топить — топлю, которые мы отрабатываем на автомате не замечая, для компьютера и для иностранца требуют явного описания (как чередование п — плʼ).

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

Да не нужно никуда добираться, достаточно бытовых проблем. Что такое canine, зачем отдельный корень для «собачий»? Ладно, вы идёте в магазин за dog food, а не canine food, но видя canine на этикетке, вы не поймёте, если не знаете. А всего лишь хотелось свою Жучку вкусненьким порадовать. О, рядом Мурка сидит, вылизывается, срочно за словарем... feline? А это что ещё за феликс эдмундович такой?
И какой это уровень? Неужели надо дойти до Advanced, чтобы встретиться со всем этим?
Да, а почему в магазине на «take this dress», сказанное своему мужу, так напряглась охрана?

И что логичного в том, что does это [даз], а не [дуз], хотя do это [ду]?
Почему has, а не haves?
Логика здесь не идеальная, не спорю, но она есть.
Всё-таки, ключевой момент здесь — «s», который объективно существует.
Слов dos (звучит как «дос») и haves («хэвс») в английском не существует. По крайней мере в контексте вероятных предложений: Дос хи ноу (dos he know?) или Хи хэвс мани (he haves money). Человек никогда не услышит подобного бреда нигде, кроме разве что на курсах, где ученика тут же поправит учитель. И эта слуховая память поможет в будущем не допускать ошибок.
Неужели надо дойти до Advanced, чтобы встретиться со всем этим?
Для этого нужно попасть в англоговорящую страну, где методом проб и ошибок можно всему обучиться.

P.S. Мы с вами упёрлись в проблему определения «самого базового уровня». Я имел ввиду азы английского вроде do-does школьного уровня, а вы меня потащили в бытовые тонкости вроде мурок и платьев, да заграницы. Меня туда тащить не надо, я и так прекрасно понимаю сколько там нюансов.

Это пока «чакры не открылись». С какого-то момента само пойдет.

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

i,j,k,l,n,m — неправильные или правильные?

правильные и человекопонятные немного разные вещи

подходящие под хранение индекса или для входящего параметра лямбды

Правильные названия типов, переменных и т.д. — это от лингвистики

ну это же исключение из правила, которое его только подтверждает :) индекс всегда можно индексом назвать и будет не хуже, чем «i», а в лямбде можно использовать имя объекта, тоже хуже не станет, но если класс назовешь одной буквой — будет беда

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

человекопонятные

За шо і кого ви хочете потримати?

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

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

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

Латентые программисты — латентные зажравшиеся мажоры современности!

з латентними сирами, дзеркалками, велосипедами, і латентною банкою борщу xD

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

Наверняка еще бывают «внутренние программисты» (ну, например, как «внутрення эмиграция»). Сколько тем для статей! Эх!!!

Отличная статья, спасибо! Еще по теме вот очень интересный опыт журналиста, который пытается стать программистом: www.kv.by/...rogrammistom-posle-soroka

Интересно, чем у него всё закончится.

Из последних его публикаций, что я нашел, вот: www.kv.by/...-magiya-programmirovaniya

Угадай автора с третей строчки.. =)

Да ладно Вам, мне заголовка хватило).

Какого чертам всем кто "

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

Так никто и не говорит, что все, кто могут — должны прям идти в IT.
Как говорил китайский миллиардер Jack Ma: «Важно заниматься не тем, чем можешь, а тем, чем должен».

Я с собой в мире. Ничего себе не должен.

Что за бред. Правда думаете, что все хотят быть невообразимо богатыми и знаменитыми?))
Янукович загребал миллиарды, сильно мозговитый чувак?) Открою страшную тайну, в бизнесе и больших деньгах уровень интеллекта (как раз та часть, которая отвечает за технический склад ума и логику) совсем не самое главное, в отличие от ай-ти.

Где я сказал , что все хотят? Я вот тоже не хочу, быть супер богатым, так и написал. На хамон бы хватило и ладно :)

А чому ви вважаєте, що в іт потрібно мати високий інтелект, щоб загрібати великі гроші?
Чим керування великою іт компанією відрізняється від керування будь-якою іншою?
Мені здається, що все ± так само, людина збирає навколо себе хороших СТО і вони помагають їй заробляти гроші) (я дещо утрирую, звісно, але суть зрозуміла)

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

просто ви написали:

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

А в чистых охранниках и грузчиках в супермаркетах Ашяян своего рода кто?

Иногда там и люди с высшим образованием. Не знаю.

В них глубоко засел программист, а в том глубоко засевшем программисте глубоко спрятанный Цукерберг.

Я долгое время был "тыжепрограмист"ом))

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

Вы говорите так, как будто это что-то плохое.

Чем больше вы набираете баллов, тем больше вероятность, что в душе вы программист, и вам не хватает лишь реализации. 5 из 5? Я уже позвонил в HR-отдел, за вами выехали. Приготовьте паспорт и сменную обувь.
Хаха, посмеялсо)
Хотелось бы услышать больше невероятных историй о том, как люди приходили в IT из максимально далеких сфер — художники, кухарки, стриптизерши, сантехники, финансисты, крупье, водители маршруток, и так далее. Пришла пора дать стране настоящих героев.
Думаю у многих будут примеры таких людей которые загорелись желанием много зарабатывать, но слились через какое то время по причине того что они не являются латентными программистами.
после матана, сопромата и того же теормеха в этом мире остается не так уж много сложных для познания вещей. И разработка софта к ним явно не относится

WTF?

Китайский пусть попробует. После него матан покажется самой логичной системой в мире!

Вообще-то матан и есть одна из самых логичных систем в мире.

Только автор ее преподает как "

в этом мире остается не так уж много сложных для познания вещей
" . Я ему для сравнения.

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

Можно и простить. Вдруг он латентный гений и мы его не понимаем?

А мне нравиться его читать. Неплохие статейки и обычно на животрепещущие темы. То-то столько комментов.

И ведь старается же человек!

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

Сложность сложности рознь.

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

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

Смешивать эти два вида сложности нельзя.

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

Логика — это первый вариант. Китайский язык — второй.

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

Более того, китайский язык в некотором роде полиморфен: как одни и те же иероглифы могут читаться по-разному, так и разные иероглифы могут читаться одинаково. И вообще очень многое в китайском зависит от контекста. То есть, опять-таки, мы снова имеем дело с подобием полиморфизма.

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

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

например, в китайском слова вообще не нужно склонять или видоизменять по времени

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

Более того, китайский язык в некотором роде полиморфен: как одни и те же иероглифы могут читаться по-разному, так и разные иероглифы могут читаться одинаково. И вообще очень многое в китайском зависит от контекста. То есть, опять-таки, мы снова имеем дело с подобием полиморфизма.

И с каких пор этот весь кошмар стал подтверждением простоты и логичности? :)
Когда в английском оказывается (read, tear, bow...), что надо вначале понять смысл, чтобы правильно произнести, это недостаток, а теперь в китайском это преимущество? ;) Я как-то не хочу соглашаться с этим.
Простой язык это у которого, в частности, устная и письменная форма однозначно связаны. Адаптации на стыке морфем это максимум, что можно допустить для такого языка. Проблемы ударений — (английское a súspect / to suspéct, русское у́же / уже́, передохну́ть / передо́хнуть) — на грани или местами за ней.

С числительными — да, у них чуть проще, но 1) проблема числа 4 сама по себе пугает:), 2) кроме этого есть ещё множество пунктов, по которым он объективно извращённее. Кстати, те же тона теряются в песнях, а качество странных полузвонких согласных — в шёпоте — а это уже чисто объективные проблемы независимо от родного языка оценивающего.

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

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

>> например, в китайском слова вообще не нужно склонять или видоизменять по времени
И это как раз хуже.
Почему же? Во-первых, множительное число указывается явно с помощью отдельного элемента, наподобие «s» в английском. Во-вторых, чтобы обозначить прошедшее время бывает достаточно добавить лишь одну частичку после слова. И всё. Очень просто. Никаких тебе неправильных глаголов, окончаний и так далее (как в английском).

Китайский как раз достаточно логичен. (Сложен — да, но это другой вопрос — Вы ведь ничего не говорили про сложность?)

Недавно была статья (ссылку не найду, но и не важно) про причины успехов китайцев в математике. Одной из причин (далеко не главной, но существенной) называлась простота системы числительных. Никаких «одиннадцать», произносится дословно «десять один»; «сорок два» — «четыре десять два». А теперь сравним с нашими языками:
английский: three — thirteen — thirty;... eight — eighteen — eighty... — ещё можно понять. Но почему eleven и twelve? Лингвисты могут проследить их происхождение, но для простого носителя языка это так же туманно, как знание для носителя русского, что «начало» и «конец» исходно однокоренные, и 2000 лет назад между ними ещё была чётко видимая связь.
Староанглийский: ещё интереснее. «Fourscore and seven years ago...» — fourscore это 80, 4*20. Аналогично во французском — всякие quatre-vingt, в каталанском...
Восточнославянские: сорок (не четыредцать), девяносто (не девятьдесят). У остальных славян такого нет, система (почти) ровная. Да, «сорок» — нововведение, а «девяносто» — рудимент, но от этого система не проще:) Кстати, а почему -дцать до 40, а -десят после 50? Ещё одно усложнение на ровном месте:)
А теперь — приз в студию — тюркские (возьмём турецкий для примера):
1 — bir; 10 — on
2 — iki; 20 — yirmi
3 — üç; 30 — otuz
4 — dört; 40 — kırk (кстати, один из факторов укрепления «сорок»)
5 — beş; 50 — elli
кто-то видит систему? :)
6 — altı; 60 — altmız
7 — yedi; 70 — yetmiz
8 — sekiz; 80 — seksen
9 — dokuz; 90 — doksan
тут уже какая-то система видна, хоть и кривоватая.
10 — on; 100 — yüz
пока средний ребёнок это заучит, у него потеряется всякое понимание, что beş * on == elli :)

Разумеется, это всё не отшибает напрочь способности к математике, но чуть-чуть их подсечь уже может быть заметно.

Про логичность таки заберу обратно :) за пределами числительных. Писал, не проснувшись до конца. Жаль, что править уже нельзя.

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

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

включая всего несколько времён

И с каких пор это хорошо? Кстати, Вы явно смешали времена с аспектами.

и довольно жесткий (в отличие от русского) порядок слов в предложении

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

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

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

Главный камень нелогичности в китайском лежит в самих иероглифах.

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

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

Китайский _местами_ достаточно логичен.
Недавно была статья (ссылку не найду, но и не важно) про причины успехов китайцев в математике. Одной из причин (далеко не главной, но существенной) называлась простота системы числительных. Никаких «одиннадцать», произносится дословно «десять один»; «сорок два» — «четыре десять два». А теперь сравним с нашими языками:
английский: three — thirteen — thirty;... eight — eighteen — eighty... — ещё можно понять. Но почему eleven и twelve? Лингвисты могут проследить их происхождение, но для простого носителя языка это так же туманно, как знание для носителя русского, что «начало» и «конец» исходно однокоренные, и 2000 лет назад между ними ещё была чётко видимая связь.
Староанглийский: ещё интереснее. «Fourscore and seven years ago...» — fourscore это 80, 4*20. Аналогично во французском — всякие quatre-vingt, в каталанском...
Восточнославянские: сорок (не четыредцать), девяносто (не девятьдесят). У остальных славян такого нет, система (почти) ровная. Да, «сорок» — нововведение, а «девяносто» — рудимент, но от этого система не проще:) Кстати, а почему -дцать до 40, а -десят после 50? Ещё одно усложнение на ровном месте:)
А теперь — приз в студию — тюркские (возьмём турецкий для примера):
1 — bir; 10 — on
2 — iki; 20 — yirmi
3 — üç; 30 — otuz
4 — dört; 40 — kırk (кстати, один из факторов укрепления «сорок»)
5 — beş; 50 — elli
кто-то видит систему? :)
6 — altı; 60 — altmız
7 — yedi; 70 — yetmiz
8 — sekiz; 80 — seksen
9 — dokuz; 90 — doksan
тут уже какая-то система видна, хоть и кривоватая.
10 — on; 100 — yüz
пока средний ребёнок это заучит, у него потеряется всякое понимание, что beş * on == elli :)

Разумеется, это всё не отшибает напрочь способности к математике, но чуть-чуть их подсечь уже может быть заметно.
UPD: Но это всё (почти) только в математике. За её пределами — мрак.

Знаю человека, который бросил работу сантехником и начал программировать. Написал свою CMS на PHP и еще программу для вещания радио на сях. Так же заядлый линуксоид. Вот выжимка его истории 2-х летней давности


Сам я не из Москвы (Калужская обл., очень маленький городок).
Проживаю в Москве с 14 лет. Приехал работать.
Перерыв был только на армию (2001-2003).
Перед тем как заняться вебом, в течении семи лет работал сантехником.
Увлекся вебом три года назад.
В марте этого года решил официально попробовать свои силы. Разместил резюме, получил отклик, прошел собеседование.
Почти уже год как работаю в этой частной конторе по раскрутке и созданию сайтов.
Знания: php (ООП, MVC, HMVC), MySQL, js (jquery, ajax), html, css, немного админю linux, FreeBSD.
С фреймворками работал только на уровне правки логики или дописывания ф-ционала.
Zend, CI...

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

Созвучно с латентными гомосексуалистами .
Или как вам, например, такое?
-Здравствуйте, меня зовут Юра и я латентный гомосексуалист программист

Мне, например пофиг, латентный ты или нет. Мне геи (всех цветов) как сексуальные партнеры не интресны, а как люди ничем не отличаются от других.
И кстати, с чего бы это слово латентный у тебя вызвало такую ассоциацию?
ru.wiktionary.org/wiki/латентный

Гомофобия?? И как вы с этим в аутсорс собираетесь?

Що я щойно прочитала...

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

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

Когда вы попробуйте убедить 5-10 своих друзей стать айтишниками, и увидите результаты, вы поймете о чем говорит автор.

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

Сколько у вас не программист и не чиновник и не мент зарабатывают? Что плохого в том, что бы убедить человека зарабатывать сильно больше?

Убедить их сидеть за ноутом по 8 часов еще ладно, но еще при этом напрягать мозг — явно не вариант =)). Разве что показать фотки с отдыха и чек с зарплатой. В лучшем случае отделаетесь легкой завистью.

Юра, ты абсолютно прав. Если кому-то хорошо давались естественно-научные предметы, то не программирует он только потому, что не хочет (у него более интересная деятельность) или лень.
В сравнении даже со школьной программой программирование — это элементарно.

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

P.S. Хотелось бы услышать больше невероятных историй о том, как люди приходили в IT из максимально далеких сфер — художники, кухарки, стриптизерши, сантехники, финансисты, крупье, водители маршруток, и так далее. Пришла пора дать стране настоящих героев.
Только зачем? У вас нет того объема рынка, что сможет их поглотить. Будет толпа голодных программистов на улице, готовых кодить за копейки. Что обрушит и имеющийся рынок. Зарплаты пойдут вниз, конкуренция между программистами усилится. У вас сейчас около 100 тыс программистов и за пару лет их станет 200 тыс — количество проектов в 2 раза не вырастет. Но, результатом этого будет увеличение доходов владельцев бодишопов, маржа на каждом програмере увеличиться. В америку тушку продают приблизительно за $5K, сейчас из этой цифры $2500 идет тушке. $2500 остается владельцу. В результате сильного роста количества программистов платить тушке станут $1000 и $4000 останутся владельцу. Можно было бы и не считать деньги в чужих карманах, если бы владельцы местных бодишопов были как Элон Маск, но в реальности они потратят эти деньги на очередную яхту и не более.
Вон у Добкина бала море, но все их R&D напоминает детский сад и младшие классы школы: dev.by/...razrabotali-stress-treker
Только зачем?
Може бути такий оптимістичний розвиток подій: людина з навиками художника/кухаря/сантехніка роздупляється в програмуванні і пропонує симбіоз ІТ і її колишньої сфери діяльності. В результаті родяться якісні стартапи. Зараз проблема хіпстерів-стартаперів — що вони не орієнтуються в предметній області, а свої ідеї аргументують здебільшого фантазіями.

Банальний приклад: виникла на днях ідея зробити тестер овочів/фруктів/м’яса з інтеграцією в іОС/Андроід. Юзер ходить по базарі, тикає голкою в картоплю і бачить на екрані рівень нітратів. Хороший хімік сказав би, чи можна таку ідею реалізувати і за яку ціну, а так — це всього-навсього чергова фантазія ІТшника.

Зараз проблема хіпстерів-стартаперів — що вони не орієнтуються в предметній області, а свої ідеї аргументують здебільшого фантазіями.
Не был бы так категоричен. Сейчас, мне кажется, реально проблема, придумывать что-от новое. И хипстеры-фантазеры ныне самое то. У 99 из ста идея туфта, а у одного выстрелит.
Вот по твоему примеру. Как раз пару дней назад с ребенком обсуждал вопрос “умного дома”. Начал с того, вот придумай что новое интересное и подкинул темку. Ребенок сразу выдал, так это же из “умных домов” и их уже вовсю делают (типа лень думать). Я грю, а вот какого ты хотел бы ума добавить нашему дому? И вот тут-то облом. А никакого не надо. Грю, давай сделаем, что свет будет включаться по твоей словесной команде — он сказал, такое не надо, прикольно, но неудобно.
В общем в результате всей беседы ни одной стоящей идеи не появилось. Сейчас уже есть все, что можно сходу придумать. А запрограммировать идею и реализовать (если это не что уровня полета на Луну) в общем просто.
И сейчас как раз острая необходимость именно в таких хипстерах-фантазерах.
Хороший хімік сказав би, чи можна таку ідею реалізувати і за яку ціну
Нужен всего-лишь дешевый анализатор нитратов или подобного (www.pulscen.ru/...80205-analizator-nitratov ). Только идея не взлетит, потому как важность всего этого в продуктах сильно преувеличена.

Я все-таки мав на увазі промислову сферу. Хіпстери круті в «іграшках». Моя думка про те, що в ІТ є серйозні технології, які можна дуже широко використовувати. Потрібно тільки орієнтуватися як в цих технологіях, так і в цільовій сфері. Ваш приклад з розумним будинком — якраз цьому підтвердження: програмісти добралися до домашньої електрики. Ще приклад — бум з e-goverment. Але так само є нерозвідані горизонти (в Україні, наприклад, це сільське господарство).

Нужен всего-лишь дешевый анализатор нитратов или подобного
Про нітрати я ляпнув, тому що більше нічого не знаю в даній тематиці . Задача — визначати «чистоту» продукту. Для цього потрібні критерії і відповідні вимірювальні прилади — а це питання до хіміків, а не до програмістів :)
Я все-таки мав на увазі промислову сферу. Хіпстери круті в “іграшках”. Моя думка про те, що в ІТ є серйозні технології, які можна дуже широко використовувати. Потрібно тільки орієнтуватися як в цих технологіях, так і в цільовій сфері.
Так полных ходом реализовывается и внедряется. Просто для внедрения нужны большие деньги. В те же авто “ум” массово внедрять начали, но то, что внедрено опаздывает лет на 10-15 в сравнении с развитием в IT. Ну и одиночки тут ничего не сделают, слишком большие вложения. Уверен, что за 10 лет машины сделают очень умные в америке вовсю будут колесить машины-роботы. Сейчас по сути нужно преодолеть страх общества и поправить законы.
Задача — визначати “чистоту” продукту.
Без приличной химической лаборатории здесь ничего не сделаешь. Куча же разных вещест, которые нужно мерять. Можно конечно расплавить продукт в вакууме и посмотреть спектр и по нему распознать количество каждого элемента. Но, представь размер такого устройства.
Я все-таки мав на увазі промислову сферу. Хіпстери круті в «іграшках».
Вам гроші зароблятити чи гордитись який крутий код ви написали? Є шанс, що цей крутий код ніколи і ніхто не зацінить
В америку тушку продают приблизительно за $5K, сейчас из этой цифры $2500 идет тушке. $2500 остается владельцу.
Ох уж эти люди, убежденные, что им не доплачивают. Прямо бичь отрасли.

Слушайте, раз там такие сверхприбыли, откройте свой бодишоп. Зачем вам отдавать «дяде» 50% ЗП?

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

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

Да блин, программист — это всего лишь инженер, не больше и не меньше.

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

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

Бил Гейтс написал интерпретатор бейсика для Альтаира, считал себя программистом.
Вася, который кидает кнопки на форму в Delphi, тоже считает себя программистом.

Но это разные инженеры и разные программисты. Так что «программист — это всего лишь инженер» это фраза ни о чем.

Ви просто описали про інженерів абосолютно різного рівня, ну а програмісти, таки інженери і не більше, і не менше.
Давайте тоді поговоримо про інженерів, що розраховали на міцність МКС і програмістів, що писали ПЗ для МКС. Думаю вони будуть співвідносиними і ± одного рівня, ну і поясніть чому тих програмістів неможна називати інженерами?

Кстати, в трудовой книжке, бывает, пишут должность: инженер-программист.

А зачем делить профессии на «элита», «не элита»? Ради понтов?

Достаточно и того, что профессия программист обладает такими преимуществми:
1) Очень интересная профессия
21 век — это век информационных технологий. Компьютеры, планшеты, смартфоны, соц.сети — мир меняется, и программисты могут поучаствовать в этом. Можно написать свой WatsApp, Facebook (Паша, привет!) и изменить мир.
2) Творческая профессия
Если вы инженер — вы можете творить прямо в коде. Если вы хотите большего, то можете придумывать и писать свои сервисы, программы и мобильные приложения.
3) Легко работать удаленно
Можно фрилансить живя на Бали, путешествовать и работать в самых крутых компаниях. Даже в обычных компаниях часто можно просто рабоать сидя дома.
4) Перспективно
Сейчас бум стартапов. Пузырь доткомов остался далеко позади. Есть куча акселераторов, инвестфондов, бизнес-ангелов. Сделать свой бизнес в области высоких технологий легко, как никогда.
5) Очень перспективно
Билл Гейтс начинал как программист, Цукерберг начинал как программист. Чтобы стать миллиардером достаточно иметь желание, ноутбук и мозги.

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

1 Алгоритмы нафиг не нужны.
2 Абстракное мышление есть почти у всех технарей: нельзя нормально сдать матан и не развить абстрактное мышление.
3 Каждый втрой фреймвокр — это дырявая абстракция. Их надо не конфигурировать, а изучать, дебажить и патичить.
4 «после сборки обработать напильником» — актуально как никогда раньше.

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

Алгоритмы не нужны кому?
Абстрактное мышление в какой-то мере у всех здоровых людей присутствует.
Его развивают с 1-го класса, когда начинают считать воображаемые предметы, и изучают свойства (форма, цвет, размер).

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

Лолшто

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

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

Да. С одной стороны, требования к разработчику (т.е. программисту) растут приличными темпами. С другой — для конфигурирования компонентов алгоритмические способности, абстрактное мышление и «прочие прибамбасы» не нужны.

Вы были бы удивлены, если бы знали какое количество людей обламывается изучать ту же Java ещё на фазе настройки среды окружения.

Почему? Например, падающий спрос на С++ - это потому, что никому это не нужно вообще? Всё уже переписали на python/java, включая ядро, драйвера, компиляторы, игры с движками и т.п.? Или может в какой-то момент оказалось, что создавать конкурентный софт стало просто невозможно? Требования к софту стали огромные, а это значит и требования к разработчикам этого софта. Вы говорите, что java — слишком сложно. Да, вероятно так и есть. А С++ еще сложнее. И java в свое время прилично снизила планку. Но требования растут постоянно, и java тоже станет неподъемно сложной. Или уже становится.

Конечно, сложность Java меркнет на фоне C++, спору нет. Что касается растущих требований, то это интересный момент. Я как-то пытался отследить эту тенденцию по вакансиям и резюме прошедших лет, но так ничего вменяемого не получилось. Осталось лишь вот это ощущение, что «стало сложнее». А доказать сложно. Даже учитывая то, что со временем неизбежно становишься опытнее и по-идее должно быть легче.

Если посмотреть эволюцию любой программы (или системы), которая достаточно долго существует. Навскидку интернет-браузер (любой), MSVS, UDK. Android.
И растущая функциональность только часть.
Многопоточность, кроссплатформенность, совместимость с другими экосистемами.
По своему проекту — за 12 лет суммарный объем исходного кода вырос в три раза. И в пару-тройку раз требования к тем, кто может это сопровождать/развивать.

временем неизбежно становишься опытнее и по-идее должно быть легче
Если считать, что возможности человека не ограничены и развивать их (линейно) можно сколько угодно. Они, судя по всему, и правда большие, но все же не безграничные.
Легче это увидеть на примере физических параметров:
ru.wikipedia.org/wiki/Бег_на_100_метров
Т.е. прогресс в беге в большей степени связан с улучшением системы физической подготовки, чем с эволюционными изменениями.
Например, 200’000 строк кода один человек эффективно обслуживать пока не способен. Даже с выдающимися способностями и большим опытом. Типовой предел где-то на 20’000. Причем 200’000 это по нынешним меркам совсем немного. Даже если не брать в расчет qt/webkit.

Фух, значит мне не показалось. А то много мнений всяких, в том числе «Да ещё легче стало-то! Вон сколько появилось фреймворков и тулзовин, облегчающих работу».

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

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

на существующем уровне цифровых технологий суть перехода от информационных процессов к физическим в последовательности команд устройству.
Аааа. А можно без канцелярщины и заумщины писать?
К событийно-управляемой многопоточной системе понятие «последовательности команд» не применимо.
Применимо. Добавляется только ожидание события и выполнения набора команд, как реакция на событие. Ну и учет ресурсов, к которым недопустим одновременный доступ или одновременное выполнение разных последовательностей одним устройством в одно время. По сути одно устройство в определенный промежуток времени выполняет свою последовательность команд.
А можно без канцелярщины и заумщины писать?
Можно. А в чем смысл так цепляться за последовательное выполнение действий? Это что-то из прошлого, теплое и ламповое?)))
Есть много случаев, когда нет последовательности (и раз вы так часто проводите параллели с математикой, то тогда это что-то вроде разрывов функции):
— инициализация статических объектов;
— обработка широковещательного сообщения, на которое может подписаться какой-угодно модуль;
— освобождение referenced-объекта(вызов деструктора);
И связанные с многопоточными вычислениями:
— завершение выполнения асинхронных операций;
— получение эксклюзивного доступа к shared-объекту;
В старые добрые времена if-then-else обучить программиста было проще.
Ты можешь написать программу даже на естественном языке и другой человек может ее выполнить
Я могу написать. А вот те, кто не программисты, для меня аналогичную «программу» написать не могут. Обычно по причинам произвольной трактовки контекста задачи (это и так и ясно и т.п.) и отсутствия понимания, что является элементарным действием, а что можно составить из других элементарных действий. Т.е., безусловно, каждый человек способен составить что-то вроде плана действий, но это не алгоритм. А если такие «неидеальные алгоритмы» все же решаются использовать, то получаем дырявые фреймворки, дырявые компоненты и кучу дырявого софта.
В java когда-то добавили сборщик мусора, вменяемую обработку исключений и убрали адресную арифметику с указателями. Хорошим программистам упростили жизнь (ибо если с указателями можно как-то жить, то иксепшены — это просто мрак), плохим дали отсрочку — коряво написанная программа уже не валится на AV в том числе и после нескольких часов непрерывной работы, но она такая же кривая как и была раньше. Чтобы она перестала работать, она должна стать несколько больше, а это вопрос времени.
Добавляется только ожидание события и выполнения набора команд, как реакция на событие. Ну и учет ресурсов, к которым недопустим одновременный доступ или одновременное выполнение разных последовательностей одним устройством в одно время. По сути одно устройство в определенный промежуток времени выполняет свою последовательность команд.
И ru.wikipedia.org/wiki/Алгоритм

Кем добавляется? Компилятором?
Или, по сути, электроны бегут в одну сторону, а дырки — в другую?))

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

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

условный переход, цикл
компоненты структурного программирования.
По сути одно устройство в определенный промежуток времени выполняет свою последовательность команд.
вольная трактовка принципов Фон-Неймана, не?

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

Я не нашел, где этот вопрос появился.
Кто-то ранее написал «алгоритмы не нужны», но не пояснил, почему.

У него противоречие между предложениями получилось dou.ua/...aign=reply-comment#703452
Если ты можешь доказать теорему из матана, то алгоритм написать однозначно сможешь. Люди часто плохо формулируют свои мысли и фиг знает, что он имел в виду.

Подписаться на комментарии