LINUX.ORG.RU
Ответ на: комментарий от byko3y

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

Неизменяемые данные это хорошо, спору нет. Но, во-первых, изменять состояние приложения тебе все равно придется, а во-вторых, можно обойтись и без них, если есть Mobx/Redux/Vuex/…, в котором

  • есть единственный источник истины (db/store/you name it)
  • единственно возможный путь изменения данных в нем (его API).

И все. Никто больше не выдергивает незаметно у тебя коврик из-под ног, все ходы записаны.

Да, это ужасное глобальное состояние, которое мы с детства привыкли бояться и ненавидеть. Но и оно уже не то, что было раньше %)

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 2)
Ответ на: комментарий от Nervous

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

Это не каноничный путь — это путь конкретного реакта. Для ответа на твой ответ нужен ответ на вопрос «какое время жизни данных?». Если оно не совпадает ни с одним компонентом, то делается new Vue({ data: { data } }), и далее футболится полученный экземпляр меж компонентов. При этом нет никакого влияния отношений родитель-потомок — связь будет устанавливаться ровно передачей общего объекта. Механизм этой передачи, опять же, зависит от области жизни общего объекта, и в общем случае однозначно это нельзя определить. Например, можно после создания ParentComponent со всей иерархией выковырять Comp1 с Comp2, и прямо запихнуть в них ссылку на общий объект.

С централизованным состоянием: Comp1 -> db -> Comp2. Слишком просто, на мое место наймут студентов, а я пойду работать в яндекс.еду. Надо поднаворотить угара!

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

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

Ага, еще и ссылку на соседа тоже через n уровней передать. Чюдесно. Совсем не пахнет

В Comp2 (получателе)

computed: {
  siblingComponent () {
    let parent = this.$parent;

    while (parent && !parent.isParentComponent) {
      parent = parent.$parent;
    }
    // или
    while (parent && !(parent.$el && parent.$el.classList.contains('parent-class')) {
      parent = parent.$parent;
    }

    return parent && parent.Comp1 ? parent.Comp1 : {};
  }
}

В Comp1 (поставщике)

mounted () {
  let parent = this.$parent;

  while (parent && !parent.isParentComponent) {
    parent = parent.$parent;
  }
  // или
  while (parent && !(parent.$el && parent.$el.classList.contains('parent-class')) {
    parent = parent.$parent;
  }

  if (parent) Vue.set(parent, 'Comp1', this);
}

Всё. Comp2 обновится при регистрации Comp1, после чего подпишется на поля Comp1 и будет получать обновления уже об их значениях. Если нужно настраиваемый родительский компонент, то его класс/поле/функцию отбора можно прописать через свойство. В Polymers (который близок по духу к Vue) для подобных целей есть уже встроенная система доступа по относительным путям.

byko3y ★★★★
()
Ответ на: комментарий от bread

что жизнь проходит, а я так в баззвордах ни в зуб ногой

Как за три ответа скатить собственный тред. Реакт сам по себе тебе нужен не будет.

Princesska ★★★★
()
Ответ на: комментарий от bread

Reason опять решили нескучно перегородить, и всё сломали. Надо подождать где-то с полгодика, пока доклепают.

Princesska ★★★★
()
Ответ на: комментарий от Nervous

есть единственный источник истины (db/store/you name it)

А что делать, если истины больше одной?

единственно возможный путь изменения данных в нем (его API)

Проблема, которую почти удалось решить во Vue — чо делать, если данные изменяет код сторонней либы? Переписывать либу/создавать временный объект для вызова/писать прокладку для трансляции? С другой стороны, это и награда, и проклятие — таки отслеживание большого числа ссылок жрет ресурсы. Потому Polymers и Svelte отказались от идеи и отслеживают только внутренние изменения. Тем не менее, внутрение изменения в Polymers, Svelte, Vue записываются естественным образом, например:

https://polymer-library.polymer-project.org/3.0/docs/first-element/step-4

class IconToggle extends PolymerElement {
  ...
  toggle() {
    this.pressed = !this.pressed;
  }

А теперь сравни с тем, какие пляски нужны для React.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

while (parent && !parent.isParentComponent) { parent = parent.$parent; }

$el.classList.contains

Люблю запах jquery-лапши по утрам, с капелькой безысходности (нет).

Да я не против, можно и так делать. May it do ya fine. Но мне кажется, что есть способ лучше.

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 1)
Ответ на: комментарий от byko3y

какие пляски нужны для React

Лишь бы от плясок была польза, превышающая затраты.

Я, кстати, не говорил, что конкретным Redux легко пользоваться %)

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 1)
Ответ на: комментарий от byko3y

