LINUX.ORG.RU

плюсы и минусы при переписывании легаси

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

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

Могу предложить такой алогритм:

  1. Ставишь daemon1
  2. /etc/init.d/daemon1 start
  3. /etc/init.d/daemon1 status

    daemon1 running

  4. Ставишь daemon2
  5. /etc/init.d/daemon2 start
  6. /etc/init.d/daemon2 status

    daemon2 running

  7. $ sudo reboot
  8. /etc/init.d/daemon2 status

    daemon2 running

  9. /etc/init.d/daemon1 status

    daemon2 not running

  10. echo ЗА ЧТО?!
ugoday ★★★★★
()
Ответ на: комментарий от Alve

Зачем вообще что-то _переписывать_?

Невозможно эффективно модифицировать.

Нужно написать новый софт/скрипт?

Да, но с сохранением функций старого.

pru-mike ★★
() автор топика
Ответ на: комментарий от Miguel

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

А также: отсутсвтие нормального синтаксиса для определения АДТ, вместо этого уродские case-классы.

Вот почему разработчики F# смогли всё сделать правильно, а разработчики Скалы — нет?

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

начинай этим заниматься.

Да, как раз собираюсь.

Акцент во фразе в «на golang».

pru-mike ★★
() автор топика
Ответ на: комментарий от anonymous

Можно десяток примеров?

Во-первых, полагаю, что Пайк говорил про то, что творилось в Google.

Во-вторых, пример Dropbox-а, который перешел с Python-а на Go, достаточно показателен.

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

Ну, например, убивает мину замедленного действия под названием «==». Которая вообще нифига не типизированная, и работает для всего.

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

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

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

Не пиши на баш, пиши на посикс шел :-)

Jetty ★★★★★
()

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

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

Вот почему разработчики F# смогли всё сделать правильно, а разработчики Скалы — нет?

Разработчики F# шли от ФП к ООП. В scala - наоборот. Кроме того, ещё пытаясь экспериментировать со всякими разными концепциями. Про откровенную дурь в духе поддержки xml я вообще молчу.

Хотя F# мне тоже не сильно нравится, ибо не очень понятно, где и зачем его применять.

anonymous
()
Ответ на: комментарий от pru-mike

А почему не Java? Отказоустойчивость, масштабируемость, высокая производительность благодаря JIT (даже быстрее нативок). И докер можно прикупить. Фреймворки, библиотеки - тоже всё есть, проверенное временем.

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

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

anonymous
()
Ответ на: комментарий от InterVi

Ну, пока что, до конца не понятно что.
Но точно не Java. Хрен его знает почему, но нет.

pru-mike ★★
() автор топика
Ответ на: комментарий от anonymous

А вот gopher-ы говорят норм, не проблема.

pru-mike ★★
() автор топика

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

anonymous
()
Ответ на: комментарий от RazrFalcon

Так трудно разобраться в технологии? Информация открытая же. И ынтырпрайз весь на джаве. Вот даже ЛОР на джаве, потому то здесь страницы моментально открываются.

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

Что за бред? Вот много ли здесь тех, у кого стоит Alexa Toolbar? Оказывается много - 4.8к уников, 19к просмотров в сутки. Это уже совсем не низкая посещаемость, а реальные цифры в разы выше. А ведь тут и посты моментом отправляются, чуть ли не каждую минуту.

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

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

Майнкрафт показательный пример возможностей джавы. Теперь сравните с майнтестом (с модами не отличишь). Это там где примитивная игрушка с миром 100 в 100 блоков на 8 клиентов хочет 64 гигабайта памяти и топовый процессор на много ядер. Так и везде.

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

Пока что всё не связанное с обслуживанием пользователей в браузере (т.е. куча кешируемых данных) в джаве сосёт. У меня есть несколько игрушек (Wakfu скажем), IDE на джаве, несколько клиентов коммерческого софта, глючно-примитивный менеджер загрузок с 100000 кривоватых плагинов, который вечно сам себе на уме... Дотнет может и более тормозной местами, да только он не оставляет стойкого послевкусия говна во рту после использования.

Софт на джаве, это убожество. Слава богу Runescape на плюсы переписали, а то больно было. Больше боли только от Wakfu.

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

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

Это полный бред. Видимо ты совсем не знаком с майнкрафтом. Там проблема не в технологиях, а в лютом говнокоде. Серверное ядро однопоточное, а в модах и плагинах вообще ад. Сравнение некорректно от слова совсем.

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

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

Иди погугли про то о чём споришь, не позорься.

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

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

Для веба основная польза от +- эффективного кеширования и относительно нормальных батареек, а не от жита.

anonymous
()
Ответ на: комментарий от InterVi

19k раз в сутки достать из базы данные и наложить на текстовый шаблон. С этим справился бы даже тормозной питон, ты бы и разницы не заметил.

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

Зачем мне в ней разбираться, если я ей напрямую пользуюсь. И всё до чего я дотрагивался было полным УГ по всем параметрам. Тем более по производительности.

RazrFalcon ★★★★★
()

Какие плюсы и минусы при переписывании легаси на golang?

+ переписано на golang

- переписано на golang

С уважением всегда ваш и.о. К.О.

init_6 ★★★★★
()

Сколько не переписывай всё равно потом еще раз переписывать. Думай лучше над архитектурой.

crutch_master ★★★★★
()

Нравится как ты используешь golang вместо go, сразу тролишь нужную аудиторию

anonymous
()
Ответ на: комментарий от RedPossum

Там бы прибавилось дополнительное время на чтение скриптов с диска и инициализацию. Между запросом и выдачей страницы - цепочка из вызова тысяч функций и создания хрен знает сколько объектов, поэтому скорость исполнения тоже важна. Если делать ЛОР на PHP/Python, потребуются дополнительные ухищрения с RAM диском, memcached и чем-нибудь ещё. Сомневаюсь, что такое решение потребляло бы меньше серверных ресурсов и было бы проще в разработке.

В контексте данной темы понятно, что автор всего этого уже наелся. Потому вполне логично советовать ему Java, он может взять какой-нибудь Spark и поехать. Или сервлеты + EE сервер, где из коробки горизонтальная масштабируемость без потери транзакций. А потом просто купит докер, через 5 минут его веб-штука будет работать. На любую свою хотелку он найдёт решение.

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

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

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

nemec784
()
Ответ на: комментарий от RazrFalcon

Это нифига не обосновано и там вообще Rust. Вот нормальные бенчи: https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/go.html

Как видишь, Go в некоторых задачах проигрывает. А ещё важно сравнить инструментарий: как я уже говорил, для Go может не оказаться каких-нибудь фреймворков/библиотек, или там будут специфические ограничения. ТС подробности не говорит, так что тут пальцем в небо.

Вот как там с кластерами, например? Поверхностное гугление говорит что не очень. А в Java эта технология с лохматых готов обкатана.

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

Забавный тест.
Но уж оооочень синетический

pru-mike ★★
() автор топика
Ответ на: комментарий от RazrFalcon

Соперничать с Си по размеру бинаря не смогли, теперь в сравнении с жирной Жабой будем выдавать это как ПОБЕДУ.
Типичные фанатики раста, лол.

anonymous
()
Ответ на: комментарий от InterVi

Вот нормальные бенчи

Мы же про веб, а значит «нормальные» бенчи - это https://www.techempower.com/benchmarks/ Но они не учитывают RAM, что выгодно для джавы.

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

или там будут специфические ограничения

Каких-то специфических ограничений нет

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