программная платформа поддерживает автоматизированную разработку кода

Платформы разработки программных приложений (ADP)

Платформы разработки программных приложений (ПРПП, англ. Application Development Platforms, ADP) предоставляют разработчикам инструменты для создания программных приложений для различных областей применения: для интернет-сайтов, мобильных приложений, настольных приложений и серверных систем. Программные продукты в данной категории варьируются от минималистичных инструментов быстрой разработки до более сложных интегрированных сред разработки ПО.

Сравнение Платформы разработки программных приложений (ADP)

Выбрать по критериям:

Платформы разработки программных приложений (ADP)

1С:Предприятие от 1С

Форсайт. Мобильная платформа от Форсайт

Форсайт. Мобильная платформа – это программная платформа для быстрой разработки мобильный приложений, комплексно обеспечивающая информационную безопасность создаваемых решений. Узнать больше про Форсайт. Мобильная платформа

Appian от Appian

Appian – это интеграционная малокодовая платформа (low-code), позволяющая создавать приложения и проводить цифровую трансформацию на основе управления бизнес-процессами (BPM). Узнать больше про Appian

Directual от Directual

Directual – это бескодовая платформа визуального программирования, позволяющая быстро создавать сложную программную логику (back-end) для веб-приложений, мобильных приложений и приложений интернета вещей (IoT). Узнать больше про Directual

Mendix от Mendix Tech

Mendix – это бескодовая (no-code) программная платформа, предоставляющая инструменты для создания, тестирования, развертывания и проверки программных приложений. Узнать больше про Mendix

Microsoft Power Apps от Microsoft

Power Apps – это набор приложений, сервисов, соединителей и платформ данных, обеспечивающих среду быстрой разработки пользовательских приложений для обеспечения потребностей бизнеса. Узнать больше про Microsoft Power Apps

Visary Платформа от БизнесАвтоматика

Платформа Visary – это программное решение для быстрого построения сложных и защищенных корпоративных информационно-аналитических систем, и в целом для комплексной автоматизации бизнес-процессов. Узнать больше про Visary Платформа

Oracle APEX от Oracle Corporation

Oracle Application Express – это платформа малокодовой разработки, позволяющая создавать масштабируемые, безопасные корпоративные веб-приложения с обширным функционалом. Созданные приложения могут быть развёрнуты далее на различных площадках. Узнать больше про Oracle APEX

Salesforce Lightning от Salesforce

Salesforce Lightning – это платформа быстрой разработки корпоративных приложений, помогающих подключать сотрудников, привлекать клиентов, отслеживать рабочую производительность и интегрировать процессы компании. Узнать больше про Salesforce Lightning

Pega Platform от Pegasystems

Pega Platform – это платформа для быстрой разработки программных приложений, позволяющая пользователям без знания языков программирования создавать программные продукты различной степени сложности, основываясь на бизнес-процессах и моделях предметной области. Узнать больше про Pega Platform

OutSystems от OutSystems

OutSystems – это визуальный малокодовый (low-code) инструмент разработки для мобильных и веб-приложений. Узнать больше про OutSystems

GeneXus от GeneXus

GeneXus – это онлайн-платформа, обеспечивающая быструю разработку приложений, автоматически генерируя базы данных, программный код, интерфейсы, а также служебные и клиентские сервисы. Узнать больше про GeneXus

Linx от Twenty57

Linx – это визуальный конструктор, позволяющий создавать программную логику (backend) различной степени сложности, компилировать веб-приложение и запускать его в облаке. Узнать больше про Linx

Appery.io от Exadel

Appery.io — это малокодовый конструктор гибридных мобильных приложений, веб-приложений и прогрессивных веб-приложений (PWA) с возможностью визуального создания интерфейсов, бизнес-процессов и связывания с внешними программными интефрейсами (API). Узнать больше про Appery.io

Руководство по покупке Платформы разработки программных приложений

Содержание

Что такое Платформы разработки программных приложений

Платформы разработки программных приложений (ПРПП, англ. Application Development Platforms, ADP) предоставляют разработчикам инструменты для создания программных приложений для различных областей применения: для интернет-сайтов, мобильных приложений, настольных приложений и серверных систем. Программные продукты в данной категории варьируются от минималистичных инструментов быстрой разработки до более сложных интегрированных сред разработки ПО.

Источник

11 Лучших платформ разработки с низким уровнем кода

