Я не раз упоминал, что нормально существовать может лишь тот свободный софт, разработчики которого сами им пользуются. Так как разработчики свободного софта — поголовно программисты, то и выдаваемый ими софт может нормально использовать только программист. Хотите пример? Пожалуйста.
Существует такая замечательная GNU-программа, как AviSynth. Она позволяет манипулировать с видеофайлами при помощи не очень сложного скриптового языка. Например, вот так:
clip1 = AVISource("video1.avi")
clip2 = AVISource("video2.avi")
return interlaced_dissolve(clip1,clip2,30) # dissolve from clip1 to clip2 over 30 frames
function interlaced_dissolve(clip clip1, clip clip2, int iter)
{
clip1 = clip1.SeparateFields()
evn1 = clip1.SelectEven()
odd1 = clip1.SelectOdd()
clip2 = clip2.SeparateFields()
evn2 = clip2.SelectEven()
odd2 = clip2.SelectOdd()
evn = Dissolve(evn1,evn2,iter)
odd = Dissolve(odd1,odd2,iter)
return Interleave(evn,odd).Weave().DoubleWeave.SelectOdd()
}
Насколько богат возможностями такой «видеоредактор»? Наверное, в нем можно сделать с видео буквально все, что угодно — то есть он намного превосходит в этом плане обычные программы вроде Adobe Premiere. Удобно ли пользоваться таким «видеоредактором»? Для программиста — да, для видеорежиссера — нет.
Каким может быть выход? Достаточно написать «frontend», который позволил бы «программировать мышкой» — то есть среду наподобие того же Premiere, оперирующую с AviSynth-овскими скриптами. Но ни один программист, то есть GNU-разработчик, делать этого не будет — зачем извращаться с GUI, когда все можно описать в скриптах?
Собственно, эта «ориентированность на программиста» и губит немалую часть опенсорсных программ.
Почему губит то? Программа хуже, потому что ею пользуются только программисты и специалисты?
Стоп, полный назад.
Возьмем, для примера, GIMP. Даже в Википедии написано примерно следующее: «Отсутствие средств автоматической записи сценариев компенсируется в GIMP большим числом языков, на которых можно писать сценарии».
Для кого предназначен GIMP? Для специалистов в области обработки фото, дизайнеров и им подобных. Много ли дизайнеров будут автоматизировать свои действия с помощью скриптов на Python? Сомневаюсь, для написания Python-овских скриптов надо уметь программировать. А вот, например, в Photoshop можно нажать кнопочку Record и все сделается автоматически и очень быстро.
Хуже ли становится GIMP оттого, что автоматизация действий в нем сделана программистом, исходившим из того утверждения, что все пользователи GIMP умеют программировать на одном из используемых скриптовых яхыков?