Pull to refresh

Comments 330

с подливой от инвесторов

Вы знаете, если бы я был инвестором, я бы писал эти слова на чеках. :)


По существу: ну наконец-то кто-то высказался о том, о чем все молчат. Браво, автор! Браво.
Я считаю что в IT-сообществе категорически мало людей, которые просто делают свою работу, делают её качественно и за достойные деньги, решая при этом конкретные проблемы. Куда ни плюнь — везде сплошные хайперы и "скальперы", нацеленные на быстрые шальные деньги, славу и внимание, а не на качественный долгосрочный результат. При том как среди менеджеров, так и среди разработчиков.

«Мало людей просто делающих свою работу»- Их не мало, просто они не так заметны и меньше заинтересованны в хайпе
Это как опрос по телефону -" а есть ли у Вас телефон"

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

Да, приходилось на собеседованиях сталкиваться с просьбами показать свои open source-проекты. После отрицательного ответа были реплики, мол, ну чё ж ты, вялый совсем, ничего не интересно?
Да нет, почему, интересно, но я всё время работал на работодателя, и решал его задачи…

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

Вот, кстати, мой работодатель наоборот официально не приветствует разработку собственных open source проектов (знакомит с соответствующим приказом под подпись).
На резонный вопрос «А не все ли вам равно чем я в свободное от работы время дома занимаюсь» начальник отдела кадров дал вполне логичный ответ: «А вдруг вы и в рабочее время будете думать/работать над своим собственным/левым проектом», мол «Работаете у нас — будьте добры думать и радеть только за наши проекты».
Вот, кстати, мой работодатель наоборот официально не приветствует разработку собственных open source проектов...

Мда… чего только на этом свете не бывает. Запрет на хобби.
Похоже на попытку снизить рыночную ценность своих сотрудников. Вполне объяснимо.

Ну да, именно так и есть. Зарплату не индексируют, в знания сотрудников деньги не вкладывают, постоянно мониторят сайты с работой ища размещенные резюме сотрудников. Если "палят" — то вызывают на долгий диалог к кадровикам, объясняя что "так нельзя" :D
Сам читаю то что написал… что то со стороны, реально, на какую то секту похоже.
А, да, и еще запрещают разглашать коллегам размер з/п.

Если «палят» — то вызывают на долгий диалог к кадровикам, объясняя что «так нельзя» :D

Чем они это объясняют? Своей неспособностью удовлетворить ожидания сотрудников? Если начинают шантажировать увольнением, можно смело заявить, что «так нельзя» не только потому что это подло, но и по закону.

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

это не в России? Иначе зачем подписывать эту чушь? А даже если кто и подписал сгоряча, то пусть подотрутся.

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

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

Нет, ну особо палку перегибать-то тоже не фонтан идея.

«А вдруг вы и в рабочее время будете думать/работать над своим собственным/левым проектом»

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

UFO just landed and posted this here
Типа другие в рабочее время пилят свои проекты. Или вы свое свободное время тоже на работодателя тратите? Даже если это так, как вы это докажите? Допустим есть два кандидата, один в свободное время пилил свои проекты и есть что показать, другой заявляет что он трудоголик и ничего своего не пилил так как все время думает только о работодателе и допиливает на выходных свои рабочие проекты пока менеджер валяется где-то на пляжах Франции. Какой из кандидатов вызывает больше доверия?

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

Ну наличие или отсутствие Open-Source проектов не показатель ни хорошего, ни плохого программиста. С одной стороны у человека может быть 10 проектов на гитхабе, но как работник — он никакой. Просто потому, что он занимается тем, что ему нравится, а не тем, что нужно работодателю. С другой стороны если человек 8 часов работает на работодателя, а потом ещё 4 часа фрилансит чтобы прокормить семью, то вероятно от такого человека будет больше пользы.
> а решить какую-нибудь небольшую, но предельно конкретную задачу, которая у всех на виду

Т.е написать ту самую либу на гитхабе.

Вы знаете, я видел либы на гитхабе, которые фиксят недостатки в других либах. И ИМХО — это полная профанация. Либа либе рознь и если она всего лишь решает проблемы, которые появились в результате использования других либ или же добавляет проблемы еще и с собой — то это — плохая, негодная либа.

Не понимаю, в чем проблема либы которая фиксит косяки в других решениях?

Вот, например, у меня для magento 2 есть несколько либ среди которых 2 для фикса косяков системы. Суммарно их скачали 200 раз. Мне пойти удалить их?
Новыми героями статей вокруг IT-отрасли станут деловитые инженеры, копающие каждый свою тему, и добивающиеся пусть небольших, но фундаментальных улучшений для всех.

наверное, и есть «сделать мир лучше».

Эпидемия XXI века — стартап головного мозга.
Шальные деньги — всегда главная цель людей. Этого не изменить. А ИТ сейчас просто быстро развиваются именно из-за хайпа. И лучше, если хайп будет подольше, потому что как и сказал автор, как только капиталы уйдут, а они уйдут, тут станет просто нечего делать. Будет 10 больших компаний и какие-то студии, которых лопатой компай и которые делают на чём-то своём и под себя, никого не слушая. Останутся только профи, которые молятся на попадание в этот десяток компаний или подумывают о лучший временах, когда ты мог взять что-то неимоверно топовомодноафигительное и за 15 секунд заработать себе на чашечку чая с сырным бутербродом.

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

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

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

Будущее у нас примерно одинаково смотрится. Вот только будет определённый стандарт, где будут клепать дома панельные, и будет 10 компаний, которые делают авторские таунхаусы или ещё что (я в архитектуре не сильно разбираюсь).
Тут вопрос, как вы сказали, о панельных домах и таунхаусах. Конечно для программирования простых вещей / сборки из готовых блоков + конфигурирования большого таланта не нужно, но стоит чуть усложнить задачу и такая потребность появляется. Программист, как архитектор, должен держать в голове множество взаимоисключающих вещей и балансровать ими. Это и производительность, и работа в многопоточной среде, и время разработки, и модифицируемость решений, и сами бизнес-процессы. Более того хороший программист не просто реализует задачу, а старается её понять и по-возможности улучшить/оптимизировать, а значит взаимодействовать с бизнес-аналитиком и/или заказчиком. Никакой алгоритм не скажет вам: «а давайте тут поле со статусом добавим, да историю будем в лог писать, а то не сможем потом пользователям ничего доказать». Умение предвидеть проблемы и предлагать нестандартные решения — это то, чему ещё ИИ долго не научится, а значит за нашу работу не стоит переживать…
Умение предвидеть проблемы — это опыт, его может получить любой верстальщик. Нестандартные решения — это уже конечно да, прямо профессионализм, хотя, нет. Этим наделён не опытный человек, который просто не знает стандартных подходов.

Нашу работу уже начинают давать даже не ИИ, а каким-то системам. Наша работа уже заключается в том, что мы вывод одной библиотеки передаём на ввод другой. Это вполне можно сделать и в граф интерфейсе. Так что не надо обольщаться, мы ничего сверхестественного не делаем. Мы просто пишем алгоритмы, и уже даже можем не разбираться что именно делает та или иная функция внутри, мы её просто используем. Я даже больше скажу, разбираться во всём, что там происходит реально невозможно, потому что не нужно. Чтобы показать сообщение или закинуть в бд новую запись не нужно иметь высшего образования, достаточно знать библиотеку.

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

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

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

Интересно — делать что-то новое, чего раньше не делал. Работодателю не выгодно давать реальную работу человеку без опыта.

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

И да, если ты обычно на jq формочки «лабаешь», то тебе будет неимоверно интересно сделать текстовую rpg на плюсах. Но…

Да просто и потребностей в решении интересных задач не так уж много. Компаний вроде Space X или Apple можно по пальцам пересчитать, и желающие там работать в очередь выстраиваются. Остальным приходится программировать системы учёта продаж туалетной бумаги и подобные "интересные" задачи.

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

Это примерно как Go: вроде как даже попал в топ-10, а попробуй ты найди работу, если ты не в США и не в ЕС.

«Не в США и не в ЕС» — это достаточно жесткое условие. Практически весь технологически развитый мир выкинули, кроме азиатских стран. Кстати, в Китае Go тоже популярен, AFAIK.
Судя по вашему комментарию вы предполагаете, что программисты умрут, верстальщики останутся? Я так не думаю.

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

Насчёт высшего образования — да, оно действительно не особо важно для программистов. Потому что ни один из ВУЗов не учит Angular-у и React-у. Обучение идёт на устаревших языках и подходах. Другое дело, что там дают полезную теорию и учат изучать новое самому. Но с другой стороны 6 месяцев стажировки в какой-либо крупной софтвейной компании могут дать больше, чем 4 года университета.

По поводу нестандартных решений — вы подменяете понятия. Одевать трусы через голову — это тоже нестандартное решение, но под нестандартным я подразумеваю изменение процесса с целью облегчения его выполнения, повышения производительности или понижения стоимости.
Простой пример: недавно проектирование взаимодействие с внешней системой и появилась необходимость в сервисе синхронизации. Изначально идея была в том, чтобы выставить сервисы для доступа внутренних клиентов, но в ходе обсужения пришли к тому, что сервисы не нужны, а достаточно брать данные напрямую из БД. Опуская технические детали, делающие данное решение не таким очевидным, скажу, что одно подобное решение сэкономит 5-10 дней разработки и упростит конфигурацию. Сможет ли ИИ делать такие предложения?!

