Re[24]: C++ illegal instruction
От: Pzz Россия https://github.com/alexpevzner
Дата: 08.08.25 18:48
Оценка:
Здравствуйте, so5team, Вы писали:

Pzz>>Нет. Культурный контекст.


S>ХЗ что под этим подразумевается, т.к. тот же UNIX за прошедшее время сильно эволюционировал.


Культурный контекст — это та среда, это та среда, в которой происходит коммуникация и взаимодействие между людьми, и которая определяет их ценности, убеждения и нормы.

Это определение не я придумал, а гуглёвый поисковик. Но я с ним согласен.

S>Это как ссылаться на Вирта рассуждая о современном FreePascal или Delphi.


Мне трудно рассуждать о Паскале и его производных, а с ними мало знаком.

Pzz>>>>С учётом всего этого, Go — это такой C 2.0, прямое продолжение цепочки C -> Alef/Limbo -> Go. Созданный с учётом всего этого опыта и со многими исправленными ошибками Си.


S>>>Вы так говорите, как будто это что-то хорошее.


Повторюсь относительно бессмысленности оценочных суждений.

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


Почему не напишешь? Гошный рантайм написан на Go, с незначительными ассемблерными вставками. Не будет красивого синтаксиса в виде ключевого слова go и операторов <- и ->, а в остальном всё будет.

Кроме того, оператор for ... range уже умеет итерировать не только встроенные типы, но и пользовательские типы, которые реализуют соответствующий интерфейс. Не удивлюсь, если и с каналами так когда-то будет ("всё есть канал, если реализует интерфейс канала").

S>Представляете, да. Нетривиальный потому и нетривиальный. См. определение "нетривиальный" в толковом словаре.


S>В качестве некоторого далекого приближения можно было бы написать что-то вроде: код (или проект) сложность которого находится либо на самой грани технических возможностей существующих инструментов либо вообще за их гранью.


Я боюсь, у нас разное представление о нетривиальности.

Скажем, на мой взгляд, алгоритм построения ДКА из регулярного выражения нетривиален. Хотя, безусловно, может быть реализован на любом вменяемом языке программирования.

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

S>А примеры вполне себе нормальные.

Я не пытаюсь доколупываться. Но хорошо бы иметь общую терминологию, а не догадываться, что имеет ввиду оппонент.

Pzz>>Говорят, гошный библиотечный http-сервер по производительности сравним с nginx. При этом nginx очень гордится своей производительностью. А гошный библиотечный сервер написан довольно-таки в лоб (и мог бы быть существенно ускорен за счёт уменьшения числа аллокаций, приходящихся на запрос, но ценой усложнения API).


Pzz>>Это к вопросу о производительности...


S>Только вот гошный библиотечный http-сервер по своему функционалу далеко не nginx.


Речь шла о производительности.

Библиотечный http-сервер по своему функционалу очень хорош. Просто он не является коробочным продуктом, а является полезной запчастью, которую можно к чему-нибудь приделать.

Причём Go очень гибок в плане приделывания запчастей друг к другу. Поскольку библиотечный http-сервер оперирует на TCP-сокетами, а интерфейсами net.Conn и net.Listener, его можно приделать к тому, что и сетью-то не является. Например к USB.

Или, например, любая библиотечная функция, которая умеет читать из файла, с таким же успеком будет читать из тела HTTP-ответа, причём без промежуточной буферизации, потоком. Практически напрямую из сокета, если ответ никак не закодирован, или через gunzip и chinked decoder, если формат ответа подозревает это. Прозрачно для себя и автоматически.

S>Вы опять говорите вещи, на которые только и остается, что сказать: очередная дурость.


Повторюсь: сам дурак.

S>PS. На счет говнокода и Go. Случайный файлик из списка проектов на который вы сослались. Функция на 200 строк из которых изрядный процент как раз if-ы с return err. Красота.


Такой код совсем немного сложнее писать, но зато значительно проще читать и отлаживать, поскольку всё эксплицитно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.