программная платформа поддерживает автоматизированную разработку кода. Смотреть фото программная платформа поддерживает автоматизированную разработку кода. Смотреть картинку программная платформа поддерживает автоматизированную разработку кода. Картинка про программная платформа поддерживает автоматизированную разработку кода. Фото программная платформа поддерживает автоматизированную разработку кода

Многие разработчики уже поняли, что низкий код-это будущее разработки приложений или, по крайней мере, важная альтернатива ручному кодированию. Кроме того, предприятия обращаются к низкокодовым решениям для бизнес-программного обеспечения. Действительно ли низкий код-это лучший способ? Если да, то как вы можете найти правильную платформу для своего бизнеса? Что вы вообще должны искать?

Преимущества низкого кода

Low-code — это форма разработки приложений с использованием блочного программирования, но позволяющая пользователям при необходимости выполнять ручной код. Это создает простую в использовании, чрезвычайно универсальную функциональность. Это приносит ряд важных преимуществ деловому миру.

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

Лучшие Низкокодовые платформы

11 Лучших платформ с низким кодом-как для разработки с низким кодом, так и для интеграции с существующими бизнес – системами:

1. OutSystems это специализированное решение для разработки низкокодовых приложений. Это платформа RAD (Rapid App Development), предназначенная для разработчиков для создания своих приложений и управления ими. Он прост в развертывании и прост в использовании.

Особенности платформы:

Рейтинг:

Общее отношение к Аутсорсингу весьма позитивно. OutSystems имеет в среднем 4,5 звезды с сотнями отзывов. Однозвездочные отзывы найти невозможно.

Минусы:

Xplenty-это платформа интеграции данных с низким кодом и без кода ETL (извлечение, передача и загрузка).

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

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

Особенности Платформ:

Рейтинг:

Xplenty признан лучшим ETL-инструментом на 2020 год с рейтингом 4,4/5 звезд.

Минусы:

Oracle APEX, сокращенно от Oracle Application Express, – это еще один RAD (Быстрая разработка приложений) с важными функциями и отличными отзывами.

Особенности платформы:

Рейтинг:

Oracle APEX получает отличные отзывы в целом, в среднем 4,5 из 5 звезд. У него не так много отзывов, как у OutSystems, но уровень удовлетворенности пользователей составляет около 90%.

Если у вас уже есть база данных Oracle, вы можете добавить Oracle APEX бесплатно

Минусы:

Quick Base называет себя самой любимой в мире низкокодовой платформой. Это широко используемое облачное программное обеспечение для RAD и баз данных.

Рейтинг:

Quick Base имеет много отзывов, большинство из которых положительные. На большинстве платформ он составляет в среднем 4,5 звезды.

Минусы:

Appian предлагает разработку приложений в 20 раз быстрее, чем обычное ручное кодирование. Кроме того, это no-code платформа BPM (Business Process Management). Он очень часто используется и предлагает множество тематических исследований, чтобы доказать свою надежность.

Особенности платформы:

Рейтинг:

Он имеет в среднем четыре звезды из нескольких сотен отзывов, и его использовали несколько крупных компаний.

Минусы:

Kissflow – это признанный лидер в области программного обеспечения для цифрового рабочего процесса. Он предлагает визуально приятный интерфейс перетаскивания для RAD.

Особенности платформы:

Рейтинг:

Kissflow имеет сотни отзывов и в среднем составляет около 4,5 из 5 звезд.

Минусы:

DWKit-это программное обеспечение BPM, которое также функционирует как low code платформа разработки приложений. Он относительно новый и малоизвестный, но предлагает ряд вариантов использования.

Особенности платформы:

Рейтинг:

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

Минусы:

Решение Salesforce Lightning объединяет данные с RAD. Он обладает всей мощью Salesforce при разработке приложений с низким уровнем кода.

Платформа Salesforce Lightning объединяет такие инструменты, как App Builder, Lightning Flow, SalesforceDX и Heroku, в универсальную утилиту, которая значительно ускоряет процесс разработки программного обеспечения.

Особенности платформы:

Рейтинг:

Salesforce Lightning имеет 4,1/5 звезд на G2, где она была названа “Лидером” в пространстве платформ разработки с низким уровнем кода.

Минусы:

PowerApps-это низкокодовое RAD-решение от Microsoft. Хотя он не так хорошо известен, как многие другие, это надежный вариант, который предлагает решения для обработки данных среди многих других полезных сервисов.

Особенности no-code платформы:

Рейтинг:

