Почему "синхронный" - значит один за другим в контексте программирования ?
И почему "синхронный" - значит один за другим в контексте программирования ? Само слово "синхронный" - приводит к некому замешательству, это же "одновременно" означает.

Путаница с именованием действительно есть, так как понятия синхронный и асинхронный в программировании означают не совсем тоже, что в обычной жизни. Синхронный в программировании - это значит, что код выполняется синхронно с основным потоком программы. Например:
const syncFunc = () => 1 + 1;
const main = () => {
const result = syncFunc();
console.log(result);
};
main();
В примере выше функция syncFunc
синхронная (обычная функция). Функция main()
представляет из себя основную функцию программы, в ней вызывается функция syncFunc()
. Благодаря тому, что функция syncFunc
синхронная, то работа функции main
будет длиться не меньше, чем работа функции syncFunc
. То есть, если функция syncFunc
будет выполняться 3 секунды, то и main
будет выполняться не меньше 3 секунд, что логично, ведь внутри main
код "ждёт" пока выполнится syncFunc
. Если выполнение syncFunc
увеличиться например на 2 секунды, то и работа main
увеличиться на 2 секунды. То есть время работы функций syncFunc
и main
синхронно.
Теперь пример с асинхронной функцией:
const asyncFunc = () => {
fs.readFile('./myfile', 'utf-8', (_error, data) => console.log('First!'));
};
const main = () => {
asyncFunc();
console.log('End!');
};
main();
Теперь main
вызывает асинхронную функцию asyncFunc
и не дожидается выполнения этой функции, сразу печатается "End!". То есть время работы asyncFunc
никак не влияет на время работы main
. Если asyncFunc
увеличится на 3 секунды, то время выполнения main
не увеличится на 3 секунды.