В какой-то момент я попробовал скомпилировать порядка сотни самых простых кусков кода строк по 5 одним и тем же коммерческим компилятором.
Результаты совершенно произвольные. Где-то компилятор все понимает и оптимизирует до упора — вплоть до полного удаления бессмысленного кода. Где-то он генерирует настолько тупой и прямолинейный код, что создается впечатление, что там оптимизатора нет вообще.
Объяснение разработчиков компилятора — компилятор «не обучен» выявлять такие куски. Там нет умного искусственного интеллекта со здравым смыслом на все случаи жизни, там просто набор шаблонных правил — образцов ситуаций и действий по оптимизации на эти ситуации. Ну и плюс в оптимизаторе тоже есть ошибки — не все задуманные оптимизации не всегда срабатывают.
Компании-покупателю нужен продукт, который сделает ее более эффективной (в каком-то там смысле). Можно сделать очень годные маркетинговые материалы с аналитикой, которые помогут тому же разработчику понять ценность для бизнеса, и на которые он потом может дать ссылку боссу. Все равно разработчик сначала должен понять «о, эту крутая штука, с ее помощью я смогу делать то-то и то-то лучше/быстрее, как бы мне убедить руководство ее оплатить?», потому что без деятельного участия разработчика статический анализ бесполезен.
И вот объясните мне, пожалуйста, почему босс будет доверять продажнику из сторонней компании больше, чем своему квалифицированному сотруднику?
Понимаю. Но почему после обращения продажника босс не может вызвать «на ковер» и ненавязчиво так спросить «какого… тут звонили из компании Х предлагали дорогой софт, упоминали тебя»?
Так. Значит, разработчик стесняется сам пойти к боссу и сказать ну скажем «Насяльника! Тут вот такая программа хорошая, умеет вот это и вот это и, по-моему, она очень полезна в хозяйстве, правда она стоит вооот столько денег; может мы ее купим?», но при этом не стесняется, что продажник из сторонней компании обратится к его боссу и его упомянет? Я вижу некое противоречие.
Есть подозрение, что для увеличения входа нужно активнее двигать саму идею статического анализа.
Например, интересен эффект от интеграции в процесс разработки, но без красивых фраз «значительное улучшение» и другого блаблабла, а с конкретными примерами конкретных дефектов с конкретным существенным влиянием на поведение программы, которые раньше просачивались к тестировщикам и в отгружаемый продукт, а теперь выявляются за минуты умной программой.
Так же как Интел добилась, что считается важным, какой процессор в компьютере, возможно, стоит добиваться, чтобы разработчики и их руководители считали статический анализ важным и заслуживающим оплаты.
Прежде всего, Cloud OCR SDK — это SDK, т.е. в вашем вопросе надо заменить FlexiCapture на FlexiCapture Engine. Насчет частичного переноса его функциональности в Cloud OCR SDK мы пока думаем.
Не только. Благодаря огромным объемам рекламы Интел многие люди вообще запомнили, что важно, чтобы в компьютере был «хороший» процессор (что бы это ни значило).
Тоже думали о переезде в облака но столкнулись с тем что нет возможности обеспечить качественный «коннект» с нашей стороны.
Расскажите, пожалуйста, о чем тут речь? Ненадежный канал у провайдера облака или что-то еще?
Конкретных технических деталей по Azure и другим облакам в открытом доступе много и найти их совсем несложно при условии, что вы понимаете, какие вопросы задавать.
Например, если вас интересует, может ли в Windows Azure код другого приложения запуститься на «отобранной» у вас (обычно — просто освобожденной вами) виртуальной машине и прочитать временные файлы, оставленные вашим приложением, то можно просто пойти на Stack Overflow и там спросить и получить ответ (спойлер: нет, не может).
Пост был написан как раз потому, что очень многие люди что-то слышали, но даже примерно не представляют себе, о чем идет речь и какие конкретные вопросы им нужно задать, чтобы принимать взвешенные решения.
Так что ваше желание увидеть «больше внутренностей» понятно, но в этом посте ничего подобного не планировалось.
В какой-то момент я попробовал скомпилировать порядка сотни самых простых кусков кода строк по 5 одним и тем же коммерческим компилятором.
Результаты совершенно произвольные. Где-то компилятор все понимает и оптимизирует до упора — вплоть до полного удаления бессмысленного кода. Где-то он генерирует настолько тупой и прямолинейный код, что создается впечатление, что там оптимизатора нет вообще.
Объяснение разработчиков компилятора — компилятор «не обучен» выявлять такие куски. Там нет умного искусственного интеллекта со здравым смыслом на все случаи жизни, там просто набор шаблонных правил — образцов ситуаций и действий по оптимизации на эти ситуации. Ну и плюс в оптимизаторе тоже есть ошибки — не все задуманные оптимизации не всегда срабатывают.
Компании-покупателю нужен продукт, который сделает ее более эффективной (в каком-то там смысле). Можно сделать очень годные маркетинговые материалы с аналитикой, которые помогут тому же разработчику понять ценность для бизнеса, и на которые он потом может дать ссылку боссу. Все равно разработчик сначала должен понять «о, эту крутая штука, с ее помощью я смогу делать то-то и то-то лучше/быстрее, как бы мне убедить руководство ее оплатить?», потому что без деятельного участия разработчика статический анализ бесполезен.
И вот объясните мне, пожалуйста, почему босс будет доверять продажнику из сторонней компании больше, чем своему квалифицированному сотруднику?
Понимаю. Но почему после обращения продажника босс не может вызвать «на ковер» и ненавязчиво так спросить «какого… тут звонили из компании Х предлагали дорогой софт, упоминали тебя»?
Хорошо. Разработчику уже нравится продукт, но он не понимает его окупаемость для бизнеса. Что бы сделал специальный продажник?
Например, интересен эффект от интеграции в процесс разработки, но без красивых фраз «значительное улучшение» и другого блаблабла, а с конкретными примерами конкретных дефектов с конкретным существенным влиянием на поведение программы, которые раньше просачивались к тестировщикам и в отгружаемый продукт, а теперь выявляются за минуты умной программой.
Так же как Интел добилась, что считается важным, какой процессор в компьютере, возможно, стоит добиваться, чтобы разработчики и их руководители считали статический анализ важным и заслуживающим оплаты.
Расскажите, пожалуйста, о чем тут речь? Ненадежный канал у провайдера облака или что-то еще?
примерно
Например, если вас интересует, может ли в Windows Azure код другого приложения запуститься на «отобранной» у вас (обычно — просто освобожденной вами) виртуальной машине и прочитать временные файлы, оставленные вашим приложением, то можно просто пойти на Stack Overflow и там спросить и получить ответ (спойлер: нет, не может).
Пост был написан как раз потому, что очень многие люди что-то слышали, но даже примерно не представляют себе, о чем идет речь и какие конкретные вопросы им нужно задать, чтобы принимать взвешенные решения.
Так что ваше желание увидеть «больше внутренностей» понятно, но в этом посте ничего подобного не планировалось.