Webbol: A minimal static web server written in COBOL
Разработчик создал минималистичный статический веб-сервер на COBOL — языке программирования, который ассоциируется в основном с мейнфреймами и legacy-системами. Это демонстрационный проект, показывающий, что COBOL может использоваться и для современных задач, таких как обработка HTTP-запросов и отдача статических файлов.
Проект подчёркивает простоту и минимализм: сервер написан с акцентом на базовые функции, без избыточных зависимостей. Такой подход не только демонстрирует гибкость COBOL, но и вызывает интерес к его применению за пределами традиционных сфер.
Комментарии (46)
- Обсуждаются особенности и исторический контекст фиксированного формата COBOL, основанного на перфокартах.
- Участники делятся опытом использования COBOL в legacy-системах крупных компаний, где он до сих пор критически важен для бизнес-операций.
- Поднимаются вопросы о безопасности COBOL, его сравнении с современными языками и о том, может ли код быть самодокументируемым.
- Обсуждается техническая реализация веб-сервера на COBOL, включая работу с сокетами и CGI.
- Высказываются разные мнения: от шуток и ностальгии до серьезного интереса к изучению языка и его практического применения.
OpenBSD is so fast, I had to modify the program slightly to measure itself 💬 Длинная дискуссия
OpenBSD быстрее Linux в 10 раз?
Тест Jann Horn: создаём поток, оба потока открывают по 256 сокетов.
Linux
elapsed: 0.017–0.026 s
OpenBSD
ulimit -n 1024
elapsed: 0.002–0.006 s
Машины примерно равны. Подсказка в коде (не в сетевом стеке).
Обычно OpenBSD проигрывает в странных тестах, а тут — наоборот.
Комментарии (153)
- Обсуждение выросло из «патологического» теста, который на Linux показывает замедление из-за роста таблицы файловых дескрипторов и блокировок, а на OpenBSD — нет.
- Участники спорят, что считать «быстрым»: OpenBSD жертвует скоростью ради безопасности, тогда как Linux активно оптимизирует критические пути.
- Для микробенчмарков советуют использовать __rdtsc(), но предупреждают о проблемах синхронизации TSC между ядрами и на ARM.
- Несколько человек отвлеклись на «пасхалку» в статье — плавающие «пушки», стреляющие курсором.
- Общий вывод: измеряйте свою нагрузку на одинаковом железе; универсального «быстрее» не существует.