Re[4]: Go язык прёт?
От: benvenuto  
Дата: 07.08.18 21:54
Оценка:
Здравствуйте, Тёмчик, Вы писали:


Тё>Ну вот duck-type интерфейсы, Управление памятью с помощью сборщика мусора, который заточен на минимизацию latency (в отличие от большинства остальных сборщиков мусора, которые заточены на минимизацию общего времени сборки), Generics так и не добавили. — это от питона.


Сборка памяти питона организована абсолютно другим способом — через счетчик указателей и глобальный мьютекс GIL (у CPython). GIL, кстати, превращает Python в однопоточный язык, что опять же противоречит идеологии Go. Никаких duck-type интерфейсов у питона нет, он просто динамический язык и проверка существования той или иной операции производится в рантайме.

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


Скорость разработки и выразительность не означает "происхождение от". По выразительности Go до питона как до Луны. Попробуйте написать на Go функцию, которая развораичвает массив элементов произвольных типов.


Лучше процитировать сайт Go https://golang.org/doc/faq#ancestors

Go is mostly in the C family (basic syntax), with significant input from the Pascal/Modula/Oberon family (declarations, packages), plus some ideas from languages inspired by Tony Hoare's CSP, such as Newsqueak and Limbo (concurrency)

Re[3]: Go язык прёт?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 08.08.18 04:09
Оценка:
Здравствуйте, benvenuto, Вы писали:

B>В подавляющем большинстве случаем C++ используют не там, где выжимают такты. А если реально надо выжимать такты — лучше не использовать С++, так как многие конструкции языка высокоуровневые и трудно предугадать во что они скомпилируются. Притом это зависит не только от компилятора (gcc/clang/whatever), но и от версии компилятора.


Ты тут забыл сказать, на чём же надо писать это самое битовыжимательство. Я посмотрел у себя на компе: Eigen — на С++, Intel IPP — С++ и ассемблер, Caffe и Tensorflow — С++, OpenCV — С++. Шаг в сторону видеокарт и ПО, написанное под них на CUDA — это тоже расширение языка С++.
С другой стороны, пожилые библиотеки типа ffmpeg — это С, но ffmpeg трудно назвать хорошей библиотекой, это жуткая смесь goto и файлов в тысячи строк. Есть также пожилые библиотеки линейной алгебры на Фортране.
Получается, что всё таки С++.
Re[3]: Go язык прёт?
От: Anton Batenev Россия https://github.com/abbat
Дата: 08.08.18 07:30
Оценка:
Здравствуйте, benvenuto, Вы писали:

b> В подавляющем большинстве случаем C++ используют не там, где выжимают такты. А если реально надо выжимать такты — лучше не использовать С++, так как многие конструкции языка высокоуровневые и трудно предугадать во что они скомпилируются. Притом это зависит не только от компилятора (gcc/clang/whatever), но и от версии компилятора.


(тут должна быть картинка про "Мои вкусы очень специфичны") Если кому-то перестало хватать плюсов в области веба (а тут речь больше про него все же), то его можно или поздравить с успехом или посочувствовать.
Бэкапимся на Яндекс.Диск
Re: Go язык прёт?
От: Aquilaware  
Дата: 08.08.18 08:38
Оценка: 4 (2) +1
Здравствуйте, Тёмчик, Вы писали:

Тё>Что вообще происходит? Node с typescript уже стух и надо учить Go?


Go прёт в основном в около-юниксовых кругах. Люди в тех местах настолько испуганны бинарной несовместимостью, что бинарная всеядность и стабильность Go для них стала целым базисом. Поэтому и сентименты в духе "как С".

В основном это касается тех компаний, которые продают свои продукты "в коробке", а не только как сервисы. Для них Go это настоящее чудо.
Re: Go язык прёт?
От: TimurSPB Интернет  
Дата: 08.08.18 09:02
Оценка: +1
Меня как то не прёт язык Go. Паскально так.
Make flame.politics Great Again!
Re[2]: Go язык прёт?
От: El Camino Real США  
Дата: 08.08.18 16:42
Оценка:
Здравствуйте, TimurSPB, Вы писали:

TSP>Меня как то не прёт язык Go. Паскально так.

Наоборот же. Школьные годы чудесные, скупая ностальгическая слеза. А го — хороший, когда надо много потоков наплодить, делающих всего понемногу. Показал недавно "облачной" команде пару примеров, теперь они прутся и активно избавляются от питона.
Re[9]: Go язык прёт?
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 10.08.18 18:24
Оценка:
Здравствуйте, Serginio1, Вы писали:

S> Угу. Тое есть фронтом никто не занимается?


Я видел фронт-енд команды в нескольких компаниях. Они по количеству были не очень большими. Буквально, один синьор-тимлид и один-два джуниора.

S>Даже занимаясь бэкэндом ты обязан!!! знать JS, даже если ты возвращаешь только json.


Зачем?
С уважением, Artem Korneev.
Re[3]: Go язык прёт?
От: Evgeny.Panasyuk Россия  
Дата: 11.08.18 03:53
Оценка: +2
Здравствуйте, benvenuto, Вы писали:

B>А если реально надо выжимать такты — лучше не использовать С++,




B>так как многие конструкции языка высокоуровневые и трудно предугадать во что они скомпилируются. Притом это зависит не только от компилятора (gcc/clang/whatever), но и от версии компилятора.


Конструкции, не смотря на то что высокоуровневые, предельно предсказуемые, но для этого внезапно нужно знать язык и его отображение на машину
Глядя на код ясно во что он скомпилируется с выключенными оптимизациями и во что он может скомпилироваться с максимальными настройками оптимизации (и в mainstream компиляторах он в это действительно компилируется с некоторой разумной и даже предсказуемой дисперсией).
Вот конкретный пример
Автор: Evgeny.Panasyuk
Дата: 11.07.16
— навернули абстракций в виде EDSL запросов, а результирующий ассемблерный код получился идентичен рукопашному бойлерлейту, причём ещё до начала реализации было понимание что результат если и не будет вдруг идентичным в несущественных деталях, по смыслу будет порождать подобный код.
Re[3]: Go язык прёт?
От: Evgeny.Panasyuk Россия  
Дата: 11.08.18 03:58
Оценка:
Здравствуйте, El Camino Real, Вы писали:

ECR>Наоборот же. Школьные годы чудесные, скупая ностальгическая слеза. А го — хороший, когда надо много потоков наплодить, делающих всего понемногу. Показал недавно "облачной" команде пару примеров, теперь они прутся и активно избавляются от питона.


И на Python'е есть stackful coroutines — http://www.gevent.org/
Re[4]: Go язык прёт?
От: Evgeny.Panasyuk Россия  
Дата: 12.08.18 02:44
Оценка:
Здравствуйте, ·, Вы писали:

EP>>Это и в C++ есть:

·>
·>Немного поменяем: http://coliru.stacked-crooked.com/a/4dd7fd6efc303676
·>С какого перепугу оно выдаёт "true, value=1"?

auto foo(const char *)
{
    struct
    {
        int value, err;
    } result = {1, 0};
    return result;
}

int main()
{
    if(auto [value, err] = foo("hi"); err == 0)
    {
        cout << "true, value=" << value;
    }
    else
    {
        cout << "false, value=" << value;
    }
}

И что оно по-твоему должно выдавать?

.>И вот весь С++ такой. Проще закопать.


С логикой борешься?
Re[4]: Go язык прёт?
От: Hobbes Россия  
Дата: 12.08.18 12:53
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>И на Python'е есть stackful coroutines — http://www.gevent.org/


И tornado. И начиная с 3.6/3.7 async/await.
Re[6]: Go язык прёт?
От: Hobbes Россия  
Дата: 12.08.18 13:00
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Самая популярная платформа — Линукс! Почти половина разработчиков пишет под него. А, нет, больше! Там ещё есть такие платформы, как AWS, WordPress, Raspberry Pi, что надо тоже понимать, как Линукс. Что в сумме ещё процентов 50 собирает. Вендекапец наступил!


Вендекапец на сервере безусловно наступил.
Re[5]: Go язык прёт?
От: Evgeny.Panasyuk Россия  
Дата: 12.08.18 13:47
Оценка:
Здравствуйте, Hobbes, Вы писали:

EP>>И на Python'е есть stackful coroutines — http://www.gevent.org/

H>И tornado. И начиная с 3.6/3.7 async/await.

async/await — это stackless, со всеми вытекающими.
Re[6]: Go язык прёт?
От: Sharov Россия  
Дата: 13.08.18 11:04
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:


EP>async/await — это stackless, со всеми вытекающими.


Где, в питон и го? В дотнет это кажется не так...
Кодом людям нужно помогать!
Re[7]: Go язык прёт?
От: Evgeny.Panasyuk Россия  
Дата: 13.08.18 14:05
Оценка: 4 (1) +1
Здравствуйте, Sharov, Вы писали:

EP>>async/await — это stackless, со всеми вытекающими.

S>Где, в питон и го? В дотнет это кажется не так...

В Python 3 и C# async/await — это stackless.
Питоновский gevent, Boost.Coroutine- stackful.
Goroutines в go — stackful.

