Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:ENGLISH FOR IT. Учебное пособие
.pdf
Unit 2. Programming Languages
31
however the resulting code may not port well across operating systems and the
compilation process may take a while.
Interpreted languages are read by a program called an interpreter and are
executed by that program. While they are as portable as their interpreter and have
no long compile times, (6) _____.
Finally, just-in-time compiled (or JIT-compiled) languages are languages that are quickly compiled when programs written in them need to be run
(usually with very little optimization), offering a balance between performance
and portability.
2. High or low level
Level, in this case, refers to how much the nature of the language reflects
the underlying system. (7) ______.
A low-level language is generally quite similar to machine code, (8) _____
or very high-performance programs that really need access to the hardware.
Generally, the term is reserved for machine code itself and assembly languages,
though many languages offer low-level elements. Since a low-level language is
subject to all the nuances of the hardware it's accessing, however, a program
written in a low-level language is generally difficult to port to other platforms.
Low-level languages are practically never interpreted, as this generally defeats
the purpose.
A high-level language focuses more on concepts that are easy to understand
by the human mind, such as objects or mathematical functions. A high-level language usually is easier to understand than a low-level language, and it usually
takes less time to develop a program in a high-level language than it does in a
low-level language. (9) _____ what the resulting program actually does. It is not,
however, impossible to mix high-level and low-level functionality in a language.
3. Type system
A type system refers to the rules that the different types of variables of a
language have to follow. Some languages (including most assembly languages)
do not have types and thus this section does not apply to them. However, as most
languages (including C++) have types, this information is important.
• Type Strength: Strong or Weak (a strong typing system puts restrictions on
how different types of variables can be converted to each other without any converting statements).

Unit 2. Programming Languages
32
• Type Expression: Manifest or Inferred (many languages require variable’s
types to be explicitly defined, and thus rely on manifest typing).
• Type Checking: Static or Dynamic (if a language is statically typed, then
the compiler/interpreter does the type checking once before the program runs/is
compiled; if the language is dynamically type checked, then the types are checked
at run-time).
• Type Safety: Safe or Unsafe (safe language will do more to ensure that such
operations or conversions do not occur, while an unsafe language will give more
responsibility to the user in this regard).
4. Supported paradigms
A programming paradigm is a methodology or way of programming that a
programming language supports.
• Declarative (declarative language will focus more on specifying what a
language is supposed to accomplish rather than by what means it is supposed to
accomplish it).
• Functional (functional programming is a subset of declarative pro-
gramming that tries to express problems in terms of mathematical equations and
functions).
• Generic (generic programming focuses on writing skeleton algorithms
in terms of types that will be specified when the algorithm is actually used,
thus allowing some leniency to programmers who wish to avoid strict strong
typing rules).
• Imperative (imperative languages allow programmers to give the com-
puter ordered lists of instructions without necessarily having to explicitly
state the task).
• Structured (structured programming languages aim to provide some
form of noteworthy structure to a language, such as intuitive control over the
order in which statements are executed (if X then do Y otherwise do Z, do X
while Y is Z)).
• Procedural (a procedural programming language can also refer to an im-
perative structured programming language which supports the concept of procedures and subroutines).
• Object-oriented (object-oriented programming is a subset of structured
programming which expresses programs in the terms of "objects", which are
meant to model objects in the real world).

Unit 2. Programming Languages
33
5. Standardization
Some languages are standardized by the American National Standards Institute (ANSI), some are standardized by the International Organization for Standardization (ISO), (10) _____ [4].
11. Read the article again and say whether the following statements are
true or false.
STAREMENTS
T / F
1
Computers are far from being multipurpose
2
Programming languages have been developed to facilitate the communication process.
3
JIT-compiled) languages provide a good balance between performance
and portability.
4
Level refers to structure of the underlying system.
5 All languages have types
6
A safe language will give more responsibility to the user in this regard.
7
A programming paradigm is a procedure that a programming language
supports.
8
Declarative programming is a subclass of functional programming.
9
Object-oriented programming is a subcategory of structured programming.
10
All languages are standardized by ANSI and ISO.
12. Answer the following questions according to the article.
1. Are computers as “smart” as people? Why? Why not?
2. Are low-level languages interpreted? Why? Why not?
3. Are there any languages without types?
4. Do all languages require variable’s types to be explicitly defined?
5. What do declarative languages focus mainly on the purpose or by what
means how it is supposed to achieve it?
6. What languages aim to provide some form of notable structure to a lan-
guage?
7. What is a way of programming that a programming language supports?
8. What programming language focuses on writing skeleton algorithms in
terms of types that will be specified when the algorithm is actually used?
9. What languages can a procedural programming language be referred to?
10. What is the main function of a programming language?

Unit 2. Programming Languages
34
13. Summarize the article using the following words and phrases:
• to automate many processes;
• versatile tools;
• a set of rules and instruction;
• compiled, interpreted or JIT-compiled;
• high- and low-level languages;
• a type system;
• supported paradigms.
Be guided with the tips on page 201.
VOCABULARY IN USE
14. Follow the link https://rutube.ru/audio/8ae6acb8640e231ee7bd-
78548e304c03/ to listen to the article. Then read the article and fill the gaps.
In technical terms, Python is an (1) ______-oriented, high-(2) ______ programming language with integrated dynamic semantics primarily for web and
app (3) ______.
The Python interpreter and the extensive standard (4) ______ are available
in source or binary form without charge for all major (5) ______ and can be freely
distributed. Python is relatively simple, so it’s easy to learn since it requires a
unique (6) ______ that focuses on readability. Developers can read and translate
Python (7) ______ much easier than other languages. In turn, this reduces the
cost of program maintenance and development because it allows teams to work
collaboratively without significant (8) ______ and experience barriers.
Additionally, Python supports the use of modules and packages, which
means that programs can be designed in a modular (9) ______ and code can be
reused across a variety of projects. Once you’ve developed a module or (10)
______ you need, it can be scaled for use in other (11) ______, and it’s easy to
import or export these modules.
One of the most promising (12) ______ of Python is that both the standard
library and the (13) ______ are available free of charge, in both binary and source
(14) ______. There is no exclusivity either, as Python and all the necessary (15)
______ are available on all major platforms. Therefore, it is an enticing option
for (16) ______ who don’t want to worry about paying high development costs.
Python is a (17) ______-purpose programming language, which is another
way to say that it can be used for nearly everything. Most importantly, it is an

Unit 2. Programming Languages
35
(18) ______ language, which means that the written code is not actually translated to a computer-readable format at (19) ______. This type of language is also
referred to as a “(20) ______ language” because it was initially meant to be used
for trivial projects.
Python can also be used to process text, display numbers or images, solve
scientific equations, and save data. In short, it is used behind the scenes to process
a lot of elements you might need or encounter on your device(s) – mobile included [5].
15. Read the text and fill the gaps with one of the following words:
concepts, functional, high-level, language, object-oriented,
operations, programmers, programming, resources, types
C++ (said C plus plus) is an (1) ______ computer language created by notable computer scientist Bjorne Stroustrop as part of the evolution of the C family
of languages. It was developed as a cross-platform improvement of C to provide
developers with a higher degree of control over memory and system (2) ______.
Some call C++ “C with classes” because it introduces object-oriented programming principles, including the use of defined classes, to the C programming
(3) ______ framework. Over time, C++ has remained a very useful language not
only in computer programming itself, but in teaching new programmers about
how object-oriented programming works. However, it does not support only object-oriented, but also procedural and (4) ______. Thanks to its high flexibility
and scalability, C++ can be used to develop a broad range of software, applications, browsers, Graphical User Interfaces (GUIs), operating systems, and games.
Today C++ is still very appreciated for its notable portability which allows
developers to create programs that can run on different operating systems or platforms very easily. Despite being a (5) ______ language, since C++ is still close
to C it can be used for low-level manipulation due to its close relation with machine language.
When C++ was new, object-oriented programming was just coming on the
scene. This revolutionary type of computer programming transformed the coding
world with its promise of more sophisticated virtual data (6) ______ and objects.
In object-oriented programming, an object is a data type that has both data and
functions inherent in its design. Prior to the advent of object-oriented programming, (7) ______ typically saw a codebase as composed of individual command

