Английский для Инженеров-Программистов (Часть 1)
Sponsored link: Software Diagnostics Services
У меня давно была мечта начать писать про английский язык и использовать для иллюстраций язык проектирования UML (Unified Modeling Language). После многих лет работы за рубежом и чтения сотен книг на английском языке, включая лингвистическую литературу, я стал замечать, что знаю грамматику английского языка лучше русского. Сегодня я расскажу про первый урок, который я усвоил в 90х во время работы, посылая новые версии программ каждую неделю американским заказчикам. Речь пойдет о настоящем совершенном времени (Present Perfect Tense). Его используют, когда хотят подчеркнуть, что действие только что произошло. Вообразим, что мы только что послали багфикс или новую версию. Если мы напишем “I sent the fix” или “I sent the new version” это будет означать что вы послали его некоторое время назад (прошедшее время, Past Tense) и многое могло измениться с тех пор. Но, если мы напишем “I‘ve sent the fix” (I have sent the fix) или “I‘ve sent the new version” (I have sent the new version), это будет означать, что мы сделали это прямо сейчас, буквально перед тем, как мы написали об этом. Можно усилить упоминание о том, что мы только что сделали это: “I‘ve just sent the fix” (Я только что послал багфикс).
Разница между двумя временами может быть проиллюстрирована на следующих двух диаграммах последовательности (sequence diagram). В названиях я использую английский язык в качестве дополнительного учебного средства.
Когда из контекста все ясно, вместо Present Perfect Tense можно использовать Past Tense. Многие так и делают, особенно в Штатах. По моим наблюдениям, использование Present Perfect Tense более специфично для европейских англоговорящих стран. Если вы сомневаетесь в правильности предложения или фрагмента используйте Google для частотного сравнения:
“I’ve sent” - 1,840,000 раз
“I sent” - 23,600,000 раз
“I send” - 14,700,000 раз (Я определенно намереваюсь послать …)
“I’ve send“ - 60,900 раз (ошибка в форме глагола)
или поиск по полной фразе:
“I’ve sent the fix” - 7 раз
“I sent the fix” - 42 раза
“I send the fix” - 5 раз (Я определенно намереваюсь послать багфикс)
“I’ve send the fix“ - 1 раз (ошибка в форме глагола)
Если вы упоминаете точное время, то нужно использовать Past Tense: ”I sent the fix yesterday” (Я послал багфикс вчера).
В следующей части мы поговорим о формах глагола.
- Дмитрий Востоков @ DumpAnalysis.org -
Magazines:
Debugged! MZ/PE: MagaZine for/from Practicing Engineers
Books:
Software Diagnostics: The Collected Seminars
The Old New Crash: Cloud Memory Dump Analysis
Mobile Software Diagnostics: An Introduction
Pattern-Oriented Network Trace Analysis
Malware Narratives: An Introduction
Philosophy of Software Diagnostics: An Introduction, Part 1
Victimware: The Missing Part of the Equation
Pattern-Based Software Diagnostics: An Introduction
Systemic Software Diagnostics: An Introduction
Accelerated Windows Debugging 3: Training Course Transcript and WinDbg Practice Exercises
Pattern-Driven Software Diagnostics: An Introduction
Memory Dump Analysis Anthology, Volume 6
Accelerated Windows Software Trace Analysis: Training Course Transcript
Accelerated Mac OS X Core Dump Analysis: Training Course Transcript and GDB Practice Exercises
Software Narratology: An Introduction to the Applied Science of Software Stories
Introduction to Pattern-Driven Software Problem Solving
Memory Dump Analysis Anthology: Color Supplement for Volumes 4-5
Windows Debugging Notebook: Essential User Space WinDbg Commands
Memory Dump Analysis Anthology, Volume 5
Memory Dump Analysis Anthology, Volume 4
Memory Dump Analysis Anthology: Color Supplement for Volumes 1-3
Memory Dump Analysis Anthology, Volume 3
First Fault Software Problem Solving: A Guide for Engineers, Managers and Users
x64 Windows Debugging: Practical Foundations
Windows Debugging: Practical Foundations
DLL List Landscape: The Art from Computer Memory Space
Dumps, Bugs and Debugging Forensics: The Adventures of Dr. Debugalov
WinDbg: A Reference Poster and Learning Cards
Memory Dump Analysis Anthology, Volume 2
27 Июль 2008 в 22:37
Спасибо, интересно, ждем продолжения!
28 Июль 2008 в 18:58
Очень наглядный подход и быстро “застревает” в голове!
Жду продолжения с интересом!
Удачи!
4 Август 2008 в 21:25
0. Ну, … не дурно, не дурно!
1. Главное не перегрузить объемом подаваемой информации. Замечал за собой такую фичу: иногда отказываюсь от продолжения изучения материала только потому, что его очень много. Настолько много, что изучения вопроса превращается в нечто схожее с диссертацией. А по жизни “диссертации” не нужны. Нужно просто и что-либо сказать. Сказать лего и непринужденно. Не прибегая к сложному анализу времен и мучительному синтезу фразы.
2. Вопрос. Мы с семьей ехали в Н-ск посмотреть на затмение. Старшая дочь на заднем стекле (точннее, пальцем на грязи) написала следующую фразу:
We’re going to watch the eclipse.
Подразумевалось “Мы едем смотреть на затмение”. Я не уверен, что она выбрала правильную форму глагола. Обратный перевод англиской формы по моим понятиям дает “мы собираемся наблюдать затмение”, что существенно отличается от смысла “мы _едем_ …”.
Я бы сказал — “we go to watch…”, но и здесь у меня тоже большие сомнения.
Пожалуйста, разрешите мои сомнения.
Спасибо!
13 Август 2008 в 2:13
Спасибо за комментарии! По поводу going vs. go. - в этом я тоже сомневался, но проверил в 4х книгах и тут складывается следующая картина:
We go to watch the eclipse.
Тут неправильно в данном контексте. We go to watch the eclipse every day. или We go to watch the eclipse at 1pm. или как рассказ о прошедшем путешествии (и тут я еду смотреть …) - тут правильно.
We’re going to watch the eclipse.
Тут два варианта и оба правильные (зависит от контекста)
- Намерение (We intend to watch)
- Текущее действие
Так что ваша дочь была права.
1 Сентябрь 2008 в 20:13
Занимательная тема, признательна!
22 Сентябрь 2008 в 17:58
Признателен за пост. У друга дома увидел открытым ваш блог. Понравилось. Подписался на RSS. Посоветую друзьям
30 Август 2009 в 9:56
спасибо наглядно, понятно.
с другой стороны, perfect далеко не всегда “только что”. по сути, нас интересует сам факс отправки. i’ve sent = you have it now (например). и в данном случае не важно, когда именно он послал багфикс, только что или неделю назад.
в любом случае, очень интересно было бы развить эту тему: наглядное представление времен/правил/чего бы то ни было английского языка для программистов.
с удовольствием подпишусь на ваш блог!
28 Ноябрь 2009 в 11:27
спасибо, действительно, очень наглядно и легко. И просто, любопытно разобраться, понять структуру языка