Poznajcie Karstena Noacka: Pionier programowania niskokodowego mówi o przyszłości tego rozwiązania

Opublikowane:

29.12.2023

Jeden członek zespołu jest ekspertem merytorycznym, a drugi doświadczonym programistą. Połączenie ich razem zawsze było problemem, ale programowanie niskokodowe daje nam rozwiązanie tego problemu.

Jeden członek zespołu jest ekspertem merytorycznym, a drugi doświadczonym programistą. Połączenie ich razem zawsze było problemem, ale programowanie niskokodowe daje nam rozwiązanie tego problemu.

karsten-noack2

W ostatnim czasie wszyscy używają terminów „niskokodowy” i „bezkodowy” (low-code i no-code). Są to rozwiązania uważane za lekarstwo na brak programistów albo sposób na zamianę ekspertów w danej dziedzinie na deweloperów oprogramowania. Z drugiej strony są wątpiący, czy rzeczywiście za pomocą samego klikania może powstać wysokiej jakości oprogramowanie. Linux Magazine rozmawiał z jednym z pionierów programowania niskokodowego, Karstenem Noackiem, na temat znaczenia i celu technologii niskokodowej. Noack od wczesnych lat 90. XX w. opracowuje innowacyjne metody i procedury tworzenia aplikacji bez programowania. W 1998 roku wydał SCOPELAND Version 1.0, rozwiązanie uważane za pierwszą platformę niskokodową. Dzisiaj pełni funkcję dyrektora zarządzającego w Scopeland Technology.

Noack jest aktualnie członkiem zarządu BITKOM i przedstawicielem SIBB, stowarzyszenia branży IT Berlin-Branderburgia. Zasiada też w zarządzie Low-Code Association.

Linux Magazine: Dlaczego potrzebujemy programowania niskokodowego?

Karsten Noack: Programowanie niskokodowe reprezentuje zmianę w podejściu do tworzenia aplikacji. Celem jest możliwość opracowywania własnych rozwiązań w dużo bardziej efektywny, tani i elastyczny sposób, dzięki zupełnie innym metodom i narzędziom. Podejście to pozwala firmom i administracjom na kontynuowanie cyfryzacji procesów biznesowych. Ponadto niski kod jest odpowiedzią na brak wyszkolonych specjalistów, ponieważ pozwala obecnym programistom na realizację większej liczby zadań w tym samym czasie, a także pomaga wprowadzić do procesu deweloperskiego większą liczbę ludzi.

LM: Niektórzy uważają, że niski kod to tylko na wpół profesjonalny gadżet, który raczej nie zadziała w przypadku poważnych problemów. Ile może w ten sposób zrobić? Kiedy będziemy jednak potrzebowali klasycznego programowania?

KN: Programowanie niskokodowe obecne jest na rynku od dawna i stosowane nie tylko w małych prostych przypadkach, ale także coraz częściej w głównych, krytycznych aplikacjach. Nawet wszelkiego rodzaju duże projekty wybierają tę metodę tworzenia aplikacji.

LM: W takim wypadku, czy programowanie niskokodowe jest panaceum, czy też istnieją granice jego zastosowania? Czy sama platforma niskokodowa nie jest dowodem ograniczeń? W końcu na jakimś etapie musiała być opracowana przez klasyczne programowanie?

KN: Oczywiście, że niski kod to nie jest panaceum. Ograniczenia powiązane są zwykle z poszczególnymi platformami niskokodowymi i odpowiadają specyfice danego rynku czy rodzaju zadań. Ponieważ nikt nie potrafi przewidzieć wszystkich potencjalnych wyzwań, zawsze będą wymagania, których dana platforma nie obsługuje. Jednak rozwiązania niskokodowe, jeśli nie są w stanie obsłużyć jakiegoś przypadku przez szybką i łatwą konfigurację, oferują użytkownikom możliwość ręcznego dodania zaprogramowanych skryptów czy makr. Jeśli możemy po prostu zrealizować 98% potrzebnych funkcjonalności, klikając, te dwa procenty, które musimy zaprogramować, są praktycznie nieznaczące z biznesowego punktu widzenia. Linia pomiędzy tym, co niski kod potrafi zrobić, a tym, czego nie potrafi jest rozmyta.

