There are a lot of programs for learning English, but is it worth using any of them if you are a programmer?

Hello everyone, my name is Alex. I have been fond of programming for a long time, although this is not my main profession. And about a year ago, I became interested in learning English.

Many articles have been written on how to learn English. But if you have programming skills, should you use ready-made solutions? After all, you can write your own language learning programs that are convenient for you.

For example, I tried many times to learn words using different programs on my phone or computer. But I did not find a single program that would satisfy me completely. Somewhere, for example, there is no way to edit the translation of words and you need to learn them as they are, somewhere there is no normal pronunciation of words, and almost nowhere is there a normal repeat of words at time intervals.

Of course, you can use paper cards, but they also have many disadvantages. The main ones: it is impossible to listen to the pronunciation of the word (only read the transcription) and you cannot quickly open the word, for example, in the Lingvo dictionary or elsewhere. In general, I considered paper card learning to be a bad idea in the 21st century.

So, I decided it was easier to write programs myself in order to learn English than to use something ready-made.

All programs and files that will be discussed in this article are in the archive: yadi.sk/d/A4UHOXCTpW9eow

image

The first thing I wrote was a program for learning English words. The main idea was the principle of paper cards. I tried to make it so comfortable as if I work with paper cards. But now I have the opportunities that a computer gives, and it's very cool!

In the program you need to drag the file into TXT which contains a list of words (each word on a new line). For example, a list of the 2500 most popular words is in the archive. Imagine that this list (TXT file) is a stack of words. The convenience is that, as in life, you can develop your own system for learning and repeating words, and transfer words between files. For example, today you have learned 15 words, they are in a list whose name includes the date of the next repetition and the number of this repetition (for example, 15.01 1). You repeated the words on January 15, now the words need to be repeated in two days. That is, the file can be called January 17, 2. Then these words can be repeated after 4 days, then after 8, and then they can be thrown into the “LEARNED.txt” file and repeated along with other learned words, for example, once a month.

You can open up to three such lists at once. You can drag and drop words between lists by dragging the word with the mouse and releasing it over another list. You can do this through Notepad by clicking the “open” button and after editing the “refresh” button. You can shuffle the files in the list by clicking the "Random" button. Pressing * the word will be in the “Postpone” list. The button with the same name will open this list (this is convenient when you want to return to the word later).

There is a list of the words “FORGOTTEN”, you cannot throw another file into it. And when you transfer words into it, they do not move from the original list, but are copied to it. I use this list for words I want to repeat more often.

Clicking on a word we will see this word and its transcription if it is in the database (file Transcription.txt, there are 18,000 words). Also, if there is a word.wav file in the “sound” folder, a button will appear to pronounce the word. (Where can I get the words in wav format? I’ll hint that you can try to get it out of AB ... Lin ... but I didn’t say that). If there is no voice acting, then the voice assistant button will appear (I used the Govorilka_cp.exe utility, which works through the command line).

By pressing a word or spacebar in the field, we will see the translation of the word, picture and mnemonics. Naturally, all this must first be created. There is a gear button for this.

image

By clicking it, we will open the window for studying and editing the word. Here you can write a translation of the word and its mnemonics. To save a picture to the word, when the checkbox "catch the picture" is turned on, save any image to the desktop (the picture will be automatically deleted from the desktop and placed in the program folder).

He also wrote the function “Similar words” that I need. To make it easier to remember similar spelling words. I won’t especially talk about it now, I just left my similar words in the program, you can press a button and easily figure it out.

The main function of this window is learning the word in various online dictionaries (by the way, you can simultaneously open as many words as you like). To add your online dictionaries, you need to click the "Online Dictionaries" button and edit the text file so that on each new line a link to the page of the online dictionary. As a rule, all links contain the word itself. And just put the ~ symbol instead of the word so that the program will automatically change it to an open word. (For example, translate.google.com/#view=home&op=translate&sl=en&tl=en&text=~ the program will replace translate.google.ru/#view=home&op=translate&sl=en&tl=en&text=red if the word red is open).

I use to study:

  • Google dictionary (the frequency of using the word in different meanings is conveniently shown there);
  • examples of promt (it shows how exactly the words in the texts of processed promt are translated);
  • and of course ABBYY Lingvo (if you register there, a lot of dictionaries will appear, I personally recommend the Training Dictionary and the English-Russian Dictionary (American version)).

On the first tab, you can see the translation of the word in the dictionaries that I managed to find on the Internet and bring to my format (they are in the dictionary_plus folder). As well as examples of the use of the word.

Basically, these are all the functions that I needed to learn words. And I would not bother if I found these functions in any program. But since I did not find such a program, I had to write it myself.

image

But this is not the only program that I wrote for learning English. To learn words on the phone, I wrote the program “HTML WORDS”. It creates an html file from a list of words, this file is transferred to the phone and allows you to repeat the words through the phone’s browser. And if in the same directory with the html file there is a “sound” folder with wav files, then when you click on the transcription, you can listen to the pronunciation.

There is another program for learning English. I wrote it after I learned the list of English words that I wanted. This program is for reading in English. In it, I implemented a lot of interesting functionality for reading in English.

image

WORD LIST LIGHTING. You can drop word lists into the program and set each color to a different list. and words in any text will be highlighted with this color. This is very convenient, for example, you can create a list of words that you already know, and highlight them in blue. And the words you want to learn in red. All other words in the text will be black. (To throw lists of words you need to press the yellow LIST button).

By the way, the program finds the word not only in its original form, but also in any other one thanks to the Morphy.txt file, which contains 16,000 words in all word forms.

By clicking on a word in the text, it will open in the panel on the right, where you can also go to the word editing and learning program. There will also be a function of transferring words between lists.

By pressing the left and right arrow buttons, you can go to the next or previous application. And all the words that are not found in your lists will be displayed in the panel on the right, with the translation.

If you click the icon that looks like a globe, you can get the transfer through the Yandex API. But for this you need to add your key obtained from Yandex to the file "yandex_api.txt" in the common folder.

I also wrote a function that makes it possible to get the same reading functionality on the phone. By creating an html file. It can also be done with the translation of each sentence. To do this, press the blue button with the image of the smartphone.

These are the main applications that I wrote in order to learn English. (But not even all). Maybe I just like to program. And perhaps the desire to learn a language is too strong for me. Somehow I made these programs and enjoyed it, as well as learning the language. I put these programs in the public domain. Use if you understand, yet they were written for yourself, without taking into account the permissions of different monitors, and other technical issues. Programs have not been tested on more than one computer and may have errors. Do not judge me strictly, because I did not do a commercial project.

Thank you if you read my post to the end.

Also popular now: