Na czym do tej pory polegało pisanie (budowanie, tworzenie...) programów? Z jednej strony było (i jest) „wewnętrzne życie procesorów”, polegające na interakcji – mieszaniu się, tasowaniu... czy jak to sobie wyobrazić – ciągów bitów/bajtów. Zupełnie niedostępne dla ludzkiego umysłu. To znaczy, ludzki umysł, aby zarządzać tymi procesami, by „coś z nimi robić”, urządzać je tak, żeby służyły jego celom, a także by konstruować same procesory, w których tamto „wewnętrzne życie” się odbywa – musiał korzystać z pośredniczących narzędzi. Te narzędzia, to języki programowania, budowane tak, żeby były przynajmniej minimalnie dostępne dla ludzkiej percepcji. Licząc od poziomu zero, czyli od gołych niczym nieprzykrytych, niczym nieobudowanych bajtów, były to (i są) „języki maszynowe”, dalej asembler („prawdziwi mężczyźni programują w asemblerze!”), dalej tak zwane języki niskiego poziomu, wśród których najsławniejszy był (i jest) język C z wariantami C++ lub C#. Dalej języki wyspecjalizowane, nie-uniwersalne, przystosowane do wybranego kontekstu, a wśród nich te, które są kompilowane i wykonywane na bieżąco i nie generują pośrednich szybkich plików wykonywalnych, jak język C. (Zwane językami interpretowanymi.) Pamiętam, jak w latach 1990-tych czekało się na języki interpretowane, które byłyby dostatecznie szybkie. Języki w rodzaju C generują plik wykonywalny, który jest już niezrozumiały dla ludzi; dla ludzkiego umysłu, a przynajmniej, co ważne dla niniejszych rozważań, nie ma najmniejszego sensu starać się i uczyć go rozumieć. Języki interpretowane idą krok dalej i przekładają „człowiekiem napisany” program bezpośrednio na grę bajtów. Tak działają te, z którymi najczęściej mamy do czynienia: PHP (do programowania stron na serwerze), JavaScript (do akcji na stronie realizowanej przez twój komputer, właściwie przez przeglądarkę), lub Java (podobno do wszystkiego). Te języki z kolei dostają nasadki lub nakładki, czyli zręczne opakowania, które możliwie po najkrótszej drodze obsługują nasze ludzkie potrzeby, potrzeby użytkownika lub oglądacza stron lub aplikacji. To są frameworki, dla których oryginalny PHP lub JavaScript stanowi „bebechy”, do których niekoniecznie trzeba zaglądać: tak jak instrukcje C są bebechami dla PHP, a kod maszynowy dla C. Jeszcze wyższym czyli bliższym ludzkiej percepcji poziomem są CMS-y, czyli systemy zarządzania treścią, przy których w zasadzie nic o programowaniu nie trzeba wiedzieć.

Do czego zmierzam? – Do tego, że sztuczna inteligencja (SI/AI) da sobie radę (lub już daje radę) bez tamtych wszystkich pośrednich warstw, pośredniczących między ludzkim umysłem i ludzką percepcją a wewnętrznym życiem procesorów. Bo przecież wewnętrzne życie procesorów dla SI jest jakościowo tym samym, co programy pisane w którymś bardziej ludzkim języku, a przypuszczam, że operowanie na tamtym elementarnym bajtowym (lub nawet bitowym) poziomie dla SI jest prostsze, łatwiejsze, szybsze itd. niż rozpracowywanie języków, które jednak powstały z myślą o percepcji ludzkiej i osobliwościami ludzkiego umysłu są jakoś ograniczone. Lub w „formę” czy w „koryto” owych uwarunkowań są jakoś wlane.

Sztucznej I. zbędne będą (lub może już są?) nawet CMS-y. Bo one też są kompromisem między nie-ludzką SI-tyczną ścisłością a ludzkim rozmemłaniem. Pójdźmy więc z tym rozmemłaniem na całość. Prawdopodobnie praca przyszłych konstruktorów stron polegać będzie (lub może już jest!, może w pewnym miejscach już bywa) na luźnej pogawędce z SI-czatem: „No wiesz... teee... taką stronę chcę mieć... zrobisz? Trochę podobną do tej... (Klikam myszą i wyciągam stronę-wzór na ekran.) Tylko żeby miała kolorki bardziej niebieskie niż te różowe... I wzorki w stylu art decore a nie tej... nooo... (Secesji? – podpowiada czat.) Secesji, taa... (Jaki będzie tytuł? – pyta czat.)” – i tak dalej. Wynik, czyli to, co wygeneruje SI, nie musi mieć postaci w żadnym z ludzko-zrozumiałych języków programowania, w żadnym PHP ani JavaScripcie. Może spokojnie być plikiem exe, czyli goło-maszynowym wykonywalnym i tak będzie szybciej sprawniej. Bo po co właściwie nam wiedzieć, co strony i programy mają w środku? Ich bebechy interesują tylko specjalistów-informatyków, którzy zaistnieli jako ten zawód tylko z potrzeby obsługiwania słabości naszej ludzkiej percepcji i kaskadowego dopasowywania kodów maszyn do tej słabości.

W tym momencie powstają całe areały nowych potrzeb, bo tym, co zacznie napędzać SI (raczej już zaczęło!) będą nasze potrzeby, nasze zlecenia, oraz nasze spostrzeganie, że oto możemy mieć zlecenia dla SI całkiem nowego rodzaju. Ta bajka dopiero się zaczęła.

si_zmiana_paradygmatu
Grafika z: cdn.pixabay.com/.../artificial-neural-network.