С точки зрения природы(кажется про неё Боб вовсе не писал) кажется все верно.
Не писал потому, что это носит не концептуальный характер, а прикладной. Это ошибка программиста. И только этот программист несет за это ответственность. Как и за все другие свои ошибки - например за проблему N+1.
Советую перечитать статью Боба. Всё как раз наоборот. Красная функция окрашивает функцию первого порядка в красный. Т.е. если синхронная функция вызывает асинхронную, то она должна стать также асинхронной. "Краснота" заразна.
А вот асинхронная функция может вызывать синхронную. Да, измениться так называемая природа, но ошибки не будет. А в обратном случае будет ошибка, так как асинхронная функция возвращает "обещание", а не результат. Т.е. синхронная функция получит промис, выполнит действие над ним, а не над результатом, и завершится не дожидаясь завершения асинхронной функции.
синхронные функции могут вызывать как синхронные, так и асинхронные, а асинхронные могут вызывать только асинхронные.
Опять же получилось неоднозначно. Непонятно кто кого вызывает. Где подлежащее - слева от глагола "вызывать" или справа? Если бы было написано, что "синхронные функции могут вызываться как в синхронных, так и в асинхронных", то тут нет двусмысленности. И это определение правильное. Но твое дальнейшее объяснение говорит от том, что смысл в обратном, что синхронные функции могут вызывать внутри себя как синхронные, так и асинхронные. Что не соответствует теории цветных функций.
синие функции могут вызывать как синие, так и красные, а красные могут вызывать только красные.
Или тут неоднозначное определение или ты не до конца разобрался. Синие функции можно вызывать в красных функциях, а вот красные в синих нет. await нельзя использовать в синхронной функции.
П.С. Идея с сокращением имени Тейлора выглядит кринжем. Наверно нужно было пойти дальше и сокращать вообще всё - "На самом деле я уважаю T, его фундаментальный продукт - L, а также труд и вклад в P сообщество" )
Плюс всякие новые предложения (CodeRun от Яндекса, Giga IDE от Сбера и т.д.) уже не добавляют PHP в список поддерживаемых языков. Что тоже формирует определённую картину мира разработки.
Никто не знает какой завтра будет тренд. Яваскрипт, который по претензиям сильно обгоняет PHP, за последние годы взлетел на недосягаемую высоту и используется даже в бэкэнде. Кто бы 5 лет назад мог предсказать такое?
Не писал потому, что это носит не концептуальный характер, а прикладной. Это ошибка программиста. И только этот программист несет за это ответственность. Как и за все другие свои ошибки - например за проблему N+1.
Советую перечитать статью Боба. Всё как раз наоборот. Красная функция окрашивает функцию первого порядка в красный. Т.е. если синхронная функция вызывает асинхронную, то она должна стать также асинхронной. "Краснота" заразна.
А вот асинхронная функция может вызывать синхронную. Да, измениться так называемая природа, но ошибки не будет. А в обратном случае будет ошибка, так как асинхронная функция возвращает "обещание", а не результат. Т.е. синхронная функция получит промис, выполнит действие над ним, а не над результатом, и завершится не дожидаясь завершения асинхронной функции.
Опять же получилось неоднозначно. Непонятно кто кого вызывает. Где подлежащее - слева от глагола "вызывать" или справа? Если бы было написано, что "синхронные функции могут вызываться как в синхронных, так и в асинхронных", то тут нет двусмысленности. И это определение правильное. Но твое дальнейшее объяснение говорит от том, что смысл в обратном, что синхронные функции могут вызывать внутри себя как синхронные, так и асинхронные. Что не соответствует теории цветных функций.
Или тут неоднозначное определение или ты не до конца разобрался. Синие функции можно вызывать в красных функциях, а вот красные в синих нет. await нельзя использовать в синхронной функции.
Интересная статья.
П.С. Идея с сокращением имени Тейлора выглядит кринжем. Наверно нужно было пойти дальше и сокращать вообще всё - "На самом деле я уважаю T, его фундаментальный продукт - L, а также труд и вклад в P сообщество" )
Плюс всякие новые предложения (CodeRun от Яндекса, Giga IDE от Сбера и т.д.) уже не добавляют PHP в список поддерживаемых языков. Что тоже формирует определённую картину мира разработки.
Или через интерфейс
Скриншот