И про 10 компаний я не согласен. Всегда будут стартапы, которые будут хотеть сделать что-то уникальное. Инновации, это не удел гигантов вроде Эппла или Гугла, а как-раз наоборот…

Короче не дождётесь вы смерти нашей профессии, а если будет плохо, то мы найдём выход… мыжпрограммисты…
Вы наверное тоже меня не поняли, я не говорил, что программисты умрут, наоборот, количество так называемых codemonkey на всё количество уменьшится, и уменьшится оно именно из-за того, что будет 10 компаний (я, если что утрирую, что их количество относительно сегодняшнего будет примерно такое).

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

Давайте вспомним, что самый эффективный подход — подход, который видится незнакомому человеку со стороны. В вашем случае тоже самое, может быть. Мне вспоминается всегда картинка про квадратные колёса у тележки. Все новенькие, которые не имеют опыта всегда предлагают самое дубовое и рабочее решение. Вопрос в том, что сейчас люди делают на фреймворках, чтобы СТАНДАРТНЫЕ решения было легче понять человеку, пришедшему в проект с нуля, чем объяснять ему нестандартное.

Эти 10 компаний никогда инновации делать и не будут, а вот вкладываться туда они будут, потому что это прибыльно. Не просто так гугль выкупает стартапы. У них есть капитал, а у людей есть идеи. Всё просто. И если человек захочет иметь стабильные денежки в кошельке за достаточно стандартную работу, то он будет тупо перется в эти 10 компаний, а если человек захочет иметь денежки и при этом делать что-то своё, то он пойдёт в те же 10 компаний, но уже с понтами и дипломом. А если человек просто хочет реализовать эту идеи и при этом чутка денежек поднять, то да, он пойдёт в стартап.
Это да…

В теме На пути к Go 2 я пытался пояснить различия между семантикой и структурой, а меня, похоже, так и не поняли.

Зато я получил ссылку на мозговыносительную рекомендацию по использованию интерфейсов:

...Go interfaces generally belong in the package that uses values of the interface type, not the package that implements those values...

заставляет задуматься о компетентности разработчиков на Go.
А что именно здесь не так? Как по мне то не только в Go интерфейс должен пренадлежать к тому пакету кому он нужен
Там же я это и пояснял, причем с картинками.

Процитирую:

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

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

В этом случае смысл интерфейса стремится к нулю...

А что не так? Попробуйте посмотреть на интерфейс как на контракт или протокол, на котором говорит потребитель. Потребителю его и публиковать. (Ну да, если несколько потребителей поддерживают этот протокол, вы его публикуете в отдельном пакете, но это всё ещё контракт потребителя.) Это прямо-таки by the book.

А что не так?

То, что вы описали — все так.
Дополню. Go-разработчик, увидев рекомендацию о "...Go interfaces generally belong in the package that uses values of the interface type..." возьмет и размножит декларацию интерфейса во всех местах (пакетах), где он ему понадобится.

Как вам такой поворот событий?

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

Хм, а вы, решив, что интерфейс принадлежит реализации

Что значит интерфейс принадлежит реализации? Интерфейс — это спецификация. Согласно этой спецификации можно использовать объект, либо согласно спецификации создать объект-реализацию.

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

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


Вообще, если вы считаете некомпетентными разработчиков на Го (вот ведь, правда, начитаются книг про dependency inversion и размещают интерфейсы рядом с пользователями а не реализациями), то страшно подумать, что вы думаете о разработчиках на JS, Python, Ruby, вот этом всём. :) Го при компиляции всё равно проверит соответствие спецификации (вас не это смущает, кстати? отсутствие 'implements' где-то в реализации?), а у этих, с duck typing, и вовсе проверка в рантайме наступает, в недрах кода, когда у обьекта внезапно не оказывается нужной функции на борту. Некомпетентны от рождения?

… а у этих, с duck typing, и вовсе проверка в рантайме наступает, в недрах кода, когда у обьекта внезапно не оказывается нужной функции на борту. Некомпетентны от рождения?.

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

К чему это сказано? Канон — это интерфейсы, а разработчики на JS/Python/Ruby от него отступают? Хм, вы лихо определили, что есть канон в разработке, а что нет… Ну и в своей правоте вы уверены настолько, что даже не комментируете ни ссылку к вики, ни отсыл к Clean Architecture который вам ниже привели. Я не настаиваю, конечно, да в комментариях к этой статье обсуждать всё это оффтопик, но вы очень категорично судите о других разработчиках, а своё мнение подкрепляете только оценочными "извращение", "смысл стремится к нулю" и прочими.


Мне кажется, что у вас к интерфейсам в Го две претензии, которые вы смешиваете — первая, что они обычно лежат в пакете, который их использует (эта претензия мне непонятна — или вы ярый сторонник размещать абстракции исключительно в своих, отдельных пакетах — что можно, но не всегда нужно — или вы хотите размещать их в пакетах с реализациями, и тогда вам придётся завязывать потребителей на пакеты с реализациями, что мне вообще непонятно), и вторая, что конкретно в Го реализации не должны явно указывать, что они реализуют (этот ход мыслей мне понятен, но всё же спросите себя, так ли вам нужно видеть ...implements MyPrettyListener в исходнике — и учтите при этом, что и проверка времени компиляции, и вся документация о том, кто что реализует, у вас всё равно остаётся — те же godoc или oracle покажут это вам и скормят информацию IDE для навигации, подсказок и intellisense).


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

… не комментируете ни ссылку к вики...

Могу прокомментировать, что я описал то, что в статье относится к:
...A more flexible solution extracts the abstract components into an independent set of packages/libraries...

А в первом варианте реализации DI (по ссылке в Wiki) упомянутый Go-программист упорно не видит, что есть связь между high-level и low-level components, потому что нет явного implements.

… и вторая, что конкретно в Го реализации не должны явно указывать, что они реализуют (этот ход мыслей мне понятен, но всё же спросите себя, так ли вам нужно видеть ...implements MyPrettyListener в исходнике...

Именно так. Да, мне хочется это видеть, что бы иметь представление о намерении разработчика, что бы иметь хороший инструмент рефакторинга и не иметь «false positive» ошибок срабатывания в IDE при поиске реализации интерфейсов.

Что плохого в желании иметь больший порядок в коде?
Кстати, по поводу первой реализации в wiki-статье прямо упомянуто:

...In this version of DIP, the lower layer component's dependency on the interfaces/abstracts in the higher-level layers makes re-utilization of the lower layer components difficult...
… и еще дополню по поводу мозговыносительной рекомендации, что в том виде, в котором она приведена мне от нее виден только вред как минимум по двум причинам:

1) если смотреть на нее, как на вариант реализации DI, то «re-utilization of the lower layer components is difficult»;

2) без ясного пояснения причин, без понимания логических связей и без указания ссылок на её (рекомендации) намерения очень легко неправильно понять и наклонировать интерфейсов во всех местах, где используется один вариант реализации. И свойства языка Go не препятствуют этому.

Мне кажется, я теперь лучше понимаю вашу точку зрения, но я её не разделяю. Учтите, что:


  • Вынося все интерфейсы в отдельные пакеты, вы умножаете их количество, и обычно без надобности. Размещать их вместе с потребителем логично всегда, а в отдельном пакете — только когда вы планируете повторно использовать реализации (lower layer components) ещё где-то (и вынос интерфейса в отдельный пакет в случае необходимости — это обычно очень простой рефакторинг). Если вы всегда делаете отдельный пакет, вы напрасно усложняете свой проект и плодите лишние сущности, это overengineering.
  • В случае конкретно Go весь инструментарий (и средства парсинга языка, прямо в его собственной библиотеке) официально идут из коробки. Его парсер, в отличие от того же C++, не rocket science, поэтому у вас есть инструменты и нет ложных срабатываний.
  • Вся информация о логических связях, о том, кто что реализует, у вас уже в коде. Разница только в том, смотрите ли вы на implements или на информацию в своей IDE. (Да что там — с тем же oracle/guru можно сделать так, что прямо в окне с кодом выноской будет надёжно отображаться, какие интерфейсы реализует тип, просто в файле этого не будет.) Я не вижу, почему это такая фундаментальная разница. Разработчики на языках с duck typing живут даже без этого, и делают вполне крупные проекты (и новые IDE в этом помогают даже без возможностей Go).

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


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

Разница только в том, смотрите ли вы на implements или на информацию в своей IDE.

Ну это похоже на «сначала создаем себе трудности, потом их героически преодолеваем».

но это не причина считать, что все остальные некомпетентны

Так если начинают спорить по «очевидным вещам», что еще думать? Одно дело понимать и признавать, что есть проблема/последствия. Другое дело упорно не хотеть это видеть.

Представим, что вы забрали интерфейс из модуля-потребителя и перенесли в модуль-производитель. Теперь модуль-потребитель не может существовать без модуля-производителя. У модуля-потребителя появилась ещё одна зависимость, без которой никуда. Где здесь выгода?


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

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

