Обсуждение статьи "Разработка системы репликации (Часть 28): Проект Expert Advisor — класс C_Mouse (II)"

 

Опубликована статья Разработка системы репликации (Часть 28): Проект Expert Advisor — класс C_Mouse (II):

Когда начали создаваться первые системы, способные что-то считать, всё потребовало вмешательства инженеров, обладающих обширными знаниями о том, что проектируется. Мы говорим о рассвете компьютерной техники, о времени, когда не было даже терминалов, позволяющих что-либо программировать. По мере развития и роста интереса к тому, чтобы большее число людей могли создавать что-либо, появлялись новые идеи и методы программирования этих машин, которые раньше сводились к изменению положения соединителей. Именно тогда появились первые терминалы.

Для тех, кто давно занимается программированием, возможно, не будет иметь особого смысла то, что покажем ниже. Зачем нужны эти хлопоты по приближению программирования к естественному языку? Ответ прост: вы программируете не для машины, а для других программистов. Когда начали выпускаться первые системы, способные что-то факторизовать, всё зависело от того, насколько хорошо инженеры знали проект. Такова была реальность на рассвете компьютерной техники, когда не было даже терминала, чтобы что-то программировать.

По мере развития и роста интереса к тому, чтобы большее число людей могли создавать что-либо, появлялись новые идеи и методы программирования этих машин, которые раньше сводились к изменению положения соединителей. Именно тогда появились первые терминалы. Со временем программирование, которое изначально осуществлялось исключительно в двоичном формате, перестало быть нормой. Это произошло, потому что программы развивались очень быстро, что привело к необходимости найти более эффективный способ чтения того, что было запрограммировано. Именно тогда появился язык ассемблера, мощнейшая основа, преобразовавшая сложную работу с двоичным кодом в нечто более удобочитаемое, в виде OpCodes или мнемонического кода. Со временем программы становились всё сложнее и сложнее, требуя всё больше и больше кода, появились первые языки более высокого уровня.

Больше не было необходимости иметь дело непосредственно с OpCodes; можно было использовать язык, более близкий к естественному. Вначале данные языки разрабатывались в основном для создания и описания математических концепций, то есть в основном служили для облегчения перевода формул в понятные компьютеру формы. Данный процесс больше не нужно было выполнять вручную одному человеку. Так началась новая эра - эра компилятора, который переводил человеческий язык в язык, понятный машине. В течение многих лет я программировал таким образом, пытаясь объяснить, как создаются программы, и побуждая больше людей учиться и преобразовывать свои идеи в то, что понятно компьютеру. Однако я понял, что многие сначала испытывают трудности в понимании некоторых концепций, поскольку программирование в основном включает в себя комбинирование и использование символов для выражения того, что мы хотим создать.

Но, учитывая, что язык MQL5 является производным от языков C/C++ и обладает способностью делать вещи таким образом, чтобы код был более читабельным, он становится идеальным для демонстрации чего-то другого. Затем, после некоторого времени анализа и осознания того, что я могу помочь энтузиастам понять, что программируется, даже без полного понимания кода, было решено на короткое время изменить способ выражения кода. В конце концов, всё будет понято компилятором, так что для него это не имеет значения. Но для энтузиастов это будет иметь большое значение, так как язык будет гораздо ближе к естественному. Хотя на первый взгляд код может показаться странным и необычным, новичку будет значительно проще разобраться в нем.

Автор: Daniel Jose