Как я могу научиться создавать приложения с функциональностью, которая не легко объяснима или очевидна в большинстве ресурсов разработки?
Я думаю, что мой вопрос лучше всего можно объяснить некоторыми примерами...
Пример 1: я открываю инструменты разработчика в chrome и выбираю консоль. Интересно, как в мире разработчики chrome показывают вывод компилятора/интерпретатора в окне консоли или что-то такое же простое, как консоль.журнал перенаправляется в окно графического интерфейса пользователя.
Пример 2: я нахожу сайт типа dot net fiddleОнлайн-компилятор C# | .NET Fiddle[^] и я хочу выяснить, как компилятор может быть включен в веб-сайт, но я думаю, что мог бы просмотреть все учебники по веб-разработке в мире и никогда не найти ничего, что хотя бы приблизилось бы к тому, чтобы дать мне намек на то, как сделать что-то вроде dot net fiddle.
Пример 3: я рассматриваю API, такой как JavaFX, и задаюсь вопросом, как это переводится в элементы графического интерфейса и функциональность на платформе, на которой он работает. Я понимаю, что он скомпилирован в байт-код и управляется JVM, но я не могу проследить его достаточно глубоко через иерархию абстракций. То же самое с чем-то вроде HTML5 Audio api и т. д...
Я мог бы привести еще десятки примеров, но я думаю, что все, кто читает это, понимают суть. Я чувствую, что охочусь и клюю, чтобы понять вещи, РЕПО github, статьи, сообщения в блогах, книги по операционной системе и т. д... Я нахожу небольшие кусочки информации, которые помогают, но недостаточно, чтобы построить и понять такие вещи. Какое базовое образование или подход я должен принять, чтобы понять такие вещи, а затем в конечном итоге ввести новшества? Спасибо.
Что я уже пробовал:
Поиск РЕПО, чтение книг по информатике, поиск блогов, просмотр университетских материалов по информатике.