Например, когда сначала создается реализация, а под нее уже потом пишется интерфейс.

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

Вы можете сделать любой интерфейс. Когда хотите. До появления реализации. После появления. Не важно.

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

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

Поэтому и придумали SOLID, а «Когда хотите» не рекомендуют.
По ссылке написано, что интерфейс — это спецификация поведения объекта.

Спецификация пишется до реализации, а не после. И не спецификация зависит от реализации, а реализация от спецификации.

Это простая вещь, но почему-то многие ее не могут осознать.

См. так же: Контрактное программирование.
UFO just landed and posted this here
Так это же классика из Clean Architecture или Ports and Adapters.

По-моему, это здесь не причем, потому что под интерфейсом здесь понимается не User Interface (UI), а Protocol.
UFO just landed and posted this here
UFO just landed and posted this here
Кроме комментария выше, так же упомяну мнение Go-разработчика(ов) из упоминаемого топика.

Якобы, в Go можно разделить интерфейс и реализацию, а, например, в Java-нет:

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

По-моему, каша у них в голове на этот счет.
UFO just landed and posted this here
И мне это понятно, в C# или Java нам нужно «импортировать» библиотеку/пакет который объявляет «интерфейс», а в Go не нужно.

«Они» думают, что если не нужно «объявлять интерфейс», то и сущности получаются несвязанными. Хотя логическая связь никуда не девается и должна упоминаться в документации.
UFO just landed and posted this here
И это формальное отсутствие связи дает языку дополнительную гибкость
Пожалуйста, расскажите про это подробнее или приведите ссылки на материалы. Давно думаю Go изучить, и этот момент смущает.
UFO just landed and posted this here
Да, хайповость в IT отрасли уже переваливает за все разумные пределы, полностью поддерживаю.
Плохо только, что именно хайповость приводит к пузырям. Доткомы как раз, к слову.

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


Или с другой стороны: человек покупает дорогой фотоаппарат и начинает считать, что это сделало его отличным фотографом. Покупает дорогое авто и считает, что это автоматически сделало его гонщиком.


Люди, которые не разбираются в чем-то, бросаются на громкие слова. Допустим, кто-то хочет сделать интернет-магазин плюшевых мишек. 20 лет назад этот человек написал бы в объявлении, что нужна обязательно команда со знанием Oracle и Java (потому что каталог из 15 разных плюшевых мишек никакая база кроме Oracle не потянет, а Java — просто панацея). 10 лет назад было бы объявление со словами "MongoDB и C#", например. Сейчас будет Javascript/React. А что еще может сказать человек, который ничего не понимает в том, как устроены и делаются подобные проекты?.. Все равно будет повторять то, что на слуху.

человек покупает дорогой фотоаппарат и начинает считать, что это сделало его отличным фотографом

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

Другими словами, метода кота Базилио: пока вокруг хватает дураков, сам себя хвали и живи на волне хайпа.

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


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


Про феномен инстаграма молчу.

Одну мою фотографию, сделанную на цифромыльницу 2004 года выпуска (представьте себе качество), публиковали в крупном размере в «Русском Newsweek».
Фотография — это не только красота рисунка объектива. Хотя и она тоже, сейчас снимаю на L-ки и доволен как слон
Вы знаете, вы как раз и подтвердили мой тезис. Я видел много «знатоков», обвешанных суперкамерами, которые не снимали ровным счетом ничего, и видел профи, которые на сломанный пленочный аппарат с ужасным объективом снимал шедевры.
И хуже всего то, что первые из моего перечисления, не имея в голове таланта и ловкости снять нужный кадр в нужном месте в нужное время, вышли на рынок профессиональной съемки, и втирают доверчивым клиентам, что они-то — профи из профи!
На рынке свадебных фото очень заметно. На рынке рекламного фото меньше, там есть еще кто-то, кто кадры отбирает, и кто лажу не возьмет в тираж, а вот «счастливые» «молодые» сплошь и рядом хвастают перед друзьями альбомами — «вот, у нас на свадьбе был суперфотограф, как его, Вася Пупкин, чем крут — не знаю, но фотоаппарат у него большой, черный и дорогой!», при то что кадры отвратительные.
Да вы и сами можете зайти на фотосайты, и пооценивать фото, не глядя на информацию об оборудовании. Сильно удивитесь, думаю.
(картинка для мема «тебе не нужно»)
тебе не нужно делать следующих доработок своего кода — если каждый раз писать на новом фреймворке

(а, с учётом скорости их появления — ИМХО именно это и будет нормой будущего ;) )
UFO just landed and posted this here
ответом на вытеснение работников на надомную работу

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

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

Не станет. Хайп происходит абсолютно во всех отраслях, просто в IT он более заметнее, потому что войти в отрасль можно с минимальными инвестициями, если сравнивать, например с космической отраслью. Это отлично видно на примере Илона Маска, например.


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

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

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

Этих ребят хватает везде, так как трейнинги, конференции и прочие штуки — это отличный корм для них. Но это просто общественный тренд, не особо привязанный к IT.


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

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

В том числе и в генную инженерию и давно. У меня есть книга по программным алгоритмам в генетике начала двух тысячных что ли. На русском даже :)
в IT он более заметнее
потому как мы общаемся в IT-сообществе.
Какое-нибудь сообщество нотариусов или рабочий коллектив городской больницы №3 вряд ли серьёзно относится к этим вопросам.
любитель путешествий и кодинга из-под пальм элементарно работает 20 часов в неделю вместо 30-40

Любимое заблуждение, только не модных программистов, а старых добрых квадратно-гнездовых директоров. Главное не сколько времени программист проводит на работе, а что он за это время успевает сделать. Причём важно не только сколько но и как.
Если ты за 20 часов сделал столько и так, то за 40 часов ты сделаешь вдыое больше, прикинь.

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

В неделе вообще-то целых 168 часов, а они тут про каких-то 40!

UFO just landed and posted this here
вспомнилось из комментариев на хабре, «чтобы корова была эффективнее в четыре раза, её надо в два раза чаще доить и в два раза реже кормить»
Отличная статья. Побольше бы таких статей! Пусть молодые программисты вместо изучения модных фреймворков, методологий, участии в Open Source сообществе будут просто сосредотачиваться на результате. В таком случае мы, ленивые программисты, не будем чувствовать себя неконкурентоспособно.
Останутся те компании, которые будут зарабатывать на продукте и его обслуживании, а не на росте курса акций или даже просто на обещании хоть что-то сделать

И вообще — будущее прекрасно.
Резюме — статья состоит из:
— труизмы: 20%
— критика новых модных заблуждений: 20%
— критика того, чего автор не понимает: 10%
— восхваление старых добрых заблуждений: 10%
— неизбежность грядущего коммунизма: 40%
Почти любое высказывание попадает под Ваше определение, в том числе и Ваше собственное
Пожалуйста, соизмеряйте свои возможности написать что-то колкое и интересное со своим желанием это сделать
Прошу прощения, я не хотел никого обидеть. Я не сразу заметил, что вы — действительно коммунист.

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


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


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

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

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

Где же, по-вашему, заложен
реальный успех
?
Наверное, не стоит обвинять их в неумности.

Ошибка выжевшего в данном случае.

Тут вопрос не в уме инвесторов. Люди с большими деньгами, как правило, и так умные.
Вопрос в устройстве системе. Период пузырения на любом рынке — время, когда покупают задорого, чтобы очень скоро продать ещё дороже. Серьёзные инвесторы своё получат.
А вот люди, поверившие в чудо-соковыжималку, на круг потеряли 400 млн, да

По моему скромному опыту, люди с большими деньгами наглые больше чем умные.

Да, количество денег у человека зависит от его наглости и жадности, а не от ума.
У меня самый отсталый троечник из класса сейчас самый богатый, на Х6 ездит :)
Но под умом тут имелось ввиду достигать поставленных целей.
UFO just landed and posted this here
У меня самый отсталый троечник из класса сейчас самый богатый, на Х6 ездит :)

Это называется не ум, а социальные навыки = добиться того, чтобы за тебя всё делали умные люди: "когда мне нужно что-то узнать, то я нахожу человека умней себя, и спрашиваю" © громила Марв "Город Грехов"

