LINUX.ORG.RU

расширшу вопрос.
что будет, если я shell скрипты перепишу\начну писать на го? cast jollheef, вот в твоей appvm даже греп через os/exec делается, что если стопицот строк таких будет, а го только как удобный if else и человеческие хеш таблицы?
за такое будут бить?

system-root
()

Какие плюсы

Никаких

минусы

Твое go'вно соберется только там, где найдется go соответствующей версии.

dexpl
()
Ответ на: комментарий от system-root

что будет, если я shell скрипты перепишу\начну писать на го? cast jollheef, вот в твоей appvm даже греп через os/exec делается, что если стопицот строк таких будет, а го только как удобный if else и человеческие хеш таблицы?

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

за такое будут бить?

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

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

Твое go'вно соберется только там, где найдется go соответствующей версии.

Ты так говоришь, как будто код на python 2.7 будет работать на python 2.4, а код на c11 внезапно начнет собирать компилятор без его поддержки. Глупость в общем сказал.

Настоящий минус — это нестабильность библиотек в среднем. Нужно либо делать vendor, либо выбирать только из тех, разработчик которых поддерживает стабильные api (import "....com/...blabla.v4" и так далее).

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

Ты так говоришь, будто с кодом на баше могут быть проблемы. У него есть неоспоримое преимущество: он запустится и отработает быстрее, чем остальные. А что ещё от скриптов надо? Да к тому же если не злоупотреблять спавном процессов и использовать башизмы повсюду, то он ещё и быстрый и не требовательный до ресурсов.

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

если не злоупотреблять спавном процессов

нафига он тогда вообще нужен? это запускалка программ. шаг влево и привет write-only нетестируемый код бред на 500 строк.

system-root
()

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

blackst0ne
()

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

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

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

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

У него есть неоспоримый недостаток: лапша на shell/bash является write-only.

А что ещё от скриптов надо?

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

EXL ☕☕☕☕☕
()
Ответ на: комментарий от stave

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

anonymous
()

С чего?

Если, допустим, с Питона — то:

+) Проект будет написан на более приличном языке

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

Miguel
()

Минусы: вы потратите на это время.

Плюсы: вы прикольно проведёте это время, а если за это ещё и платят, то совсем хорошо.

ugoday ☕☕☕☕☕
()

Как-то переписывал фильтры для postfix с python на go.

Плюсы: получил за это денег на upwork. Минусы: потратил деньги на пиво и сигареты.

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

Легаси на Perl. Устаревшая архитектура и платформа.
Уперлось в сложности развитием и сопровождением.
Так же говорят, что сложно искать участников.

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

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

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

В зависимости от того что за легаси.

Если с питона или перла - получишь компиляцию в бинарь, производительность и возможно чуть более причёсаную базу кода.

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

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

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

Так точно. С динамического.

Граблей много,

А есть какие-нибудь примеры?

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

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

entefeed
()
Ответ на: комментарий от system-root

что будет, если я shell скрипты перепишу\начну писать на го?

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

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

Тогда уж руст. И заменить тебя будет не так просто.

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

Почему go? Единственная плюшка - неплохая концепция и реализации конкурентности(CSP на стероидах). А так язык очень бедный и сильно склоняет к копипасте.

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

Из личного опыта:

Обработка json от 1с, но тут основная пробелма в 1с, конечно. ORM вот еще, если в случае с монгой не чувствуется, то с постгрисом не очень удобно.

Но это все очень субъективно, зависит от проекта и человека, который будет переносить. Может тебе в кайф писать километры кода, с 1ской ты не работаешь, только если в перчатках, а орм только все портит.

Но го - не плохой выбор, как по мне.

kryonn
()

Если с цепепе - то плюсов больше, чем минусов :-) Ведь Go затем и был сделан, чтобы заменить собой цепепе :-)

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

Личный опыт, что вызывало боль. Возможно, сам дурак и не разобрался, но orm под го нет, в общем-то и не нужно, но вдруг кому нужно. а json от 1с, может быть невменяемый и каждый раз разный, замапаить такое в струкруту - дело не тривиальное.

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

Обработка json от 1с, но тут основная пробелма в 1с, конечно

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

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

а json от 1с, может быть невменяемый и каждый раз разный, замапаить такое в струкруту - дело не тривиальное.

Не понял, ты лезешь в результат сериализации прикладных объектов?

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

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

Это неправда. Ничего, сейчас я тебе докажу обратное, что Go был задуман как замена C++:

In later interviews, all three of the language designers cited their shared dislike of C++ as a primary motivation for designing a new language.

Вот тебе ссылка, ознакомься.

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

строуструпу не понравился смалталк и он придумал С++ как замену ему?
то что кому то не нравится С++ и он придумал гоу еще ничего не доводит

anonymous
()

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

Зачем вообще что-то _переписывать_? Оно работает? Пусть работает. Оно не работает? Почини. Нужно написать новый софт/скрипт? Вот тогда и бери новый хипстерский язык из топ-5 модных язычков и пиши на нём. А то по такой логике придется каждые полгода переписывать, сначала на Go, потом на Rust, потом на Dart, а потом, не довели б_г, и на javascript захочется!

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

строуструпу не понравился смалталк и он придумал С++ как замену ему?

Неверно. Страуструп захотел писать на C как на Simula. Так и был придуман C++.

то что кому то не нравится С++ и он придумал гоу еще ничего не доводит

Я не понял эту фразу, но конкретно Go был задуман как замена C++, а не как замена Python или Ruby, о чём всему миру сообщили сами создатели Go. Все остальные байки, легенды, догадки и домыслы анонимных пользователей не интересны.

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

Я не понял эту фразу, но конкретно Go был задуман как замена C++, а не как замена Python или Ruby, о чём всему миру сообщили сами создатели Go. Все остальные байки, легенды, догадки и домыслы анонимных пользователей не интересны.

«Человек предполагает, а Бог располагает».

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

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

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

Но почему-то получилось заменить только какую-то вебню нелепую типа rest api.

Ещё Docker с Kubernetes написать получилось.

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

Каждый из нас пытается закопать плюсы по мере своих сил. Эти ребята делают так :)

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

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

Не глупость. Далеко не везде использование C++ без GC оправдано и в каких-то случаях C++ может быть успешно заменен языком с GC. Что и имело место быть в тех Google-овых проектах, в которых C++ использовался и на которые смотрели авторы Go.

Яркий пример такого рода от другой крупной корпорации: ядро Visual Studio было переписано со временем с C++ на .NET (хотя нативный код в плагинах остался до сих пор).

Поэтому история развивалась именно так: авторы Go стали делать новый язык на замену C++ и Java, которые широко использовались в Google, и которые показывали себя не очень хорошо в проектах с большим количеством разработчиков. Сделали. Но потом с удивлением обнаружили, что в Go массово переходят со всяких Python-ов, а не с C++. Об этом сам Пайк писал несколько лет назад.

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

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

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

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

Лол :-) Расхотеть изучать язык по книге, за которую сам же заплатил, из-за предисловия - это, конечно, сильно :-) Ахаха :-)

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

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