|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Victor Krapivin 2:5080/1003 23 May 2006 21:03:55 To : Victor Wagner Subject : Re:Выбор ноутбука под linux -------------------------------------------------------------------------------- Xref: news.cca.usart.ru fido7.ru.linux:46122 > VK>Это только если на голых сях пишешь (интересно - зачем?). > VK>А так - питоны и жавы - те же, перл - под рукой, пачка > > Как только тебе нужно сделать чего-то нетривиальное, тебе нужно Когда пишешь нетривиальное, понимание необходимо. Понимание - как искать нетривиальные ответы 8-) у скажи, как знание деталей какого-нибудь DeviceIoControl тебе поможет найти проблему с коннектом к БД (потому что криворукий админ заказчика не знает зачем нужен reverse DNS), или виртуозные трюки по переносу программ со спарков на х86 помогут справиться с проблемой замены cprogs.exe на iPAQ (который под Windows Mobile часть системы и замене не подлежит, зато можно от него оторвать кнопку "звонить")? икак. Так что в 99% случаев - работа с нормальным тулкитом не требует копания в потрохах нижлежащего уровня (или тем более двух-трех нижлежащих). А оставшийся 1% - нужен раз в квартал или около того. > ПОHИМАТЬ что происходит в системе. Это автоматически означает > что тебе нужно опускаться на уровень WinAPI (не обязательно на нем голом Особенно это ценно при использовании какого-нибудь классического приложения "веб-морда к базе" 8-) Там пока до ВинАПИ дойдешь - еще надцать слоев абстракции пройти надо. > писать, но надо уметь его читать), то, что ты называешь "голыми сями". Зашел к приятелю в немелкую немецкую контору, рассказал местным манагерам (специфика конторы - ужастики на J2EE, консалтинг). Хорошо посмеялись. В следующем тысячелетии грозились внести в программу местных трейнингов глубокое понимание ВинАПИ 8-) > Hо вообще-то я вел речь о другом. В текстовой парадигме Unix если ты > умеешь решать какую-то задачу руками, ты уже практически умеешь её > запрограммировать. Hадо только понять как её правильно параметризовать. Чтобы что-то параметризовывать, нужно уметь мыслить в терминах предметной области, и только. Вне зависимости от целевой платформы. Это скрипт на 10 строк так пишется, как ты рассказываешь, а не продукт. > В Windows, несмотря на наличие Active-X интерфейсов (кстати > документированных обычно весьма хреново) #!/usr/bin/perl -w use FileHandle; use IPC::Open2; $lang=$ARGV[0]; $cmdline="@ARGV"; $cmdline =~ s/$lang//; open2(READER, WRITER, "aspell --lang=$lang --encoding=utf-8 pipe"); print WRITER $cmdline; close WRITER; while(<READER>){ if ( /^#/ ){ ($sign, $word) = split(/ /); print "$word\n"; } if ( /^&/ ){ ($sign, $word, $n1, $n2) = split(/ /); $n1 = $n2 = ''; # it unused now $_ =~ s/[^:]*://; print "$word\n"; @suggs = split(/,/); foreach $x (@suggs){ print "\t$x\n"; } } } close READER; и function checkSpelling (langId, strSubmission ) dim objWord, objDocument, objErrors, objError dim wdSuggestions, wdSuggestion const wdDoNotSaveChanges = 0 strAsk = "" set objWord = CreateObject("Word.Application") set objDocument = objWord.documents.add objWord.Options.CheckGrammarWithSpelling = True objWord.selection.LanguageId = langId objWord.selection.typeText cstr(strSubmission) set objErrors = objDocument.spellingErrors if objErrors.count then 'there are errors for each objError in objErrors strAsk = strAsk & "Error: (" & objError.Text & ")" & vbCr set wdSuggestions = objWord.getSpellingSuggestions(objError.text) if wdSuggestions.count >=1 then intCounter = 0 for each wdSuggestion in wdSuggestions intCounter = intCounter + 1 strModified = replace(strSubmission, objError.text, wdSuggestion.name, 1, 1) strAsk = strAsk & vbTab & wdSuggestion.name & vbTab & strModified & vbCr next end if next else 'no errors were found strAsk = "" end if objWord.Quit wdDoNotSaveChanges checkSpelling = strAsk end function langCode = cint(WScript.Arguments(0)) WScript.Echo checkSpelling(langCode, WScript.Arguments(1)) Что-то я тут не вижу принципиальной разницы. Я смотрю куда-то не туда? 8-) Подсказываю - оба куска кода делают ровно то же самое - проверку на корректность орфографии заране выделенного фрагмента текста при помощи aspell и MS Office. > ни разу не следует что ты можешь сделать некую фиговину (называй её > скриптом или как-то ещё) которая будет это делать сама. Свежо предание, да верится с трудом. Это 10 лет назад было так, а ныне - стало много лучше. > Скорость работы программиста ни разу не измеряется в количестве строк > кода в день. Скорее наоборот, чем меньше строк потратил программист на > решение определенной задачи, тем он лучше. Скорость - величина зависящая от времени, а не от каких-то абстрактных строк. Чем выше скорость - тем быстрее приедешь к месту назначения, в этом ключ. екоторые умудряются ехать в 10 раз быстрее других - видимо больше сосредоточнеы на предметной области, а не на инструментарии 8-) > VK>Это какие такие мифические задачи надо решать программисту, > VK>окромя выдачи на-гора заранее заказанного (или > VK>придуманного на коленке, не суть) продукта? 8-) > > Чтобы оный продукт потом ещё и работал. Во всех мыслимых и немыслимых > позах. Поскольку позы в которые поставят продукт пользователи, для > программиста, как правило, немыслимы. Тезка, я интересуюсь - какие, а ты отвечаешь - "чтобы". еувязочка? > Для достижения этой цели программист должен ПОHИМАТЬ каким образом то > что он пишет, взаимодействует с остальным внешним миром. И как эхотаг на ноутбуке будет этому способствовать? Или умение собирать опен-охфис автоматически даст могучий спелл "понимание логической разметки в ворде"? 8-) > VK>Ты UML в глаза видел? Подсказываю - там еще есть стрелочки > VK>и облачка всякие 8-) > > Видел. Абсолютно бесполезная развлекалочка для пудренья мозгов > менеджерам. Блажен кто верует 8-) Уж поверь, нарисованные облачка на доске дадут понимание унутренней структуры большее, чем пятисотстраничный талмуд - распечатка соответствующего кода. >>>Потому что если писать хорошую Hапишет, еще как напишет. >>>Именно потому что он работает на другом уровне > > VK>Куда не плюнь - одни шедевры юзабилити из-под их пера > VK>выходят 8-) > > Покажите мне того менеджера проекта, который умеет правильно поставить > задание по usability. Joel? 8-) -- Viktor --- ifmail v.2.15dev5 * Origin: Zaval CE (2:5080/1003@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/1464644f32b72.html, оценка из 5, голосов 10
|