Prawdą jest, że platformy niskokodowe są najczęściej programowane klasycznie, a nie z użyciem niskiego kodu. Ale jest to też oczywiste, bo niski kod używany jest przeważnie do tworzenia konkretnych, specyficznych dla danej firmy rozwiązań IT.

LM: Czy niski kod nie promuje zjawiska tzw. shadow IT, gdyż każdy będzie programistą, więc dzisiejsi pracownicy IT utracą kontrolę nad środowiskiem? Czy w ogóle będą potrzebne departamenty IT, jeśli to się przyjmie?

KN: To, że niski kod spowoduje rozrost shadow IT, to błędne stwierdzenie. Być może wynika to z tego, że na początku rozwiązanie to służyło przede wszystkim do tworzenia niekrytycznych, małych aplikacji w specjalistycznych departamentach. Dlatego nawet dzisiaj ludzie czasami mówią o „cywilnych deweloperach” w kontekście niskiego kodu. Aktualnie shadow IT w powiązaniu z programowaniem niskokodowym praktycznie nie istnieje, a ustanowienie wysoce wydajnych metod niskokodowych zamiast klasycznego kodowania w roli głównej technologii cyfryzacji jest centralną kwestią w działach IT.

Prawdą jest jednak, że profesjonalne zespoły deweloperów niskokodowych często są umieszczane w jednostkach biznesowych lub przynajmniej w odosobnieniu od reszty grup programistycznych. Powód jest prosty: obserwujemy tu zmianę koncepcji i oddzielenie jest bardziej sprzyjające opracowywaniu nowych metod. Jednak w dłuższej perspektywie wszystko to się uspokoi i nastąpi połączenie rozwiązań.

LM: Użytkownik, który został programistą, dziedziczy również obowiązki programisty, takie jak realizacja wsparcia, rozwoju i aktualizacji bezpieczeństwa. Czy to nie jest za dużo dla takich osób?

KN: To, że użytkownicy, którzy zostają programistami dziedziczą wszystkie obowiązki programistów, nie jest prawdą. Występują, jak zawsze, zmiany w karierach i przechodzenie z departamentów biznesowych do IT. Niski kod sprawia, że jest to łatwiejsze niż kiedyś. Jednak ludzie ci zwykle nie korzystają z programów, które stworzą lub pomogą stworzyć. Oczywiście, w przyszłości użytkownicy będą bardziej zaangażowani w proces tworzenia oprogramowania, na przykład przez aktywne uczestnictwo w projektowaniu interfejsu. Ale raczej nie uczyni to z nich programistów.

LM: Trochę przesadzając, można podsumować, że typowy programista niskokodowy nie jest ani wykształconym informatykiem, ani nie zna strony biznesowej, ale jest raczej kimś, kto zmienia miejsce zatrudnienia i w niewielkim stopniu opanował obie strony, ale bez zgłębiania ich.

KN: Nie zgadzam się. Zarówno użytkownicy znający praktykę biznesową, jak i inżynierowie są ważni, tak jak zawsze byli, tylko że teraz role się zmieniają i programiści niskokodowi mogą wykonać dużo więcej pracy, do której dogłębna znajomość programowania i doświadczenie na tym polu nie są aż tak ważne. To, że tacy ludzie często zmieniali miejsce pracy, wynika z potrzeb rynku, który nie jest w stanie wydać wystarczającej liczby inżynierów. To dobrze, że niski kod stworzył obszar informatyki, który dobrze się nadaje do późnego rozpoczęcia kariery zawodowej.

LM: Powiedziałeś, że niski kod ogranicza potrzebę ręcznego zagłębiania się w tajniki IT, ale czy wykorzystanie bibliotek nie ma tego samego efektu w przypadku tradycyjnego tworzenia oprogramowania? Biblioteki dostarczają prostego interfejsu, ukrywając większość skomplikowanych rozwiązań.