Microsoft PowerApps в среднем имеет рейтинг 4 звезды. Кроме того, согласно одному источнику, у него 97% – ный уровень удовлетворенности клиентов.

Минусы:

Mendix-это облачная платформа RAD. Используя IBM Cloud или облачную платформу SAP, Mendix может доставлять приложения в 10 раз быстрее, чем при ручном кодировании.

Особенности платформы:

Рейтинг:

Мендикс признанный лидер. Рейтинг пользователя обычно составляет 4,5 звезды.

Минусы:

Естественно, у Google также есть низкокодовое решение для RAD. Google App Maker— вышел из бета-версии в 2018 году и предлагает доступ к 40 дополнительным сервисам Google.

Особенности платформы:

Рейтинг:

Google App Maker имеет самый высокий рейтинг с 4,5 звездами. Мало у кого из пользователей есть жалобы.

Минусы:

Вывод

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

Источник

10 лучших инструментов для автоматизации тестирования ПО

Привет, Хабр! Представляю вашему вниманию перевод статьи «Top 10 Automated Software Testing Tools» автора Pratik Satasiya.

Боб Иган, директор по исследованиям Sepharim Research, говорил о мобильной безопасности. Он выступил с заявлением на Enterprise Mobility Trends 2016:

«Современный десктоп на самом деле не десктоп, а опыт, который нужен в данный момент».

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

Внедрение приложений, уменьшающих усилия, быстро охватывает следующие отрасли:

Вот обзор самых популярных инструментов автоматизации тестирования программного обеспечения, которые помогут тем, кто занимается тестированием программного обеспечения.

10 лучших инструментов для автоматического тестирования программного обеспечения

1. Selenium

Selenium — это среда тестирования для тестирования веб-приложений в различных браузерах и платформах, таких как Windows, Mac и Linux. Selenium помогает тестировщикам писать тесты на разных языках программирования, таких как Java, PHP, C #, Python, Groovy, Ruby и Perl. Selenium предлагает функции записи и воспроизведения для написания тестов без изучения Selenium IDE.

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

2. TestingWhiz

TestingWhiz — это инструмент автоматизации тестирования со сценариями без кода от Cygnet Infotech, поставщика ИТ решений 3-го уровня CMMi. Редакция Enterprise инструмента TestingWhiz предлагает полный пакет различных решений для автоматизированного тестирования, таких как веб-тестирование, тестирование программного обеспечения, тестирование баз данных, тестирование API, тестирование мобильных приложений, обслуживание набора регрессионных тестов, оптимизация и автоматизация, а также межбраузерное тестирование.

TestingWhiz предлагает различные функции, такие как:

3. HPE Unified Functional Testing (HP – UFT ранее QTP)

HP QuickTest Professional был переименован в HPE Unified Functional Testing. HPE UFT предлагает автоматизацию тестирования для функционального и регрессионного тестирования для программных приложений.

Язык сценариев Visual Basic Scripting Edition используется этим инструментом для регистрации процессов тестирования и управления различными объектами и элементами управления при тестировании приложений.

QTP предлагает различные функции, такие как:

4. TestComplete

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

TestComplete предлагает следующие функции:

5. Ranorex

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

Ranorex предлагает следующие функции:

6. Sahi

Sahi — инструмент для автоматизации тестирования веб-приложений. Sahi с открытым исходным кодом написан на языках программирования Java и JavaScript.

Sahi предоставляет следующие возможности:

7. Watir

Watir — это инструмент тестирования с открытым исходным кодом, состоящий из библиотек Ruby, для автоматизации тестирования веб-приложений. Это произносится как «вода».

Watir предлагает следующие функции:

8. Tosca Testsuite

Tosca Testsuite от Tricentis использует автоматизацию тестирования на основе моделей для автоматизации тестирования программного обеспечения.

Tosca Testsuite обладает следующими возможностями:

9. Telerik TestStudio

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

Telerik TestStudio предлагает различные совместимости, такие как:

10. Katalon Studio

Katalon Studio — это бесплатное решение для автоматизации тестирования, разработанное компанией Katalon LLC. Программное обеспечение построено на основе сред автоматизации с открытым исходным кодом Selenium, Appium со специализированным интерфейсом IDE для тестирования API, веб-приложений и мобильных устройств. Этот инструмент включает в себя полный пакет мощных функций, которые помогают преодолеть общие проблемы в автоматизации тестирования веб-интерфейса.

Katalon Studio состоит из следующих функций:

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

