У функций можно увидеть имена параметров в IDE при наведении на них курсора, но почему-то нет для имён возвращаемого, отчего приходится узнавать про это из документации.
Например, недавно случайно узнал, что printf() возвращает количество напечатанного.
В коде имя можно было бы разместить рядом с именами параметров или же около return: int [код_ошибки] сделать(UINT начало, UINT конец)
или return [код_ошибки] НЕДОСТАТОЧНО_ПАМЯТИ
Если вы случайно узнаете, как работают используемые вами функции - это не проблема языка, это вы манки-кодер.
Сигнатура того же printf - int, а не void, что как бы наводит на мысли, если интересуетесь.
А функции, которые возвращают что-то осмысленное, в приличном коде пишут, что они возвращают - в названии самой функции.
В return возвращается один параметр, как он называется внутри функции - для внешнего мира без разницы. Если нужно больше значений вернуть, чем одно, то этот параметр превращается в массив (структуру, объект - любой не скалярный тип), или используют доступ по ссылке для входных параметров, чтобы их изменение не зависело от контекста функции (любые изменения сохранялись после завершения функции).
Точно, IDE можно просто показывать это самое возвращаемое название и не придётся что-то менять/добавлять в языке.
Но вы не поняли мой вопрос. Откуда я должен узнать что возвращает printf()? А вот что ей передавать - подскажут создатель этого самого кода и IDE.
Вот, и снова возвращаемся к моему вопросу. Почему программист/IDE нам говорят что можно передать функции, но не имеют возможности сказать что мы получаем обратно?
Роман Титов, почему не имеют? Имеют - это всё описано в документирующих комментариях.
В том числе там даётся осмысленное объяснение о том, что функция возвращает
Роман Титов, никак. Читать документацию, использовать подсказки среды. Все зависит от языка. В многих языках описание функций, методов, процедур, классов и т.д. есть в самом коде, достаточно навести мышку и увидеть. Во многих есть даже полный исходный код всего, что вызываешь или используешь и внутри можно тоже все посмотреть и исследовать.
Но в любом случае, лучше изучать документацию. Она подробнее.
Вообще вопрос с точки зрения language design интересный.
Предположу, что тут скорее по принципу "явной необходимости в этом нет, вот и не сделали", ибо функция всегда только одно значение вернуть может и знать его имя для обращения к нему не нужно, в отличие от аргументов.
Для IDE есть разные способы метаданные указать в комментариях или атрибутах - это уже смотри на конкретный язык.