что делать, если истины больше одной

Привести разношерстные истины к одному знаменателю и поместить результат в централизованное хранилище %)

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 1)
Ответ на: комментарий от Princesska

Как за три ответа скатить собственный тред

Не скатить, а оживить. Еще могу анекдот рассказать.

bread
() автор топика
Ответ на: комментарий от Nervous

Привести разношерстные истины к одному знаменателю и поместить результат в централизованное хранилище

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

byko3y ★★★★
()
Ответ на: комментарий от byko3y

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

bread
() автор топика
Ответ на: комментарий от byko3y

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

Ну так модуль и не знает, откуда в хранилище приходит список видео с котиками. Он только знает, как запросить его у хранилища. Независимо от того, где этот модуль там находится, на какой странице, с песиками или зайчиками.

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 3)
Ответ на: комментарий от byko3y

Насчет svelte, я его щупал уже раньше. Ну хеловорлд допустим нормально смотрится. Но это же маргинальщина. Кто его вообще знает? И что с ним будет через пару лет? Может помрет, а может будет бешено накручивать версии как ангуляр. С тех пор как я смотрел его, там уже вроде все переделали. Вот эта ловля блох нафиг не нужна.

bread
() автор топика
Ответ на: комментарий от bread

особо сложной гуйни в вебе не наблюдается.

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

Nervous ★★★★★
()
Ответ на: комментарий от Nervous

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

bread
() автор топика
Последнее исправление: bread (всего исправлений: 1)
Ответ на: комментарий от bread

Ага, как и в любом приложении.

Ну вот за этим и нужны фреймворки:

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

в вебе какой-то сильный перекос в сторону View

Есть такое ощущение, да.

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 1)

Всё что угодно только не ректал и ангулар. От упоминания последнего люди начинают креститься.

ritsufag ★★★★★
()
Ответ на: комментарий от bread

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

Ты сейчас довольно точно передал суть фриланса. На реакте и не только. Реакт для фейсбука был довольно оправданным решением, потому что система, действительно, сложная, но совсем другая ситуация — когда господин Монмохан Нарендра Натх продает себя на топтале за 60$ в час как React architect, мол «я чо, хуже фейсбука, что ли?». В итоге он берет проект, который можно сдать за две недели, городит за два месяца систему, которая реализует половину требований ТЗ, а потом еще полгода кормит завтраками, и в конце-концов через эти полгода сдает систему с 90% требований из ТЗ. Это большая часть фриланса так работает, по крайней мере на более-менее продолжительных проектах — просто лох заказчик все равно не сможет определить квалификацию исполнителя, а «тот, которого я нашел — ну он же уже половину сделал, там мелочь осталась, а новый исполнитель все равно кучу времени потратит на переделывание».

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)
Ответ на: комментарий от Nervous

Ну так модуль и не знает, откуда в хранилище приходит список видео с котиками. Он только знает, как запросить его у хранилища. Независимо от того, где этот модуль там находится, на какой странице, с песиками или зайчиками

А, ну это другое дело. Если можно сделать локальное хранилище и от него отталкиваться в некой части системы — это круто. Какой фреймворк/либа умеет так делать?

byko3y ★★★★
()
Ответ на: комментарий от bread

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

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

С тех пор как я смотрел его, там уже вроде все переделали

На мой взгляд — к лучшему. Vue слизал свои компоненты с Ractive.js, предшественника Svelte, и сам Svelte в первых двух версиях был таким (убогим). Настоящий Svelte стал Svelte с третей версией, которая вышла совсем недавно (2019) — это та, у которой API без API. Собственно, это причина вкладываться во фреймворк — через годик-другой, если он взлетит, тебя оторвут с руками.

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

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)
Ответ на: комментарий от Nervous

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

Пользователь нажал кнопку — запросили данные с сервера — отобразили эти данные в браузере. Суть большинства сайтов. А метрику пусть гугл собирает.

валидации данных

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

byko3y ★★★★
()
Ответ на: комментарий от bread

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

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

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

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

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)

Вебня? Ненужно, и год тут не при чем.

t184256 ★★★★★
()
Ответ на: комментарий от byko3y

Какой фреймворк/либа умеет так делать?

Примерно любой %)

Nervous ★★★★★
()
Ответ на: комментарий от byko3y