Unit 2. Programming Languages
36
line instructions. The identification of objects with data and functions built in led
to a new way of packaging and automating code work.
For an excellent example of object-oriented (8) ______ in C++, one of the
most notable and useful features of the language was the C++ stack. The C++
stack is a class in C++ that has the following characteristics – it is a virtual last in
first out sequential storage container that has a defined set of elements. The func-
tions “push” and “pop” either push a new item into the bottom of the stack or pop
the first available item from the top of the stack. Programmers have utilized the
C++ stack in many different ways to achieve goals involving variable evaluation
and functional (9) ______ within a codebase.
C++ shares some of the infamously hard to understand (10) ______ that
characterized C. In particular, pointers are a challenging concept to grasp, and
their misuse may lead to system crashes and abnormal memory consumption. The
lack of a garbage collector also makes hard to filter out unnecessary data. Another
limit to C++ is the presence of security issues associated with the availability of
pointers, global variables, and friend functions [6].
SPEAKING
Instructions and advice
LANGUAGE WORK
• To give instructions imperatives are used:
Analyze the problem.
Don’t waste time.
• Should or shouldn’t plus infinitive are used to give advice:
You should learn how to code in one programming language.
You shouldn’t skip learning the basic rules of the programming language
you chose for the task.
• A set phrase like it’s a good idea to or it’s a bad idea to plus infinitive can
also be used to give advice:
It’s a good idea to learn the basic rules of the programming language you
chose for the task.
16. Complete the health and safety guidelines with should or shouldn’t.
1. As a programmer, what ______ I do to protect my health and eyes?

Unit 2. Programming Languages
37
2. Take some time to distance yourself from the screen, computer and prob-
lems there. You ______ find something beautiful out there and stare at it.
3. You shouldn’t work without breaks.
4. Programmers ______ spend most of their time sitting when programming.
5. As a programmer you ______ engage yourself in physical exercise to help
you stay in shape. It does not have to be rigorous exercise.
6. You ______ make sure to have a good well-balanced meal. Well-balanced
meals will keep your body nourished and energetic and will help you to be productive.
7. On one end you ______ avoid fast foods and on the other end you ______
starve yourself.
8. For many programmers, it has become almost normal to have only a few
hours of sleep. But you ______ embrace this, it is dangerous to your health and
productivity ultimately.
9. You ______ exercise more, watch your food, take care of your eyes, protect your mental health and have a good quality sleep time.
10. Bugs will always be there; they ______ be reasons why you should not
have a life.
17. Work with your partner. Practise giving advice about how to retain
your physical and mental health while programming. Use should / shouldn’t
or it’s a good idea / it’s a bad idea.
1. Programming can be frustrating, it can also be a lonely path.
2. Many programmers are victims of mental stress because of the nature of
their work.
3. Many programmers spend nearly an entire day in an eye contest with their
computer screen. It needs no explanation that long exposures to bright screens
can be unhealthy.
4. It is very tempting for programmers to go fast food which does not need
much of preparation and all, so as to save time and go back to their work.
5. Programming jobs generally do not involve a lot of physical activities as
such, most of them are termed sedentary.
18. Give an argumentative recommendation or advice which programming language should be used in each of the following cases.
1. A businessman needs to develop a simple database program to keep track
of their goods.

