Present Perfect — теперішній перфект (+ Perfect Continuous)
Єдиний англійський час, у якого немає українського відповідника. Через це його не можна «перекласти» — його доводиться зрозуміти. Добра новина: ідея одна, і вона проста. Дія сталася в минулому, але ви говорите про неї тому, що вона важлива зараз.
4.1 Форма
+I / you / we / they have + V3// I have finished → I've finished
+he / she / it has + V3// she has finished → she's finished
−підмет + have not / has not + V3// haven't finished, hasn't finished
?Have / Has + підмет + V3 … ?// Have you finished? — НЕ «Did you have finished?»
?Wh- + have / has + підмет + V3 … ?// How many tickets have you closed?
V3, а не V2. Для правильних дієслів різниці не видно (worked — worked), і саме тому помилка з неправильними виникає так легко: ✗ I have saw it замість I have seen it. Таблиці неправильних дієслів — у кінці розділу.
Пастка скорочення: 's — це has чи is?
Обидва скорочуються однаково, і на письмі теж. Розрізняє їх наступне слово:
She's working → далі -ing → це is → Present Continuous. She's worked → далі V3 → це has → Present Perfect. She's been working → далі been → це has → Present Perfect Continuous.
Те саме з 'd: he'd done = had, he'd do = would.
4.2 Шість випадків уживання — з розбором
① Результат, важливий зараз — часу дії не називають
I have fixed the bug.Я виправив баг. (він зараз виправлений)Коли саме — не сказано і не важливо. Важливо, який стан справ на цю хвилину.
She isn't on the call — she has left the company.Її немає на дзвінку — вона пішла з компанії.Наслідок для теперішнього: пішла, тому її немає. Порівняйте: She left in March — там названий місяць, отже Past Simple.
We have lost production access.Ми втратили доступ до продакшну.Ви говорите не про подію, а про проблему, яка є прямо зараз.
I have forgotten the password.Я забув пароль.Українською минулий час, англійською — наслідок у теперішньому: пароля в мене зараз немає.
② Досвід — будь-коли до цього моменту
I have never seen latency like that.Я ніколи не бачив такої латентності.never ставиться між have і V3. Другого заперечення не треба — never уже заперечення.
Have you ever escalated a P1?Ти колись ескалював інцидент рівня P1?ever = «хоч колись за все життя». Найчастіше питання про досвід ставлять саме так.
I have worked with three different vendors.Я працював із трьома різними вендорами.Скільки разів — за все життя до цього моменту. Дат немає.
We have been through this twice already.Ми вже проходили це двічі.been through — надзвичайно вживана фраза про пережитий досвід.
③ Період, який ще не закінчився — for і since
Це той випадок, де українці помиляються найчастіше, бо українською тут природний теперішній час.
I have worked here for six years.Я працюю тут шість років.✗ I work here for six years. Період почався в минулому й триває — тільки Perfect.
I have known him since university.Я знаю його з університету.know — дієслово стану, тому Perfect, а не Perfect Continuous.
We haven't spoken since that conference.Ми не бачилися з тієї конференції.
How long have you been in this role?Скільки ти вже на цій посаді?Якби посада вже скінчилась: How long were you in that role?
for чи since — правило одного рядка
for + скільки часу триває: for six years, for two weeks, for ten minutes. since + з якого моменту: since 2019, since Monday, since I joined, since that outage.
Помилка-калька: ✗ since six years. Українською «вже шість років» і «з 2019-го» звучать однаково буденно, тому since тягне за собою кількість. Тримайте перевірку: після since має стояти точка на календарі, а не тривалість.
④ Щойно, вже, ще ні — just, already, yet
She has just left.Вона щойно пішла.Американці частіше кажуть She just left — обидва варіанти нормальні (розділ 5).
I have already sent the invoice.Я вже надіслав рахунок.already — між have і V3.
We haven't finished the migration yet.Ми ще не завершили міграцію.yet — у самому кінці речення, тільки в запереченнях і питаннях.
Have you looked at the pull request yet?Ти вже глянув пул-реквест?
⑤ Підрахунок у відкритому періоді
We have shipped two releases this week.Цього тижня ми випустили два релізи.this week ще триває, до нього можна додати третій реліз → період відкритий.
The service has gone down three times today.Сервіс падав тричі за сьогодні.
Nobody has complained so far.Поки що не скаржився ніхто.so far = «на цю мить», один із найнадійніших маркерів Perfect.
How many tickets have you closed this sprint?Скільки тікетів ти закрив за цей спринт?
⑥ Готові конструкції, які тягнуть Perfect за собою
This is the third time I have asked about the handover.Я питаю про передачу справ уже третій раз.It is the first / second / third time… — завжди Present Perfect. У минулому було б Past Perfect.
This is the worst outage we have had.Це найгірший інцидент, який у нас був.Після найвищого ступеня порівняння — Perfect.
It's the first time he hasn't run the release.Це вперше, коли релізом займається не він.
been чи gone — різниця, яка змінює зміст
He has been to Berlin. — Він був у Берліні (і вже повернувся). Це досвід. He has gone to Berlin. — Він поїхав до Берліна (і зараз він там). Це де він є.
Практичний варіант тієї самої пари: She's been to the client's office (була, знає, як там) проти She's gone to the client's office (поїхала, її немає в офісі).
4.3 Present Perfect Continuous — коли важлива тривалість
have / has been + V-ing. Той самий охват, що й у Present Perfect — від минулого до зараз — але наголос переноситься з результату на процес і його тривалість.
+підмет + have / has been + V-ing// I've been waiting, she's been working
−підмет + haven't / hasn't been + V-ing// I haven't been sleeping well
?Have / Has + підмет + been + V-ing … ?// How long have you been waiting?
Дієслова стану сюди не входять: ✗ I've been knowing him. → I've known him.
Perfect чи Perfect Continuous — те саме речення
I have written the report.
Наголос на результаті: звіт готовий, можна читати.
I have been writing the report all morning.
Наголос на процесі: я сидів над ним весь ранок; чи готовий — не сказано.
Ще одна пара — той самий вендор
I have called them three times.
Скільки разів. Підрахунок закінчених дій.
I have been calling them all week.
Скільки часу. Дія тягнулась і, найпевніше, ще не дала результату.
How long have you been waiting for their reply?Скільки ти вже чекаєш на їхню відповідь?How long + дія, що триває → майже завжди Perfect Continuous.
The latency has been growing since we added the new index.Латентність зростає, відколи ми додали новий індекс.since + процес, що не спинився.
He looks exhausted — he has been firefighting for two weeks straight.Він виглядає виснаженим — він два тижні підряд гасить пожежі.
Who has been drinking my coffee?Хто пив мою каву?Класична пара: видимий слід дії, а не її результат. Чашка порожня — хтось цим займався.
Проста перевірка, який із двох брати
Спитайте себе: відповідь на «скільки часу» чи на «скільки разів»?
«Скільки часу» → have been + V-ing. «Скільки разів» або «що вже готово» → have + V3.
І пам'ятайте про дієслова стану: у них процесу немає, тому вони завжди беруть звичайний Perfect. ✗ I've been knowing, ✗ I've been owning.
4.4 Слова-маркери
already — вжеyet — ще (у ? і −)just — щойноever / neverfor six yearssince 2019so far — поки щоup to nowlately / recentlytoday / this week / this yearhow long — скільки часуIt's the first time…
4.5 Третя форма — таблиці неправильних дієслів
Present Perfect живе на V3 — останній колонці. Це той самий список, який використовує аналізатор тексту, тому теорія й підсвітка говорять про одні й ті самі слова. Група A найлегша: там усі три форми однакові, отже вчити нічого.
Група A: усі три форми однакові
cut — cut — cut
put — put — put
let — let — let
set — set — set
hit — hit — hit
cost — cost — cost
shut — shut — shut
read — read — readминулі форми читаються /red/
Група B: V2 = V3
build — built — built
send — sent — sent
spend — spent — spent
lend — lent — lent
buy — bought — bought
bring — brought — brought
think — thought — thought
catch — caught — caught
teach — taught — taught
find — found — found
lose — lost — lost
keep — kept — kept
sleep — slept — slept
meet — met — met
lead — led — led
pay — paid — paid
say — said — saidsaid /sed/
sell — sold — sold
tell — told — told
hold — held — held
make — made — made
hear — heard — heardheard /hɜːd/
leave — left — left
feel — felt — felt
sit — sat — sat
stand — stood — stood
understand — understood — understood
win — won — won
Група C: усі три різні — вчити напам'ять
be — was/were — been
begin — began — begun
break — broke — broken
choose — chose — chosen
do — did — done
drink — drank — drunk
drive — drove — driven
eat — ate — eaten
fall — fell — fallen
fly — flew — flown
forget — forgot — forgotten
get — got — got/gotten
give — gave — given
go — went — gone
grow — grew — grown
know — knew — known
ride — rode — ridden
rise — rose — risen
run — ran — run
see — saw — seen
show — showed — shown
speak — spoke — spoken
take — took — taken
throw — threw — thrown
wake — woke — woken
wear — wore — worn
write — wrote — written
come — came — come
Три пари, які плутають найчастіше
see — saw — seen: ✗ I have saw → ✓ I have seen do — did — done: ✗ I have did → ✓ I have done go — went — gone: ✗ I have went → ✓ I have gone
Правило-запобіжник: після have / has ніколи не стоїть форма, яку ви вживаєте самостійно в минулому часі. Якщо слово може стояти саме (I saw it) — воно V2, і після have йому не місце.