1. Головна ідея — «теперішній» не означає «зараз»
Найдорожча помилка в цій темі робиться до першого правила. Українською «теперішній час» = «те, що відбувається зараз», тому здається, ніби три теперішні часи англійської — це три способи сказати «зараз». Насправді жоден із них не про цю мить: вони відрізняються не моментом, а тим, який охват часу ви берете в кадр.
Взагалі так є ●●●
Правило, звичка, властивість. Кадр — усе життя дії, без країв.
We deploy on Fridays.Ми деплоїмо щопʼятниці.У процесі ▬
Почалось, ще не скінчилось. Кадр — вузький відрізок навколо цієї миті.
I am reviewing your pull request.Я саме дивлюсь твій пул-реквест.Уже зроблено ⏵
Дія в минулому, наслідок тут. Кадр — від невідомого моменту до зараз.
I have fixed the bug.Я виправив баг. (він зараз виправлений)Українська мова ділить дієслово за видом: «роблю» проти «зробив». Англійська ділить за охватом: «взагалі», «в процесі», «вже маю результат». Це різні системи, і накладати одну на одну не вийде.
Практичний наслідок: перш ніж вибирати час, спитайте себе не «коли це було?», а «який кадр я беру?» — і особливо: чи період, у якому це сталося, вже закрився. Саме на цьому питанні тримається різниця між Present Perfect і Past Simple, а вона — головна пастка теми (розділ 5).
Найдивніший із трьох: Present Perfect
Два перші часи мають хоч приблизні відповідники в українській. Present Perfect не має жодного — і це не випадковість, а причина, чому він так довго не «клацає».
Формально теперішній, за змістом — про минуле
У реченні I have fixed the bug дія (fix) сталася в минулому. Але головне дієслово в реченні — have, і воно в теперішньому часі. Тому й весь час теперішній: ви зараз маєте баг виправленим.
Українською обидва — I fixed it і I have fixed it — це «я виправив». Різниця, яку ви не чуєте, для носія величезна: перше — подія в закритому минулому, друге — стан справ на цю хвилину.
Перевірка інтуїції: одна ситуація — три кадри
Як сказати «Я працюю тут шість років»?
Якщо рука тягнеться написати I work here for six years — ви не самі, так пише більшість українців. Правильно: I have worked here for six years (або I have been working here for six years).
Причина проста і буде розібрана в розділі 4: період «шість років» почався в минулому й дотягнувся до зараз, а такий охват в англійській позначає тільки Perfect.