Инструменты пользователя

Инструменты сайта


igor:istoria

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
Следующая версияСледующая версия справа и слева
igor:istoria [2019/07/10 21:29] – [Программирование в новое время] igorigor:istoria [2019/07/12 23:18] – [Программирование в новое время] igor
Строка 485: Строка 485:
 Программы семейства DBase строились по принципу швейцарского армейского ножа: такая программа содержала набор инструментов для решения достаточно широкого множества типовых задач, так или иначе связанных с реляционными базами данных. Базу можно было просматривать, редактировать, добавлять в нее новые записи, делать выборки, выводить их на экран и печать в виде документов установленного образца... Все это делалось с помощью цифробуквенных команд, близких к тем, которые использовались в операционной системы ДОС. Для пользователя, который с ДОС не дружил, был придуман "Ассистент": вместо того, чтобы вводить команду буквами, можно было выбрать нужные действия из меню. При этом в нижней строке экрана отображалась соответствующая команда в текстовом виде, т. е. пользователь мог формировать команду с помощью "Ассистента" и одновременно изучать ее текстовое представление. Все команды, поданные пользователем, регистрировались в "Истории команд". Историю можно было просмотреть и нужную команду выполнить еще раз, возможно с какими-то вариациями. Отсюда вытекает следующая очевидная идея: выбрать не одну, а несколько команд, записать их в отдельный файл - //скрипт// - и потом запускать скрипт на выполнение. Ну и следующая идея: скрипт скомпилировать и использовать в дальнейшем как обычную программу. \\ Программы семейства DBase строились по принципу швейцарского армейского ножа: такая программа содержала набор инструментов для решения достаточно широкого множества типовых задач, так или иначе связанных с реляционными базами данных. Базу можно было просматривать, редактировать, добавлять в нее новые записи, делать выборки, выводить их на экран и печать в виде документов установленного образца... Все это делалось с помощью цифробуквенных команд, близких к тем, которые использовались в операционной системы ДОС. Для пользователя, который с ДОС не дружил, был придуман "Ассистент": вместо того, чтобы вводить команду буквами, можно было выбрать нужные действия из меню. При этом в нижней строке экрана отображалась соответствующая команда в текстовом виде, т. е. пользователь мог формировать команду с помощью "Ассистента" и одновременно изучать ее текстовое представление. Все команды, поданные пользователем, регистрировались в "Истории команд". Историю можно было просмотреть и нужную команду выполнить еще раз, возможно с какими-то вариациями. Отсюда вытекает следующая очевидная идея: выбрать не одну, а несколько команд, записать их в отдельный файл - //скрипт// - и потом запускать скрипт на выполнение. Ну и следующая идея: скрипт скомпилировать и использовать в дальнейшем как обычную программу. \\
 Важно, что, имея в руках такой инструмент, задачи мог решать непосредственно тот человек, который в решении заинтересован, - //конечный пользователь//. Он по определению не программист, так что о его программистской квалификации вопрос вообще не ставится. С другой стороны, пользователь, обладающий соответствующими способностями, мог такую квалификацию нарабатывать "без отрыва от производства". Ясно, что программы такого типа оказались чрезвычайно удачны, и популярность, которую они приобрели в 90-е годы, была вполне заслуженной. \\ Важно, что, имея в руках такой инструмент, задачи мог решать непосредственно тот человек, который в решении заинтересован, - //конечный пользователь//. Он по определению не программист, так что о его программистской квалификации вопрос вообще не ставится. С другой стороны, пользователь, обладающий соответствующими способностями, мог такую квалификацию нарабатывать "без отрыва от производства". Ясно, что программы такого типа оказались чрезвычайно удачны, и популярность, которую они приобрели в 90-е годы, была вполне заслуженной. \\
