Это в новинку с первой, второй, третьей платформой... Дальше все гораздо проще. О чем выше коллега и говорил. Ну что там принципиально отличается в: COM и gRPC, CORBA и REST API, React и QML, Django и gin? Нет особых отличий. Везде АПИ, везде интерфейсы, клиенты, серверы, и прочее...
Ну да, в первый день знакомишься с основной концепцией, за недельку пишешь свое и смотришь, как принято писать тут, смотришь best practices. Ну какие там рокет сайенс для чувака с 5-10 годами опыта?!?! Да наср пофиг, что джсон, что иксмл, что ямл; какой там бэк и прочее. Именно суть везде плюс-минус одна, и после 5-10 лет опыта ваще ничего нового (за редким исключением) для себя не открываешь. Да, где-то новые трюки и идеи подсматриваешь, но концептуально — ничего нового.
Конечно, я не говорю про какие-то сильно специфические области, типа, RTOS, какие-то хитрые промышленные микроконтроллеры, SIMD...
А вот предметная область... Тут как раз зачастую нужен опыт. Но опять же — зависит от области. Да и то — опытный чел с мозгами легко осилит и новую предметную область, потому что скорее всего читал RFC, спеки, мануалы, знает что важно/что нет, на что в первую очередь обращать внимание и т.д.
Патриот здравого смысла
Re[11]: На жизненном перепутье: куда теперь податься?)
Здравствуйте, уважаемый magnum2005, Вы писали:
M>Скажите, а есть ли для разработки Android-приложений посимпатичнее элементы (виджеты) дефолтных? Хотя бы как во Flutter
Придать эксклюзивный вид приложению для Android можно. Даже в рамках разработки на Java и Kotlin.
Выбор наборов тем и стилей для компонентов очень широкий. Он намного шире, нежели то — что было в VCL (15 лет назад).
Что касается самих компонентов — здесь также есть варианты выбора:
старые библиотеки (android), либо новые: AndroidX.
Да, разработка GUI стала несколько сложнее, по сравнению с Delphi/C++Builder (или же по сравнению с Windows Forms),
но возможности custom-изации стали намного более широкими. То, что GUI делается кропотливой вёрсткой — это цена,
которую приходится платить за более широкие возможности кастомизиации GUI проекта.
Здравствуйте, DiPaolo, Вы писали:
DP>Ну да, в первый день знакомишься с основной концепцией, за недельку пишешь свое...
Чтобы выбросить то, что написал, ещё через недельку
DP>и смотришь, как принято писать тут, смотришь best practices. Ну какие там рокет сайенс для чувака с 5-10 годами опыта?!?!
Ну да, ну да — опыт в написании драйверов OS Windows, вдруг окажется полезным для разработки корпоративной СУБД...
DP>Да наср пофиг, что джсон, что иксмл, что ямл; какой там бэк и прочее. Именно суть везде плюс-минус одна, и после 5-10 лет опыта ваще ничего нового (за редким исключением) для себя не открываешь.
Значит — безнадёжно устарел
Если теперь, когда новые языки и технологии — как грибы после дождя, тебе кажется, что ничего нового нет.
Re[2]: На жизненном перепутье: куда теперь податься?)
Здравствуйте, Ikemefula, Вы писали:
I>В том то и проблема. I>Результат, т.е. цель, может сильно зависеть от твоего понимания платформы.
Под целью я понимаю требования пользователя или требования бизнеса, который выражены в независимой от платформы форме — дальше программист сам разбирается с платформой. Зайти куда-то не в ту степь здесь очень сложно.
Re[6]: На жизненном перепутье: куда теперь податься?)
Здравствуйте, Vladek, Вы писали:
V>Под целью я понимаю требования пользователя или требования бизнеса, который выражены в независимой от платформы форме — дальше программист сам разбирается с платформой. Зайти куда-то не в ту степь здесь очень сложно.
Ну а дальше то что? У тебя есть вагон вариантов это реализовать. Откуда уверенность, что без знания платформы выберешь оптимальный вариант? И сколько времени ты на все это потратишь?
Re[7]: На жизненном перепутье: куда теперь податься?)
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, Vladek, Вы писали:
V>>Под целью я понимаю требования пользователя или требования бизнеса, который выражены в независимой от платформы форме — дальше программист сам разбирается с платформой. Зайти куда-то не в ту степь здесь очень сложно.
I>Ну а дальше то что? У тебя есть вагон вариантов это реализовать. Откуда уверенность, что без знания платформы выберешь оптимальный вариант? И сколько времени ты на все это потратишь?
Я специально написал: опытный программист с широким кругозором. Такой программист найдёт оптимальный вариант и реализует его с возможностью в будущем поменять на другой вариант, если потребуется. Такой программист пишет рабочий и готовый к изменениям в будущем код.
Времени будет потрачено столько, сколько понадобится. Программист делает качественную работу с постоянной скоростью — он не может ускориться, он не может работать медленнее, он работает на свои 100%. Если посредственные и/или неопытные менеджеры продолжают постоянно задавать вопросы про время — программист меняет команду и проект на адекватные. Но обычно этого не случается, потому что задача решается в разумные сроки.
Короче, я до сих пор не могу определиться, куда податься:
Либо в мобильную разработку (Java с последующим Kotlin), либо в веб-разработку (Spring + Hibernate).
Хотелось бы послушать доводы в пользу и первого, и второго варианта.
Re[8]: На жизненном перепутье: куда теперь податься?)
Здравствуйте, Vladek, Вы писали:
I>>Ну а дальше то что? У тебя есть вагон вариантов это реализовать. Откуда уверенность, что без знания платформы выберешь оптимальный вариант? И сколько времени ты на все это потратишь?
V>Я специально написал: опытный программист с широким кругозором. Такой программист найдёт оптимальный вариант и реализует его с возможностью в будущем поменять на другой вариант, если потребуется. Такой программист пишет рабочий и готовый к изменениям в будущем код.
Проблема в том, что опыт и кругозор наработаны в другой области и голова не переключается по щелчку. Отсюда понятно, что нужно время на перестройку.
Ну вот нашел ты первое нечто, что похоже на решение. Механизма, который подскажет тебе, что это оно и есть, пока что нет. Заглянул ты в гугл и увидел, что вполне годно. Посоветовался с кем то — вроде годно. Вкомитал и получил жбан. То есть, проблема в том, что решение и нечто на него похожее почти что неразличимы без должного владения платформой. И здесь ничего странного нет. При переходе в другую область ты просто не можешь пользоваться старым опытом и крогозором, а первое время будешь использовать только некоторый мизер. А вот со временем все пойдет нормально.
И время это зависит от слишком многих составляющих.
Re[2]: На жизненном перепутье: куда теперь податься?)
Здравствуйте, magnum2005, Вы писали:
M>Либо в мобильную разработку (Java с последующим Kotlin), либо в веб-разработку (Spring + Hibernate). M>Хотелось бы послушать доводы в пользу и первого, и второго варианта.
Как говорит мой сын в таких случаях, слушай свое сердце
А я детализирую, попробуй недельку покопаться в первом варианте, а следующую недельку во втором варианте. После уже решай, что тебе больше понравилось, то и выбирай.
Re[9]: На жизненном перепутье: куда теперь податься?)
Здравствуйте, Ikemefula, Вы писали:
V>>Я специально написал: опытный программист с широким кругозором. Такой программист найдёт оптимальный вариант и реализует его с возможностью в будущем поменять на другой вариант, если потребуется. Такой программист пишет рабочий и готовый к изменениям в будущем код.
I>Проблема в том, что опыт и кругозор наработаны в другой области и голова не переключается по щелчку. Отсюда понятно, что нужно время на перестройку. I>И время это зависит от слишком многих составляющих.
Ну вот выше тебе правильно говорят, что важными составляющими являются опыт и широкий кругозор. Вроде бы очевидно же, что человек с большим опытом в разных областях быстрее переключится на новый домен, нежели человек сидевший на одном стеке и домене последние 10 лет.
Re[10]: На жизненном перепутье: куда теперь податься?)
Здравствуйте, blacktea, Вы писали:
B>Ну вот выше тебе правильно говорят, что важными составляющими являются опыт и широкий кругозор. Вроде бы очевидно же, что человек с большим опытом в разных областях быстрее переключится на новый домен, нежели человек сидевший на одном стеке и домене последние 10 лет.
Я не про домен, а про платформу. Скажем, переход из мирного дотнета в скалу это мягко говоря большой экстрим — на товарища сваливается вся джава + сама скала. Амортизировать можно только общими технологиями, типа бд и тд.
Re[11]: На жизненном перепутье: куда теперь податься?)
Здравствуйте, Ikemefula, Вы писали:
I>Я не про домен, а про платформу. Скажем, переход из мирного дотнета в скалу это мягко говоря большой экстрим — на товарища сваливается вся джава + сама скала. Амортизировать можно только общими технологиями, типа бд и тд.
Дык, тогда ИМХО еще проще.
Re[9]: На жизненном перепутье: куда теперь податься?)
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, Vladek, Вы писали:
I>>>Ну а дальше то что? У тебя есть вагон вариантов это реализовать. Откуда уверенность, что без знания платформы выберешь оптимальный вариант? И сколько времени ты на все это потратишь?
V>>Я специально написал: опытный программист с широким кругозором. Такой программист найдёт оптимальный вариант и реализует его с возможностью в будущем поменять на другой вариант, если потребуется. Такой программист пишет рабочий и готовый к изменениям в будущем код.
I>Проблема в том, что опыт и кругозор наработаны в другой области и голова не переключается по щелчку. Отсюда понятно, что нужно время на перестройку. I>Ну вот нашел ты первое нечто, что похоже на решение. Механизма, который подскажет тебе, что это оно и есть, пока что нет. Заглянул ты в гугл и увидел, что вполне годно. Посоветовался с кем то — вроде годно. Вкомитал и получил жбан. То есть, проблема в том, что решение и нечто на него похожее почти что неразличимы без должного владения платформой. И здесь ничего странного нет. При переходе в другую область ты просто не можешь пользоваться старым опытом и крогозором, а первое время будешь использовать только некоторый мизер. А вот со временем все пойдет нормально. I>И время это зависит от слишком многих составляющих.
Что за сценарий описан? От разработки веб-сайтов к нейрохирургии на живых пациентах? Не надо слишком сильно доверять учебникам, которые начинаются со слов "Забудьте всё, что вы знали о программировании".
Критерий правильности решения всегда есть — программа проявляет ожидаемое поведение после внесенных изменений. Критерии адекватности изменений способу разработки, платформе, инструментам, языкам и прочему тоже есть — изменения согласуются с общепринятыми практиками, достаточно изолированы, не нарушают стабильного поведения программы.
Базовые инструменты программиста, которые никак не зависят от предметной области: индукция и дедукция, анализ и синтез, наблюдение, эксперимент и измерение. Этого "мизера" вполне хватает.
Здравствуйте, blacktea, Вы писали:
I>>Я не про домен, а про платформу. Скажем, переход из мирного дотнета в скалу это мягко говоря большой экстрим — на товарища сваливается вся джава + сама скала. Амортизировать можно только общими технологиями, типа бд и тд.
B>Дык, тогда ИМХО еще проще.
Это почему? Пересесть на хардкор типа функциональщины в скале и впридачу получить всю джаву целиком это задача не из маленьких.
Re[10]: На жизненном перепутье: куда теперь податься?)
Здравствуйте, Vladek, Вы писали:
V>Критерий правильности решения всегда есть — программа проявляет ожидаемое поведение после внесенных изменений. Критерии адекватности изменений способу разработки, платформе, инструментам, языкам и прочему тоже есть — изменения согласуются с общепринятыми практиками, достаточно изолированы, не нарушают стабильного поведения программы.
Кроме ожидаемого поведения надо что бы твое решение прошло код-ревью и не вызвало лавину переделок у всей команды. Откуда у тебя будут те самые общепринятые практики, которые в каждой из платформ разные?
Это у джуна может быть аргумент "так ведь работает". Но это только повод начать разговор, и совсем не повод вливать в мастер.
Re[13]: На жизненном перепутье: куда теперь податься?)
Здравствуйте, Ikemefula, Вы писали:
I>Это почему? Пересесть на хардкор типа функциональщины в скале и впридачу получить всю джаву целиком это задача не из маленьких.
Не думаю, что для опытного специалиста освоиться в Scala/Java так прям сложно будет, я бы ожидал, что через месяц он уже начнет приносить пользу проекту, если не быстрее.
Re[11]: На жизненном перепутье: куда теперь податься?)
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, Vladek, Вы писали:
V>>Критерий правильности решения всегда есть — программа проявляет ожидаемое поведение после внесенных изменений. Критерии адекватности изменений способу разработки, платформе, инструментам, языкам и прочему тоже есть — изменения согласуются с общепринятыми практиками, достаточно изолированы, не нарушают стабильного поведения программы.
I>Кроме ожидаемого поведения надо что бы твое решение прошло код-ревью и не вызвало лавину переделок у всей команды.
Изменения согласуются с общепринятыми практиками, достаточно изолированы, не нарушают стабильного поведения программы. (с) я выше I>Откуда у тебя будут те самые общепринятые практики, которые в каждой из платформ разные?
Читая документацию, форумы и блоги. (с) я выше I>Это у джуна может быть аргумент "так ведь работает". Но это только повод начать разговор, и совсем не повод вливать в мастер.
Такой программист пишет рабочий и готовый к изменениям в будущем код. (с) я выше
Re[14]: На жизненном перепутье: куда теперь податься?)
Здравствуйте, blacktea, Вы писали:
I>>Это почему? Пересесть на хардкор типа функциональщины в скале и впридачу получить всю джаву целиком это задача не из маленьких.
B>Не думаю, что для опытного специалиста освоиться в Scala/Java так прям сложно будет, я бы ожидал, что через месяц он уже начнет приносить пользу проекту, если не быстрее.
Справился — опытный, не справился — не опытный?
Re[12]: На жизненном перепутье: куда теперь податься?)
Здравствуйте, Vladek, Вы писали:
I>>Кроме ожидаемого поведения надо что бы твое решение прошло код-ревью и не вызвало лавину переделок у всей команды. V>Изменения согласуются с общепринятыми практиками, достаточно изолированы, не нарушают стабильного поведения программы. (с) я выше I>>Откуда у тебя будут те самые общепринятые практики, которые в каждой из платформ разные? V>Читая документацию, форумы и блоги. (с) я выше
Это конское количество времени и всё равно шанс выбрать не то, что надо. Т.е. эффект зачастую неотличим от работы джуна "ткнул и всё развалилось".
I>>Это у джуна может быть аргумент "так ведь работает". Но это только повод начать разговор, и совсем не повод вливать в мастер. V>Такой программист пишет рабочий и готовый к изменениям в будущем код. (с) я выше
К сожалению предыдущий опыт подсказывает совсем не те решения,а часто ошибочные. Скажем, бывшего сиплюсника с большим опытом всегда можно отличить по коду спустя годы.
Так бывает, когда на бакенд приходит товарищ с фронта или наоборот.