📜 ⬆️ ⬇️

There are a lot of programs for learning English, but is it worth it to use one of them if you are a programmer?

Hello everyone, my name is Alex. I have been interested in programming for a long time, although this is not my main profession. And about a year ago I was fascinated by the study of English.

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

For example, I have tried many times to learn words with the help of 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 possibility to edit the translation of words and you need to teach them as they are, somewhere there is no normal voice acting of words, and almost nowhere is there a normal repetition of words at intervals of time.

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

So, I decided that it was easier to write programs for learning English than to use something ready.

All programs and files about which will be told 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 do so conveniently, as if I was working with paper cards. But now I have the opportunity that gives the computer, and it is very cool!

In the program you need to drag the file to 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. Convenience is that, as in life, you can develop your own system of studying and repeating words, and transfer words between files. For example, today you have learned 15 words, they are in the 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 you need to repeat the words in two days. That is, the file can be called 17.01 2. Then these words can be repeated after 4 days, then after 8, and then they can be inserted into the file “LEARNED.txt” and repeated together with other learned words, for example, once a month.

You can open up to three such lists at the same time. You can drag the words between the 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 files in the list by clicking the Random button. Clicking * the word will be in the list “Postpone”. The button of 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", it is impossible to throw another file into it. And when transferring words to it, they are not moved from the original list, but are copied into it. I use this list for words that I want to repeat more often.

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

By clicking in the field of the word or the space bar, we will see the translation of the word, picture and mnemonic. Naturally, all this needs to be created first. For this there is a button with the image of the gear.

image

Clicking on it will open the window for learning and editing the word. Here you can write a translation of the word and its mnemonic. To save the picture to the word, you need to keep any image on the desktop when the “catch picture” checkbox is on (the picture will be automatically removed from the desktop and placed in the program folder).

I also wrote the “Similar Words” function I needed. To make it easier to memorize words similar in spelling. I will not talk particularly 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 the study of words in different online dictionaries (by the way, you can open as many words as you like at the same time). To add your online dictionaries, you need to click the Online Dictionaries button and edit the text file so that on each new line there is a link to the online dictionary page. As a rule, all links contain the word itself. And it is enough to put a symbol instead of the word ~ ​​so that the program changes it automatically to an open word. (For example, translate.google.com/#view=home&op=translate&sl=en&tl=en&text=~ will be replaced by translate.google.com/#view=home&op=translate&sl=en&tl=en&text=red if red is open).

I use to study:


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

In principle, these are all the functions that I needed to learn the 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 to learn English. To learn words on the phone, I wrote the program "HTML WORDS." It creates an html file from the word list, 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 I wanted. This program is for reading in English. In it, I implemented many interesting features for reading in English.

image

LIGHTING LIST OF WORDS. You can add word lists to the program, give each list its own color. and words in any text will be highlighted in 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 red. All other words in the text will be black. (To cast lists of words you need to press the yellow LIST button).

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

Clicking on a word in the text, it opens in the panel on the right, where you can also go to the program for editing and studying the word. There will also be a function to transfer words between lists.

By pressing the left and right arrow buttons, you can move 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 similar to the globe, you can get a translation through the Yandex API. But for this you need to add your key obtained from Yandex to the file “yandex_api.txt” of 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 a smartphone.

These are the main applications that I wrote in order to learn English. (But not all). Maybe I just like programming. And perhaps the desire to learn the language I have is too strong. Anyway, I made these programs and enjoyed it, as well as learning a language. I post these programs to free access. Use if you understand, yet they were written for themselves, 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 harshly, because I did not do a commercial project.

Thank you if you read my post to the end.

Source: https://habr.com/ru/post/440858/