Пользователь нажал кнопку — запросили данные с сервера — отобразили эти данные в браузере

Предоставили интерфейсы для обработки этих данных так, сяк и еще вот так.

Nervous ★★★★★
()
Ответ на: комментарий от byko3y

Если пользователь что-то вводит, то нужно позволять ему вводить что угодно

Спасибо, посмеялся. А данные от сторонних сервисов тоже валидировать не нужно?

Nervous ★★★★★
()
Ответ на: комментарий от ixrws

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

cobold ★★★★★
()
Ответ на: комментарий от cobold

Тут как всегда на помощь приходит движение с обоих сторон. Во многих обзорах новых маков на arm люди справедливо отмечают, что неплохо бы иметь сенсорный экран. Логично, что его добавят и через пару поколений девайсов разнца между ipad и macbook air и macbook pro будет только визуальной и наличии или отсутствии корпуса, клавы и аксессуаров. Подобно тому, как многие автопроизводители рассматривают вариант продажи машин с полным пакетом опций, но они заблокированны, пока не оплачены, зато разблокировать легко и быстро, не покупая новое авто.

Ну и конечно потихоньку и вёрстка подтянентся и соотношение сторон ноутов тоже поменяется. Скажем раньше 4/3 соотношение считалось оптимальным для работы по целому ряду параметров, но ничего, поменяли же в угоду кинематографическому подходу. С другой стороны вертикальные видосы с мобилок теперь и на youtube есть, и ничего.

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

ixrws ★★★
()
Ответ на: комментарий от ixrws

Во многих обзорах новых маков на arm люди справедливо отмечают, что неплохо бы иметь сенсорный экран. Логично, что его добавят и через пару поколений девайсов разнца между ipad и macbook air и macbook pro будет только визуальной и наличии или отсутствии корпуса, клавы и аксессуаров

Нет. Сосискотыкательный ввод несостоятелен и уйдет на свалку истории, когда в него наиграются. Он значительно проигрывает по скорости ввода мышке и клаве даже на простых задачах ввода, вроде «press X to win», а про сложные лучше вообще не вспоминать.

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

У многих вполне себе серьёзных банков теперь интернет банк такой, что без слёз в нём работать нельзя

Это общий процесс скатывания IT в говно, который с одной стороны вызван появлением всё более некомпетентных людей на управляющих и исполнительных позициях (тех, которые до этого просто боялись и избегали компьютеров), и который отягощен длящимся последние 12 лет вялотекущим экономическим кризисом с периодическими обострениями. Хотя, конечно, значительную роль в этом процессе отыгрывает снижение компетенции пользователей, которые даже не понимают, чем пользуются.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

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

Также речь не про эффективность. Речь про том, что таковы тенденции. Потому что вкладывают деньги и очевидно это от того, что те кто вкладывает деньги сейчас настолько тупы, что их нельзя сравнивать даже с их родителями, а уж сравнивать их компетенцию с инвесторами 60-70 годов совершенно нельзя, это как с другой планеты. Приведу пример: у нас сейчас есть парочка проектов для буржуев на очень очень новомодном говне типа .net Blazor Wasm. Так заказчик вбухивает бабло, а на совещаниях с инвесторами ловит овации. И это при том, что разработка в человеко-часах обходится в 4-6 раз дороже, чем аналогичное на том же react или любом другом более-менее адекватном фреймворке или даже без фреймворка. Всё это было известно заранее, мы озвучивали проблемы и ценники. Но это насрать, потому что инвесторам всё окей, они very exicted. И увы так теперь везде. А плохо то, что лет 15-20 назад они добрались до банковской системы и если так продолжится, то в скором времени обычные переводы денег и платежи будут работать с ошибками.

ixrws ★★★
()
Ответ на: комментарий от ixrws

Из-за экономии и постоянного стремления «оптимизировать» процессы разработки мы уже почти вплотную приблизились к тому, что топовые продукты делают полтора землекопа, которые ещё вчера мыли посуду, и плохо мыли

Лучше бы подсказал, чем заняться талантливому программисту, которому неинтересно работать погонщиком у землекопов. Как бы я сам готов ныть подобным образом, но тогда возникает вопрос «если ты так крут — то почему же...». Или, может, рыночек прав, и хорошие программисты не нужны? Старичкам пора на пенсию?

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

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

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Всё что могу посоветовать, просто продолжать работать. Иногда приходится делать говно, но платят же. Иногда попадаются проекты интересные. Ориентироваться прежде всего на выгоду для себя с точки зрения денег, организации труда и интереса к проекту. Рыночку без разницы, ему нужно дёшево. Если рыночек сможет найти инженера баз данных за 500$, он наймёт его. Другое дело что не найдёт и придётся таки позвонить старичку и выложить денег. Но старичок должен тоже похлопатать, потому что рыночек отупел и может не найти старичка просто, ибо ослеп уже руководящий состав и отупел.

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

ixrws ★★★
()
Последнее исправление: ixrws (всего исправлений: 1)
Ответ на: комментарий от bread

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

Через 10 лет он всё станет легаси. А так на нем успели наклепать туеву хучу приложений, поэтому умрет он точно не скоро.

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 2)
Ответ на: комментарий от byko3y

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

Запилить стартап? Как опция - сменить профессию, заняться тем, что интересно (исследовательские области, искусство и прочее творчество).

Как бы я сам готов ныть подобным образом, но тогда возникает вопрос «если ты так крут — то почему же...». Или, может, рыночек прав, и хорошие программисты не нужны? Старичкам пора на пенсию?

Рынок не эффективен, но не оптимален. Почему ты считаешь, что хорошие программисты «ненужны» и почему ты себя (вероятно) к ним причисляешь?

alienclaster ★★★
()
Ответ на: комментарий от ixrws

Всё что могу посоветовать, просто продолжать работать. Иногда приходится делать говно, но платят же

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

Рыночку без разницы, ему нужно дёшево

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

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

В итоге всё упирается в то, что «рыночек» просто не может найти эффективных исполнителей, причем, существование Oracle, IBM, SAP с запредельными ценами на услуги говорит о том, что так было уже давно и это не какой-то новый процесс. Даже тот же Microsoft оказывает консалтинговые услуги, потому что есть огромное количество ничего не соображающий в IT менеджеров. А кто соображает? Microsoft — вот он нам разработку и организует. По абсолютно дикому ценнику, естественно.

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

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

byko3y ★★★★
()
Ответ на: комментарий от byko3y

В итоге всё упирается в то, что «рыночек» просто не может найти эффективных исполнителей

А что конкретно тебя волнует? Ну, допустим «все плохо» ... и что? «Не может» - это твое конкурентное преимущество: ты можешь сделать все «более правильно» и вытеснить с рынка (сегмента) плохой менеджмент, не-экологичные продажи, подбор слабых технарей - «сломать систему» короче.

alienclaster ★★★
()
Ответ на: комментарий от alienclaster

Запилить стартап? Как опция - сменить профессию, заняться тем, что интересно (исследовательские области, искусство и прочее творчество)

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

По поводу собственного проекта в IT — сейчас пилю свою либу под питон, авось взлетит.

Почему ты считаешь, что хорошие программисты «ненужны»

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

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

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

хорошие программисты «ненужны» и почему ты себя (вероятно) к ним причисляешь?

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

Достаточно?

byko3y ★★★★
()
Ответ на: комментарий от alienclaster

«Не может» - это твое конкурентное преимущество: ты можешь сделать все «более правильно» и вытеснить с рынка (сегмента) плохой менеджмент, не-экологичные продажи, подбор слабых технарей - «сломать систему» короче

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

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

PS: и ты забываешь, что проекты с отвратительной технической реализацией снова и снова побеждают: Jira, Docker, MySQL — это из того, что с ходу вспомнилось. Я даже не строю иллюзии по поводу того, что уметь продать нынче в IT намного важнее, чем уметь сделать — ну вот не умею я продавать, хоть убей.

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 3)
Ответ на: комментарий от byko3y

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

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

ixrws ★★★
()
Ответ на: комментарий от ixrws

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

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

cobold ★★★★★
()
Ответ на: комментарий от alienclaster

Рынок не эффективен, но не оптимален

Какой ужос

Там опечатка. Эффективен, но не оптимален. Ужоса в этом не вижу, наоборот, скорее, возможности

А, так вот оно что. Тогда разреши не согласиться.

https://ru.wikipedia.org/wiki/Эффективность

«Эффекти́вность (лат. effectivus) — соотношение между достигнутым результатом и использованными ресурсами (ISO 9000:2015)»

Последние лет так 70 цель экономики англосаксонской части мира заключается в том, чтобы потребить наибольшее количество ресурсов, с результатом или без. Иными словами — максимизировать ВВП. Отсюда, очевидно, происходит неэффективность такой экономики. Средний гражданин штатов потребляет примерно как сотня нищих китайцев, а производит труда как один нищий китаец или индус, ну может как два. «Генераторами эффективности» являются крупные корпорации, где работают пару процентов населения, на которые очень много производят и очень мало потребляют. Все остальные же просто дерутся за кормушку.

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

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Почему ты считаешь, что хорошие программисты «ненужны»

Потому что вносят большой риск в проект.

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

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

Найти еще одного хорошего программиста? Или в чем вопрос? 10 плохих программистов не заменят одного хорошего, но им придется в сумме платить зп в 3-5 раз больше, чем одному скиловому.

У них завтра изменятся требования — кто будет вносить изменения в систему?

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

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

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

Но зато у тебя есть гарантии, что реализация будет плохой и медленной.

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

А с хорошим программистом вечно приходится думать «что если наш ключевой спец уйдет?».

Найдем другого.

Причем, даже сам Google из таких соображений выбирает для проектов узкий спектр популярных инструментов

Google это корпорация, там всегда должно быть «так». Для стартапов подобный подход вообще не работает, например.

alienclaster ★★★
()
Ответ на: комментарий от byko3y

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

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

В свое время был активистом, агитировал людей пользоваться линуксом и жабером. Как полный дебил. Вон, посмотри на старожил ЛОР-а — они вовремя сумели монетизировать свое увлечение FOSS.

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

Я умею писать софт и распознавать хороших кодеров — а это маловостребованные навыки нынче.

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

PS: и ты забываешь, что проекты с отвратительной технической реализацией снова и снова побеждают:

Ничего я не забываю. Это абсолютно нормально - называется эволюционный процесс и «лучшее враг хорошего».

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

Продать - это умение *объяснить*, выявить потребности твоего собеседника / клиента и обосновать, почему лучше иметь дело с тобой, а не с кем-то другим. Если ты сам этого не понимаешь, то «продать» себя будет сложно. Может ты просто думаешь, что ты крутой спец, но если ты не можешь этого продемонстрировать на примерах, сам не понимаешь преимуществ - то естественно тебе никто не поверит. А если ты понимаешь, то в чем проблема в этом рассказать в двух словах. Почитай какую-нибудь литературу по продажам, именно по продажам, а не как кому-то что-то впаить.

alienclaster ★★★
()
Ответ на: комментарий от byko3y

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

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

Отсюда, очевидно, происходит неэффективность такой экономики.

Вот мы и пришли к тому, что ты не понимаешь на базовом уровне, как мир вообще работает. И почему капитализм - наиболее эффективная система из всех существующих, что даже доказывает исторический процесс. Да, текущий капитализм не идеален. Но это не минус капитализма, а общества, которое приемлет его извращенные формы - этатизм, вмешательство государства во всех сферы деятельности и низкие морально-этические качества самого общества. Капитализм наоборот, хоть как-то но купирует эти социальные косяки. И чем его больше в экономике - тем лучше для людей, в ней учавствующих. Free software если что, тоже возникло как явление именно в капиталистической экономике. И по-другому быть даже и не могло. Капитализм это не про зарабатывание денег вообще, а про личную свободу в большей степени и какую-то метрику полезность конкретного индивидуума и социосистемы в целом, опирающихся на рациональное (и не рациональное кстати тоже) чувство выгоды в хорошем смысле этого слова - как реализации *собственных* интересов, потому что других у тебя (и у меня) просто нет, если ты конечно не биоробот с промытыми мозгами.

Средний гражданин штатов потребляет примерно как сотня нищих китайцев, а производит труда как один нищий китаец или индус, ну может как два.

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

Самое забавное то, что в 20-е годы в германии и штатах была, в общем-то, та же модель капитализма

Ничего подобного, ты просто не знаешь историю (экономики), 20-е годы в сша были «ревущими двадцатыми», а то что мы имеем сейчас в сша и как современная повестка - это пост (нео) либерализм. То есть не либерализм даже, это имитация с социалистическо-левацкий подтекстом. Конкретно в сша это началось с Рузвельта, как реакция на биржевой крах 1929 года. Реакция, конечно же, неадекватная - расхлебываем до сих пор и конца и края этому не видать.

Я бы все-таки не пытался оценивать экономику по критерию эффективности

Оно и заметно.

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

В этом твоя и основная проблема. hint: эффективность она вообще далеко не только и не столько про экономику, деньги и капитализм. Капитализм - всего лишь относительно неплохое средство в экономической плоскости для ее (эффективности) достижения.

alienclaster ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.