История программирования: Дейкстра. И Брукс.




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2026-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='\

98 Comments

  1. vcv

    Миллион плюсов. Молодежь должна знать основоположников. Хотя бы по фамилиям.

    Reply ↓
  2. Шёпот теней

    … написать программу в 10 строк может каждый

    … написать программу в 100 строк может подготовленный пользователь

    … написать программу в 1 000 строк может программист

    … написать программу в 10 000 строк может гений

    … ВОТ …

    п.с. программист это не тот кто знает «КАК» а то кто знает «ПОЧЕМУ» …

    …

    Reply ↓
  3. Шёпот теней

    (1) …

    1.естьпрограммисты «холерики» — им не трудно двадцать раз всЁ переписать …

    2.естьпрограммисты «флегматики» — им не трудно двадцать раз всЁ подумать …

    … первые создают образ у которых «ничего не работает» …

    … вторые что они «ничего не делют» …

    … вот …

    Reply ↓
  4. Арчибальд

    (3)

    Задача Университета — не предлагать то, что просит общество, а давать то, что обществу необходимо. © Дейкстра

    У программиста (особенно, одноэсника) задача такая же…

    Reply ↓
  5. Шёпот теней

    (5) … вопрос «что обществу необходимо» … да и судьи кто ? становится интересным …

    я бы сказал бы что «университет» должен ориентроваться на «верхние слои» знаний… кто их не может усвоить тот вылетает …

    и еще я бы сказал… что рано или поздно, какой бы мы вопрос не затрунули и не исследовали бы, краеугольным станет вопрос культуры …

    нельзя помогать «бедным» и показывать Дом-2 …

    … если высшее образование способен получить или купить ЛЮБОЙ — то что это за ОБраЗОвание … ??? и что это за УНИВЕРситеты котрые дают/продают ТАкоЕ образование … ???

    … вот …

    Reply ↓
  6. Alraune

    (6)

    если высшее образование способен получить или купить ЛЮБОЙ

    Имеете в виду само высшее образование или диплом?

    Reply ↓
  7. Шёпот теней

    (7) … ты, что смЕЕЕшься … ? … !

    … типа «те» кто учится — получают «реальные» знания … что ли …?

    … уровень образования в ЭрЭфии упал … разве это кому-нибудь «не видно» … ???

    … мой опыт в четыре года преподавния в школе и институте говорит об «ужасном» положении нашего будущего инженерного положения …

    … вот …

    Reply ↓
  8. Шёпот теней

    и потом если диплом (любым образом полученным) даёт вам право заниматься «строительством мостов» то о чЁм должно думать общество … ???

    может поэтому у нас рушаться крыши, горят здания, не летают «булавы» и всЁ остальное … вот …

    Reply ↓
  9. Арчибальд
    На наше формирование большое влияние оказывают инструменты, которые мы используем, в частности: формализмы, которые мы используем, формируют наш образ мышления лучшим или худшим образом, и это значит, что мы должны быть чрезвычайно осторожны в выборе того, чему учить и чему учиться, потому что разучиться потом совершенно невозможно. © Дейкстра

    Reply ↓
  10. Шёпот теней

    (10) … всегда есть не только культура но ещЁ и традиция … а если мы касаемся обучения и традиции то лучше «нашего» Ушинского … ! …

    Константин Дмитриевич УШИНСКИЙ

    родился 19 февраля (2 марта) 1824 года в Туле в семье Дмитрия Григорьевича Ушинского — отставного офицера, участника Отечественной войны 1812 года, мелкопоместного дворянина.

    Педагогика — не наука, а искусство: наука изучает существующее или существовавшее, а искусство стремится творить то, чего еще нет. Всякое искусство имеет свою теорию, которая предписывает правила для практической деятельности, черпая основания для этих правил в науке. Джон Стюарт Милль: «Где говорят в правилах и наставлениях, а не в утверждениях относительно фактов, там искусство… Положения искусства не утверждают, что что-нибудь есть, но указывают на то, что должно быть» . Ясно, что в таком смысле ни политику, ни педагогику нельзя назвать науками; ибо они не изучают того, что есть, но только указывают на то, что было бы желательно видеть существующим, и на средства к достижению желаемого. Поэтому педагогика — искусство, а не наука воспитания.

    .. можно добавить и искусство программировать …

    … ВОТтакаяОНАэтаРОССИЯ …

    Reply ↓
  11. Ish_2

    Какова ,однако, реакция на невинное «Рисуешься ?».

    Бесспорно , ответный залп получился .

    Reply ↓
  12. Арчибальд

    (12)

    Наиболее важными активами компетентного программиста являются — возможно, именно в таком порядке — отличное мастерство в своем естественном языке и значительная математическая зрелость. Уже более десяти лет эти факты общеизвестны и общепонятны.

    19 September 1980

    prof. dr. Edsger W. Dijkstra

    Видишь, какой оптимист! Мне же захотелось, чтобы эти факты из «общепонятных» превратились в «понятные ИСовцам». 😐

    Reply ↓
  13. Ish_2

    Слушай , куда жаловаться ?

    Дейкстра жестоко не прав в своем выборе из альтернатив :

    Взгляд А: Программирование в основном весьма просто.

    Взгляд В: Программирование — это очень сложно.

    Если вложить в «программирование» узкий смысл — то массовое появление программистов 1с-ников — не это ли подтверждение взгляда А.

    Взгляд же B тоже симпатичен , но понять в ЧЕМ эта сложность могут совсем немногие.

    Лучше быть поближе к народу :

    Взгляд А преобладает , и поэтому выгоднее и практичнее его считать верным.

    Reply ↓
  14. Ish_2

    (13) Опять я не согласен :

    Я бы оставил только

    «отличное мастерство в своем естественном языке» .

    Нынче «математическая зрелость»важна уж очень в узкой сфере ( в области 1с-программирования — точно нет).

    А вот умение поставить задачу ,»ловко выкрутиться» поможет в любой сфере и при любой власти.

    Reply ↓
  15. Шёпот теней

    … массовость убивает талант …

    … уровень компетенции с ростом организации (программы) падает ….

    … в десяти строках программы всегда есть хотя бы одна ошибка …

    … один Эс это не программа стандартов решения а программа универсальных методов использования … а универсальность — враг качества ….

    написать программу под жёсткое выполнение «просто» — написать програму с проверкой на перекрещивающиеся ошибки архи «сложно» …

    … ужжжВОТужжж …

    Reply ↓
  16. Ish_2

    Вообщем , Арчибальд, ты смущаешь своими цитатами от 1980 г. неокрепшие умы.

    30 лет прошло.

    Умничая из сегодняшнего дня , можно сказать и «Браво» и «Старо !».

    http://khpi-iip.mipk.kharkiv.edu/library/extent/dijkstra/pp/ewd540.html

    Reply ↓
  17. Арчибальд

    (17) Вот тебе посвежее, и, судя по (14), ближе по духу:

    В нынешней политической ситуации непохоже, чтобы что-то улучшилось вскоре; в ближайшем будущем нам придется жить среди предрассудков, что программирование — это «настолько просто, что им могут заниматься даже члены республиканской партии».

    Остин, 26 августа 1995

    Prof. dr. Edsger W. Dijkstra

    Reply ↓
  18. Шёпот теней

    (17) … молодости свойственно «не желание нового» т.к. она не знает ни «его» ни даже «направления» … она, в основном, «тупо» отрицает «старое» …

    … знамо … знамо … и сами были молодыми … т.к. признак нового это не только «развалить» но и прежде всего «построить» …

    … во … во … что-то проблемы с этим вот «построить» …

    … ВоооТ …

    Reply ↓
  19. Ish_2

    (18) Хм… Прошло 15 лет с 1980г. и Дейкстра через иронию признал течение жизни :

    Вся сила — во взгляде А.

    Нравится — не нравится ? — не тот вопрос. Это — ПРОГРЕСС во всей его красе.

    Дейкстре , на мой скромный взгляд , мешает зацикленность на программировании, как особой непохожей на другие человеческой деятельности.

    И то , что «изолированно» претендует на особую глубину , в другом , более широком контексте вызывает грустную улыбку .

    Сравним ?

    Взгляд А: Программирование в основном весьма просто.

    Взгляд В: Программирование — это очень сложно.

    Взгляд С: Лицедейство в основном весьма просто.

    Взгляд D: Лицедейство — это очень сложно.

    Взгляд E: Обработка металлов в основном весьма просто.

    Взгляд F: Обработка металлов — это очень сложно.

    И глубокомыслие Дейкстры при обосновании взгляда B для читателя сводится к простой народной истине :

    Всяк кулик своё болото хвалит.

    Reply ↓
  20. Шёпот теней

    (20) … ты слишком «личностно» а значит НЕобЪективно т.е. СУБЪективно воспринял его наставления …

    … эх … молодость … молодость … молодость …

    … «создавать» надо а «не отрицать» … когда дети начинают СОздавать они лучше понимают отцов …

    … вот …

    Reply ↓
  21. Ish_2

    (21) Субъективность (читай- полемическая заостренность) бывает полезна для приближения к объективности.

    Считай , что это провокация. Провокация к мысли.

    Reply ↓
  22. Арчибальд

    (20)

    Необходимые приемы эффективного доказательства достаточно формальны, но до тех пор, пока программированием занимаются люди, не владеющие ими, кризис программного обеспечения будет продолжать пребывать с нами и будет рассматриваться как неизлечимая болезнь. А вы знаете, что делают неизлечимые болезни: они приводят к появлению знахарей и шарлатанов, которые в данном случае принимают личину Гуру Программирования.
    Reply ↓
  23. Шёпот теней

    … провокация это понятно … а вот с мыслью не совсем …

    как можно спорить с «человеком-практиком» … т.к. «как написать программу знаЮт все» … многие знают синтаксис и правил языка программирования … а вот «написать» программу ? которая выполняет возложенные на неё функции … ? и чем она разветвлЁннее тем меньше способных …

    … вот …

    … твоя провокация … как впрочем и почти все остальные — это провокация не «за» и не «против» а просто «отрицание» …

    Reply ↓
  24. Ish_2

    (23) Отсюда вытекает ,

    что тот самый ПРОГРЕСС — есть не что иное как развитие кризиса.

    Кризиса понимания как неизлечимой болезни ПРОГРЕССА.

    Спустимся на грешную землю.

    Разбираю текст чужой программы (клиент -серверный вариант).

    По модулю разбросаны обращения к реквизитам справочника через точку . Есть они и внутри циклов.

    И я подумал : вот он кризис понимания (читай, ПРОГРЕСС). Здесь и сейчас.

    Reply ↓
  25. Шёпот теней

    … программа — это, прежде всего, то что «работает» … остальное дело вкуса, знаний, культуры … и… ? … утверждений ГУРУ … вот … (сам же сказал в своих провокациях) …

    … вотПРОВОКАЦИЯвот …

    Reply ↓
  26. Valerich
    Мораль этой истории — в том, что, конечно, мы должны быть очень осторожны, давая советы молодежи: иногда они следуют им!

    очень глубокая мысль…. особенно если вдуматься

    Reply ↓
  27. значит я не сумасшедший! это радует )))

    Reply ↓
  28. Арчибальд

    (28) Вот с этого места поподробней, пожалуйста ❓

    Reply ↓
  29. Шёпот теней

    (27) … ВалерычЪ … мне понравилась твоя «мысль» … интересно а «какую» идею ты вложил в неЁ … ? … вот …

    ответственность и общества и учителя … ! … поэтому я Ушинского и упоминаю … в том же контексте и ссылку приводит Арчи, как я понял, о «чему должны учить университеты» … вот …

    Reply ↓
  30. Valerich

    (30) Есть такой закон Мэрфи (или следствие из него, не помню)….

    Все что может быть понято неправильно, обязательно будет понято неправильно…..

    поэтому советуя что-то молодым и начинающим надо думать что говоришь, иначе можно получить интересные эффекты и винить будт некого, кроме самого себя…. 🙂

    Reply ↓
  31. (29) ну просто мне все в части ИТ кажется очень простым )))

    при том что все вокруг все усложняют и говорят что это все нириально сложно.

    и я долго думал что это проблема во мне, что это мои глюки ))

    а оказывается Дейкстра также считает ))

    если сильно не заморачиваться и не умничать, то по сути ИТ сводится к ряду достаточно простых функций, описанных в библиотеке ITIL.

    могу утверждать, т.к. есть опыт создания ITSM систем для обслуживания различных ИТ.

    и одну систему затюнинговал до того, что она сейчас кроме ИТ-услуг, может поддерживать бухгалтерские услуги и технологии управления качеством по ИСО 9000.

    и все что для этого нужно было, это выключить умный мозг и взглянуть на мир просто ))

    причем тюнинг касался лишь данных. программирование и метаданные оставил в сторонке. сейчас система выдает показатели по ИТ, стабильность, затраты, динамика, планирование и осуществление различных улучшений, контроль специалистов, действий, сроков. в общем вся картинка по ИТ, админам и программистам, в разрезе по 30 заказчикам )

    Reply ↓
  32. Шёпот теней

    (31) … для того чтобы быть «однозначно» понятым человечество придумало «грамотность» (в кавычках потому, что имеется ввиду не только правильное написание но и правильное использование слов как определений) …

    … например, «маржа» — в разных течениях смысл этого слова совершенно разный … или наоборот несколько разных понятий могут означать похожие смыслы … именно поэтому человечество столько сил потратило на словари, энциклопедии и справочники, госты …

    … от нежелания знать грамоту вот и получается слова есть а смыслы у всех разные … поэтому так часто речь специалистов не только строго по «определениям» но и описанием не только текста но и контекста их использования …

    … такоеВОТмнение …

    Reply ↓
  33. Шёпот теней

    (32) … повторюсь из (5) :

    … написать программу в 10 строк может каждый

    … написать программу в 100 строк может подготовленный пользователь

    … написать программу в 1 000 строк может программист

    … написать программу в 10 000 строк может гений

    … ВОТ …

    п.с. программист это не тот кто знает «КАК» а то кто знает «ПОЧЕМУ» …

    …

    написать программу «чтобы работало» не сложно … написать программу на «дурака» — очень сложно … 1С пишет универсально — а ЭТО ещё сложнее …

    … вот МОЁмнение …

    Reply ↓
  34. Арчибальд

    (30) Применительно к сабжу. Дейкстра всегда считал одной из причин кризиса неразберихи в программах то, что машины Фон Неймановского типа позволяют изменять программный код так же, как и данные. Например, формировать текст запроса в зависимости от неких условий — это зло. Не говоря уже о #ЗагрузитьИзФайла 😎

    Reply ↓
  35. (33) Мы говорим одни слова на этом свете, но видим разное кино…

    (с) http://polonium194.livejournal.com/52256.html

    Reply ↓
  36. (35) Меня тоже программисты боятся )))

    Reply ↓
  37. Valerich

    (34)

    написать программу «чтобы работало» не сложно … написать программу на «дурака» — очень сложно

    100% согласен. при этом просто программы не пишутся никогда, поскольку пишем для «дураков»…. иногда доходит до маразма….

    1С пишет универсально — а ЭТО ещё сложнее

    я бы уточнил — ПЫТАЮТСЯ писать универсально. Дело усложняется тем, что они оторваны от реалий жизни…. и пишут похоже подмастрья, а не мастра…

    Reply ↓
  38. (34) а причем тут программки и ИТ?

    я говорю немного о другом уровне. там где нужна простата и управляемость.

    это как BMW. создать не убиваемые движки могут только лучшие инженеры и специалисты, но для водителя все должно быть просто и управляемо.

    так же и в ИТ. да, разработать стабильную программу могут только лучшие специалисты.

    но руководителю и пользователю важно чтобы все это в конечном итоге сводилось к простым показателям и параметрам. дабы управляемость была в норме )

    по сути я сейчас занимаюсь дизайном приборных панелей и салонов для пользователей и руководителей. смотрю чтобы им было удобно, понятно и комфортно.

    движки собирать тоже могу, но не так хорошо как специалисты, просто имею представление и если нужно соберу что то пыхтящее и жужащее.

    сборку движков передаем специалистам. себе оставив только функции перевода и управления.

    Reply ↓
  39. Шёпот теней

    (39) … чтобы сделать то что ВЫ говорите нужно сто-% стабильность входящих условий … в нашем разнообразиии форм отчётности — 1С лучшее … вот … остальное ручками или задницей …

    Reply ↓
  40. Шёпот теней

    (38) … 1С … собрав достойных — являются БОЛЬШОЙ компанией где скорость прохождения «вопроса» низка и стоимость её решений и согласований «высока» … опять же рамки нашего учёта — та же ЗП или НУ … ужжж ПБУ18/02 никто не комментирует … вот …

    … другое дело «частное» решение … » здесь «отдельные» специалисты бЬют 1С наповал … например тут …

    … вот …

    .. вот …

    Reply ↓
  41. Valerich

    (42) насчет достойных и сложности ЗП и НУ….

    на дворе июль… страховые взносы анонсировали ще в середине прошлого года…

    что имеем: в начала года была нервотрепка с выходом новых релизов, которые не работали… Сейчас конкретно сижу и занимаюсь внесением тех же исправлений в 298 релиз Зика, что и в несколько предыдущих, потому что в проводках по РБП путают аналитику, считают неправильно…… примеров тому и на этом сайте в том числе предостаточно….

    Чем же заняты «достойные» и кто тогда мы? 😥

    Reply ↓
  42. Арчибальд

    (38) Брукс. «Мифический человеко-месяц»

    Reply ↓
  43. Арчибальд

    (39) Вот так понятнее 🙂

    А то за (32) хотел предать тебя анафеме 😎

    Reply ↓
  44. Шёпот теней

    (42) … ВалерычЪ … я говорю о «сложности» оборота «мысли» в таких компаниях и «+» сложность изменений в «универсальных» программах …

    … например, наша одна «контора» … в ней чтобы по правилам сетевой кабель проложить или подключиться к системе или создать нового пользователя требуется много-много-много терпения и времени … может тянуться и месяц и два и …

    … частное решение проще … но для этого нужно знать и частные условия … как только появится коллектив больше 12 человек управление становится 2-х ступеньчатым … а максимум чем может управлять человек это 3-ступенями … а дальше — возрастающая степень не совершенства при любом количестве желания, ума, трудолюбия …

    … количество премен гораздо больше чем возможность системы подстраиваться …

    … вот …

    п.с. «Закон Паркинсона» — человек, ораганизация как система стремиться достичь уровня своей Некомпетентности …

    Reply ↓
  45. Шёпот теней

    (39) — с … что-то у ВАС там ВСЁ слишком идеально — с … и прямо такое ЕВРО-разделение труда … хотьБЫоднимГЛАЗКОМпосмотретьВОТ …

    Reply ↓
  46. huse
    1С пишет универсально — а ЭТО ещё сложнее

    я бы уточнил — ПЫТАЮТСЯ писать универсально. Дело усложняется тем, что они оторваны от реалий жизни…. и пишут похоже подмастрья, а не мастра…

    Писать универсально можно двумя путями: повышая уровень абстракции и делая на каждую новую область новый блок. 1С идет последним путем. ИТРП тоже…

    Reply ↓
  47. Шёпот теней

    … когда «пройден уровень компетентности» повышать абстракцию НЕвозможно … при всЁм желании …

    .. к тому же «делая на каждую новую область новый блок» вы снижаете издержки на «интеллекте» и на «местном ремонте» …

    … вот …

    п.с. везде свои достоинства и не достатки …

    Reply ↓
  48. Шёпот теней

    воообще … но к теме:

    «…За последнее столетие накопился колоссальный опыт реформирования самых разных экономических систем, причем зафиксированы не только немногочисленные удачные решения, но и ошибочные, неудавшиеся попытки. Так вот, оказывается, что реформаторы в разных странах и в разное время повторяют одни и те же ошибки: рассматривают реформы как абсолютное благо, даже не пытаясь оценить связанные с ними издержки; принимают за аксиому, что заимствовать надо непременно самые передовые институты и технологии; навязывают бизнесу абстрактные принудительные схемы, вместо того чтобы сделать его своим союзником; не пытаются компенсировать потери слоям населения, проигрывающим в результате реформ; не заботятся о правильном выборе последовательности реформ. Немало вреда принесла ориентация на догматические промежуточные цели вроде «децентрализации», или «усиления управляемости», или «повышения конкурентоспособности» без детального анализа влияния намечаемых мероприятий на эффективность производства, благосостояние и рост…»

    …

    … нет ПЛАНА — нет АНАЛИЗА — нет УПРАВЛЕНИЯ …

    Reply ↓
  49. Арчибальд

    Быть лучшим программистом — означает быть способным разрабатывать более эффективные и достоверные программы и знать, как делать это эффективно. То, что, по моему мнению, для этого нужно, — это совершенствование математических навыков, при этом я употребляю слово «математика» в смысле «искусство и наука эффективных рассуждений«. В действительности задачи разработки высококачественных программ и построения высококачественных доказательств весьма сходны, настолько сходны, что я уже не могу их различать: я не вижу осмысленных различий между методологией программирования и математической методологией в общих чертах. Короче говоря, повсеместное вторжение компьютеров сделала способность к применению математического метода важнее, чем когда-либо.

    По жестокой шутке истории, впрочем, американское общество выбрало именно двадцатое столетие для того, чтобы становиться все более и более нематематическим. Мы достигли парадоксального состояния, когда из всех так называемых «развитых наций» именно США сильнее всех зависят от программируемых компьютеров и хуже всех интеллектуально оснащены в данном направлении. Предположение о том, что проблема программирования может быть вылечена математическими средствами, мгновенно отвергается как совершенно нереалистичное.

    В результате Разработка Программ ограждена от возможности стать поддисциплиной Информатики.

    Остин, 26 августа 1995

    Prof. dr. Edsger W. Dijkstra

    Reply ↓
  50. Арчибальд

    (47) Сложность продается лучше…

    Reply ↓
  51. YVolohov

    Это явно стоит почитать 🙂

    Reply ↓
  52. (46) ок. постараюсь скоро описать ту систему что у нас выстроилась за последний год.

    как уже сказал там все до жути просто.

    но как сказал Дейкстра, на осознание этой простоты ушли годы жестоких боев на проектах и килотонны изученной литературы )

    Reply ↓
  53. Valerich

    (45)

    …хотя деятельность программиста заканчивается с конструированием корректной программы, процесс, который выполняется под управлением этой программы, является истинной сущностью этой деятельности; этот процесс должен завершиться с заданным эффектом; поведение этого процесса должно удовлетворять заданным спецификациям

    .

    это к вопросу о сложностях управления и т.п. Конечный продукт н должен зависть от сложности управления его создателями. он должен удовлетворять спецификации….

    …есть еще одно обстоятельство, которое оказало глубокое влияние на отношение программиста к своей работе: с одной стороны, помимо своей ненадежности, его машина обычно была слишком медленной и имела слишком мало памяти, так что он постоянно находился в прокрустовом ложе, тогда как с другой стороны ее причудливая система команд приводила к весьма неожиданным конструкциям. В те времена смышленый программист получал немалое интеллектуальное удовлетворение от изощренных трюков, посредством которых он умудрялся втиснуть невозможное в тесные рамки своего оборудования…

    Настоящим программистом не надо сложно управлять — он сам собой управлять должен. По моему глубокому мнению большая часть тех, кто себя гордо именует программистами — всего лишь кодеры — люди способные переложить одно из воможных решений задачи на конкретный язык программирования. Но возможных решений много… Найти наиболее элегантное, быстрое, нетребовательное к ресурсам вычислительной техники, используя при этом возможности средства разработки — вот в этом и состоит ИСКУССТВО программирования.

    Reply ↓
  54. Арчибальд

    (54)

    Настоящим программистом не надо сложно управлять — он сам собой управлять должен.

    Недавно в одной из дискуссий по управлению проектами я заявил, что управленческая деятельность, включая принятие решений в условиях неопределенности, адаптивное управление, и т.п. — это часть повседневной деятельности программиста, причем не самая сложная. Программиста, а не кодера.

    Ух как не понравилось 😉

    Reply ↓
  55. Шёпот теней

    (54) … нууу… первая часть это «просто» … программа может «хорошо» работать там где есть «повторяющиеся» действия (если мы говорим об автоматизации или хотя бы электронной механиации) … если разветвлений много — то этоне повторение — это много частностей (ну например, написать программу учёта хотя бы пяти флажков … это уже 2 в пятой степени вариантов …) …

    … создать можно почти ВСЁ — вопрос цены и самое главное цены «перемены» логики и цены «ремонта» в случае обнаружения ошибки … ?

    …

    по второй части ещё проще….

    если ориентироваться на гениев программирования — то обслуживать их программы бкдет некому… а если создавать коллектив — то здесь КУЧА проблем которых никто не избежит … от «свободности труда программистов» до хаотичности и не стандартности обслуживаемых процесоов, задачЬ …

    … вот …

    п.с. пока ТЫ один … можешь и само организоваться … но если программа «больше» тебя — тут возникнут все наши болезни …

    Reply ↓
  56. Valerich

    (56) программу гения обслуживать проще простого — потому как все гениальное просто

    (с) народная мудрость

    Reply ↓
  57. Шёпот теней

    (57) … ага … ага … отмазался … ну-ну … то-то у нас булава не летает … видимо «простота» закончилась … вотВедьВот …

    Reply ↓
  58. Арчибальд

    (60) Там гениев дефицит… Да еще хаза сгорела…

    Reply ↓
  59. huse

    (55) Вы сравнили деятельность управленца и деятельность исполнителя.

    Исполнитель тоже управляет, но не людьми.

    Reply ↓
  60. Арчибальд

    (62) Нет такой профессии — исполнитель. А управление, в том числе, управление человеком — это не профессия, а навык. Один из необходимых программисту.

    Reply ↓
  61. (63) интересно сколько лет нужно обучаться на программиста, который бы соответствовал требованиям Арчи? ))

    а может все таки программисты пусть программируют, а руководители руководят? ))

    так как то логичней и проще 🙂

    опять же поделюсь нашим опытом. у нас все просто.

    есть всего один вид должности — специалист. даже у руководителя и то специалист ))

    и каждый сотрудник занимает эту должность.

    но вот дальше самое интересное 🙂

    по мере развития сотрудника, к нему подключаются компетенции и зоны ответственности, а также ФОТы. и тем самым чем сообразительнее человек, тем больше он может взять на себя ответственности, и тем выше его доход.

    эдакий конструктор монстро-специалистов в реальном времени )

    хочешь сегодня будешь бухгалтером, завтра менеджером по продажам, а после завтра программистом ))

    Reply ↓
  62. Арчибальд

    (64)

    Да, я разделяю ваше беспокойство: вряд ли можно научиться хорошо программировать, пройдя соответствующий курс. Ситуация сходна с аналогичной в математике, где программа обучения ориентирована на математические результаты; как заниматься самой математикой — студент должен впитать самостоятельно, так сказать.

    prof. dr. Edsger W. Dijkstra

    В этом вся суть. Не учат программированию, в лучшем случае, могут кодированию обучить. Меня, во всяком случае, не учили (http://infostart.ru/profile/46936/blog/840/).

    Настоящий программист, кроме всего прочего, более способен стать монстроспециалистом (если уже не стал им в процессе «селфмейдинга»), ибо у него голова «заточена» на понимание (анализ) причинно-следственных отношений/связей.

    Оценочно — три-четыре года напряженной работы.

    Reply ↓
  63. Шёпот теней

    … чтобы получился «хороший» инженер … требуется лет 15 практики и постоянного повышения квалификации и изучение «соседних» областей … если он конечно не полный монстроспециалист или не занят «селфмейдингом» …

    … это известно давно … за меньшее время почему то никак … только специалисты по УУ получаются …

    … ВОТ …

    Reply ↓
  64. Арчибальд

    +(64)

    а может все таки программисты пусть программируют, а руководители руководят?

    Программист по-любому руководитель программного проекта. Ибо в его работу входят:

    — предпроектное исследование предметной области;

    Reply ↓
  65. Арчибальд

    (66) Реально, конечно, чтобы иметь влияние на принятие решений (а речь, в том числе, и об этом) фикси должен заработать авторитет, что не так быстро делается. А вот грамотный аутсорсер в принципе может воспользоваться авторитетом своей фирмы (иногда).

    Reply ↓
  66. CheBurator

    Шепот, ну сделай отдолжение — не мучай мозг посетителей, пиши в общепринятой нотации, ПЛИЗ!

    Reply ↓
  67. (67) Ладно, раз уж это портал программистов, то пусть такой специалист называется супер-программист 🙂 Хотя в моем понимании это РП 🙂

    но как не назови, речь тут идет просто о специалисте с вполне определенным набором компетенций: знание программ, компьютеров, методов описания процессов (инструкций, комиксов), умением ладить с людьми и бронированными нервами.

    назвать его можно хоть рыцарем джедаем 🙂 суть от этого не поменяется 🙂

    Reply ↓
  68. XXXL

    Удивительно просто, сколько читаю ваши беседы в разных ветках — об одном и том же говорите (каждый о себе;)). Вы можете хотя бы иногда оторваться от своих субъективных позиций и попытаться выйти во «внешний мир» — не для того, чтобы найти подтверждение своих (ну конечно же правильных) теорий, а узнать, нарыть новые, да и познакомить с ними ваших благодарных слушателей?

    Reply ↓
  69. Арчибальд

    (71) То-то и оно, что посмотришь на какую-то «новую» теорию, начнешь разбираться — оказывается, новая там только терминология. Или иная расстановка приоритетов рассматриваемых проблем. Потому-то и нужно знать прошлое — чтобы адекватно оценить настоящее и сделать будущее хоть немного ожидаемым.

    Reply ↓
  70. Шёпот теней

    (71) … желания нового …веренее «вера» в новое как в «палочку выручалочку» означает следующее:

    1. вы «ничего» не знаете и «не образованы» …

    2. вы не верите своему образованию, университету, родителям, роду, предкам …

    3. вы просто ничего не делаете на практике … вам страшно …

    … вот …

    Reply ↓
  71. Ish_2

    (71) Впечатления совпадают. Взгляд на мир , на человеческую деятельность с точки зрения программистов скучноват. Скучноват он и у Дейкстры.

    «Программирование оно ж — непростое дело. Ох , непростое..»

    А изобретение «суперпрограммиста-РП» — это сила. Вершина.

    Тяга к абсолюту в своей области есть обычное направление мысли варящегося в собственном соку мастера (Безенчука, Дейкстры , Арчибальда)

    Reply ↓
  72. Арчибальд

    (74) Слово мастер применительно к Арчибальду должно начинаться с прописной буквы М. Безенчука это тоже касается. Дейкстра — тот, скорее, Учитель. А 1С, туды ее в качель, разве кисть дает? Ни кисти у ней, ни глазету…

    Reply ↓
  73. Ish_2

    (75) Компьютерщик Безенчук —

    первый шаг в художественном познании роли программиста на предприятии .

    Reply ↓
  74. Шёпот теней

    если ты «компьютерщик» то твоё место на стульчике у компьютера … тогда ты «м»альчик …

    если ты как в (67) … тогда ты «М»астер … тогда код писать можно поручить и «м»-компьютерщику — но в очень конкретных рамках (иначе такая будет ах-инея типа УУ) ….

    … вот …

    Reply ↓
  75. Арчибальд

    (76) Ну вот, опять ляпнул. Безенчук — не компьютерщик, а Обработчик прерываний 🙁

    Reply ↓
  76. Ish_2

    (78) Понимаю .

    Выделить главное и отбросить второстепенное тяжело даётся мастеру Арчибальду.

    Мастеру нужны детали. И без кисти и глазета ему никак.

    Reply ↓
  77. zfilin

    Хорошая литература, годная.

    Reply ↓
  78. marsohod

    (11)

    Где говорят в правилах и наставлениях, а не в утверждениях относительно фактов, там искусство… Положения искусства не утверждают, что что-нибудь есть, но указывают на то, что должно быть.

    В таком случае физику тоже надо отнести в разряд искусства. Потому что хорошая физическая теория объясняет не только известные факты, но и предсказывает еще и неизвестные явления. Так, кстати, было открыто нейтрино — «на кончике пера» 🙂

    Reply ↓
  79. marsohod

    (64)

    эдакий конструктор монстро-специалистов в реальном времени )

    хочешь сегодня будешь бухгалтером, завтра менеджером по продажам, а после завтра программистом

    Эдакий коммунизЬм получается 😳

    Reply ↓
  80. Арчибальд

    (82) Кухарка хоть и не может, но должна управлять государством 😮

    Reply ↓
  81. Шёпот теней

    (83) … вопрос о «кухарке» и «государстве» … уточните КТО «кухарка» и КТО «государство» … ? … вот …

    … http://www.kara-murza.ru/books/sc_a/sc_a53.htm …

    Редкий демократический политик или журналист не помянул Ленина, который, якобы, заявил, что управлять государством должна простая кухарка. Возникла даже привычная метафора « ленинской кухарки ».

    *В действительности В.И.Ленин писал в известной работе «Удержат ли большевики государственную власть» (т. 34, с. 315): «Мы не утописты. Мы знаем, что любой чернорабочий и любая кухарка не способны сейчас же вступить в управление государством. В этом мы согласны и с кадетами, и с Брешковской, и с Церетели».

    …

    http://ru.wikipedia.org/wiki/%D0%9B%D0%B5%D0%BD%D0%B8%D0%BD%D1%81%D0%BA%D0%B8%D0­%B5_%D1%84%D1%80%D0%B0%D0%B7%D1%8B

    …

    Reply ↓
  82. marsohod
    …антропоморфный взгляд на машины и механический взгляд на людей…

    …подозреваю, что именно этот механический подход ограничивает деятельность программистов механическими действиями по написанию кода, и затем измеряет «производительность труда программиста» количеством произведенных им строк кода. (Когда весьма широко известный и очень уважаемый ученый-компьютерщик использовал недавно эту меру производительности труда программиста в своей лекции, от слушателей поступило предложение говорить не о «количестве произведенных строк кода», а о «количестве израсходованных строк кода», и что лектор, следовательно, занес их не в ту графу учета баланса расходов и доходов. Лектор ответил, что он вынужден использовать эту меру производительности, поскольку не располагает никакой альтернативной, которая позволяет вести точный учет!) Это не может больше рассматриваться как безобидное заблуждение, поскольку принятие этой бессмысленной «меры производительности» профессиональными программистами гарантированно стимулирует их к написанию рыхлого кода.

    Тема неоднократно обсуждаемая на ИС 🙂

    Reply ↓
  83. Шёпот теней

    (83) … вопрос о «кухарке» и «государстве» … уточните КТО «кухарка» и КТО «государство» … ? … вот …

    … http://www.kara-murza.ru/books/sc_a/sc_a53.htm …

    Редкий демократический политик или журналист не помянул Ленина, который, якобы, заявил, что управлять государством должна простая кухарка. Возникла даже привычная метафора « ленинской кухарки ».

    *В действительности В.И.Ленин писал в известной работе «Удержат ли большевики государственную власть» (т. 34, с. 315): «Мы не утописты. Мы знаем, что любой чернорабочий и любая кухарка не способны сейчас же вступить в управление государством. В этом мы согласны и с кадетами, и с Брешковской, и с Церетели».

    …

    http://ru.wikipedia.org/wiki/%D0%9B%D0%B5%D0%BD%D0%B8%D0%BD%D1%81%D0%BA%D0%B8%D0­%B5_%D1%84%D1%80%D0%B0%D0%B7%D1%8B

    …

    http://promanov.livejournal.com/9487.html

    … вотведь …

    …

    Reply ↓
  84. Арчибальд

    (86) Приписывание этой цитаты Лениу — заслуга тупых преемников Сталина. Это идея левых коммунистов.

    В контексте моего замечания, «государство» — это предприятие, а «кухарка» — это «специалист» в неизвестной специальности.

    Анатолия Ю. прошу не принимать эти слова на свой счет, поскольку на мой непредвзятый взгляд, он относится к исключениям, подтверждающим правило… 😳

    Reply ↓
  85. Арчибальд

    (85)

    Опять-таки в это же время Гидрометцентр платил «пришельцам» 50 коп за строчку отлаженного фортранного текста.

    http://infostart.ru/profile/46936/blog/840/

    Reply ↓
  86. Шёпот теней

    (85) … банальное: какие «задачи»такой и «код» … только «сверх»задача что-то создаЁт новое — всЁ остальное банально копирует и выживает …

    (87) … специалист» в неизвестной специальности … супер …

    как сказал Хазин: … и раньше чиновник мог ничего не делать — но он знал «что» он не делает … теперь он даже и не знает «что» он должен делать …

    … вот …

    Reply ↓
  87. Арчибальд

    (89) Специалист подобен флюсу — его полнота одностороння © К. Прутков.

    Впервые, полазив по сайту Анатолия, усомнился в непогрешимости Пруткова 😳

    Reply ↓
  88. marsohod

    (88) Вчера на фразе «преимущественно без осадков» смыло Гидрометцентр.

    😀

    Reply ↓
  89. Арчибальд

    (91) Это и есть результат приобретения программ «на вес» 😀

    Reply ↓
  90. leasing

    «Напротив, большинство наших систем гораздо сложнее, чем может считаться разумным, и слишком запутанны и хаотичны, чтобы ими было удобно и надежно пользоваться.» — Это в полной мере относится к типовым 8-кам. На их фоне 7-ки типовые можно считать достижением.

    Reply ↓
  91. L_B

    (93) «Напротив, большинство наших систем гораздо сложнее, чем может считаться разумным, и слишком запутанны и хаотичны, чтобы ими было удобно и надежно пользоваться.»

    Золотые слова! Только их нужно сначала отнести к бухгалтерии и налоговому учету — в первую очередь. А учетные системы «отражают» запутанность и хаотичность. Отражают!

    Reply ↓
  92. leasing

    (94) Не могу согласиться с этой точкой зрения. Просто у нас, с одной строны, очень много свободы для законотворчества- нормы выдают все кому не лень. Они то и пишут, как шифруют. С другой, даже те кто может писать ясно и четко- не хочет. Ему не выгодно.

    Как бы там ни было, с их писаниной грамотный человек разбертся. Иначе все ошибались бы в учете и уплате налогов. А это не так- ошибается меньшинство.

    Ничего запутанного нет в бухучете. Не сложнее таблицы Менделева. Что может быть запутанного в системе, которая совершенствуется 500 лет подряд? Курс обучения на дипломированного бухглатера в США — не менее 180 часов. Прослушал и можешь идти на «госсэкзамен». После успешной сдачи можешь обратиться к местным властям за получением статуса CPA.

    И с налогами все понятно в каждый момент времени.

    Главная проблема не в непонятности, а в изменичвости. На постсовке нормативы изменчивей погоды. И в этой изменчивости кровно заинтересованы чиновники. Они извлекают из этого непосредственные выгоды- семинары, публикации, консультации. Их от этого корыта только пулеметом отгонишь.

    Reply ↓
  93. L_B

    (96) Ну сравнивать с американским бухучетом российский — это вы насмешили.

    Вот ссылка: http://www.vkursedela.ru/article711/.

    Начало более чем пафосное:

    «Подарочные сертификаты – широко распространенный во всем мире способ продаж.» Попытка впихнуть в российский БУ данную схему продаж — 17 ( ❗ ) ссылок на нормативные документы.

    Вот насколько сложна должна быть программа, чтобы учесть весь этот кошмар?

    Reply ↓
  94. leasing

    (96) Скажите, а вы пробовали сравнивать?

    Reply ↓
  95. Арчибальд

    (97) Статья, вообще-то, юмористическая. О том, как создать себе лишний геморрой.

    Ни один нормальный бизнесмен — неважно, в России или в Штатах, — не станет оформлять манипуляции с сертификатами как торговые сделки. Это обычная акция по продвижению товара/фирмы, т.е. рекламная деятельность.

    Reply ↓
  96. L_B

    (98) А зачем это здесь и сейчас? Мы же говорим о наших программах и соответственно наш учет интересен, во всяком случае в вашем посте 93 были упомянуты именно они. И причем тут американский учет, о котором вы говорили в 96?

    (99) А статью-то по ссылке читал? Что-то юмора я не заметила, все на полном серьезе. Особенно поразила фраза о том, что затраты на изготовление сертификата считаются внерелизационными — какая разница бизнесмену какие они — они затраты и должны идти на уменьшение прибыли — и все. Так вот если бы учет был простой — программы были бы простые.

    Reply ↓
  97. Светлый ум

    (1) Утопия — ошибаются все, даже самые опытные..

    возможно вы имели ввиду при помощи грамотного подхода (моделирование БП, и т.п.) — снижать ошибки к минимуму.

    Reply ↓
  98. Арчибальд

    (103) Светлый ум, Дейкстру назвать утопистом каждый может. Этот же каждый и Аристотеля лягнуть не постесняется…

    Да… УЖ

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *