Здравствуйте, Shmj, Вы писали:
S>Вопрос такой: какие, по вашему опыту, наиболее важные соглашения/протоколы в IT? Давайте попробуем в порядке убывания важности.
S>1. Языки программирования — с этой абстракции все началось — когда идея стала выше железа.
Не понял, какое отношение они имеют к протоколам.
S>2. Особняком — стандарт вызова библиотек C. Только библиотеки на языке C можно вызывать из большинства других языков (а так же добавлять обертки, чтобы ваши библиотеки вызывали как будто это C-библиотеки). Поправьте если не точно выразил. Это как мостик между языками программирования.
Скорее согласен. Штука важная.
S>3. Протокол IP (ну и, до кучи, TPC/UDP). Все устройства связаны по нему, это инфраструктура нашего мира. Даже захотели поменять на IPv6, который создали, на минуточку — в 1996 году — и хрен там. До сих пор IPv6 больше приятный бонус, нежели основополагающий протокол.
Почему бонус? Во многих странах он уже лидирует. Я бы не стал списывать его со счетов.
S>4. API операционных систем, POSIX, OpenGL. В принципе, операционных систем, которыми реально пользуются люди, не так уж много. Это Unix-based, Windows, Android, iOS, macOs — всего как пальцев 1 руки.
POSIX — соглашусь, остальное — нет. У них нет какого-то особого апи, просто хаотический набор функций. Какие-то же должны были они предоставить. POSIX это уже продукт стандартизации, хороший он или плохой, но он хотя бы переносим.
S>6. Форматы структурированных данных ASN.1, XML, JSON, CSV и языки запросов/модификаций данных SQL, GraphQL.
Из этого только JSON и SQL. Остальное или мусор (XML, CSV) или устарело (ASN.1) или не доказало свою актуальность (GraphQL).
S>7. Стандартная библиотека вашего ЯП. Для некоторых это может быть на первом месте, т.к. позволяет не вникать в детали всего вышеперечисленного.
S>Просьба дополнить.
REST
Парадигмы программирования, раз уж про соглашения разговор зашел.
Соглашения и культура, относящиеся к утилитам командной строки. Общепринятые стандарты вызова (например флаги через дефис), общепринятые флаги вроде --help, концепция компоновки нескольких утилит в пайплайн, отдельный канал для ошибок.
Культура разработки UNIX, хотя она кажется уже уходит в прошлое (к примеру текстовые протоколы из этой области, подробней The Art of UNIX Programming).