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

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


igor:istoria

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
Следующая версияСледующая версия справа и слева
igor:istoria [2019/07/10 23:01] – [Компьютеризированные расчетно-платежные системы] igorigor:istoria [2019/07/12 23:11] – [Программирование в новое время] 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. Он-то и стал первой по-настоящему суррогатной технологией, получившей большой рынок. \\ 
 +Чтобы оценить это явление по шкале "хорошо - плохо", мы должны принять во внимание два постулата. Во-первых, в нашей жизни бывают ситуации, когда суррогат реально необходим. И ленинградский хлеб из опилок и отрубей с огнем и кровью пополам был нужен... в свое время и в своем месте. Но потом, когда блокада была прорвана и враг отступил от города, от суррогата нужно было отказываться - и хлеб начали выпекать из пшеницы, как, собственно, и принято у нормальных людей. \\ 
 +Во-вторых, в каждой работе, в каждой профессии есть Мастера, а есть халтурщики-шабашники. И есть, как правило, некая средняя прослойка, причем чаще всего она - самая многочисленная. Для чего вообще нужны Мастера, ведь их работа стоит обычно дороже, чем работа шабашников, и даже середнячков? Есть на свете экономика. Пресволочнейшая штуковина: существует - и ни в зуб ногой! (слова В. Маяковского, первоначально сказанные про поэзию, ну а я приведу их здесь). В экономике есть моменты, которые на первый взгляд кажутся чудом или хуже того - абсурдом. Один из таких моментов как раз и состоит в том, что, хота Мастер непосредственно за свою работу просит большую плату, конечный результат его работы бывает более ценен. Но большинство заказчиков  
 +(неважно, о какой работе речь - о работе плотника, допустим, или сантехника, или программиста) хочет подешевле... "А Балда стоит и приговаривает с укоризной: не гонялся бы ты, поп, за дешевизной" (это уже не Маяковский, это Пушкин). Ничем другим Мастера свое существование оправдать не могут, но ничего другого им  
 +и не требуется. Но если это так, то что же получается: работа халтурщика всегда влечет за собой убытки для заказчика? С другой стороны, умные люди говорят: "Я не настолько богат, чтобы покупать дешевые вещи". Резюмируем: суррогатные технологии нужны для того, чтобы вовлечь в программирование низкоквалифицированных  
 +программистов ценой увеличения сроков и трудоемкости работ и снижением качества конечного продукта. Плохо в этих технологиях не то, что они вообще существуют, а то, что их роль и место в мировом процессе разработки ПО неадекватно оценивается большинством населения. Кто-то считает их передовыми и навязывает их программистам нормального уровня, которые обладают необходимыми знаниями и качествами для работы по нормальным технологиям. \\ 
 +Суррогатные технологии - примета нового и особенно новейшего компьютерного времени, поскольку стали возможны с появлением многочисленных компьютеров с большим быстродействием и большой емкостью оперативной памяти. В древности и в средние века, пока вычислительные ресурсы были дефицитом, такие технологии не имели шансов на признание. \\ \\
 ==== Еще немного воспоминаний и размышлений ==== ==== Еще немного воспоминаний и размышлений ====
 В предыдущей главе я рассказывал о практических и лабораторных работах в институте и размышлял о том, какого уровня специалистов этот институт мог выпускать. Теперь скажу так: уровень специалистов соответствовал тому уровню трудоустройства, который экономика позднего развитого социализма ("застоя") могла нам предложить. \\ В предыдущей главе я рассказывал о практических и лабораторных работах в институте и размышлял о том, какого уровня специалистов этот институт мог выпускать. Теперь скажу так: уровень специалистов соответствовал тому уровню трудоустройства, который экономика позднего развитого социализма ("застоя") могла нам предложить. \\
igor/istoria.txt · Последнее изменение: 2022/05/01 18:15 — igor