LINUX.ORG.RU

почему голанг - это кул

 


1

3

Голенгу никогда не догнать сишечку, потому что в нём нельзя циклические зависимости. В Си можно, в Паскале можно. Это, наверное, самая плохая новость для меня за всё время его изучения.

★★★★★

Последнее исправление: den73 (всего исправлений: 2)

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

Что мешает собрать программу на Питоне? pyinstaller / cxfreeze

Религия

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

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

Обработай Stack overflow... Или Memory exception или ошибку записи на диск или сетевую ошибку.

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

пишут бизнес-логику на C# и смотрят на Linux как на непонятную неудобную штуку.

Да я знаю такие фирмы. У меня там одногрупник технический директор. Он говорит что для 1С PostgreSQL плох потому что нет спецов, а у него везде MS SQL и его спец получает в месяц 20т.р. и если он уволится таких спецов в городе пачки....

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

За подтверждение моей точки зрения.

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

Так у Ларри были усы... А у Пайка их нет

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

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

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

Да, честно говоря, никакого. Специально зарегестрировался, чтобы пошутить.

В конце 90-х, было дело, увлекался фортом. Тогда как раз и SP-Forth был популярен. Общался с парой фортеров, собирались, вроде бы, что-то коммерческое замутить. Но как-то с коммерческим у меня не срослось.

А к форту до сих пор отношусь с уважением, хотя и не использую.

SP-Forth
()

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

1) В 50 контейнерах исполняется разный код на Python

2) В 50 контейнерах запускается разный код на ГО

Сколько копий рантайма будет в памяти в случаи Python и в случае Go? Сколько РАЗНЫХ слоев докера будет на диске?

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

Я уже 100 раз объяснял. Не знаешь как обработать ошибку - не обрабатывай. Ты пишешь либу для работы с базой данных (пусть DBF) и ее могут использовать как консольное приложение, GUI приложение или серверное. Надо объяснять? GUI может быть типа опенофиса где ты вместо DBF сунул PDF и надо выдать окошко. А cli достаточно эксепшн распечатать. С Сервером другая ситуация, но лучше упасть...

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

Люди десятилетиями живут с такими «спецами».... Мне самому иногда от таких расценок хочется в морду дать, но это рынок.

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

https://codereview.stackexchange.com/questions/26822/myth-busting-sqlite3-per...

Есть 2 фида которые делают одно и то же. 1) На Python 2) На го.

Гошный быстрее. Алгоритм одинаковый. Беру делаю в питоне буфер на 1000 строк. Потом вручную делаю 'BEGIN' инсерт 'COMMIT' Питоновский код рвет гошный в разы.

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

Фот тут с подвохом, видимо, но скажу, что поровну.

Только сколько запросов смогут прохавать 50 на питоне против 50 на го? Мб на го с запасом хватит и десяти.

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

Нет 50 бирж. Соответственно 50 фидов. Всякие huobi и прочие bitfinex

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

И доколе? В итоге же всё сведётся к написанию задачи на естественном языке.

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

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

Они сами виноваты, чего уж.

«Жила-была девочка. Сама, дура, виновата!»

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

Неужели есть еще те кто понимает

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

Ну и общественное мнение (в лице гугла, на самом деле) сильно давит.

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

Просто тут срабатывает эффект Данинга-Крюгера, поэтому те, кто понимает, гораздо меньше высказываются в интернетах.

Да это беда. Я собственно мог быть мимокрокодил. Но я попал как раз в топку где тот же Python вытеснен Go причем без изменений в алгоритмах. И это с точки зрения обслуживания ужасно. Я тут спрашивал про профайлер. Есть он в Го? Да есть встроенный. Ок я вам дам бинарь включите профайлер.

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

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

Если бы можно было бы набирать только хороших и опытных кодеров :) Наверное ГО выстрелил потому как нужно меньше времени тратить на обучение языку и последующие код ревью.

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

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

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

«Давайте не будем разбираться, а просто перепишем всё с Python на Go. В интернете сказали, что так будет работать быстрее»? Сочувствую. Эйнштей говорил, что бесконечны только две вещи: вселенная и человеческая глупость, хотя насчёт вселенной он до конца не уверен.

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

begin и end набирать куда комфортнее, чем shift-скобочки

8 символов вместо 2 набирать комфортнее, лол. И это всего лишь сраные разделители. Вы, адепты, совсем поехавшие там. Даже Пайк не стал делать такой ущербанский синтаксис.

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

begin и end набирать куда комфортнее, чем shift-скобочки в дальнем углу клавиатуры.

лол.