Не поверите, до вашего комментария я считал, что я чуть ли не единственный кто видит положительную корреляцию с деньгами в основном лишь в наглости и щепотке везения. А не в безграничном трудолюбии и уме.
Странно, я таких людей как вы вижу вокруг сотнями.
> Между «новый, стильный, прикольный» и «эффективный, разумный, достойный» нет прямой связи.
С добрым утром и добро пожаловать в наш дивный мир, где еда начинает лучше продаваться, если повесить на неё шильдик «без ГМО», а основатель компании, производящей космическую технику, просит сделать скафандр, который будет выглядеть круто.
> Исчезнет необузданная потребность членов сообщества встречаться на митапах, конференциях, хакатонах и кэмпах.
Разве обмен опытом между специалистами это что-то плохое? В других областях ничего подобного не происходит?
> Вдруг окажется, что без человека, владеющего серьёзным, проверенным временем инструментарием разработки, трудно поддерживать существующую, уже достаточно богатую инфраструктуру отрасли. Выяснится, что новые подходы, решения, разработанные внутри компании, как правило, дают больший реальный эффект, чем модные решения извне.
Но вы же сами себе противоречите, ведь проверенный временем инструментарий разработки это и есть модные решения извне.
> качество кода компании не зависит от пятничной пиццы и настольного хоккея в офисе, ровно как и от командировок лучших сотрудников в Долину
Качество кода не зависит от обучения и морали сотрудников?
> Станет неважным лейбл на корпусе ноутбука
А вот удачные инженерные решения владельцев этого лейбла не станут.
> и умение держать себя на презентациях.
Видимо в прекрасном IT будущего не нужно будет продавать результаты своей работы?
> давно назревшие вопросы (ожирение сайтов)
Здесь нет никакой проблемы. Никому не станет лучше, если сайты вдруг станут весить в 10 раз меньше.
Так же и во всей статье. Сначала выдумывается куча несуществующих проблем, потом делается вывод, что раз проблем так много, то это пузырь и он скоро лопнет. Но на самом деле эти «прблемы» являются нормальным состоянием индустрии.
а основатель компании, производящей космическую технику, просит сделать скафандр, который будет выглядеть круто.

Что в этом плохого?
Ну это ведь не ко мне вопрос, а к автору поста.
Наверное то, что обычно скафандр создают для надёжного решения определённых задач, а не для того, чтобы он _круто выглядел_. Тому кто его будет использовать, важнее удобство и надёжность, а не чтобы он круто выглядел.
В том-то и дело, что время первопроходцев в этом месте давно закончилось, технологии отработаны, никаких особых неожиданностей не должно быть. Плюс полётный скафандр — это совсем не то, что лунный или для выхода в открытый космос. Тут можно и красоты добавить. А следуя вашей логике, дизайн вообще не нужен нигде.
Это, может быть в области создания просто скафандра для реальной работы они уже закончились. А в создании Футуристичного скафандра из фантастики — они только начинаются! ;-)

Разве одно другому мешает? Маск же не просил сделать круто выглядящий скафандр в ущерб надёжности и удобству. Эти два критерия и так есть и неотменяемы.

Есть такая формула, что надо выбрать 2 из 3. :-)
А в любой инженерной задаче разные требования противоречат друг другу, или взаимоисключающие. И чтобы сделать его крутым, наверняка дали по голове инженерам, которые его разрабатывали, и вычеркнули всё нужное, как тот выступ, чтобы почесать нос на боку шлема, но некрасивое, или то, что не понравилось маркетологам.
Про скафандры на Луне есть у автор Томаса Т. Томаса в соавторстве с Желязны… наверное, их тоже разрабатывали для крутого вида… там ещё и про экономию было. Капиталисты же, хоть и на Луне.
Все эти «законы 2 из 3», «правило 80%» и прочие — лишь фольклор, и когда их считают чем-то вроде законов природы — это не признак большого ума.
Спасибо на добром слове.
Ресурсы и их распределение — вы тоже отрицаете? Что или мы на красоту тратим, или на надёжность.
Красота и надёжность — это не жидкость, которую можно перелить из одного сосуда в другой. Нередко более надёжное решение оказывается более красивым.
Вообще, не надо подменять понятия. Красота — это не то же самое, что «сделайте мне зашибись, чтобы все офигели». Про красоту Маск же не говорил? Круто сделайте, как в кино. Я так понял цитату.
То, как поняли фразу вы — исключительно ваша проблема.
То есть, он что-то другое имел в виду? Хотя, куда я со своим небольшим умом лезу, да…
Не заметил, чтобы он где-то сказал «сделайте круто за счет надежности».
Есть такая формула, что надо выбрать 2 из 3. :-)

Это не формула, это маркетологическая отмазка.
Формула совсем другая — некрасивый самолёт не полетит.


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

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


или то, что не понравилось маркетологам

А тут всё просто. Скафандр будет принимать НАСА. Им будет пофиг на маркетологию.

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

Более того, я думаю у Маска работают инженеры, которые этим горят и с удовольствием решили взяться за задачу «создать sci-fi-ный костюм»
Учитывая, сколько он им платит, они точно горят
Ну, это не ко мне претензия, не я его сформулировал.
С самолётом — это из другой оперы, во-первых. Красота подразумевалась особая, понятная конструкторам, скорее всего. И красота — это ни разу не «хочу чтобы было круто!», футуристично и чтобы на зрителей ТВ и блокбастеров производило впечатление.
Я не инженер вообще, и не конструктор скафандров. А те инженеры, что будут его создавать — не из коммунизма прибыли к Маску, они подумают, что им важнее, кормить семью и выполнять распоряжения, или быть очень принципиальными.
А разве он для НАСА создаётся? Он же для катания на орбиту туристов вроде… В любом случае, всё может ещё заглохнуть, весь проект Маска. Не все его всерьёз воспринимают.
Вопрос бы — чего в этом плохого. На него я и ответил. Что может в таком подходе не нравиться. А предсказание «что будет» — так это тут никто не Кассандра.
Мне кажется вы лукавите.

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

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

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

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

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


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

Не надо искажать. Говорится наоборот совсем! «Ладно скроен, крепко сшит».
Практика и есть единственный критерий истины! И не важно чтобы было некрасиво, если речь о бытовом приборе в СССР. Как могли, так и делали. Просто установка была сделать максимально долговечно и ремонтропригодно.
А не чтобы получить максимальную прибыль в короткой перспективе.
И про Маска речь зашла вовсе не потому что он за красивое, а потому что вау-эффект использовать хочет, и не понимает, что приоритеты должны быть другие совсем! Когда речь идёт о космосе.
Насчет долговечности в СССР это вы пошутили :) Установка, может, и была. Но в жизни долговечность была на троечку. В том числе поэтому и развивали ремонтопригодность.
А не чтобы получить максимальную прибыль в короткой перспективе.

Насчет прибыли — то у кого-как. У Айфона — поверю (вот у кого вау-эффект выражен на 200%). Остальные фактически подбирают объедки, максимально минимизируя издержки, в том числе и за счет снижения ремонтопригодности.
А у Маска какой там вау эффект по прибыли? Если почти все проекты в минусах или около того, некоторые (тесла) — больше десяти лет. Если это еще и не подпитывать хайпом, красотой и изяществом — то вообще всё зачахнет и изойдет на нет.
indicator.ru/article/2017/01/27/elon-musk-and-trump
Я про космос и оборону говорил. Вы свои представления о бытовой технике не переносите на космос. Всё было нормально в этих областях!
Та же станция МИР свой ресурс переработала. Или ракеты, которые потом пускали для тестов — все в цель летели нормально!
Я вот и говорю, Маск как и его фанаты по бытовой технике мыслят. В серьёзных областях не понимают. Что проектирование айфона и проектирование космической станции — сильно разные вещи! :-)
И в оборонке тоже были большие косяки. Тот же МиГ-23.
UFO just landed and posted this here
Не следует путать в советской технике «долговечность» и «живучесть». Первой в советской технике никогда не было, уже через короткое время эксплуатации части начинали отваливаться, крошиться и теряться. Другое дело, что большинство советских приборов без этих функций продолжали худо-бедно выполнять своё основное предназначение.
Есть другая информация, пожалуйста. (с)
Речь не о бытовой технике была. Да и вот есть мнение, что если не о миксерах говорить, а о комбайнах сельскохозяйственных, например, то надёжности там было достаточно.
Ага, точно так же. Уж я-то наслышан о «надёжности» советских комбайнов, которые за время уборки могли десять раз серьёзно сломаться.
Ага, поменяют в них одну деталь и дальше годами работают. Что-то у наши машины у Кара-Мурзы было. :-)
Ага, очень приятно на солнцепёке снимать погнувшийся из-за попавшего под ремень камня шкив. А наши машины долго работали потому, что колхозы в 90-е — начале 00-х деньги только на картинке видели. А у кого деньги были, те с удовольствием брали джон-диры и нью-холланды.
Видимо, вы работали комбайнёром и имеете соответствующий опыт. Поэтому я спорить больше не буду. Но при чём тут 90-ые годы??? Я про СССР говорил. Про 50, 60, 70-ые годы!
Начали спорить по теме, в которой не разбираетесь, но можно давить авторитетом, а когда человек оказался знающим, быстро перевели тему. Неплохо, неплохо.
Если это мне, то… гм. Я не лукавил, я и правда думаю, что в настоящее время скафандр, которые будет выглядеть «круто, как в кино» сделать надёжным нельзя. Все существующие скафандры внешне громоздкие, неудобные и не шибко красивые. Потому что нет материалов, которые сделать бы позволили их красивыми и такими прямо от кутюр. Хотя, их создатели не отказались бы сделать их удобнее, наверное, и красивее.
Про исследователей не надо, потому что я читал «Лезвие бритвы», и сам знаю, что красота — «наивысшая целесообразность». Только к скафандрам это не применимо, не бывает (пока!) их красивых. И лукавят как раз защитники Маска, которые его «сделайте мне круто, как в кино» превращают в требование сделать красиво. Это совсем другое требование! К красоте не имеет никакого отношения, это раз. Я не имею ничего против красоты скафандра, это два. Просто такое требование Маска показывает уровень его мышления, что не инженер он, не создатель, а коммерсант, маркетолог, который даже скафандр хочет разрабатывать так, чтобы хипстеры и прочие гики сказали «Вау, это круто!». Скорее всего, он и не планирует, что результат кто-то будет использовать на практике когда-нибудь, то есть — в космосе. Ему важно его как приманку использовать. Кажется, это сейчас называют хайпом, то что ему нужно получить.
В своё время Стив Джобс требовал невозможного от своих работников. Закончилось весьма успешно. Требовать невозможного — это хорошая практика, единственная, позволяющая выходить за рамки.
Ещё раз, во-первых вы путаете полётный скафандр и скафандры для работы в открытом космосе/на поверхности других планет. Полётный скафандр нужен лишь для подстраховки на случай разгерметизации кабины, потому не требует громоздкой теплоизоляции, яркой белой поверхности для отражения палящих солнечных лучей, громоздких баллонов с кислородом и газом для манёвровых двигателей. А во-вторых, задачи «сделать красиво» просто не ставилось, зато наверняка имелся штат государственных контролёров, которым поставлена задача не допустить растраты лишней копеечки. И увидев красивый скафандр, они начнут задавать вопросы «а сколько это стоило? А может быть есть возможность сделать дешевле?», потому проще сделать нарочно страшный на вид костюм, чтобы избежать лишних вопросов.
Вы думаете, что полётный скафандр не должен ни от чего защищать? От излучений и частиц, например. Даже если предположить, что требумые функции намного меньше, и он не рассчитан на длительную работу системы жизнеобеспечения… Надёжность всё равно нужна.
Но, если подумать, и представить, что он всё же по назначению будет использован в критической ситуации, то всё это тоже не факт, и от него не пять минут потребуются, а должна будет работать сжо весь полёт до станции или Земли. Не говоря уже о том, чтобы держать одну атмосферу. Вдруг придётся переходить из корабля в корабль, например, или на станцию без шлюза.
Не получается чисто декоративного скафандра, всё равно.
Про контролёров не понял. Вы фантазируете, якобы в СССР кто-то сказал — давайте сделаем некрасивый скафандр, чтобы нас потом не спросили? Какую-то экономию придумали. Факты можете в доказательство привести?
Мне вот кажется, что в СССР в области космоса вообще никакой экономии не было, только требования надёжности. Потому что военные руководили процессом.
А зачем полётному скафандру защищать от излучений, если пилот всё время находится внутри корабля?
Вы фантазируете, якобы в СССР кто-то сказал

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