-По образцу программ семейства DBase фирма "Фокс Софтвэр" выпустила несколько версий программы FoxPro, а фирма "Нантукет Корпорейшн" в 1985 г. - интерпретатор-компилятор языка, практически совпадающего с языком семейства DBase, под маркой "Клиппер". В 90-е годы языки семейства DBase/FoxPro/Clipper приобрели все черты, присущие "взрослым" языкам программирования. Их век оказался недолог (на рубеже нового и новейшего времени все они постепенно вышли из употребления), но, с учетом того что за предшествующие 20-30 лет в области языков не было практически никакого прогресса, эти языки успели оказать большое влияние на всю эволюцию программирования, так что в значительной мере благодаря им программный мир приобрел тот облик, который нам привычен сейчас. \\ \\+По образцу программ семейства DBase фирма "Фокс Софтвэр" выпустила несколько версий программы FoxPro, а фирма "Нантукет Корпорейшн" в 1985 г. - интерпретатор-компилятор языка, практически совпадающего с языком семейства DBase, под маркой "Клиппер". В 90-е годы языки семейства DBase/FoxPro/Clipper приобрели все черты, присущие "взрослым" языкам программирования. Их век оказался недолог (на рубеже нового и новейшего времени все они постепенно вышли из употребления), но, с учетом того что за предшествующие 20-30 лет в области языков не было практически никакого прогресса, эти языки успели оказать большое влияние на всю эволюцию программирования, так что в значительной мере благодаря им программный мир приобрел тот облик, который нам привычен сейчас. \\ 
 +=== Суррогатные технологии в программировании === 
 +История учит, что новые технические решения в мире крайне редко появляются просто так, с бухты-барахты. Если какая-то технология появилась и нам кажется, что она никому не нужна, - скорее всего, мы либо чего-то не знаем, либо не придали должного значения. Смысл суррогатных технологий в том, чтобы вовлечь в программирование людей, не обладающих достаточно высокой квалификацией. \\ 
 +Можно ли назвать суррогатной технологией программные продукты семейства DBase/FoxPro/Clipper, которые мы рассмотрели чуть выше? Если строго следовать букве определения, то нет: ведь они имели первоначальную цель вовлечь в программирование не низкоквалифицированных программистов, а конечных пользователей, которые имеют тот или иной уровень квалификации в своей предметной области, а программистами не являются. Однако эти продукты очень легко могут стать суррогатом в руках начальника, навязывающего их своим подчиненным без учета их реальных способностей и качеств. \\ 
 +Первой суррогатной технологией стал Бэйсик, но, как мы уже отмечали выше, он стал таковой не сразу. Первоначально он создавался как инструмент для начального обучения программированию, и в этом качестве он был вполне адекватен реалиям 60-х годов XX века. Но в 80-е годы даже в советских учебных заведениях уже были машины СМ-4 с видеотерминалами. Такие машины спокойно "переваривали" любой настоящий язык программирования, такой как Алгол, Паскаль или даже Си. Проблема в том, что наши преподы про Алгол и Паскаль знали в лучшем случае понаслышке, а про Си не знали совсем (я свое первое руководство по языку Си прочитал уже после окончания института). И системные администраторы, обслуживавшие эти машины, - аналогично. Учить студентов серьезному программированию от них никто не требовал, вот они и ехали по накатанной колее. Похоже, что в США ситуация была ненамного лучше, потому что фирмы "Микрософт" и "Борланд" в 80-е годы выпустили на рынок интегрированные среды разработки программ (Quick Basic и Turbo Basic соответственно) на основе языка Бэйсик. Впрочем,  
 +эти продукты были все-таки скорее учебными. Однако даже с натяжкой нельзя назвать учебным инструмент, который та же фирма "Микрософт" уже в 90-е годы внедрила в свой пакет Microsoft Office. Называлась эта штука Visual Basic. Он-то и стал первой по-настоящему суррогатной технологией, получившей большой рынок. \\ 
 +Чтобы оценить это явление по шкале "хорошо - плохо", мы должны принять во внимание два постулата. Во-первых, в нашей жизни бывают ситуации, когда суррогат реально необходим. И ленинградский хлеб из опилок и отрубей с огнем и кровью пополам был нужен... в свое время и в своем месте. Но потом, когда блокада была прорвана и враг отступил от города, от суррогата нужно было отказываться - и хлеб начали выпекать из пшеницы, как, собственно, и принято у нормальных людей. \\ 
 +Во-вторых, в каждой работе, в каждой профессии есть Мастера, а есть халтурщики-шабашники. И есть, как правило, некая средняя прослойка, причем чаще всего она - самая многочисленная. Для чего вообще нужны Мастера, ведь их работа стоит обычно дороже, чем работа шабашников, и даже середнячков? Есть на свете экономика. Пресволочнейшая штуковина: существует - и ни в зуб ногой! (слова В. Маяковского, первоначально сказанные про поэзию, ну а я приведу их здесь). В экономике есть моменты, которые на первый взгляд кажутся чудом или хуже того - абсурдом. Один из таких моментов как раз и состоит в том, что, хота Мастер непосредственно за свою работу просит большую плату, конечный результат его работы бывает более ценен. Но большинство заказчиков  
 +(неважно, о какой работе речь - о работе плотника, допустим, или сантехника, или программиста) хочет подешевле... "А Балда стоит и приговаривает с укоризной: не гонялся бы ты, поп, за дешевизной" (это уже не Маяковский, это Пушкин). Ничем другим Мастера свое существование оправдать не могут, но ничего другого им  
 +и не требуется. Но если это так, то что же получается: работа халтурщика всегда влечет за собой убытки для заказчика? С другой стороны, умные люди говорят: "Я не настолько богат, чтобы покупать дешевые вещи". Резюмируем: суррогатные технологии нужны для того, чтобы вовлечь в программирование низкоквалифицированных  
 +программистов ценой увеличения сроков и трудоемкости работ и снижением качества конечного продукта. Плохо в этих технологиях не то, что они вообще существуют, а то, что их роль и место в мировом процессе разработки ПО неадекватно оценивается большинством населения. Кто-то считает их передовыми и навязывает их программистам нормального уровня, которые обладают необходимыми знаниями и качествами для работы по нормальным технологиям. \\ 
 +Суррогатные технологии - примета нового и особенно новейшего компьютерного времени, поскольку стали возможны с появлением многочисленных компьютеров с большим быстродействием и большой емкостью оперативной памяти. В древности и в средние века, пока вычислительные ресурсы были дефицитом, такие технологии не имели шансов на признание. \\ \\
 ==== Еще немного воспоминаний и размышлений ==== ==== Еще немного воспоминаний и размышлений ====
 В предыдущей главе я рассказывал о практических и лабораторных работах в институте и размышлял о том, какого уровня специалистов этот институт мог выпускать. Теперь скажу так: уровень специалистов соответствовал тому уровню трудоустройства, который экономика позднего развитого социализма ("застоя") могла нам предложить. \\ В предыдущей главе я рассказывал о практических и лабораторных работах в институте и размышлял о том, какого уровня специалистов этот институт мог выпускать. Теперь скажу так: уровень специалистов соответствовал тому уровню трудоустройства, который экономика позднего развитого социализма ("застоя") могла нам предложить. \\