Вот тебе и лол. Продолжаешь демонстрировать своё невежество. Между тем, любой, кто владеет слепой десятипальцевой печатью, тебе это подтвердит.

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

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

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

Я знаю людей, которые неплохо умудряются зарабатывать на .NET. Занимаются финтехом, всяким для документооборота и подобным. Вообще это просто брат-близнец Java, только без Андроида и на Windows.

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

Сишным библиотекам он сливает.

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

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

Взять типичную задачу всех этих бэкендов: долбежка базы данных. Всю работу делает СУБД, и насколько все будет тормозить зависит только от оптимальности запросов. Но нет, возьмем перепишем все на голанге, он же сцуко быстрый. Реально на этот голанг имеет смысл смотреть только в одном случае: ваш сервис такой популярный, что туда ломятся 100500 клиентов в секунду, и проблемы concurrency затмевают все прочие. Только такой сервис нужно еще раскрутить, так что 90% васянов могут не беспокоиться.

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

Среди создателей раста, говорят, была группа людей, которые хотели, чтобы ключевое слово для объявления функции было не fn, а f. Они теперь, вроде бы, откололись, чтобы создать правильный императивный язык с по-настоящему лаконичным синтаксисом.

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

Так кода не будет?

Ты упорот? Я уже там все изложил. Если я выкину сюда 300 строк кода ты тоже не поймешь.

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

А то что их продакшн в основном занят перепаковой структурок, а всю работу делают сишные либы, эти умники то и не учли

Оппа еще раз. У нас чуваки парсили JSON пихали все в кучу объектов (без слотов) потом эти объекты сериализовывали в JSON - мать мать мать. Взять книжку таненбаума и бить по голове.

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

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

На какой версии? спроси их сколько сил требуется для перехода с версии 1 на 4

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

У нас чуваки парсили JSON пихали все в кучу объектов (без слотов) потом эти объекты сериализовывали в JSON - мать мать мать.

Если необходима сложная обработка объектов, плюс формат данных на входе и выходе отличается — то такое может быть и нормально.

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

У нас чуваки парсили JSON пихали все в кучу объектов (без слотов) потом эти объекты сериализовывали в JSON

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

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

Всю работу делает СУБД, и насколько все будет тормозить зависит только от оптимальности запросов.

Все гораздо хуже. Вот смотри есть простая задача получить фид в JSON как то преобразовать и уложить в базу. У тебя есть уже написанный говнокод на питоне который просто делает постоянно insert и у тебя машина с 80 ядрами и четвертью террабайта памяти. И ты вот говоришь начальнику - Python гавно давайте перепишем на Го. Что ты с этого получаешь? 1) Никто не может глянуть на твой код. 2) Ты дропнул все свои старые косяки.

Что получают коллеги? 1) Ну положим я как девопс полезу искать в чем проблема. Ты старше меня, у тебя и так семья и ты работаешь только за деньги, есть другие коллеги. Ты что будешь делать? Радостно распечатаешь код и будешь бегать по фирме? 2) Если что то не пашет всегда можно сказать что не та сборка или не та версия и так далее...

Что на выходе. У тебя 80 ядер. Там запущено 50 виртуалок. Каждая какашка на Го вдруг насоздавала кучу тредов. А там еще нужно чтоб Ядро работало, чтоб Докер работал. Чтоб Постгрес работал. И Постгрес висит в постояннои IOWAIT потому что БЫСТРЫЙ Го сожрал ВСЕ ресурсы и транзакции на каждый Инсерт свои и WAL размером с пол диска...

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

Если необходима сложная обработка объектов, плюс формат данных на входе и выходе отличается

Абстракция на абстракции сидит и абстракцией погоняет. Взять API разработчика, потом конвертнуть в абстрактное свое, а потом из своего конвертнуть в то что для Storage. Я думал рехнусь когда мне предложили следующую схему. У нас на сервере возникает событие - оно падает в S3 там через RedHorse запускается aws Lambda которая курлит cloudfront тот кладет в другой s3 результат, а далее Scala все это перекладывает в redshift.....

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

Чтоб понять чем кончилось. Я оценил размер Лямбды - 200 мегабайт.Там были и бинарники постгреса и gevent и прочее. Но надо было сделать 1) читать текстовый файл из 1 бакета 2) записать результат в другой бакет.

ВСЕ! Спорим, что Го не будет быстрее?

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

Тоже верно. Написать хоть сколько-нибудь неплохой код на Go наверняка способен только сверхразум.

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

Разве инстанс интерпретатора питона будет шарится между докерами? И почему 50 образов, в каждый бинарник го зашит?

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