(no subject)
Jan. 10th, 2017 03:30 pmНемного про меня и языки программирования в хронологическом порядке.
Начнем с языка BASIC. Без VISUAL и даже без MS. Этот язык был единственным встроенным языком компьютера zx spectrum, первого компьютера, появившегося у меня когда мне было 11.
Сперва нужно сказать пару слов про компьютер, про ряд его замечательных свойств. Во-первых, он загружался за одну секунду. И единственной имевшейся в нем программой, сразу же открытой и готовой к работе, была, как сейчас называется, IDE, т.е. "среда программирования". Для контраста, чтобы поиграть в компьютерную игру, нужно было пять-десять минут возиться с кассетным магнитофоном. Тем самым, оригинально расставлялись приоритеты. Хочешь программировать - садись и вперед. Хочешь играть - сперва затащи санки на гору.
Во-вторых, компьютер был прост. Не так прост, как деревянные счеты, но достаточно прост, чтобы 11-летний ребенок мог с бОльшей частью его разобраться самостоятельно. В нем было 32 килобайта свободной памяти, экран размером 32 на 24 знакоместа и разрешением 256 на 192 точек. Прилагалась пара папок с документацией, пересказанной любителями, но относящейся к немного другим модификациям компьютера (и поныне мне не удалось установить, какой именно доморощенный клон spectrum'а у меня был). Поскольку никто из родственников или знакомых ничего про компьютеры не знал, мне пришлось выжимать всё что возможно именно из этих неподшитых листов. И как результат, я с детства привык читать техническую документацию, и при этом не доверять всему что вижу, а осторожно проверять.
Осторожности особенно способствовала техническая сложность что-либо размещенное в памяти компьютера надолго сохранить; единственным хранилищем данных выступал тот же кассетный магнитофон.
Немного технических деталей, достойных упоминания. В отсутствие полноэкранного текстового редактора строки программы можно было вводить по одной через командную строку. При работе с которой, в свою очередь, нажатие на клавишу приводило к разным результатам в зависимости от того, что допускала в данной позиции грамматика языка (например, там где разрешался идентификатор, кнопка P вставляла P, а там где разрешалась встроенная команда, кнопка P вставляла слово PRINT; на самом деле, даже не слово PRINT, а символ с кодом 0xF5, который на экране отображался как PRINT, а в коде программы, соответственно, был вызовом команды печати). В результате, путем несложного перебора всех возможных нажатий на кнопки можно было получать простые работающие программы.
Я помню первую программу, которая вызвала "вау" эффект и, соответственно, повлекла все последующее. Она была вот примерно такая:
10 FOR N=0 TO 1000: BEEP 1,N: NEXT N
и издавала последовательность звуков постепенно повышающеся частоты.
Это очень удачно, что компьютер позволял так легко получить простые визуальные и звуковые эффекты. Так, в нем не было даже разделения на "текстовый" и "графический" режимы. Для ребенка, изучающего компьютер самостоятельно, это имело решающее значение.
Вторую программу я тоже помню и, собственно, вот она:

Почти пятна роршаха. Я, однако, тогда думал, что - узоры для вышивания крестиком.
Начнем с языка BASIC. Без VISUAL и даже без MS. Этот язык был единственным встроенным языком компьютера zx spectrum, первого компьютера, появившегося у меня когда мне было 11.
Сперва нужно сказать пару слов про компьютер, про ряд его замечательных свойств. Во-первых, он загружался за одну секунду. И единственной имевшейся в нем программой, сразу же открытой и готовой к работе, была, как сейчас называется, IDE, т.е. "среда программирования". Для контраста, чтобы поиграть в компьютерную игру, нужно было пять-десять минут возиться с кассетным магнитофоном. Тем самым, оригинально расставлялись приоритеты. Хочешь программировать - садись и вперед. Хочешь играть - сперва затащи санки на гору.
Во-вторых, компьютер был прост. Не так прост, как деревянные счеты, но достаточно прост, чтобы 11-летний ребенок мог с бОльшей частью его разобраться самостоятельно. В нем было 32 килобайта свободной памяти, экран размером 32 на 24 знакоместа и разрешением 256 на 192 точек. Прилагалась пара папок с документацией, пересказанной любителями, но относящейся к немного другим модификациям компьютера (и поныне мне не удалось установить, какой именно доморощенный клон spectrum'а у меня был). Поскольку никто из родственников или знакомых ничего про компьютеры не знал, мне пришлось выжимать всё что возможно именно из этих неподшитых листов. И как результат, я с детства привык читать техническую документацию, и при этом не доверять всему что вижу, а осторожно проверять.
Осторожности особенно способствовала техническая сложность что-либо размещенное в памяти компьютера надолго сохранить; единственным хранилищем данных выступал тот же кассетный магнитофон.
Немного технических деталей, достойных упоминания. В отсутствие полноэкранного текстового редактора строки программы можно было вводить по одной через командную строку. При работе с которой, в свою очередь, нажатие на клавишу приводило к разным результатам в зависимости от того, что допускала в данной позиции грамматика языка (например, там где разрешался идентификатор, кнопка P вставляла P, а там где разрешалась встроенная команда, кнопка P вставляла слово PRINT; на самом деле, даже не слово PRINT, а символ с кодом 0xF5, который на экране отображался как PRINT, а в коде программы, соответственно, был вызовом команды печати). В результате, путем несложного перебора всех возможных нажатий на кнопки можно было получать простые работающие программы.
Я помню первую программу, которая вызвала "вау" эффект и, соответственно, повлекла все последующее. Она была вот примерно такая:
10 FOR N=0 TO 1000: BEEP 1,N: NEXT N
и издавала последовательность звуков постепенно повышающеся частоты.
Это очень удачно, что компьютер позволял так легко получить простые визуальные и звуковые эффекты. Так, в нем не было даже разделения на "текстовый" и "графический" режимы. Для ребенка, изучающего компьютер самостоятельно, это имело решающее значение.
Вторую программу я тоже помню и, собственно, вот она:

Почти пятна роршаха. Я, однако, тогда думал, что - узоры для вышивания крестиком.