Строка 520: Строка 531:
 ==== Компьютеризированные расчетно-платежные системы ==== ==== Компьютеризированные расчетно-платежные системы ====
 Когда мы говорим о компьютеризированных расчетно-платежных системах, первое, что приходит на ум непрофессиональному читателю, - это банковские карты, однако это неправильно: карты - это только верхушка айсберга. \\ Когда мы говорим о компьютеризированных расчетно-платежных системах, первое, что приходит на ум непрофессиональному читателю, - это банковские карты, однако это неправильно: карты - это только верхушка айсберга. \\
-Первые банковские карты появились в США и других экономически передовых странах еще в 50-е годы XX века, но, как это всегда и бывает, до поры-до времени они были экзотикой. В СССР ничего подобного, разумеется, быть не могло. Массовому распространению карт препятствовала высокая стоимость как самих карт, так и оборудования для их чтения, а также трудности подключения к компьютерным сетям в большинстве мест, где люди хотели бы такими картами пользоваться (магазины, автозаправочные станции...). Мировой компьютерной Сети в те времена еще не было, не было единого стандарта конструкции карт, не было согласия между банками по поводу построения единой расчетно-платежной системы. С годами, однако, эти мешающие факторы были постепенно преодолены. \\+Первые банковские карты появились еще в 50-е годы XX века в США и других экономически передовых странах, но, как это всегда и бывает, до поры-до времени они были экзотикой. Массовому распространению карт препятствовала высокая стоимость как самих карт, так и оборудования для их чтения, а также трудности подключения к компьютерным сетям в большинстве мест, где люди хотели бы такими картами пользоваться (магазины, автозаправочные станции...). Мировой компьютерной Сети в те времена еще не было, не было единого стандарта конструкции карт, не было согласия между банками по поводу построения единой расчетно-платежной системы. С годами, однако, эти мешающие факторы были постепенно преодолены. \\ 
 +В СССР ничего подобного, разумеется, быть не могло. \\
 Как работает банковская карта? \\ Как работает банковская карта? \\
 Прежде всего оговоримся, что карта, точно так же как использовавшаяся ранее чековая книжка, - не кошелек, деньги хранятся не в ней. Они хранятся в банке, на нашем банковском счете. Соответственно потеря карты не означает потери денег, а попадание карты в руки постороннего человека, вообще говоря, не гарантирует ему возможности присвоить наши деньги. Это очень важно, потому что если мы держим наличные деньги в кошельке и кошелек достается постороннему человеку, то и с самим кошельком, и с его содержимым нам придется распрощаться. Если же мы хотим расплатиться, допустим, за бензин на автозаправке, то мы вставляем карту в имеющийся там  Прежде всего оговоримся, что карта, точно так же как использовавшаяся ранее чековая книжка, - не кошелек, деньги хранятся не в ней. Они хранятся в банке, на нашем банковском счете. Соответственно потеря карты не означает потери денег, а попадание карты в руки постороннего человека, вообще говоря, не гарантирует ему возможности присвоить наши деньги. Это очень важно, потому что если мы держим наличные деньги в кошельке и кошелек достается постороннему человеку, то и с самим кошельком, и с его содержимым нам придется распрощаться. Если же мы хотим расплатиться, допустим, за бензин на автозаправке, то мы вставляем карту в имеющийся там 
igor/istoria.txt · Последнее изменение: 2022/05/01 18:15 — igor