А это не про советские скафандры разве было?!

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

++

Ну вот, ответ специалиста на ваше "сделаем красивее" практически. мрачно

обычно скафандр создают для надёжного решения определённых задач, а не для того, чтобы он круто выглядел

Только мне Apple вспомнился?

Разве обмен опытом между специалистами это что-то плохое? В других областях ничего подобного не происходит?

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

Вопрос в разумности внедрения. «Теперь все делают на Y» отличается от «для этой задачи, исходя из практики и документации, больше подходит Y»
Сначала выдумывается куча несуществующих проблем, потом делается вывод, что раз проблем так много, то это пузырь и он скоро лопнет.
Абсолютно нет. Пузырь — это состояние рынка, он оценивается в объективных показателях: скорость роста акций, приток инвестиций, оценка компаний / генерируемая прибыль и так далее.
Вопрос в разумности внедрения
«Теперь все делают на Y», как правило, означает, что сейчас и в ближайшем будущем вам будет гораздо легче найти специалиста по Y, чем по тому, что у вас было раньше. Учитывая, что большая часть расходов в IT — ФОТ, получается, что в подавляющем большинстве случаев нужно выбирать именно модные технологии. Просто потому, что с их использованием получится дешевле и быстрее решить задачу.
С одной стороны, да, работодатель имеет тот рынок труда, который уже сложился.
С другой, иногда получается технологии ради технологий. Простые лэндинги с одной формочкой на Angular 2 и прочие infinite scroll, от которых все до смерти устали, но которые не выходят из моды

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


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

И платить им бешеные суммы
Достаточно большой — да. Больше, чем по модным технологиям — нет. Собственно, на то они и модные. И совершенно неочевидно, с чего это по «немодным» технологиям высок процент суперпрофессионалов.
Так что, при выборе между, скажем, C++ и Java для разработки десктопного приложения (представим на секунду, что у нас только такой выбор и нет больше информации о приложении) стоит выбрать Java — там спеца найти дешевле и быстрее.

И с этой точки зрения переход на новые технологии только потому, что они модные, не выглядит странным. Конечно, в конкретной ситуации могут быть и другие плюсы и минусы, но, по крайней мере, выбор технологии потому, что «все так делают» — это не дикий бред.
Ну вот я как-то не увидел в статье объективных показателей. Зато раздувание проблем из ничего — увидел.
Можно было бы раздуть статью и вкорячить биржевую статистику, с графиками и диаграммами. Но дать развёрнутую картину экономического состояния отрасли не было целью данной статьи. Я ссылаюсь на это положение как вполне очевидное
Только вот дело в том, что оно таковым не является. Да и даже если бы оно было очевидным, непонятно как оно связано со всеми теми вещами, которые вы назвали проблемами. Сейчас статья выглядит как: «Сейчас плохо, потому что есть много плохих вещей. Когда станет хорошо, плохих вещей не будет».
Ну, значит, вы так прочли статью. Я не имел ввиду, что «всё плохо». Попробовал зафиксировать очевидные тенденции
Которые необоснованно назвали негативными и так же необоснованно сказали, что в светлом будущем их не будет.
Мир диалектически меняется. Переход от одной крайности в другую — просто вопрос времени. Мне думается, одной крайности мы уже как отрасль достигли
Ух как всё в точку! Хочу такую или похожую статью на английском, чтоб поделиться.
А в других областях лучше? Бытовая техника, которая ломается тут же после окончания гарантийного срока (думаю все понятно почему так делают) — это нормально? Телефоны за тысячу $, которые через год уже считаются «устаревшими» — это нормально?

Мы живем при капитализме — больше прибыли, за как можно более короткий срок. А как эти прибыли получены — отходит на второй план.
UFO just landed and posted this here
Ну не всё так просто, как вы говорите. Вот у меня LG с ещё 4ой версией андроида и которому уже лет 5 наверно. Не хочу его менять, но скоро 4ый андроид перестанет поддерживаться и некоторые приложения не него не встанут. Плюс приложения становятся гигантскими по размеру и тупо нехватает памяти. То же случилось с XP или с MacOS X — сейчас компьютеры с этими ОС просто бесполезны, т.к. на них даже современный браузер не поставишь, если поставишь, то будет ужасно тормозить…

Я к тому, что даже при условии того, что техника работает и вполне устраивает по характеристикам, она морально устаревает из-за того, что делают несовместимыми программную часть — притом умышленно. На Андроид 2.1 сейчас даже маркет не работает…
UFO just landed and posted this here
Как-раз таки под капотом между XP и 10кой не так уж и много различий и я почти уверен, что тот-же .Net Framework последней версии легко бы там запустился, если бы не ограничения в инсталляторе. А раз фреймворк запустился-бы, то и всё что под ним написано — тоже.
В данном случае «поддерживать» — не совсем подходящий термин. Т.к. компания может поддерживать (т.е. выпускать патчи и тестировать) Windows 7 и новее, но не ограничивать запуск приложений на более ранних версиях. Ну опять-же это очень индивидуально. К примеру поддерживать старые браузеры (особенно ИЕ) я бы не стал ни за какие деньги… Но поддерживать старую ОС — это совсем другое…
UFO just landed and posted this here
Кажется, ваш второй абзац противоречит первому. Если работает и устраивает по характеристикам, то менять незачем, а если половина приложений не встаёт из-за отсутствия новых фич и малого объема памяти, то стоит поменять, ибо это «не работает»

Зачем вам тогда новые приложения, если "всё работает и устраивает"? Работайте с приложениями пятилетней давности. Физически возможность использования телефона вам никто не закрывал.

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

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

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

Этот "Капитал" для некоторых стал чем-то вроде религиозного текста — с его помощью у них получается объяснить абсолютно любое явление.

Эти «законы термодинамики» для некоторых стали чем-то вроде религиозного текста — с их помощью получается объяснить абсолютно любое явление в термодинамических системах.
Во-первых, не любое, во-вторых — в рамках термодинамики, в-третьих, законы термодинамики держатся на несколько более серьёзном фундаменте.
Ну так и «Капитал» не претендует на объяснение «абсолютно любых явлений». Но «произвоственные силы» и «производственные отношения» он объясняет довольно годно. О чем мы здесь и дискутируем.
Психоанализ Фрейда тоже много чего «объясняет».
UFO just landed and posted this here

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

Зарплаты девелоперов (по-больше токарей немного) + аренда оффисов + сервера (затраты могут быть приличными, одними ноутбуками не обойдешься).
UFO just landed and posted this here
К слову — как раз благодаря программистам в том числе многое из перечисленного может постепенно за не надобностью либо уйти либо существенно сократиться. Интернет-торговля шагает по планете + полностью автоматизированные магазины.
UFO just landed and posted this here
В результате неизвестно где еще прибыль выше. Совсем не факт, что это будет Microsoft.
UFO just landed and posted this here
Инструменты в IT тоже небесплатные далеко. А упираюсь потому, что из своего кармана за всё это плачу и постоянно :) Покупаются лицухи и себе и своим работникам. Поэтому как бы в курсе 'немного'. PHP — далеко не единственный язык. И даже он — далеко не бесплатный в некоторых реализациях инструментов для него.
Именно поэтому пхпшник может заниматься ерундой, изучать новые фреймворки и посещать конференции. А таксист не может.

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