Одна из отличительных особенностей stackful от stackless — возможность прозрачно yield'ануть/await'нуть через несколько уровней стороннего кода.
Отредактировано 13.08.2018 14:06 Evgeny.Panasyuk . Предыдущая версия .
Re[8]: Go язык прёт?
От: Sharov Россия  
Дата: 14.08.18 12:15
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>В Python 3 и C# async/await — это stackless.

EP>Питоновский gevent, Boost.Coroutine- stackful.
EP>Goroutines в go — stackful.

EP>Одна из отличительных особенностей stackful от stackless — возможность прозрачно yield'ануть/await'нуть через несколько уровней стороннего кода.


У дотнета есть TaskCompletionSource для ентих целей. Вполне прозрачно, кмк. Если я правильно понял суть вопроса.
Кодом людям нужно помогать!
Re[10]: Go язык прёт?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 29.08.18 09:03
Оценка:
Здравствуйте, Artem Korneev, Вы писали:

AK>Здравствуйте, Serginio1, Вы писали:


S>> Угу. Тое есть фронтом никто не занимается?


AK>Я видел фронт-енд команды в нескольких компаниях. Они по количеству были не очень большими. Буквально, один синьор-тимлид и один-два джуниора.


S>>Даже занимаясь бэкэндом ты обязан!!! знать JS, даже если ты возвращаешь только json.


AK>Зачем?


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

А по поводу "фронт-енд команды" смотрим на развитие Ангулара, и у меня большие сомнения в твоих утверждениях.
и солнце б утром не вставало, когда бы не было меня
Re[11]: Go язык прёт?
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 30.08.18 00:04
Оценка:
Здравствуйте, Serginio1, Вы писали:

S>>>Даже занимаясь бэкэндом ты обязан!!! знать JS, даже если ты возвращаешь только json.

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

За много лет — ни разу не приходилось.
Если вы возвращаете какой-то JS-код из REST API-сервисов, то у вас что-то фундаментально не так с архитектурой.

S>Другое дело SPA. Там тебе действительно не нужно знать JS.


REST бэк-енду вообще все равно, что там на фронт-енде. Там может быть SPA, там может быть мобильное приложение, или какой-то другой сервис, который запросил эти данные.
Если у вас бэкенд зависит от фронтенда, то вы на ровном месте нашли себе грабли.

AK>>Я видел фронт-енд команды в нескольких компаниях. Они по количеству были не очень большими. Буквально, один синьор-тимлид и один-два джуниора.

S> А по поводу "фронт-енд команды" смотрим на развитие Ангулара, и у меня большие сомнения в твоих утверждениях.

А что с Angular такого специфического? Он вроде упрощает разработку, а не усложняет ее. Код на TypeScript хотя бы можно читать без поллитры.

Я таки как раз говорил про команды, пилящие фронтенд на Angular. Моя выборка не очень велика, но что есть, то есть. Но я согласен, что рейтинг и правда какой-то наркоманский. 8-е место для JavaScript выглядит очень странно. По меньше мере, я бы оценил долю JS больше, чем VB, PHP и Python.

It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.


Ну т.е. они оценивают как-то непонятно. Это не по количеству написанного кода.
С уважением, Artem Korneev.
Re: Go язык прёт?
От: _Cyber_ Россия  
Дата: 04.09.18 18:59
Оценка:
Здравствуйте, Тёмчик, Вы писали:

Тё>Одна крупная (австралийская) контора заявила, что все копромонолиты на жаве распиливают и переписывают на микросервисы на Go. Причём я всегда думал, что Go — это как Python, только гугловский с блекджеком и девушками. Чел заявил, что это как C. Что вообще происходит? Node с typescript уже стух и надо учить Go?


О востребованности языка нужно судить с позиции, насколько хорошо он решает насущные задачи, под которые заточен, а не с позиции синтаксиса и удобства написания на нем.
Например, сейчас нужен язык для параллельных вычислений, который бы полностью освободил программиста от семафоров, барьеров, ..., чтоб не нужно было даже о них задумываться. Даже понятия о потоках не должно быть. Создал цикл, а он по возможности сам в отделом потоке работает. Естественно синтаксис изменится, это будет текст в несколько столбцов или графическое что-то, типа labview, но более компактное и читабельное.
Аналогично и для нейроних сетей и машинного обучения.
Re[2]: Go язык прёт?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 04.09.18 19:42
Оценка:
Здравствуйте, _Cyber_, Вы писали:

_C_>Аналогично и для нейроних сетей и машинного обучения.


Для этого добра и так уже программировать почти не приходится, если использовать тот же Керас. Распознавание лиц за 10 минут — есть уже.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.