А что из инструментов автоматического тестирования используете вы?

Источник

Автоматизация разработки ПО: сможет ли «программист» превратиться в «оператора ЭВМ»

программная платформа поддерживает автоматизированную разработку кода. Смотреть фото программная платформа поддерживает автоматизированную разработку кода. Смотреть картинку программная платформа поддерживает автоматизированную разработку кода. Картинка про программная платформа поддерживает автоматизированную разработку кода. Фото программная платформа поддерживает автоматизированную разработку кода

К чему ведет нас прогресс в области производства программного обеспечения? Средства разработки ПО становятся все более совершенными, некоторые этапы разработки полностью или частично автоматизированы. Консерваторы, конечно же, скажут, что программист в настоящее время – уже не торт, что подобная автоматизация ведет к упрощению задач и потере квалификации инженера-программиста. По их мнению, на фоне развития инструментария происходит деградация кадров.

Но если копнуть глубже, возникнут вопросы. О каких именно программистах речь? О тех, кто проектирует ПО? О тех, кто разрабатывает алгоритмы? О ведущих разработчиках или простых «кодерах»? В любом случае, одного мнения здесь быть не может.

Поэтому, прежде чем делать какие-то выводы, стоит хотя бы вспомнить, как мы пришли к этому.

Точка отсчета

В самом начале у компьютеров не было даже клавиатуры! То есть всё было очень плохо — у них не было ни клавиатуры, ни экрана, были перфокарты (это такие штучечки с дырочками или с отсутствием дырочек).

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

Например, ассемблер (Assembler), который уже несколько облегчал жизнь. Ну, как он облегчал жизнь? Вместо запоминания того, что там какой-то «волшебный» код у команды, использовались всякие слова, похожие на «человеческий» английский язык — какие-нибудь add или mov — ну и затем перечислялись регистры или области памяти, переменные, с которыми нужно эти операции производить. Но понятное дело, что это в общем-то тоже требовало достаточно большого напряжения ума, чтобы держать у себя в голове, в каком регистре у нас что лежит, где какие переменные и что вообще происходит. Почему так происходило? Потому что компьютеры были «глупые» и ничего более «умного» понять не могли.

программная платформа поддерживает автоматизированную разработку кода. Смотреть фото программная платформа поддерживает автоматизированную разработку кода. Смотреть картинку программная платформа поддерживает автоматизированную разработку кода. Картинка про программная платформа поддерживает автоматизированную разработку кода. Фото программная платформа поддерживает автоматизированную разработку кода
Изображение с сайта devdelphi.ru

На этом этапе порог вхождения в программирование был чрезвычайно высок.

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

Уровень выше — порог ниже

С появлением языков программирования высокого уровня жизнь программистов становилась легче, а производительность – выше. Программы не нужно было переписывать для каждой машины. Появились компиляторы, среды разработки. Fortran, Algol, а позже BASIC, PASCAL, C действительно были больше похожи на «человеческий» язык.

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

С появлением объектно-ориентированного программирования (С++, Object Pascal и так далее) тенденция повторного использования кода усилилась. Кроме того, со временем среды разработки становились более дружественными, и желающих освоить азы программирования становилось больше.

Программирование — в массы

Постепенно программирование перестало быть прерогативой хардкорных инженеров и математиков. Число проектов стремительно росло, программное обеспечение проникало в разнообразные сферы производства. Этому также способствовало и развитие систем управления базами данных. Появились даже такие специализации как «оператор СУБД».

Постепенно понятие «инженер-программист» стало многогранным: кто-то занимался алгоритмами, кто-то проектировал интерфейсы, кто-то просто занимался кодированием – то есть реализовывал в коде готовые алгоритмы своих коллег. Само программирование стали делить на две крупные группы – системное и прикладное: кто-то разрабатывал операционные системы и драйверы, а кто-то писал приложения для автоматизации бизнес-процессов на овощной базе.

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

