Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ENGLISH FOR IT. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
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 lan­guages 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 lan­guage 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 con­verting 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 pro­cedures 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 Insti­tute (ANSI), some are standardized by the International Organization for Stand­ardization (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 communi­cation 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 program­ming.
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) ______ pro­gramming 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 trans­lated 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 in­cluded [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 no­table 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 pro­gramming 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 ob­ject-oriented, but also procedural and (4) ______. Thanks to its high flexibility and scalability, C++ can be used to develop a broad range of software, applica­tions, 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 plat­forms 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 ma­chine 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 program­ming, (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 pro­ductive.
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, pro­tect 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 program­ming 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 200250 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 digi­tal 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, interac­tive 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.