Before we jump into the coding terminology, think back to when you were learning how to drive. (Unrelated, seemingly, but stick with me.)
The basic instruction on how to operate a vehicle included things like putting the key in the ignition, turning the key to start the car, shifting gears to drive or reverse, accelerating, putting on your blinker, etc.
As a young 15 or 16-year-old, you might have not even known the meaning of words like ignition, gear shifter, or e-break. They were familiar terms that you had heard or read about, but when it came time to use them, you felt rather helpless.
Luckily, the person teaching you to drive could easily help you through. “Stick the key in that hole,” “Grab this knob and pull it towards you or away,” and so on. Meaning, there was a lot of pointing and physical gesturing to help you understand.
Now, think about computer coding for kids, and teaching them how to go about it: Pick a programming language like Java, C++, or Python; open your Integrated Development Environment; write a statement; debug.
What?
Coding not only doesn’t lend itself to someone just physically showing you to “do this” or “do that” but most of the terms that come with it is new terminology, and are words never seen before—or words that have been seen, but now have different meanings.
So, we wanted to define some coding terminology! This is a living, growing list, but already full of useful terms your child will come across at some point in their coding journey.
And an important note—context is everything. Meaning, reading through this list as a single blog post in a vacuum won’t do much good. But, consulting the list once your child has begun their coding journey can be helpful.
Coding terminology
Here are some popular coding terms and words to become familiar with.
Algorithm
An algorithm is a set of instructions that are followed to solve a problem. It’s a computer’s thought process.
Argument
An argument is a way to provide more information to a function. The function can then use that information as it runs, like a variable (For more info on variables, see below.)
Arrays
Arrays are containers that hold variables; they’re used to group together similar variables. You can think of arrays like shelves at a pet store. The array would be the shelf, and the animals in cages are the variables inside.
Arithmetic operators
Arithmetic operators are essential in almost every application, especially in games. If a game character earns experience, it needs to be added to the total earned. If an arrow hits an enemy, the damage the enemy takes needs to be calculated.
Assignment operators
Assignment operators (+=, -=, *=, /=) are operators that combine variable assignments (=) with arithmetic operators. They serve as a shortcut when coders have to perform an operation that changes the value of a variable. If a rock falls on a game player’s head, health needs to be subtracted from their total, and so on.
Augmented reality
Augmented reality (AR) is an interactive experience where digital objects are placed in a real-world environment in real time. While virtual reality creates a completely artificial environment, augmented reality uses the existing real-world environment and overlays new information on top of it. Pokémon Go is a popular example, blending the real world captured through your phone’s camera with virtual characters overlaid on top.
Autonomous
Autonomous robot, self-driving car, and delivery bot are all terms used to describe robots that navigate their environments using sensors with little to no human interaction.
Binary numbers
A binary number is a computer’s way to represent information. Computers process millions of 1’s and 0’s a minute using different rules to interpret them as numbers, letters, operators, and everything else put into a computer.
Bit
The individual 1’s and 0’s you see in binary are called bits.
Block Coding
With block-based coding, programming «blocks» fit together like puzzle pieces. When you code with blocks, you take the first block you want the program to execute and attach it to another block, and so on.
C++
C++ is a low-level yet versatile programming language. Beginnners who master this language will be able to solve complex problems and understand how programs work.
Related: Online C++ tutoring for kids and teens
Camel case
Variables should be named using camel case, meaning the first word of the name is lowercase and each new word after that is capitalized. It’s called camel case because when it was originally written as CamelCase, the capital Cs look like the humps on a camel. iPhone, eBay, YouTube, and of course, iD in “iD Tech” are real-world examples of camel casing!
Coding
Coding is how people create instructions for computers to follow. Just like people speak different languages, so do programs. For instance, Roblox uses the coding language Lua while Minecraft was built with Java.
Coding languages
Computers use coding languages to understand what people want them to do. Just like how people communicate with each other in English or Japanese, people communicate with computers in languages like C++ or Java. Some of the best coding languages for kids include JavaScript, Scratch, and Python.
Computer program
A computer program is a group of instructions given to a computer to be processed. These instructions are typically used to solve a problem, or make long problems for humans shorter and easier.
Learn more: What is computer programming?
Conditional statements
Conditional statements evaluate to true or false. Use them to print information or move programs forward in different situations.
Else statements
Else statements are used to do something else when the condition in the if statement isn’t true.
Else if statements
Use an else if statement to do something when the if statement’s condition isn’t true but before the else statement. Else if statements also check a specific condition.
For loops
For loops allow you to run a block of code repeatedly, just like while loops. However, for loops run a block of code a set number of times. (Remember, while loops run an unknown or unspecified amount of times; more on that below.)
Functions
A function is a block of code that can be referenced by name to run the code it contains.
Header files
A header file allows you to write code for other files to use, making it possible to share code between files and organize your code as projects grow.
If statements
An if statement runs a block of code based on whether or not a condition is true.
Increment and decrement operators
Increment (++) and decrement (—) operators add or subtract one from the numerical value of the variable they’re adjacent to. They’re useful for situations when you only want to change a value by exactly one, like leveling up or using a life.
Input
Input is any interaction from the user to the program. In video games, this includes using the keyboard to move or using the mouse to look around.
Integrated Development Environment
Software such as Visual Studio is known as an Integrated Development Environment (IDE), which is where you type your code and run your programs. Basically, an IDE is software that makes coding simpler.
IntelliJ
To start writing code in Java, you can use IntelliJ, an IDE created for writing and running code.
Java
Java is a powerful multi-platform programming language. It’s used for many professional and commercial applications, including every Android application and even the Android operating system itself!
Minecraft was completely developed in Java by Markus Persson. Gmail was created in Java because Java has a great performance rate and a good framework for web.
When it comes to Java for kids, they can use Java to make a wide range of games and programs.
JavaScript
There are a lot of different text programming languages programmers can use, and JavaScript is one of the most popular programming languages. It is used in 95% of websites and can be used for programming phones and robots.
Jupyter Notebook
Jupyter Notebook is a type of Integrated Development Environment. Jupyter handles Python specifically.
Library
A library is a collection of code made by other programmers for you to import and use.
Linux
Linux is an open-source operating system designed to run on multiple types of devices, like laptops, phones, tablets, robots, and many others. In fact, the Android operating system is based on Linux!
Loops
Loops check a condition and then run a code block. The loop will continue to check and run until a specified condition is reached.
Main function
For a program to run, it must have a main function, which runs first each time you start your program. The main function is where the bulk of your code will go.
Machine learning
Machine learning is getting a computer to act without explicitly being programmed to do so. It’s an application of artificial intelligence where we give machines access to data and let them use that data to learn for themselves. Learn more about machine learning for kids.
Micro:bit
The micro:bit is a small programmable computer more formally known as a microcontroller development board.
Neural networks
Machine learning is all about training an algorithm. In order to train an algorithm, neural networks are needed, which are sets of algorithms that are inspired by biological neural networks. A neural network is the «brain» of the program.
Neuron
In machine learning, a neuron is a simple, yet interconnected processing element that processes external inputs.
Pointers
A pointer points to a specific value stored at a specific address in a computer’s memory. You can think of it as a variable for another variable’s address.
Programming
Programming is creating a set of instructions for a computer to follow. Think of it like a language between people and machines. Programming is most commonly used to make long and repetitive tasks quick and easy.
Programming Languages
Programmers use programming languages to communicate instructions to computers. These languages include Python, C++, Java, JavaScript, and more.
PyCharm
PyCharm is an integrated development environment made specifically for Python programmers.
Python
Python is a programming language that’s currently becoming more and more powerful with every new library added to its collection. It handles everything from web development and game design, to machine learning and AI. Python is known for having syntax that’s simpler and easier to write than many other languages like Java and C++.
Learn more: Python for kids
Scratch
Scratch coding is an MIT-developed graphical programming language, where beginners can learn drag-and-drop programming basics to create interactive stories and comics.
Learn more: What is block-based coding?
Scripts
In programming, a series of scripts, or sets of steps, are written for a computer to follow. Computers process the steps line-by-line from top to bottom. Each step is created by writing a statement.
Get started: Roblox scripting & Lua coding
SFML
The Simple and Fast Multimedia Library (SFML) is a library that, with C++ for example, allows you to create images, generate sound effects, and even connect multiple computers
Sprites
Sprites are computer graphics that you can move via code; a 2D player that walks is an animated sprite. For kids, Scratch sprites provide a fun intro to coding.
Statement
The way you tell a computer to perform an action is by giving it instructions or writing statements to explain a desired action. Again, it’s similar to writing sentences in English, but with words, numbers, and punctuation added depending on the programming language.
Strings
Variables can hold data besides numbers, including words. Programmers refer to variables holding words as strings.
TensorFlow
TensorFlow is a library developed by Google to facilitate the creation and training of machine learning models and neural networks.
Terminal
Terminal is a text-based interface for sending commands to a computer.
Text Coding
Text coding uses letters, numbers, and punctuation to create lines of code and programs. Text coding allows for more freedom than block coding, and is what professional programmers use.
Training
Training is the process of feeding huge amounts of data into an algorithm so the algorithm can adjust and improve, as if it’s learning.
Ubuntu
Ubuntu is one of the more popular distributions, or versions, of Linux.
Variable
A variable is a container that holds a single number, word, or other information that you can use throughout a program. A variable is like a chest you can fill with different values. You name the chests so you can find them later. Variables have three parts: type, name, and value.
Variable types
Once a variable is declared, a variable type is specified. Basic variable types include: string (words and phrases), char (short for “character;” a single letter or symbol you can type), int (short for “integer;” for whole numbers), double or float (for decimal numbers), and bool (short for “boolean;” for true or false values).
Visual Studio
Visual Studio is used to program in C++. It’s an industry-wide platform with many tools and features to help you!
While loops
While loops are set up just like if statements. They check for a condition and run the code in them until the condition is no longer true. A while loop will run forever (until the condition is false).
For young minds interested in keeping the skill-building going, check out our many coding classes for kids for in-person summer learning, and our year-round online coding classes for kids, which can be started right now!
As it is the case for any skill, it is essential to learn the basic terms used in that domain before going full-fledged into practice mode. Knowing terms help you understand your domain better and faster. If you are learning to code or new to computer science, we bring a few important computer science and programming terms to you that can act as your learning 101 guide. We have also added relevant links for every definition so that you can learn more if you want to dig deeper.
Programming Terms and Definitions
Below goes programming terminology for beginners:
1. Algorithm
An algorithm is a set of instructions or rules designed to solve a definite problem. The problem can be simple like adding two numbers or a complex one, such as converting a video file from one format to another.
Learn more about algorithms here
2. Program
A computer program is termed as an organized collection of instructions, which when executed perform a specific task or function. A program is processed by the central processing unit (CPU) of the computer before it is executed. An example of a program is Microsoft Word, which is a word processing application that enables users to create and edit documents. The browsers that we use are also programs created to help us browse the internet.
Learn more about programs here
3. API
Application Programming Interface (API) is a set of rules, routines, and protocols to build software applications. APIs help in communication with third party programs or services, which can be used to build different software. Companies such as Facebook and Twitter actively use APIs to help developers gain easier access to their services.
Learn more about APIs here
4. Argument
Argument or arg is a value that is passed into a command or a function. For example, if SQR is a routine or function that returns the square of a number, then SQR(4) will return 16. Here, the value 4 is the argument. Similarly, if the edit is a function that edits a file, then in edit myfile.txt, ‘myfile.txt’ is the argument.
Learn more about arguments here
5. ASCII
American Standard Code for Information Interexchange (ASCII) is a standard that assigns letters, numbers and other characters different slots, available in the 8-bit code. The total number of slots available is 256. The ASCII decimal number is derived from binary, which is assigned to each letter, number, and character. For example, the ‘$’ sign is assigned ASCII decimal number 036, while the lowercase ‘a’ character is assigned 097.
Learn more about ASCII here
6. Boolean
A Boolean expression or Boolean logic is an expression used for creating statements that are either TRUE or FALSE. Boolean expressions use AND, OR, XOR, NOT and NOR operators with conditional statements in programming, search engines, algorithms, and formulas. Boolean expressions are also called comparison expressions, conditional expressions, and relational expressions.
Learn more about Boolean here
7. Bug
A bug is a general term used to denote an unexpected error or defect in hardware or software, which causes it to malfunction. Even though bugs are often considered to be insignificant computer glitches, there have been instances where bugs have caused life-threatening conditions and led to major financial losses. This makes it imperative to invest in the process of finding bugs before programs are rolled out for their application. This process is known as testing.
Learn more about bugs here
8. Char
Character (char) is a display unit of information equal to one alphabetic letter or symbol. The value of a char variable could be any one character value, such as ‘a’, ‘1’, ‘$’ and ‘X’. This definition of character relies on the general definition of a character as a sole unit of written language. However, char as an abbreviation is a reserved keyword in languages such as C, C++, C#, and Java.
Learn more about char here
9. Objects
An object is a combination of related variables, constants and other data structures which can be selected and manipulated together. An object can include shapes that appear on a screen or the age of students in a school.
Learn more about objects here
10. Object-Oriented Programming
Object-oriented programming (OOP) is a model defined by programmers that revolve around objects and data rather than ‘actions’ and ‘logic’. In OOP, not only the data type of a data structure is defined, but also the types of functions that can be applied to it. Through this, the data structure becomes an object that consists of both data and functions. Languages that use OOP concepts are Java, Python, C++, and Ruby.
Learn more about object-oriented programming here
11. Class
In Object-Oriented programming, a class refers to a set of related objects with common properties. Classes and the ability to create new classes render OOP a powerful and flexible programming model. For example, there might be a class called shapes which contains objects which are triangles, pentagons, square and circle.
Learn more about classes here
12. Code
Code or source code is a term used to describe a written set of instructions, written using the protocols of a particular language, such as Java, C or Python. The code can also be used informally to describe text written in a specific language. There are instances where references to the code are made for different languages, such as ‘PHP Code’, ‘HTML Code’, ‘Java Code’ or ‘CSS Code’.
Learn more about code here
13. Command-line interface
The command-line interface is a user interface based on the text. The UI is used to view and manage computer files. Command-line interfaces are also called command-line user interfaces, console user interfaces and character user interfaces. During the early 1960s and through the 1970s and 1980s, the command line interface was the primary means of interaction with most computers on terminals.
Learn more about the command-line interface here
14. Compilation
The process of creating an executable program through code written in a compiled programming language is called compilation. Through compiling, the computer can understand and run the program without using the programming software used to create it. A compiler is a program that translates computer programs written using letters, numbers, and characters into a machine language program. An example of a compiler in C++.
Learn more about compile and compilers here
15. Conditionals
Conditionals, conditional statements, and conditional expressions are features of programming language, which help the code make a choice and result in either TRUE or FALSE. These perform different actions depending on the need of the programmer, and multiple conditions can be combined into a single condition, as long as the final value of the condition is either TRUE or FALSE. Examples of conditional statements are ‘IF’, ‘IF-Else’, ‘While’ and ‘Else-If’.
Learn more about conditionals here
16. Constants
A constant (also known as Const) is a term used to describe a value that does not change throughout the execution of the program, unlike a variable. Constant cannot be altered and will remain fixed, and a constant can be a number, character, and string.
Learn more about constants here
17. Data types
A data type is the classification of a particular type of data. We as humans can understand the difference between a name and a number, but the computer cannot. The computer uses special internal codes to distinguish between different types of data it receives and processes. The most common data types include integer type which are numbers, a floating-point number data type which are decimal based numbers, Boolean values which are TRUE or FALSE and character data type which is alphabets.
Learn more about data types here
18. Array
Arrays are lists or groups of similar types of data values that are grouped. All values in the array are of the same data type and are only differentiated by their position in the array. For example, the age of all students in a class can be an array as they will all be numbers. Similarly, the name of every student in a class will be an array as they will all be of the character data type.
Learn more about arrays here
19. Declaration
A statement that describes a variable, function or any other identifier is called a declaration. A declaration helps the compiler or interpreter identify the word and understand its meaning, and how the process should be continued. Even though they are important, they are optional and may be used depending on the nature of the programming language.
Learn more about declaration here
20. Exception
A special, unexpected and anomalous condition encountered during the execution of a program is known as an exception. It can also be termed as an error or a condition that alters the way of the program or the microprocessor to a different path. An example of an exception can be the case when a program tries to load a file from the disk, but the file does not exist. The exceptions must be handled and eradicated in the program code to avoid any fatal error.
Learn more about exceptions here
21. Expression
An expression is a legal grouping of letters, symbols, and numbers being used to represent the value of one or more variables. Expressions are highly used in a number of programming languages and many other programs, with each having its own set of legal and illegal expressions. Every expression contains one or more operands (objects being manipulated) and operators (symbols representing actions). For example, in the expression A+B-C, A, B and C are operands while + and – are operators.
Learn more about expressions here
22. Framework
Framework in programming is a foundation with a specified level of complexity that may be altered by the programmer, making use of their code. A framework might include different software libraries, APIs, compilers and much more. In simpler terms, a framework provides a favorable environment for a certain type and level of programming for a project. A framework allows the developers to bypass the general necessities and focus on more project-related specifics.
Learn more about frameworks here
23. Hardcode
In computer programming, the term hard code or hardcode is used to describe code that is not likely to change. Hardcoded features are built into hardware or software in such a way so that they cannot be modified later on. For example, if font size 10 is hardcoded in the software, then it might not change for a long time.
Learn more about hard code here
24. Loop
A loop is a sequence of instructions that repeat the same process over and over until a condition is met and it receives the order to stop. In a loop, the program asks a question, and if the answer directs the program to perform an action, the action is performed, and the loop runs again, performing the same task. It runs until the answer is such that no action is required and the code can proceed further. Loops are considered one of the most basic and powerful concepts in programming.
Learn more about loops here
25. Endless loop
An endless loop or infinite loop is a continuous repetition of a program snippet, which is everlasting. This occurs majorly due to conditional operators and functions which redirect the code back to the snippet, making it endless.
Learn more about endless loops here
26. Iteration
Iteration is a single pass through a set of operations that deal with code. One form of iteration in computer programming is via loops. A loop will repeat a certain segment of code until a condition is met and it can proceed further. Each time the computer runs a loop, it is known as an iteration. In simple terms, iteration is the process to repeat a particular snippet of code over and over again to perform a certain action.
Learn more about iteration here
27. Keywords
Words that are reserved by a programming language or a program as they have special meaning are known as keywords. These keywords are reserved to perform certain tasks, and they can be either commands or parameters. Each programming language has a set of reserved keywords (also known as reserved names) which cannot be used as variable names. Some keywords in ‘C’ language are ‘return’, ‘while’, ‘if’, ‘static’, ‘continue’ and ‘default’.
Learn more about keywords here
100 Days of Code: The Complete Python Pro Bootcamp for 2023
28. Null
Null defines the lack of any value whatsoever. A null character is a programming code, which represents a character with no value, missing value or the end of a character string. If we state $val1= ”” and $val2= “1”, $val1 has a null value.
Learn more about null here
29. Operand
An operand is a term used to denote the objects which can be manipulated using different operators. In the expression ‘A+F+Q’, ‘A’, ‘F’ and ‘Q’ are operands.
Learn more about operands here
30. Operator
An operator is a term used to denote the object which can manipulate different operands. In the expression ‘A+F-Q’, ‘+’ and ‘-‘are operators. Examples of different operators are + (addition), — (decrement), = (equals), != (not equal) and >= (greater than or equal to).
Learn more about operators here
31. Variable
A variable is a location that stores temporary data within a program which can be modified, store and display whenever need. For example, if we have an integer variable with a name XYZ and it stores a value 10. If the variable is again initiated with a different value, it will store the new value. So if XYZ=9 is implemented, the variable location of XYZ will discard the value 10 and store the new value, which is 9.
Learn more about variables here
32. Pointer
In programming, a pointer is a variable that contains the address of a location in the memory. The location is the commencing point of an object, such as an element of the array or an integer. Using pointers improves the performance of the program as it is cheaper in time and space to copy and dereference pointers than to copy and access the data to which the pointer is referring.
Learn more about pointers here
33. High-level language
A high-level language (HLL) is a programming language that lets the developer write programs irrespective of the nature or type of computer. But if a computer has to understand a high-level language, it should be compiled into a machine language. HLLs are considered high-level because they are in close proximity to human languages and further from machine languages. High-level languages include BASIC, C, C++, Pascal, Prolog, and FORTRAN.
Learn more about high-level languages here
34. Low-level language
A low-level language is a language that is very close to machine language and provides a little abstraction of programming concepts. Low-level languages are closer to the hardware than human languages. The most common examples of low-level languages are assembly and machine code.
Learn more about low-level languages here
35. Machine language
Also known as machine code, machine language is a lowest-level programming language consisting of binary digits or bits that are read by computers. Machine language is the only language understood by computers. As it consists of only numbers, they cannot be comprehended by humans. Therefore, programmers write code in the high-level language, which is then translated into assembly language or machine language by a compiler, which is then converted to a machine language by an assembler.
Learn more about machine language here
36. Markup language
A markup language is a relatively simple language that consists of easily understood keywords and tags, used to format the overall view of the page and its contents. The language specifies codes for formatting the layout and style of a page, within a text file only. The most common markup languages are Hypertext Markup Language (HTML), Extensible Markup Language (XML) and Standard Generalized Markup Language (SGML).
Learn more about markup languages here
To know what is a programming language in-depth, you can refer: https://hackr.io/blog/what-is-programming-language
37. Package
A package is an organized module of related interfaces and classes. Packages are used to organize classes that belong to the same category or provide related functionality.
Learn more about packages here
38. Runtime
Runtime or runtime is the time period during which a program is, in fact, running on a computer. If an operation occurs at ‘runtime’, it occurred when a program is running or the moment at which the program begins to run. Also known as execution time, the runtime is part of the life cycle of the program, and it denotes the time between when the program begins running and until it is closed by the OS or the user.
Learn more about run time here
39. Backend
Backend is another term used for background in programming. A backend task is the one that is performed in the background with the user’s direct interaction. Similarly, a backend developer is a person who designs programs that process data and perform tasks that users don’t directly see.
Learn more about backend here
40. Front-end
The Front-end is the user interface of a computer or any device. For example, any operating system provides users with the ease of navigation. A program or OS is considered good if the UI or Front-end is easy to use and seamless to navigate. Front-end developers are the programmers who design and develop the user interface of a device.
Learn more about Front-end here
41. Server-side
When procedures and processes are performed on the server, they are deemed server-side. On the other hand, the client-side is at the end of the user. Many programming languages are designed for server-side programmings such as PHP, Perl, and ASP. With the internet boom, almost all websites make use of both server-side and client-side processing. An excellent example of a server-side script is a search engine.
Learn more about server-side here
42. Source data
Source data or data source is the key location from which data is used in the program. The source data can come from a database, spreadsheet or even a hard-coded data location. When a program is executed to display data in a table, the program retrieves the data from its source and then presents it in the arrangement as defined in the code.
Learn more about source data here
43. Statement
In programming, a statement is a single line of code written legally in a programming language that expresses an action to be carried out. A statement might have internal components of its own, including expressions, operators and functions. An example of a statement is A = A + 5. A program is nothing but a sequence of one or multiple statements. Learn more about statements here
44. Syntax
Similar to human languages, programming languages have their own set of rules on how statements can be conveyed. The set of these rules is known as syntax. While a number of programming languages share many features, functions, and capabilities, they differ in syntax. Without the proper use of the syntax, one cannot write an executable program, and a wrong syntax will lead to a plethora of errors.
Learn more about syntax here
45. Token
A token is the smallest individual unit in a program, often referring to a portion of a much larger data piece. For example, if a person’s name is John Thomas Wood, it can be broken into tokens; ‘John’, ‘Thomas’ and ‘Wood’. The programmer can then go on to use only the portion or token they wish to. Tokens are classified into keywords, identifiers, literals, operators, and punctuators.
Learn more about tokens here
Summary
So there you have it. These are some of the top programming terms that can help you get started in programming. See something you do not understand, or think we missed something important? Let us know in the comments.
Wanna learn programming? Check out the best intro to programming courses recommended by the programming community.
People are also Reading:
- What is Programming?
- Best Programming Books
- Best Programming Interview Questions
- Programming Languages for Getting a Jobs
- What is Procedural Programming?
- How to learn to program?
- Free Coding Bootcamp
- Programming Terms and Definition
- 10 Best Web Development IDE
- Difference between Coding vs Programming
The way Reverse Dictionary works is pretty simple. It simply looks through tonnes of dictionary definitions and grabs the ones that most closely match your search query. For example, if you type something like «longing for a time in the past», then the engine will return «nostalgia». The engine has indexed several million definitions so far, and at this stage it’s starting to give consistently good results (though it may return weird results sometimes). It acts a lot like a thesaurus except that it allows you to search with a definition, rather than a single word. So in a sense, this tool is a «search engine for words», or a sentence to word converter.
I made this tool after working on Related Words which is a very similar tool, except it uses a bunch of algorithms and multiple databases to find similar words to a search query. That project is closer to a thesaurus in the sense that it returns synonyms for a word (or short phrase) query, but it also returns many broadly related words that aren’t included in thesauri. So this project, Reverse Dictionary, is meant to go hand-in-hand with Related Words to act as a word-finding and brainstorming toolset. For those interested, I also developed Describing Words which helps you find adjectives and interesting descriptors for things (e.g. waves, sunsets, trees, etc.).
In case you didn’t notice, you can click on words in the search results and you’ll be presented with the definition of that word (if available). The definitions are sourced from the famous and open-source WordNet database, so a huge thanks to the many contributors for creating such an awesome free resource.
Special thanks to the contributors of the open-source code that was used in this project: Elastic Search, @HubSpot, WordNet, and @mongodb.
Please note that Reverse Dictionary uses third party scripts (such as Google Analytics and advertisements) which use cookies. To learn more, see the privacy policy.
Database terms — Web design terms
Programming language
ASCII
HTML
Pipe
NBSP
Program
1GL
Data type
Regex
Curly bracket
$1
%1
1
1GL
2GL
3GL
4GL
5GL
A-0
Abend
Absolute address
Absolute Coding
Access violation
Acid
ACM
ActionScript
Action statement
ActiveX
Ada
Adaptive technology
Add
ADO
Advanced SCSI Programming Interface
Aggregate
Agile development methods
Agile Manifesto
AJAX
Alert
Algol
Algorithm
Allocate
Altair BASIC
Ambient Occlusion
AOP
API
APK
Applet
Argument
Arithmetic
Arithmetic operator
Array
Array of pointers
ASCII
ASM
ASP
ASPI
Assembler
Assembly
Assembly language
Associative operation
Asynchronous JavaScript and XML
AutoHotkey
Automata-based programming
Automated unit testing
Automation
Babel
Back-end
Back-face culling
Background thread
Backpropagation neural network
Base address
Basic
Batch file
Batch job
BCPL
Bean
BeanShell
Binary Search
Bind
Bit shift
Bitwise operator
Block
Block-based programming
Block-level element
BOM
Bool
Boolean
Boolean data type
Bracket
Branch
Brooks
Browse
Bug
Bugfairy
Bug tracking
Build computer
Bytecode
C
C++
C#
Call
Callback
Camel book
CamelCase
Capture
Captured variable
CC
Cell style
CGI
Chaos model
Char
Character code
Character encoding
Character set
Circuit satisfiability problem
Class
Class
Classpath
Clojure
CLOS
Closing block
Closure
CLR
COBOL
Cocoa
Cocoa touch
Code
Code page
Code refactoring
CoffeeScript
Command
Command language
Comment
Common business oriented language
Common Gateway Interface
Commutative operation
Compilation
Compile
Compiler
Complementarity
Component
Compute
Computer instructions
Computer science
Concat
Concatenate
Concatenation
Concurrency
Condition
Conditional expression
Conditional statement
Constant
Constructor
Constructor chaining
Content migration
Control flow
CPAN
CPL
Crapplet
CS
CSAT
C sharp
CSS
CSS compressor
CSS editor
Curly bracket
Curry
CVS
Cygwin
D
DarkBASIC
Dart
Data-flow analysis
Data flow diagram
Dataflow Programming
Datalog
Data source
Data structure
Data type
DDE
DDK
Dead code
Debug
Debugger
Debugging
Declaration
Declarative programming
Declare
Decompiler
Decrement
Deductive database
Delimiter
Demote
Dense matrix
Dependent variable
Deprecated
Dereference operator
Developer
DHTML
Die
Diff
Direct address
Disassembler
Discrete optimization
Div
Django
DML
Do
DOM
Dragon book
Dribbleware
Dump
Dword
Dylan programming language
Dynamic binding
Dynamic dump
Eclipse
ECMAScript
Eight queens problem
Element
Elixir
Ellipsis
Else
Else if
Elsif
Embedded Java
Encapsulation
Enclosing block
Encode
Endian
Endless loop
EOF
Epoch
Eq
Equal
Erlang
Error
Errorlevel
Esac
Esc
Escape
Escape character
Escape sequence
Eval
Event
Event-driven programming
Event handler
Event listener
Exception
Exception handling
Exec
Exists
Exit status
Exponent
Exponential backoff
Expression
F#
Factorial
False
False positive
Fifth generation language
First-class object
First generation language
Flag
Flat file
Floating-point
For
Foreach
Foreign key
Forth
Forth generation language
FORTRAN
F programming language
Framework
Front end
Full stack developer
Function
Functional programming
Function call
Fuzz testing
Game of Life
Gang of four
Garbage collection
Gaussian pyramid
GCC
Ge
General-purpose language
Generation languages
Genetic programming
GIGO
Git
GitHub
Glitch
Glob
Glue code
Go
Golang
Go language
Googolplex
Goto
GPL
Grasshopper
Greedy
Greedy matching
GT
GTK
GW-BASIC
Hackathon
HAL
Hard code
Hash
Haskell
HDML
Heap
Hello world
Heroku
Heuristic evaluation
Hex editor
Hiew
High-level language
HTML
Human error
Hungarian notation
Hwclock
Hypertext Markup Language
IDE
Idempotence
If else
If statement
Immutable object
Imperative programming
Implicit parallelism
Increment
Indirect address
Indirection operator
Inherent error
Inheritance
Inline
Input/output statement
Instance
Instantiation
Instructions
Int
Integer
Integrated Development Environment
IntelliJ IDEA
Intermediate language
Interpreted
Interpreter
Invalid
IOCCC
IPC
ISAPI
Iteration
Java
JavaBean
Javac
Java champion
Java EE
JavaFX
Java ME
Java Native Interface
Java reserved words
JavaScript
JavaScriptCore
Javax
JBuilder
JCL
JDBC
JDK
JHTML
JIL
JIT
JNI
JRE
JScript
JSON
JSP
JSR
Julia
Jupyter
JVM
Karel
Kit
Kludge
Kluge
Knights of Lambda Calculus
Kotlin
Label
Lambda calculus
Language
Language processor
Lazy matching
Le
Lexical analysis
Lexicon
Library
Life cycle
Linker
LISP
Literal
Literal string
LiveScript
LLVM
Local optimum
Logical operation
Logic programming
LOGO
Lookup table
Loony bin
Loop
Loophole
Loosely typed language
Low-level language
LT
Lua
LUT
m1m0
Machine language
Magic quotes
Map
Markup language
Math
Matlab
Mbean
Memoization
Mercurial
Meta
Metacharacter
Metaclass
Metalanguage
Meta tag
Method
Method overloading
Metro
Microsoft BASIC
Middleware
Mimo
Mod
Modula
Modula-2
Modular programming
Module
Modulo
Monkey testing
Monte Carlo Method
MSDN
MSVC
Multi-pass compiler
Multiply
MUMPS
Mutex
My
/n
NaN
Native compiler
Native language
Natural language
NBSP
NDA
Ne
Nest
Nested function
Nested loops join
.NET
Newline
Nil pointer
Nim
Nimrod
Node.js
Nodelist
Noncontiguous data structure
Non-disclosure agreement
Nonexecutable statement
NO-OPeration instructions
NP-C
NP-complete
Null
Null character
Null pointer
NumPy
Oberon
Obfuscated code
Obfuscation
Object
Object code
Object file
Objective-C
Object module
Object-oriented
Object-oriented programming
Obtuse
OCaml
Octave
ODBC
One-pass compiler
OnMouseOver
OOP
Opcode
Open Database Connectivity
OpenGL polygon
Operand
Operation code
Operator
Operator associatively
Operator precedence
Order of operations
OR operator
Overflow error
Overload
Package
Parenthesis
Parse
Pascal
Pascal case
Pastebin
P-code
PDL
PEAR
Perl
Persistent memory
PersonalJava
PHP
Phrase tag
Pick
Pickling
PicoJava
Pipe
Pipeline
Pixel shader
POD
Pointer
Polymorphism
Pop
Portable language
Positional parameter
Print
Printf
Private
Private variable
Procedural language
Procedure
Process
Program
Program generator
Program listing
Programmable
Programmer
Programming
Programming in logic
Programming language
Programming tool
Prolog
Properties
Pseudo-class
Pseudocode
Pseudolanguage
Pseudo-operation
Pseudorandom
Public
Pull
PureBasic
Push
Python
Pythonic
Python pickling
Qi
QT
Quick-and-dirty
/r
Race condition
Racket
RAD
Random
Random seed
Rank
RCS
RCW
RDF
React
React Native
Real number
Recompile
Recursion
Recursive
Regex
Regular expression
Reia
Relational algebra
Religion of Chi
REM
Remark
Repeat counter
Repetition
REPL
Reserved character
Reserved word
Resource Description Framework
Return address
Return statement
Reverse engineering
Revision control
ROM BASIC
Routine
Routing algorithm
RPG
R programming language
Ruby
Run time
Runtime callable wrapper
Rust
Safe font
Sandbox
Say
Scala
Scalar
Scanf
Schema matching
Scheme programming language
Scratch
Script
SDK
Second generation language
Section
Security Descriptor Definition Language
Seed
Segfault
Semantics
Semaphore
Separator
Sequence
Server-side
Server-side scripting
Servlet
S-expression
SGML
Shebang
Shell
Shell scripts
Shift
Short-circuit operator
Signedness
Simula
Simulated annealing
Single step
Smalltalk
SMIL
Snippet
SOAP
Socket
Soft
Software development phases
Software development process
Software engineering
Software library
Software life cycle
Software release life cycle
Source
Source code
Source computer
Source data
SourceForge
Spaghetti code
Sparse matrix
Sparsity
Special purpose language
SPL
Spooling
SQL
SQLite
Stack
Stack pointer
Standard attribute
Statement
Stdin
Stream processing
String
Strongly typed language
Stubroutine
Stylesheet
Submit
Subprogram
Subroutine
Subscript
Substring
Subtract
Subversion
Superclass
Swift
Switch statement
Syntactic sugar
Syntax
Syntax error
System development
Systems engineer
Systems Programming Language
Tail recursion
Tcl
Tcl/Tk
Ternary
Ternary operator
Tessellation
Theoretical computer science
Third-generation programming language
Thread
Thunk
Tk
Token
ToolboX
Transaction
Transcompiler
True
True BASIC
Trunk
Tuple
Turbo Pascal
Turing completeness
Udacity
UInt8
UInt16
UInt32
Unary operator
Undefined
Undefined variable
Underflow
Unescape
Unit test
Unshift
Value
Var
Variable
Variable expression
VB
VBScript
Vector
VHDL
VIM
Visual Basic
Visual Studio
Void
Vue
Vue.js
W3Schools
Wasm
Waterfall model
WDF
WebAssembly
Web development
WebGL
While
Whole number
Windows Driver Kit
WML
Workspace
XML
XNA
XOR operator
XOXO
XSL
XSLT
YAML
Y combinator
Z-buffering
Zombie
Данная статья посвящена способам создания программ, работающих в среде Word 97 и Word 2000. К сожалению, лишь отдельные пользователи знают и применяют возможности Word для автоматизации работы с помощью макросов, и уж совсем единицы используют этот редактор для разработки программных продуктов. Подобная ситуация отчасти объясняется несколько пренебрежительным отношением многих профессиональных разработчиков программ к Visual Basic for Application — языку программирования, встроенному во все компоненты пакета Office 97. А ведь он позволяет создавать удачные программы и для упрощения работы с Office, и для проведения расчетов, и для обработки данных. Причем создавать такие продукты смогут даже начинающие, и им не потребуются ни руководства, ни дополнительное обучение. Нужно будет лишь наблюдать, исследовать, ставить эксперименты и делать выводы, а все это помогает выработать навыки научного подхода к различным явлениям.
Данная статья посвящена способам создания программ, работающих в среде Word 97 и Word 2000. К сожалению, лишь отдельные пользователи знают и применяют возможности Word для автоматизации работы с помощью макросов, и уж совсем единицы используют этот редактор для разработки программных продуктов. Подобная ситуация отчасти объясняется несколько пренебрежительным отношением многих профессиональных разработчиков программ к Visual Basic for Application — языку программирования, встроенному во все компоненты пакета Office 97. А ведь он позволяет создавать удачные программы и для упрощения работы с Office, и для проведения расчетов, и для обработки данных. Причем создавать такие продукты смогут даже начинающие, и им не потребуются ни руководства, ни дополнительное обучение. Нужно будет лишь наблюдать, исследовать, ставить эксперименты и делать выводы, а все это помогает выработать навыки научного подхода к различным явлениям.
Чтобы написать макросы на Visual Basic, не потребуется многостраничных руководств. И вообще, к последним лучше обратиться после того, как будет освоено не меньше половины возможностей этого языка, — тогда читать их будет гораздо легче, а новая информация усвоится быстрее.
Создание программы
В Visual Basic есть уникальное средство разработки программ — «Запись макросов», позволяющее легко писать простые макросы для Word, не используя описания языка. При работе в Word можно включать специальный режим записи макросов, при котором все действия в редакторе будут автоматически «переводиться» на Visual Basic и сохраняться в текстовом виде. Записанную программу затем можно изучить, чтобы разобраться с синтаксисом и устройством языка, а также необходимым образом его модифицировать.
Если требуется записать макрос, надо выбрать из меню «Сервис» пункт «Макросы», а из ниспадающего меню — пункт «Начать запись».
Документы Word могут содержать программы, которые можно вызвать, отметив определенную кнопку на Панели инструментов, нажав указанное сочетание клавиш, выбрав заданный пункт меню либо с помощью другого ПО. Причем можно даже сочетать разные способы вызова, поэтому перед записью макроса предлагается назначить какой-то один. Однако это можно сделать и позже в диалоговом окне «Настройка». После нажатия кнопки ОК в окне Word появится панель «Запись макроса». Теперь все действия пользователя тщательно протоколируются, хотя и с определенными ограничениями: невозможно выделить текст мышью (для этого следует воспользоваться клавишами <Стрелка вправо> + ), не работает контекстное меню при нажатии правой кнопки мыши и т. д.
Затем нужно нажать слева на панели кнопку «Остановка записи». Если хотите прервать работу и выделить какой-нибудь объект мышью, то выберите на этой панели правую кнопку «Пауза». Чтобы продолжить процесс записи, нажмите ее еще раз.
Редактор Visual Basic
Этот редактор можно вызвать либо из меню «Сервис?Макросы?Редактор Visual Basic», либо нажав клавиши +.
В него входят «Менеджер проектов», «Окно свойств», «Окно отладки», «Окно контрольного значения», «Окно локальных переменных», «Стек вызова», «Окно просмотра объектов», окна текста программ и дизайна форм.
Программы на Visual Basic хранятся только в документах и шаблонах Word. Когда они содержат макросы, их называют проектами. В окне «Менеджера проектов» отображаются названия всех доступных проектов, в состав которых входят открытые документы и шаблоны, в том числе и загружаемые при старте Word. Кроме того, там всегда имеется шаблон Normal.dot со всеми сохраненными макросами.
Щелкнув мышью по знаку «+» слева от названия, можно получить список компонентов проекта, однако это делается лишь с открытыми в Word проектами. А чтобы для редактирования загруженного шаблона иметь доступ к коду, требуется открыть его как файл.
Запретить просмотр компонентов проекта можно с помощью пароля, однако в программировании подобные действия являются признаком «дурного тона».
Компоненты проекта делятся на пять больших категорий.
1. Microsoft Word объекты. Здесь есть только один объект, называющийся ThisDocument, контекстное меню которого появляется при нажатии правой кнопки мыши.
Для перехода к тексту или графике нужно выбрать пункт «Объект» (для Normal.dot недоступен). В документ Word можно вставить кнопки, поля ввода текста, поля выбора вариантов и т. д. Тогда после выбора пункта «Программа» контекстного меню объекта ThisDocument можно написать программу, которая будет выполняться нажатием соответствующей кнопки или введением текста. К ее написанию можно перейти и из контекстного меню самого объекта — выделите его, нажмите правую кнопку мыши и выберите пункт «Исходный текст». (В Microsoft Excel в качестве объектов представлены и сама рабочая книга Excel в целом и все ее листы по отдельности.)
2. Модули, или собственно макросы. Щелкнув дважды мышью на имени модуля, можно получить доступ к тексту программы или приступить к ее созданию. Программы, записанные с помощью средства записи макросов, хранятся в модуле NewMacros шаблона Normal.dot.
Чтобы сформировать новый модуль, нужно выбрать пункты «Вставить?Модуль», в окне программы написать Sub, далее назначить «уникальное имя программы» и нажать . После этого Word сам добавит фразу End Sub. Между этими двумя фразами и должен находиться текст основной части программы.
3. Модули класса. Класс — это тип объектов, определяемых программистом; данное понятие играет очень важную роль в программировании. Например, надо написать программу, работающую с электронными версиями классных журналов в школе, в каждом из которых есть подразделы: список учеников, таблица оценок, система вычисления средней оценки каждого ученика, список предметов и т.д. Можно, конечно, с помощью Visual Basic описать устройство каждого классного журнала, но тогда при однотипных действиях с группой журналов (в частности, при подсчете среднего балла оценок всех учащихся 7-х и 8-х классов) придется включать в текст программы множество операций с каждым компонентом журнала. А при добавлении нового журнала придется сочинять фрагмент программы, создающий список учащихся, предметов и др. Все это усложнит программу и потребует значительных усилий. Поэтому в языке введено понятие класса, т. е. нового типа объектов. Так, можно создать класс «Журналы» и описать в его модуле содержимое объектов этого класса: список учеников (Public Ученики(40) As String), предметов (Public Предметы(20) As String) и пр.
Теперь, чтобы создать новый объект класса «Журналы», не придется заниматься утомительным описанием новых списков учеников и предметов — достаточно будет в одной строке ввести команду «Объявить новую переменную класса Журналы» (Dim Журнал25 As Журналы) и присвоить нужные значения его соответствующим разделам (Журнал25.Ученики(1)=«Андреев»). Кроме того, в модуле класса можно написать программу вычисления средней оценки всех учащихся и, если необходимо, вызывать ее одной командой.
4. Формы — это диалоговые окна программ, которые можно разработать по своему вкусу. Чтобы в проект добавить форму, нужно выбрать пункты «Вставка? UserForm». Будет создано пустое диалоговое окно, в которое можно помещать кнопки, картинки, текст и многое другое.
5. Ссылки. Программы можно запускать и по вызову из другой программы, однако это делается только из загруженного в Word шаблона или документа. Если загружать проект постоянно нецелесообразно (например, подобный вызов используется достаточно редко), то лучше установить на него ссылку простым перетаскиванием значка шаблона в окно «Менеджера проектов», чтобы открыть доступ к программам.
Окно текста программ и дизайна форм — основное рабочее место на Visual Basic, здесь пишется текст программ и разрабатываются диалоговые окна. Чтобы открыть его для какого-либо компонента проекта, надо просто два раза щелкнуть на нем мышью или выбрать пункт «Программа». Редактор Visual Basic — дружественный, он постоянно подсказывает, какие параметры имеет та или иная команда и как надо корректно ее написать. Например, если набрать команду MsgBox (вызывает на экран диалоговое окно, в частности, «Сохранить изменения в документе?») и ввести затем открывающую круглую скобку, то над курсором сразу же появится подсказка. В ней содержится информация о синтаксисе данной команды, т. е. говорится, как и какие нужно задавать параметры в тексте программы, например, число кнопок, вид значков и звук.
Язык Visual Basic — объектно-ориентированный, значит, очень многие его команды имеют формат, отличный, скажем, от формата языков программирования Basic или Pascal. Типичная команда на Visual Basic выглядит так: <Объект>.<Объект, входящий в первый объект>.<…>.<Тот объект, с которым нужно произвести действие>.<Собственно действие>. Иными словами, каждая команда пишется как бы «с конца»: сначала определяется то, над чем надо произвести действие, т. е. объект, а уже затем само действие — метод. Разделитель компонентов команды — точка. Например, по команде Application.ActiveDocument.PageSetup.Orientation = wdOrientLandscape устанавливается альбомная ориентация листа документа. Такой же вид имеет и команда получения информации об ориентации листа, которая выглядит так: p = Application.ActiveDocument.PageSetup.Orientation.
После ее выполнения значение переменной р будет wdOrientLandscape или wdOrientPortrait соответственно. При написании команд редактор Visual Basic постоянно подсказывает следующий шаг — стоит только написать в тексте программы слово Application и поставить точку, как сразу появятся возможные варианты продолжения.
Нужный вариант можно выбрать мышкой, причем он обязательно будет правильным, но не в смысле верности алгоритма (это остается на совести программиста), а в смысле соответствия правилам синтаксиса и иерархии объектов, а также правописания слова. Если же снова поставить точку, то вновь будет выдан список различных вариантов продолжения.
Чтобы не вводить слова целиком, можно использовать команду завершения слова, например, вместо Application набрать Appli и нажать +<Пробел>. Редактор допишет слово до конца сам или предоставит возможность выбрать его, если нельзя однозначно определить по первым буквам. Предположим, если программист не воспользуется подсказкой, введет всю команду вручную и допустит в элементарном синтаксисе ошибку, то редактор не позволит ему работать дальше, выдав соответствующее сообщение.
Редактор, конечно, не найдет ошибку, если неверен алгоритм программы, здесь виноват программист или неправильно написано слово команды. В последнем случае он посчитает его новой командой, созданной самим программистом. Однако он сумеет отследить неправильно написанную команду, которая уже была известна.
Еще одно достоинство Visual Basic — прекрасная справочная система. Поставив курсор мыши на любую команду (или название объекта) и нажав клавишу , можно получить подробную справку о том, зачем она нужна и каков ее синтаксис. Кроме того, можно познакомиться с примером ее использования и, если необходимо, даже скопировать. (В справке Visual Basic for Application очень часто приводятся фрагменты кода программ, иллюстрирующие использование той или иной команды; скопировав, можно их изменить и использовать в своей программе.) К сожалению, большая часть справки приведена на английском языке.
Дружественность редактора позволяет самостоятельно изучать его — достаточно записать несколько макросов и с помощью справки изучить назначение каждой команды. Закомментировать, т. е. исключить из выполнения можно любую команду, поставив перед ней знак апострофа. Кроме того, после него можно написать пояснения к соответствующей части программы (все комментарии даются в Visual Basic зеленым цветом).
Если дважды щелкнуть мышью на названии формы, то откроется окно «Дизайна форм».
Отметив соответствующий элемент (кнопка, поле ввода, переключатель и др.) на панели инструментов «Элементы управления» и затем перетащив мышкой на поле формы, можно поместить его на форму. Если дважды щелкнуть на этом элементе, то откроется окно программ пользовательской формы, куда можно ввести программу, а чтобы она выполнялась, нужно снова сделать двойной щелчок на элементе.
Если требуется попасть в «Окно свойств», достаточно выбрать какой-нибудь элемент формы и указать в его контекстном меню пункт «Свойства».
Здесь можно задать все доступные свойства каждого элемента, например его цвет и границы, надпись, состояние (доступно/недоступно для изменений), а также поместить на элемент картинку из внешнего файла. Чтобы получить подробное описание функции каждого элемента окна свойств (их состав различен для каждого элемента формы), достаточно поставить на него курсор и нажать клавишу . Следует тщательно изучить назначение всех элементов данного окна.
Окно «Просмотр объектов», вызываемое с помощью клавиши или из меню «Вид», содержит краткий справочник, где приведены свойства и методы (действия и команды) объектов Visual Basic.
На панели инструментов «Правка» этого редактора есть соответствующие пункты для вызова описанных выше функций. Так, «Список свойств/методов» позволяет увидеть продолжение любой команды, а «Сведения» — выдает информацию о переменной, выделенной в данный момент. В редакторе Visual Basic, как и в Word, можно переходить к соответствующим его частям, поместив закладки в текст программы.
Все входящие в состав проекта модули можно сохранить в текстовом файле с расширением .bas. Для этого в «Менеджере проектов» нужно щелкнуть правой кнопки мыши на соответствующем модуле и из появившегося меню выбрать функцию «Экспорт файла». Теперь можно вставить сохраненный модуль по команде «Импорт файла» из того же меню. Модули и формы можно перетаскивать между различными проектами, копируя их из одного проекта в другой.
Продолжение в следующем номере.
Орлов Антон Александрович,
antorlov@inbox.ru, http://antorlov.chat.ru.