# How to Learn Programming Vocabulary in English for Go, Java, and Python

> Master Go Java and Python programming vocabulary in English using curated word lists from byoungd/English-level-up-tips and Anki. Accelerate your language learning for coding.

- Repository: [Leap Pro 离谱/English-level-up-tips](https://github.com/byoungd/English-level-up-tips)
- Tags: tutorial
- Published: 2026-06-24

---

**Study the curated Markdown word lists in the `byoungd/English-level-up-tips` repository and import them into spaced-repetition tools like Anki to master the exact English terminology required for Go, Java, and Python development.**

The `byoungd/English-level-up-tips` repository provides a modular, developer-centric approach to acquiring technical English vocabulary. Located in `docs/threads/word-list/`, these plain-text lists contain essential programming terms that enable developers to read official documentation, understand code comments, and participate in English-language technical discussions with confidence.

## Locating the Language-Specific Word Lists

The repository structure separates vocabulary by programming language under the `docs/threads/word-list/` directory. Each file follows a simple one-term-per-line format to facilitate automated processing and import into flashcard applications.

- **Go vocabulary**: [`docs/threads/word-list/Go.md`](https://github.com/byoungd/English-level-up-tips/blob/main/docs/threads/word-list/Go.md)
- **Java vocabulary**: [`docs/threads/word-list/Java.md`](https://github.com/byoungd/English-level-up-tips/blob/main/docs/threads/word-list/Java.md)
- **Python vocabulary**: [`docs/threads/word-list/Python.md`](https://github.com/byoungd/English-level-up-tips/blob/main/docs/threads/word-list/Python.md)

This flat-file architecture allows learners to treat the lists as a **re-usable knowledge base** that integrates with custom scripts, spaced-repetition software, and AI tutoring tools.

## What’s Inside Each Programming Vocabulary List

### Go Terminology

The [`docs/threads/word-list/Go.md`](https://github.com/byoungd/English-level-up-tips/blob/main/docs/threads/word-list/Go.md) file emphasizes concurrency primitives and tooling specific to the language. Key categories include **goroutine**, **channel**, and **select** statements for concurrent programming, module management terms like **go mod**, testing vocabulary, and type system concepts such as **interface**, **struct**, and **type assertion**.

### Java Terminology

Inside [`docs/threads/word-list/Java.md`](https://github.com/byoungd/English-level-up-tips/blob/main/docs/threads/word-list/Java.md), the focus shifts to object-oriented programming and runtime architecture. The list covers **class**, **interface**, and **inheritance** structures, runtime components including **JDK**, **JVM**, and **JRE**, memory management terms like **garbage collection** and **volatile**, and concurrency keywords such as **thread** and **synchronized**.

### Python Terminology

The [`docs/threads/word-list/Python.md`](https://github.com/byoungd/English-level-up-tips/blob/main/docs/threads/word-list/Python.md) list captures modern Python features and ecosystem tools. Important entries include asynchronous programming keywords **async** and **await**, data structures like **dataclass**, development tools such as **pip**, **virtualenv**, and **pytest**, and language-specific traits including **duck typing** and **GIL** (Global Interpreter Lock).

## Building a Learning Workflow Around the Word Lists

Integrate these vocabulary files into your daily study routine through the following methods:

1. **Spaced-repetition import**: Convert the Markdown files to CSV format and import directly into Anki, Quizlet, or any SRS tool that supports two-column data (term and definition).
2. **Programmatic flashcard generation**: Use shell scripts or Node.js utilities to parse the line-separated terms and auto-generate flashcard fronts, pulling definitions from Wikipedia or Merriam-Webster APIs.
3. **Editor integration**: Create IDE extensions that surface vocabulary tooltips while coding, displaying English definitions for unfamiliar terms when you hover over them in comments or documentation.
4. **AI-assisted reinforcement**: Combine the word lists with the strategies outlined in [`docs/threads/part-1/7-ai.md`](https://github.com/byoungd/English-level-up-tips/blob/main/docs/threads/part-1/7-ai.md), which explains how to use Gemini-based guided learning and automated quizzing to reinforce retention.

## Code Examples: Automating Vocabulary Study

Because the source files are plain text with one term per line, you can process them with simple scripts to generate study materials.

### Generate a CSV for Anki Import

This Python script reads [`Go.md`](https://github.com/byoungd/English-level-up-tips/blob/main/Go.md) and outputs a CSV file compatible with most spaced-repetition software:

```python
import csv
from pathlib import Path

def md_to_csv(md_path: Path, csv_path: Path):
    with md_path.open() as f, csv_path.open('w', newline='') as out:
        writer = csv.writer(out)
        writer.writerow(['Term', 'Definition'])
        for line in f:
            term = line.strip()
            if term and not term.startswith('#'):
                writer.writerow([term, ''])

md_to_csv(Path('docs/threads/word-list/Go.md'), Path('go_vocab.csv'))

```

### Create Markdown Flashcards with Bash

Generate a structured flashcard document from [`Java.md`](https://github.com/byoungd/English-level-up-tips/blob/main/Java.md) using a one-liner that skips header lines:

```bash
while read -r term; do
  [[ $term = \#* ]] && continue
  printf "## %s\n\n> Definition goes here.\n\n---\n\n" "$term"

done < docs/threads/word-list/Java.md > java_flashcards.md

```

### Enrich Python Terms with API Definitions

This Node.js script fetches Wikipedia summaries for each term in [`Python.md`](https://github.com/byoungd/English-level-up-tips/blob/main/Python.md) and outputs JSON suitable for custom quiz applications:

```js
import fs from 'fs';
import fetch from 'node-fetch';

async function enrich(mdFile, outFile) {
  const lines = fs.readFileSync(mdFile, 'utf-8').split('\n');
  const cards = [];

  for (const line of lines) {
    const term = line.trim();
    if (!term || term.startsWith('#')) continue;

    const resp = await fetch(
      `https://en.wikipedia.org/api/rest_v1/page/summary/${encodeURIComponent(term)}`
    );
    const data = await resp.json();
    const def = data.extract ? data.extract.split('\n')[0] : 'No definition found';
    cards.push({ term, def });
  }

  fs.writeFileSync(outFile, JSON.stringify(cards, null, 2));
}

enrich('docs/threads/word-list/Python.md', 'python_vocab.json');

```

## Summary

- The `byoungd/English-level-up-tips` repository maintains dedicated vocabulary lists for Go, Java, and Python at [`docs/threads/word-list/Go.md`](https://github.com/byoungd/English-level-up-tips/blob/main/docs/threads/word-list/Go.md), [`Java.md`](https://github.com/byoungd/English-level-up-tips/blob/main/Java.md), and [`Python.md`](https://github.com/byoungd/English-level-up-tips/blob/main/Python.md).
- Each file uses a one-term-per-line format optimized for automated parsing and import into flashcard systems.
- **Go** terms emphasize concurrency primitives like **goroutine** and **channel**, while **Java** covers OOP and runtime concepts like **JVM** and **garbage collection**, and **Python** includes modern features like **async**/**await** and **type hint**.
- Learners can automate study material creation using Python, Bash, or Node.js scripts to convert these lists into CSV, Markdown flashcards, or enriched JSON with API definitions.

## Frequently Asked Questions

### How do I import the programming vocabulary into Anki?

Export the desired Markdown file (e.g., [`docs/threads/word-list/Python.md`](https://github.com/byoungd/English-level-up-tips/blob/main/docs/threads/word-list/Python.md)) as a CSV with two columns—**Term** and **Definition**—using the Python script provided above. Anki’s import function accepts CSV files, allowing you to populate custom decks with the extracted terms.

### What is the best way to use these lists if I am learning multiple languages simultaneously?

Study each language separately to avoid cognitive interference. Create distinct decks or tags for Go, Java, and Python vocabulary, and schedule reviews during different study sessions. The modular structure of `docs/threads/word-list/` makes it easy to isolate specific domains.

### Does the repository provide definitions for each programming term?

No, the lists in [`Go.md`](https://github.com/byoungd/English-level-up-tips/blob/main/Go.md), [`Java.md`](https://github.com/byoungd/English-level-up-tips/blob/main/Java.md), and [`Python.md`](https://github.com/byoungd/English-level-up-tips/blob/main/Python.md) contain only the terms themselves. This design encourages active learning—looking up definitions in official documentation or using the Node.js enrichment script to fetch external explanations from Wikipedia.

### How can I use AI to study these programming terms more effectively?

Refer to [`docs/threads/part-1/7-ai.md`](https://github.com/byoungd/English-level-up-tips/blob/main/docs/threads/part-1/7-ai.md) in the repository, which details how to use Gemini-based guided learning systems. You can feed the vocabulary lists to AI tutors to generate contextual sentences, quizzes, and interactive flashcard reviews that reinforce the specific terminology used in Go, Java, and Python development.