Scope (computer science) | Wikipedia audio article
Channel: wikipedia tts
Date: 13/01/2019

This is an audio version of the Wikipedia Article:
https://en.wikipedia.org/wiki/Scope_(computer_science)


00:02:24 1 Definition
00:04:26 1.1 Lexical scope vs. dynamic scope
00:06:16 1.2 Related concepts
00:07:42 2 Use
00:08:20 3 Overview
00:13:52 4 Levels of scope
00:16:04 4.1 Expression scope
00:16:33 4.2 Block scope
00:17:48 4.3 Function scope
00:23:10 4.4 File scope
00:25:50 4.5 Module scope
00:28:02 4.6 Global scope
00:29:03 5 Lexical scoping vs. dynamic scoping
00:30:18 6 Lexical scoping
00:31:08 6.1 History
00:34:09 7 Dynamic scoping
00:37:27 7.1 Macro expansion
00:38:47 8 Qualified identifiers
00:44:16 9 By language
00:45:42 9.1 C
00:48:09 9.2 C++
00:48:22 9.3 Go
00:51:34 9.4 Java
00:52:21 9.5 JavaScript
00:52:33 9.6 Lisp
00:53:46 9.7 Python
00:58:01 9.8 R
00:59:31 10 See also
01:02:21 11 Notes
01:03:21 12 References



Listening is a more natural way of learning, when compared to reading. Written language only began at around 3200 BC, but spoken language has existed long ago.

Learning by listening is a great way to:
- increases imagination and understanding
- improves your listening skills
- improves your own spoken accent
- learn while on the move
- reduce eye strain

Now learn the vast amount of general knowledge available on Wikipedia through audio (audio article). You could even learn subconsciously by playing the audio while you are sleeping! If you are planning to listen a lot, you could try using a bone conduction headphone, or a standard speaker instead of an earphone.

Listen on Google Assistant through Extra Audio:
https://assistant.google.com/services/invoke/uid/0000001a130b3f91
Other Wikipedia audio articles at:
https://www.youtube.com/results?search_query=wikipedia+tts
Upload your own Wikipedia articles through:
https://github.com/nodef/wikipedia-tts
Speaking Rate: 0.9220886593594086
Voice name: en-US-Wavenet-E


"I cannot teach anybody anything, I can only make them think."
- Socrates


SUMMARY
=======
In computer programming, the scope of a name binding – an association of a name to an entity, such as a variable – is the region of a computer program where the binding is valid: where the name can be used to refer to the entity. Such a region is referred to as a scope block.  In other parts of the program the name may refer to a different entity (it may have a different binding), or to nothing at all (it may be unbound).
The scope of a binding is also known as the visibility of an entity, particularly in older or more technical literature – this is from the perspective of the referenced entity, not the referencing name. A scope is a part of a program that is or can be the scope for a set of bindings – a precise definition is tricky, but in casual use and in practice largely corresponds to a block, a function, or a file, depending on language and type of entity. The term "scope" is also used to refer to the set of all entities that are visible or names that are valid within a portion of the program or at a given point in a program, which is more correctly referred to as context or environment.Strictly speaking and in practice for most programming languages, "part of a program" refers to "portion of the source code (area of text)", and is known as lexical scope. In some languages, however, "part of a program" refers to "portion of run time (time period during execution)", and is known as dynamic scope. Both of these terms are somewhat misleading – they misuse technical terms, as discussed in the definition – but the distinction itself is accurate and precise, and these are the standard respective terms. Lexical scope is the main focus of this article, with dynamic scope understood by contrast with lexical scope.
In most cases, name resolution based on lexical scope is relatively straightforward to use and to implement, as in use one can read backwards in the source code to determine to which entity a name refers, and in implementation one can maintain a list of names and contexts when compiling or interpreting a program. Difficulties arise in name masking, forward declarations, and hoisting, while considerably subtler ones arise with non-local variables, particularly in closures.