KN: Oczywiście, tradycyjny model rozwoju oprogramowania również dojrzewa, wprowadzając biblioteki, standaryzowane procedury, interfejsy i, między innymi, ograniczając potrzebę ręcznych modyfikacji. Różnica polega na tym, że podejście niskokodowe zwykle chroni deweloperów przed kontaktem ze szczegółami na temat technologii i architektury w dużo bardziej konsekwentny sposób. W idealnym przypadku programista niskokodowy będzie musiał się zajmować jedynie aspektami biznesowymi. Jak to zostanie zaimplementowane w technologii, zależy jednie od platformy. Oczywiście jest to też wyidealizowany cel, który możemy osiągnąć jedynie krok po kroku, ale niski kod zaprowadził nas już całkiem daleko na tej drodze.

LM: Czy w programowaniu niskokodowym można chronić dane i zapewnić im bezpieczeństwo?

KN: Ochrona i bezpieczeństwo danych to oczywiste, podstawowe wymagania stawiane dzisiejszym systemom IT. W przeciwieństwie do indywidualnie tworzonych rozwiązań IT, które opierają się na mocnych i słabych stronach programistów piszących kod, niski kod zagnieżdża w sobie ochronę i bezpieczeństwo danych. Innymi słowy, może on usprawnić bezpieczeństwo IT, a nie odwrotnie.

LM: To przy założeniu, że platforma niskokodowa sama w sobie nie stanowi zagrożenia dla bezpieczeństwa. Ale wszyscy wiemy, że nie ma czegoś takiego jak oprogramowanie bez błędów. W takim wypadku ryzyko może pojawić się w samej platformie, a nieznający kodu źródłowego użytkownik nie będzie w stanie go zidentyfikować i ocenić.

KN: To prawda. Nawet platformy niskokodowe nie są wolne od błędów, a podatności w nich mogą bardzo szybko wpłynąć na wiele aplikacji. Ale czy nie ma to zastosowania do wszystkich bibliotek, interfejsów i funkcji pośredniczących, na których opierają się klasyczne programy? Nie uważam, aby teoretyczna możliwość przejrzenia i weryfikacji kodu programu, z którego będzie się korzystać, dawała większe bezpieczeństwo niż przeniesienie takich wymagań na platformy niskokodowe jako standardowe narzędzia, które zostały przetestowane oraz zabezpieczone przez ekspertów i są używane przez wielu klientów.

Aby zminimalizować to niewielkie ryzyko, które pozostaje, warto testować i certyfikować platformy niskokodowe zgodnie ze standardowymi wymaganiami bezpieczeństwa. W Low-Code Association chętnie widzimy takie inicjatywy i możemy pomóc w ich wprowadzaniu.

LM: Zasiadasz w zarządzie Low-Code Association. Jakie są cele tej organizacji?

KN: Jednym z najważniejszych celów Low-Code Association jest wyjaśnianie zastrzeżeń dotyczących nowych technologii i promowanie rozwoju technologicznego społeczeństwa. Chcemy pomagać usuwać przeszkody i pokazywać korzyści, szczególnie w dużych i krytycznych rozwiązaniach programistycznych. Oczywiście chcemy też wnieść niewielki wkład w zapewnienie europejskim, małym i średnim dostawcom rozwiązań niskokodowych możliwości zademonstrowania ich ogromnego potencjału. W porównaniu do dużych graczy na rynku oprogramowania pod względem technologicznym nie mamy nic do ukrycia.

Autor

Udo Brandes pracował jako programista i konsultant dla wielu dostawców usług publicznych. Dzisiaj publikuje teksty skupiające się na Internecie Rzeczy/mikrokomputerach, a także napisał wydaną przez Rheinwerk-Verlag książę Node-RED, będącą kompleksowym przewodnikiem na temat wielu możliwości, jakie daje Node-RED, z dużą liczbą przykładów.

Autor: Jens-Christoph Brendel

Aktualnie przeglądasz

Styczeń 2024 - Nr 239
LM239_Jan-2024

Top 5 czytanych

Znajdź nas na Facebook'u

Opinie naszych czytelników

Nagrody i wyróżnienia