Появление языков (Java, C#) и соответствующих фреймворков еще больше способствовало этому снижению, а также дифференциации специалистов по направлениям и уровням подготовки.

В результате у программистов закрепилась градация наподобие [Junior-разработчик, Senior/Middle, Team Lead, Software Architect]. С одной стороны, продвинутый инструментарий разработки позволял менее квалифицированным программистам успешно справляться с относительно простыми задачами, не имея глубоких знаний и серьезных навыков. С другой стороны, с каждой последующей ступенью карьерной лестницы порог вхождения также становился выше.

программная платформа поддерживает автоматизированную разработку кода. Смотреть фото программная платформа поддерживает автоматизированную разработку кода. Смотреть картинку программная платформа поддерживает автоматизированную разработку кода. Картинка про программная платформа поддерживает автоматизированную разработку кода. Фото программная платформа поддерживает автоматизированную разработку кода
Изображение с сайта

Но если специалист задерживался в статусе начинающего, он мог заметить одну особенность: бурно развивающиеся технологии разработки ПО еще сильнее снижали порог вхождения, и среднестатистический Junior урожая N-го года знал и умел еще меньше, чем его старший товарищ — Junior (N — k)-го года.

Веб-разработка методом «тяп-ляп»

С развитием веб-разработки программистам потребовалось встать на другие рельсы (ассоциация с Ruby On Rails здесь тоже уместна), чтобы освоить новые языки и стек интернет-технологий разработки в целом.

После того как веб-разработка, начавшая набирать обороты только в 90-х годах, совершила огромный скачок в развитии, Михаил Густокашин может свободно пускаться в подобные рассуждения:

Допустим, вы хотите написать новый Facebook (социальную сеть). На чем вы будете это писать? HTML, CSS — это дизайн, а мы хотим, чтобы там можно было фотографии добавлять, друзей, комментарии оставлять.

Для скриптовой части — то есть то, что будет происходит на стороне клиента, — это JavaScript.

На удивление, он написан на PHP — и Facebook, и многие другие большие проекты. Пришлось, конечно, написать свои какие-то вещи, чтобы это всё-таки работало нормально, а не так как «тяп-ляп» было сделано, но они справились.

Здесь и сейчас, понятное дело, с нуля уже для веба никто ничего не пишет. Все ищут какой-нибудь фреймворк или ещё чего-то. Интернет-магазин? Скачали фреймворк для интернет-магазина — ну и всё, написали интернет-магазин.

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

На волне автоматизации

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

Все потому, что в чьи-то светлые головы пришла идея автоматизировать процесс веб-разработки. Хотя, на самом деле, идея не нова, так как она уже частично была реализована во многих инструментах разработки ПО под Desktop-платформы в виде автогенерации форм и целых слоев приложения – например, генерация классов по структуре базы данных.

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

Мы выяснили, что по этому поводу думают эксперты, представители ИТ-индустрии:

программная платформа поддерживает автоматизированную разработку кода. Смотреть фото программная платформа поддерживает автоматизированную разработку кода. Смотреть картинку программная платформа поддерживает автоматизированную разработку кода. Картинка про программная платформа поддерживает автоматизированную разработку кода. Фото программная платформа поддерживает автоматизированную разработку кода
Алексей Бычко, старший релиз-менеджер (Percona), разработчик проектов Percona Server for MySQL, Percona XtraDB Cluster, Percona XtraBackup, Percona Server for MongoDB, PQuery, преподаватель курса «Системное администрирование» в ИТ- Академии Алексея Сухорукова:

Появляется всё больше и больше сред для автоматизации рутинных вещей – это помогает лишний раз не писать что-то вручную, не изобретать велосипедов. Многое уже предусмотрено в интегрированных средах разработки, из которых можно вызывать нужные библиотеки и так решать стандартные задачи. Для тех, кто умеет и привык думать, это хорошо – можно сконцентрироваться на основном, на логике приложения. (Это люди «старой школы», которым для написания качественного кода хватит и простейшего текстового редактора).

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

По сути, это два подхода, которые выросли из факта наличия проективных Unix-подобных систем и процедурных Windows-подобных. Огромной корпорации, где всё разбито на мельчайшие подзадачки, важна воспроизводимость результата, а не оптимальное решение – если оператор ушёл, нужно, чтобы новый по инструкции делал то же самое и не хуже.

Но если у нас есть задача, которая конкретной процедурной системой, библиотекой или средой решается плохо или не решается вовсе (коллеги постарше помнят, что бывает, когда в написанный в C++ Builder или Delphi текстовый редактор попадает большой файл – ничего не листается и всё тормозит, и это никак не поправить), то нам нужно взять «чистую» систему, которая даёт больше свободы, и позвать программиста, который согласен не просто гуглить, а писать адекватное решение самостоятельно с нуля.

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

С появлением автоматизирующих разработку инструментов ценность людей, которые понимают, что происходит под капотом таких инструментов, растёт. Требования, которые к ним предъявляются, растут. Объём знаний, который нужно освоить, растёт.

Конечно, речь идёт не о создании лендингов, а о разработке мало-мальски серьёзного проекта.

программная платформа поддерживает автоматизированную разработку кода. Смотреть фото программная платформа поддерживает автоматизированную разработку кода. Смотреть картинку программная платформа поддерживает автоматизированную разработку кода. Картинка про программная платформа поддерживает автоматизированную разработку кода. Фото программная платформа поддерживает автоматизированную разработку кода
Макс Лапшин, создатель ErlyVideo, создатель Flussonic, разработчик многих известных решений в области стриминга видео.

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

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

Всё дело в том, что индустрия идет вперед. Да, на компьютерах больше не 640 КБ памяти, и программисту под Windows больше можно не волноваться о памяти вообще. Но на замену большим компьютерам пришли маленькие, и их много.

Сегодня всё равно приходится думать, как записать на прошивку IP-камеры софт, упихнувшись в 200 КБ на диске. Приходится думать, как упихнуть код в маленький IOT-сенсор, который должен на своей крохотной батареечке прожить год с радиообменом.

Индустрия очень стремительно расширяется, и в ней появляется место людям, которые не очень глубоко разбираются в деталях работы ЭВМ, но безусловно: сегодня людей, которые знают, как работает, например, DMA, нужно больше, чем 10 лет назад просто потому, что индустрия до сих пор растет.

программная платформа поддерживает автоматизированную разработку кода. Смотреть фото программная платформа поддерживает автоматизированную разработку кода. Смотреть картинку программная платформа поддерживает автоматизированную разработку кода. Картинка про программная платформа поддерживает автоматизированную разработку кода. Фото программная платформа поддерживает автоматизированную разработку кода
Александр Лямин, основатель и CEO компании Qrator Labs, одного из ведущих мировых поставщиков в области защиты от DDoS-атак.

Есть такая шутка: отдел программирования — это такой завод по производству холодильников, в котором работает 10 человек, один из которых может делать звездолёты, а остальные девять человек умеют клепать скворечники.

Так вот, программисты нужны в компаниях совершенно разного толка. Какие-то компании производят холодильники, какие-то — клепают скворечники, а некоторые, как SpaceX, действительно разрабатывают звездолёты. Поэтому пропорция 1:9, естественно, не догма, она везде будет своя. Где-то, действительно, достаточно нескольких кодеров в штате. Где-то нужны уже хорошие прикладные программисты — люди, обладающие алгоритмическим багажом и способные грамотно его применять.

В ряде случаев требуется уже даже не столько программист, сколько computer scientist — человек способный не только, как минимум, грамотно модифицировать алгоритмы под нужды конкретной ситуации и задачи. Следующий уровень — это data scientist, хороший прикладной математик. Продолжая аналогию, скворечник можно склепать из общедоступных стройматериалов, но сплавы для ракеты на строительном рынке уже не купишь. На этом уровне задача уже начинает выглядеть примерно так: вот проблема, вот массив данных, нужны гипотезы-алгоритмы-PoC и, как следствие, постановка задачи для реализации. И в процессе создания действительно хороших продуктов — рано или поздно, так или иначе — задачи нетривиальной обработки данных возникают неизбежно.

То есть человек-«кодер» решает лишь часть проблем, стоящих перед разработкой.

Естественно, действительно высококлассных программистов на рынке труда мало, а задач для них много, поэтому очень давно возникла идея: разработать инструментарий, с помощью которого специально обученный оператор ЭВМ сможет справиться с задачами высокой сложности. Но все попытки сделать это, можно сказать, провалились. Язык SQL был разработан изначально для того, чтобы им мог воспользоваться любой пользователь, даже не имеющий навыков программирования. Сейчас этим языком пользуются программисты, а операторы ЭВМ даже после тренингов не в состоянии написать даже более-менее простой запрос.

Другой пример — всевозможные среды визуального программирования, предназначенные, грубо говоря, для того, чтобы оператор мог не писать код, а нарисовать адекватную задаче блок-схему, на основе которой компилятор выберет нужные алгоритмы. Ни одна из таких сред (а их было много) в конечном счёте не получила распространения. Это говорит о том, что изначальная задача, возможно, поставлена неправильно или не имеет решения в такой постановке.

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

Поэтому вряд ли когда-нибудь кому-нибудь удастся превратить программиста в оператора ЭВМ окончательно.

Источник

Добавить комментарий

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