Очень спорное утверждение.
UFO just landed and posted this here
Есть люди которые могут и любят много учиться и работать готовой, а есть те для которых это дикая мука, которые учебу люто ненавидят и которым легче надрываться физически чем насиловать свой мозг, который учится не хочет — нельзя сравнивать разные типы работы не учитывая особенности человека.
Чем приходить на конференцию, где нечего делать, кроме как тупить в мобилу да пить кофе с пироженками, я лучше пойду поработаю. Или пойду домой, своими делами займусь.
Ну и поехать на симпозиум тоже таксист бы не отказался. :-)
Ну так и автомобиль такой дорогой, лишь потому что там много труда людей. Сам метал в нём не то чтобы впечатляюще стоит.
Итого получаем что вся разница между ИТ и другими сферами лишь в маржинальности (спрос пока больше предложения) и количестве ступеней производства (две-три условно).
Программисты на Cobol всегда будут востребованы!
Статья в целом правильная, но есть некоторые моменты, которые я не разделяю.
Во-первых программирование ещё долго останется инновационным и никуда новые технологии и митапы не денутся. Если сравнивать с сотовыми телефонами, то мы прошли этап «кирпичей с антеннами» и сейчас прмерно в середине 2000х, когда выпускались разные телефоны всех размеров и форм с неплохим функционалом, но с проблемой выбора между недостатками и достоинствами, дизайном и функциональностью. Но рано или поздно появится свой IPhone в среде разработки, а все остальные начнут ему подражать. И в результате индустрия прийдёт к чему-то стандартному, как чёрный квадрат современного смартфона. А инновации будут в увеличении производительности и мелких доработках в неочень-то нужных штук.
Позволю с вами не согласиться по поводу того, что внутреннее решение лучше, чем библиотека от Гугла/фейсбука. Во-первых тот самый талантливый программист может уволиться или погибнуть, а вы потеряете возможность доработки и улучшения функционала. Поэтому библиотеки, поддерживаемые сообществом всегда лучше. Опять-же для внутренней библиотеки не посмотришь решения на stackoverflow, а для сторонней — всегда пожалуйста.

По себе заметил, что с возрастом и опытом пришёл к тому, что сейчас я не кидаюсь изучать каждый новый фреймворк и технологию, пока не увижу большого потенциала и выигрыша от её использования. (например полностью пропустил AngularJS). Сейчас вот начал изучать Vue.js, потому что в отличии от Angular/React вижу в ней потенциал (Простота + необходимая мне функциональность). С другой стороны я боюсь остаться в отцепленном вагоне и программировать под устаревшими технологиями и платформами. Так что программирование — это всегда баланс между развитием и здравым смыслом.
Единственная проблема — это HR-ы, которым нужны непременно люди с 5 годами опыта в технологии, которой всего 2 года. Но эта проблема решаемая…
UFO just landed and posted this here
Ну а так как я в IT, то вижу просто миллион задач.
Задач, которые, зачастую, никто нормально не решает. Либо вам предлагают комплекс за несоизмеримо большую сумму, с маркетинговыми программными ограничениями, либо фуфло, либо вообще ничего адекватного на рынке нет.
Интересно было бы посчитать, сколько стартапов отбили инвестиции, а сколько нет.
По-моему, такая статистика есть, можно нагуглить. Насколько я помню, тут модель «10 мимо, зато 11-й окупает всё и позволяет заработать ещё»
Я тоже где-то встречал цифры 2-3 из 10. То есть, эти 2-3 возвращают потери от остальных. Поэтому, смешно читать отзывы людей из не взлетевших стартапов, типа вот они на деньги дураков инвесторов накупили офис, маки, бмв, а потом не смогли. Это не их заслуга, а суровая статистика и реальность, с расчетом на которую живут инвесторы.
Тут наверное вопрос в том, сколько стартапов смогли заработать деньги, чтобы отбить инвестиции.
Возможно эти 2-3 взлетевших стартапа просто приносят деньги за счет перепродажи следующим инвесторам, а не за счет собственной прибыльности
Точное описание происходящего сейчас на рынке информ. технологий.
Но, тот же Маркс, раз уж вы советуете зачитать Капитал :) был сторонником не описательного, а деятельного подхода: «Философы лишь различным образом объясняли мир, но дело заключается в том, чтобы изменить его». А даже указывал — кто это будет делать, какая группа в обществе. Можете развить идеи Маркса и сказать — кто будет следующим субъектом, меняющим «идеологическую панораму эпохи» :)

Кстати Маркс тоже любил коворкинги, митапы и стартапы по философии тех времён, судя по биографии :)

Тогда это было все жестче и с последствиями (см. эммиграция в Лондон) для Маркса и его семьи.

Да и сейчас хипстеров в некоторых странах за репосты и лайки сажают.

Маркс говорил о тех, кто создает прибавленную стоимость продукту.
Не думаю что в сути что то поменялось.
Это да. К примеру, место тех, кто в 19 веке создавал прибавочную стоимость на заводах сейчас заняли роботы. Хорошо, есть те, кто управляет роботами. НО 8-ми часовой рабочий день, отпуска итд. Что будет сплачивать эту массу (и масса ли это?) и осознавать свои классовые интересы?
Маркс не актуализировал способ создания стоимости.
Либо вы производите стоимость либо присваиваете произведенную другими — как то так было у него.
Частенько происходит типичная выдача желаемого за действительное


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

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

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

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

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

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

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

Напоминает статью про дичайшую востребованность телеграфистов 100 лет назад и про последующие сдвиги в отрасли, которые произошли с течением времени (с развитием техники)