Unit 2. Programming Languages
38
2. An engineer needs to create a program to calculate stresses in a mechan-
ical device.
3. A student is going to design web pages for a personal website.
4. A systems programmer needs to add some new modules to an operating
system.
5. A commercial company needs to process data from its branch offices on
its mainframe computer.
6. A website developer needs the data on their website to be easily processed
by different programs.
7. A student studying artificial intelligence needs to develop a program for
a course project.
8. A school teacher wants their pupils to learn the basics of programming.
WRITING
Writing an opinion essay
19. Write an opinion essay “Is a universal programming language uto-
pia or reality?” Write 200–250 words, be guided with the tips on page 196.

Unit 3. Graphic Design
39
UNIT 3
GRAPHIC DESIGN
LEAD-IN
1. Follow the link https://www.youtube.com/watch?v=6FRZpK_yYvU&t=
122s to watch “What is Graphic Design? How Do I Become a Graphic De-
signer?” and learn about Graphic Design. While watching the video pick out
the main points of Graphic Design and equipment you need.
2. Watch the video again. What are the typical projects you might do as
a graphic designer? Which project types make the most money? Why (Why
not)? Complete this table.
Types and niches
Typical
projects
Money
Why?
(Why not?)
1
Logo design
2
UX/UI and web design
3
Editorial design
4
Branding/event design
5
Social media/digital design
6
Illustration, pattern design and digital art
7
Package design
USEFUL VOCABULARY
3. To be able to discuss the main features, peculiarities, and types of
graphic design we need to study the following terminology and professional
vocabulary.
Adobe Photoshop (n) [əˈdəʊbɪ ˈfəʊtəʃɒp] – arguably the most popular
software for graphic design. Whether you are looking to create banners, posters,

Unit 3. Graphic Design
40
websites, or logos, this best graphic design software can do it all for you. From
small edits to sophisticated designs, Adobe Photoshop has tools for every level.
Adobe Illustrator (n) [əˈdəʊbɪ ˈɪləstreɪtə] – a design software that is cen-
tered around vector design. You can create artwork, icons, posters, etc. and the
designs created in Adobe Illustrator can be used in business cards or billboards.
Adobe InDesign (n) [əˈdəʊbɪ ɪndɪˈzaɪn] – used primarily in the publishing
industry because you can design magazines, info sheets, books, posters, interactive PDFs, etc. with it.
Assemble (v) [əˈsembl] – to fit together all the separate parts of something,
for example a piece of furniture.
Assortment of collateral (n) [əˈsɔːt.mənt əv kəˈlæt.ər.əl] – a wide range of
products.
Audience (n) [ˈɔːdiəns] – a number of people or a particular group of people
who watch, read, or listen to the same thing.
Broadcast media (n) [ˈbrɒdkɑːst ˈmiː.di.ə] – different media channels or
broadcasters such as the television, internet, podcasts, video content, and others
Casual users (n) [ˈkæʒ.ju.əl] – not regular users.
Collaborative discipline (n) [kəˈlæb.ər.ə.tɪv ˈdɪs.ə.plɪn] – a particular area
of study, especially a subject studied at a college or university involving two or
more people or organizations working together for it.
Color palettes (n) [ˈkʌl.ər ˈpæl.ət] – the range of colors available to the user
of a computer.
Combine into a whole (v) – to merge.
Communicative (adj) [kəˈmjuːnɪkətɪv] – relating to the conveyance or ex-
change of information.
Computer image manipulation (n) [məˌnɪp.jəˈleɪ.ʃən] – the process of
changing, moving, etc. images on a computer.
Database (n) [ˈdeɪtəbeɪs] – an organized set of data that is stored in a com-
puter and can be looked at and used in various ways.
Environmental [ɪnˌvaɪrənˈmentl] – connected with the conditions that af-
fect the behaviour and development of somebody/something.
Graphic design (n) [ˌɡræf.ɪk dɪˈzaɪn] – the skill or the work of arranging
text and pictures, especially in the production of books, magazines, software, etc.
Graphic modeling (n) [ˈgræfɪk ˈmɔdlɪŋ] – the process of a visualization of
an idea, often created on paper or through software.
Image (n) [ˈɪm.ɪdʒ] – any picture, especially one formed by a mirror or a lens.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