Ну, посмотрим, что у Сбертеха выйдет. Они активно внедряют автоматическое написание кода и деградацию (или апгрейд) роли разработчика до Универсального Юнита
UFO just landed and posted this here
Ссылки нет, но я оттуда ушёл в конце июня. Как-раз начиналось массовое внедрение
UFO just landed and posted this here
Какой-то американский, но подробностей не помню
Работа программиств довольно сложно формализуемая, по сравнению со многими другими, поэтому будет автоматизирована позже многих других профессий.
Хм, она будет полностью автоматизированна последней из профессий в истории биологического человечества
Настолько позже, что полностью никогда.
Это фундаментальное такое ограничение, невозможно написать программу, которая напишет все остальные ))
Это не совсем верно. То есть теорема такая существует и она верная, если применять её к строгим алгоритмам с гарантированным результатом. Но это не отменяет возможность существования эвристики решающую задачу с некоей вероятностью, произвольно близкой к единице. Вопрос затрат времени
Нее.
Ограничение фундаментальное. По мощности множеств. Программа по написанию других программм может создать в пределе (в смысле итого) только счетное множество других программ.
Можно занумеровать все создаваемые программмы, но тогда неясно, какой номер у этой самой метапрограммы, если конечно предположить ее наличие. Вот как то так.
Вам не надо решать все задачи, вам надо решить множество задач, с которым в состоянии справиться человек. Который тоже конечный автомат
все равно не понятно. вот у меня есть программа, которая генерирует все возможные последовательности байт. некоторые из этих последовательностей являются исходными кодами программ. (проверять мы это будем например компилятором, главное чтобы он работал за конченое время, нам же не важно чтобы программы были корректными, завершимими и т.п.). программ будет счетное количество, с нумерацией все очевидно. эта программа очевидно в какой-то момент сгенерирует собственный исходный код, и у нее будет соответствующий номер.
Лектор из меня никакой, да и лекцию эту слушал лет сорок назад.
Идея такая, допустим, что алгоритмов(формализованных как то) счетное количество. Т.е. мы их можем занумеровать ( если конструктивистская парадигма, то строится процедура нумерации) и тогда очень интересный вопрос о номере функции которая при входе Х дает результат вычисления функции с номером Х ( мы же их занумеровали) на аргументе тоже Х, но из результата вычитается 1 или отрицание результата или еще как искажает.
Так вот у этой функции не может быть номера. Т.е. предположение о том, что дискретных функций счетное количество приводит к противоречию.
Так что робот роботов это ложная конструкция. Существенно, фундаментально ложная.
Как то так.
Это противоречие легко снимается ограничением допустимой сложности рассматриваемых алгоритмов конечной величиной. Нам не интересны алгоритмы работающие бесконечное время или бесконечной длинны. Кроме того — в теореме рассматриваются только детерминированные процессы, а не вероятностные. Смотрите определение понятия алгоритм. В реальную систему нам позволено включать источник случайного шума, который делает систему недетерминированной. У меня большая часть программ именно такая.
Да и кстати применимость бесконечной рекурсии к алгоритмам пишущим алгоритмы, не совсем правомерно. Это примерно как утверждения " натуральное число, следующее за тем которое может быть заданно не более чем 16 словами русского языка"
Без мю оператора получим множество примитивно рекурсивных функций эквивалентное множеству конечных автоматов. Их счетное количество, если мне память не изменяет и их можно все занумеровать и перечислить.
и все равно не понял. вот есть у меня генератор, который выдает исходные тексты. по порядку постепенно увеличивая количество байт. получу счетное количество исходных текстов программ. номер = челочисленному представлению исходного текста. тогда исходная ф-ция имеет код примерно равный «eval(convert_to_source_code(X),args=X)-1», в предположении что eval берет и исполняет исходный код байтового представления X с аргументом (не знаю куда он их там запихнет, но пусть будут в argv) в виде целочисленного значения X. номер этого исходника посчитать вроде как не проблема, взять из байтового представления получить число — это и будет номер. проблемой будет если мы захотим нумеровать не все исходники, а только корректные — тогда нужно будет каждый раз перебрать по порядку все возможные исходники и найти нужный, но это делается за конечное время
Ну раз уж про иксы, то есть пример наглядней.
Рассмотрим множество алгебраических уравнений, т.е. смесь x,y,z и т.д. с коэффициентами и в разных степенях и далее плюс или минус.
Вот такое не очень сложное давно известное множество. И Вам поручают написать программу, которая получив на входе запись алгебраического уравнения, т.е. последовательность x,y,z и др в разных степенях и с разными коэффициентами, выдает ответ о наличии решения в целых числах. Не само решение, только ответ о возможности его найти или невозможности.
Простая вроде задача, но решали ее 70 лет и ответ, увы, Вас разочарует.
Такой алгоритм невозможен, а ведь простая задача и для каждого конкретного случая до сих пор решения находили люди.
не существует алгоритма — это не то же самое, что нельзя сделать программу, которая реализует алгоритмы для всех программ, у которых алгоритм вообще возможно реализовать. давайте эту задачу перефразируем в «сказать одно из трех: есть решение в целых числах, нет решения в целых числах, или неизвестно». и вот уже задача сразу имеет тривиальное решение — всегда отвечать неизвестно, но точность будет плохая. можно ли точность сделать лучше? да, наверное в ряде случаев можно.
В данном случае алгоритм и программа это тоже самое.
Нет алгоритма и нет программы. Множество легальных, законных алгоритмов/программ несчетно, его невозможно перечислить ни в каком порядке. Никакой алгоритм/программа перечисляющий правильные, легальные программы/алгоритмы невозможен. Его наличие приводит к противоречию. А вот человеку (так уж он устроен) нет необходимости действовать пошагово. Алгоритм действующий на конечных объектах с конечными операциями эквивалентен в этом смысле любому другому объекту также дискретно оперирующему дискретными объектами. Поэтому можно называть по любому — алгоритм, программа, множество, машина Тьюринга и т.д, — в плане сложности эти объекты эквивалентны. А вот человек у нас не дискретен и никто еще не доказал обратного.
Поэтому никогда не заменит человека робот/программа/алгоритм/машина и т.п. в части написания других программ, алгоритмов и т.п и уж тем более )) других людей.
множество алгоритвов, для которых можно написать исходник — счетно (ибо сам текст исходника и будет номером алгоритма). зачем рассматривать какие-то другие классы алгоритмов, если для них исходный код не написать?
Да нет же.
Возьмите и занумеруйте все исходники ( если их счетно ) и тогда скажите мне номер исходника, который на входе Х запускает исходник с номером Х, к результату прибавляет 1 и выдает как результат.
И у этого исходника, вполне правильно составленного, нет и не может быть номера.
я привел пример выше с eval'ом. этот исходник сделает именно то что вы хотите. у него есть байтовое представление — значит есть номер (из байтового представления переведите в число)
ну, или если этот пример почему-то не корректный — то объясните почему именно
Ну так у него самого не может быть номера.
Сам он на своем номере должен дать с одной стороны что то, а с другой это что то +1.
Т.е. запускаете свой пример на его же номере. И получится противоречие.
Плохой я лектор.
Если интересны проблемы разрешимости, то посмотрите как решали 10 проблему Гильберта. Гильберт был уверен, что поиск алгоритма для разрешения диофантоввх уравнений дело пары лет. Но только через 70 лет Матиясевич поставил точку — нет и не может быть такого алгоритма. Но это не исключает того, что для каждого конкретного диофантового уравнения люди найдут такой критерий. Для уравнения Ферма нашли же.
сам он на своем номере очевидно зациклится, что в целом есть нормальное поведение для алгоритмов
если мы захотим работать только с завершимыми алгоритмами — то такого алгоритма скорее всего не будет существовать. но невозможность существования алгоритма вроде бы не делает мощность множества всех алгоритмов больше счетной
Не факт, что программам вообще нужен алгоритм. Тем же нейронкам алгоритм не нужен вообще, однако они вполне работают, и чем дальше — тем лучше.
Уточните пожалуйста смысл слова «нейтронка».

Не "нейтронка", от слова "нейтрон", а "нейронка", от "нейронная сеть".

Так как же нейронным сетям не нужен алгоритм?
За их дедушку, «симплекс метод», Канторович получил нобелевскую премию по экономике, к слову.
Если на входе вектор, а на выходе число, то это однозначно и непоколебимо умножение входного вектора на вектор преобразования.
Так подбор вектора преобразования и есть алгоритм обучения сети, а само умножение векторов и есть алгоритм работы сети.
Реализация может быть сложной и заковыристой, с притопами, прихлопами, цветными бумажками и их подругами, но суть! не меняется.
Как же тут без алгоритмов то.
«а ведь простая задача и для каждого конкретного случая до сих пор решения находили люди» — Тут пропущено доказательство что для любых исходных значений люди могут это решить.

«и вот уже задача сразу имеет тривиальное решение — всегда отвечать неизвестно,»
Можно и точнее. Перебор с ограничением времени.
Например через час одно из двух:
1 Вот решение X=A Y=B Z=C
2 Ну не смогла я :(
Средний человек поступит также.
Пожалуйста, расскажите подробнее про это «фундаментальное ограничение». Мне не очевидно, что оно истинно. Особенно в свете существования проекта по физическому моделированию работы мозга человека
Это просто сейчас так людей опустили :). На самом деле это фундаментальное ограничение к людям тоже относится. Мы ограниченны
В таком случае это ограничение не имеет никакого отношения к вопросу замены человека-программиста программой.
Именно так.Я тоже так думаю. Это часто встречающееся заблуждение, приводить принципиальную неразрешимость, как аргумент невозможности создать ИИ уровня человека. Чукче не нужно бежать быстрее медведя, ему нужно бежать быстрее геолога
Ответил выше. Ограничение фундаментальное.
Робот всех роботов не может быть построен.
Прочитал — действительно, построить программу, которая напишет любую программу, невозможно.
Но тогда и человек любую программу написать не может, так что эта (безусловно интересная) теорема не имеет отношения к вопросу замены человека программой.
Слишком сильное утвержение насчет людей. Это нужно сначала формализовать, потом доказать.
В приведенной теореме лишь доказательство несчетности множества алгоритмов, но нет никакого доказательства, что из несчетного множемтва алгоритмов человек не сможет выбрать свой любимый алгоритм.
Действительно, чтобы быть прямо на 100% увереным, нужно формализовать, потом доказать.
Тем не менее, я более или менее уверен, что при достаточном количестве вычислительных мощностей можно чисто физически эмулировать работу человеческого мозга, что делает поведение человека всего лишь сложным алгоритмом. Если это действительно так, то разницы между программистом-человеком и достаточно продвинутой программистом-программой нет.

Да, здесь я использую не до конца очевидное предположение алгоритмизуемости человеческого сознания, но предлагаю не спорить об этом — так можно очень глубоко уйти в оффтоп, и я сомневаюсь, что один из нас сможет другого переубедить.
Согласен. Голосовать по этому вопросу бессмысленно.
Если предположить алгоритмируемость человеческого сознания то действительно, чего не попытаться.
Но лучше всё таки доказать.
Если считать сознание алгоритмическим, но наверно нужен алгоритм это доказывающий, увы, но теория не может быть внутренне противоречивой.
А ИИ, который заменит человека? :-)
Это смотря что называть ИИ.
Некоторых можно заменить калькулятором. ))
Полноценный ИИ, который способен думать, чувствовать, иметь эмоции и вообще, развиваться интеллектуально и как личность. :-)
На самом деле, уже сейчас на это нет фундаментальных ограничений, лишь методолгоические. Чтобы сделать ИИ, копирующий человека, он должен обучаться и жить в человеческом обществе как полноценный его член. Плюс иметь некоторые фишки человеческого организма — чувствовать усталость, боль, испытывать эмоции (нужно придумать, чем эмулировать воздействие различных гормонов). И после того, как ИИ разовьётся в аналог взрослого человека, его потребуется разобрать и ставить опыты в надежде определить, какая именно его часть отвечает за ту или иную часть человеческого интеллекта.
То-то пока даже как мозг готовый работает даже и близко не поняли. А вы говорите, что можно искусственный создать. А элементная база? Из чего его создавать? По каким принципам?
Нейросети? Нет, не слышал.
И сколько они нейронов мозга уже могут смоделировать? Сотню? В мозге их миллиарды. Если не триллионы. Вроде бы, даже число пока не известно точно, только оценки…
А я вот видел новость, там что-то было про полное моделирование про мозг крысы, кажется. Да и то, одну секунду моделировали, кажется. Или даже не весь мозг…
Нейроны ИНС имеют только одну общую черту с биологическими: название.
Т.е. софт тот же, а железо новое?
Ну и что б как у людей
К слову, «гвалт» с белорусского можно перевести как «насилие». Так что «хайп и гвалт» интригует.
www.skarnik.by/tsbm/16998

Браво. Из Долины всё именно так и видится… Хотя уже есть определённые признаки грядущего слома парадигмы, и бизнес-модель имени бОльшего дурака начинает потихоньку сбоить.


Со своей стороны могу только поприветствовать.

Непонятна эмоциональность в экономике. Обычные процессы для нового рынка.

Да, индустрия активно развивается. Есть возможность построить огромные компании очень быстро по меркам других индустрий. Именно по этому идут инвестиции. Сейчас много экспериментов, нужен быстрый поиск продуктов и их развитие. Базовые технологии (прежде всего Hardware и Open Source) так же активно развиваются. Это обуславливает определенные требования к кадрам. Желаемые кадры в дефиците, поэтому предлагаются различные плюшки в конкурентной борьбе за сотрудников. Например, если настольный футбол позволит нанять хотя бы одного инженера выше среднего, то он сразу же окупается.

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

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

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

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

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

А вообще неожиданно глубокая статья. Автору спасибо.

Статья о развитии IT отрасли, о том какие специалисты и технологии будут востребованы в будущем. Говорит, что будет рыночные спад всей отрасли, отток капитала и будут выбирать не модные технологии, но проверенные и соответственно таких же специалистов. Не берусь утверждать, что это верно, но написано правдоподобно. Что же тогда? Видимо, либо уходить в что-то другое (космос, биология, др.?), либо становиться тем "крепким IT-профессионалом" (привычки тренировать и в те компании идти?).

Скажу то, что сейчас 4:20, и после прочтения этой статьи, я даже не знаю что написать :)

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

Годно, но грустно. Я все таки думаю, что что конференции, митапы и прочее должно остаться и останется. Ведь только от туда можно узнать что-то интересное и новое. Ведь там бывалые программисты рассказывают, как надо работать и как не надо
Превосходная статья, но не забывайте, что всё ещё есть люди, которые просто работают.
Я потратил 20 лет своей жизни чтобы досконально изучить С++ и устройство ОС, а эти щенки, хипстеры делают почти все тоже самое за меньшие деньги на своем богомерзком go! Нет чтобы как я изучать старый, добрый, проверенный временем С++. Жили без всяких ваших хипстерскпих go нормально, и дальше могли бы жить. А теперь приходится соревноваться с этими щенками.
Так-то c++17 ОЧЕНЬ сильно отличается от «старого, доброго, проверенного временем c++».
«На первый взгляд кажется абсурдом?...» Это как раз таки легко объясняется. Увидев успешного человека(компанию), другие копируют какую-то отдельную его привычку или качество, в надежде, что это является ключом к его успеху. Люди хотят волшебную таблетку, простую формулу. Никто не хочет услышать ответ, что для достижения этого успеха нужно вкалывать больше других, на протяжении длительного времени.
что для достижения этого успеха нужно вкалывать больше других, на протяжении длительного времени

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

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

За примером ходить далеко не буду. Доктора у нас и за рубежом тратят на обучение равнозначное количество времени, вот только на западе этот трудолюбивый доктор будет иметь оклад в 150$ час, в то время как у нас повезет если 10$.
Да просто надо не просто трудолюбиво что-то делать, а хорошо делать то, что нужно людям, и тогда вас ждет финансовый успех. Как бы я ни был хорош в своем любимом деле (отрывание мухам лапок), кучу денег оно мне не принесет.

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

Да ну?!


укус ядовитой змеи. Американец убирал листья в своём саду, когда его ужалила в ногу змея. Он приехал в больницу, там ему прокапали специальную сыворотку, и он уехал домой. Чтобы через несколько дней обнаружить в почтовом ящике счёт на… 90 тысяч долларов США. Это не единичный случай. Ранее назад аналогичного размера счёт – на 83 тысячи долларов – выставили жительнице Аризоны. За эти деньги ей вкололи одну ампулу противоядия, которое производится в Мексике, и которое стоит в местных аптеках менее 100 долларов США

А по-моему это право выставлять любой абсурдный счёт от балды.
Это как, если бы Вам сначала сантехник почистил бы Ваш унитаз, а затем выставил бы Вам счёт на $100 тысяч, который Вы не могли бы никак опротестовать.

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

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

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

То что он делает действительно нужно и нужно всем. Никому не хочется быть в говне, из-за того, что кто-то труд ассенизатора посчитал "ненужным" и "бесполезным".
Просто он не является незаменимым.
Для сравнения шеф-повар может запросить у элитного ресторана $100 тысяч в год, убедительно продемонстрировав свою работу, и убедив, что обычный повар его заменить не сможет. Ассенизатор же не сможет продемонстрировать свою работу так, чтобы при запрашиваемой сумме в $100 тысяч, ему не нашлось бы более дешёвой равноценной замены.

Зачем платить больше, если куча желающих делать это же самое за копейки?
Платят много когда складываются ДВА фактора:
1) Работа реально нужна
2) Мало тех кто хочет (и при этом может) сделать ее дешевле.
DaneSoul, Idot, Действительно, я не вполне ясно выразился. Я имел в виду нужность не просто конкретного «вида работы» (как класса), а конкретного факта исполнения работы (как экземпляра этого класса).
Да, мне нужно, чтобы кто-нибудь прочистил трубы (или что там ассенизитор делает, не суть важно). Но мне плевать, сделает это этот конкретный человек или кто-то другой, поэтому я не заплачу этому человеку больше, чем другому.
А если все запросят высокую цену (превышающую полезность этого вида работы для меня вообще), то я и вовсе откажусь от этой услуги.
DaneSoul, Согласен с вами. Платят много за работу, требующую высокой квалификации.
И насчет 1 пункта маленькая поправочка. Адаптируя его к нашей экономике, можно прийти к выводу, что работа должна быть нужна именно бизнесменам, а не просто обычным людям или государству(ведь кто-то должен ее делать).
Платят много за работу, требующую высокой квалификации
Строго говоря, нет. Если я научился делать хирургические операции на мухах (что, безусловно, требует очень высокой квалификации), едва ли мне за это много заплатят.

Если найдёте очень специфического заказчика



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


PS элитный шеф-повар, вряд ли найдёт в деревне чудака готового платить ему $100 тысяч в год, но может найти элитный ресторан, готовый платить такие деньги, в крупном и богатом мегаполисе.


Как бы я ни был хорош в своем любимом деле (отрывание мухам лапок), кучу денег оно мне не принесет.

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


«Дерьмо́ худо́жника» (итал. Merda d'artista) — произведение искусства итальянского художника Пьеро Мандзони, представителя концептуализма.
В мае 1961 года Мандзони собрал собственные фекалии в 90 пронумерованных консервных баночек, в каждой из которых содержалось по 30 граммов, написал на них «100%-е натуральное дерьмо художника» на итальянском, английском, французском и немецком и продал их по цене, равной цене золота той же массы. Текущая цена равна примерно 30 500 евро. 23 мая 2007 года один из экземпляров был продан за 124 000 евро на аукционе «Сотбис».

способен и из такого устроить перформанс.

Боюсь, таких заказчиков не получится найти достаточно много, чтобы говорить о хорошем постоянном доходе. Собственно, именно эту трудность я и имею в виду, говоря «никому не нужно»
Из статьи не понятно, умрёт ли Java. Я волнуюсь…
Выражение мыслей автора радует меня как никогда!
Подписываюсь за каждым предложением, ведь интуитивно и мысленно я такого же мнения!
Моё предложение объединятся в группы таким как мы, для создания сверхнового качественного продукта!!!
Я разделяю отношение автора к происходящим в отрасли процессам. Но не могу согласиться с основным выводом. Никакого разворота, скорее всего, не произойдет. Будет фрагментация. Проекты, где ведутся профессиональные процессы разработки без привлечения шальных денег будут обособляться от модных, но бесполезных проектов, где форма превалирует над содержанием. Этот процесс давно можно наблюдать в науке. Есть люди, ведущие научные исследования, а есть люди, продающие циркониевые браслеты, и они между собой практически нигде не пересекаются.

Автор молодец и умница — написал то, что мы (многие) думаем постоянно =) Только есть одно "но": не станет так, как автор пишет. Оно да-а-а-а-а-а-авно уже стало так. =) Иначе бы мы об этом не думали. Вспомните только хайп вокруг всяко-разных систем и подливы из говен вокруг Майкрософт-продукта? Да? А те тихо-мирно пилили свои корявые продукты и впаривали их рынку… P.S> пишу с домашнего компа на котором Вин-7 и это не реклама. Остальное время проводится в других системах и то только потому, что рынок так развернуло. Какбы не рынок я бы оставался БСДшником до сих пор (ремарка юнатаи: БДСМ — в другой ветке обсуждений, мой юный друг)

Articles