Wyginięcie BASIC-a było katastrofą. Python jest lepszy? [OPINIA]

Wyginięcie BASIC-a było katastrofą. Python jest lepszy? [OPINIA]27.08.2023 12:16
Wyginięcie BASIC-a
Źródło zdjęć: © PxHere

Przekonanie, że programowania należy zaczynać uczyć od "poważnych" języków doprowadziło do tego, że dziś każdy ma komputer, a mało kto potrafi go zaprogramować - nawet do najprostszych zadań. Zamiast tego korzystamy z gotowców, co nie zawsze ma sens.

Edsger Dijkstra, przytaczany z nabożną dumą na wielu kierunkach technicznych, był autorem nie tylko algorytmów, ale także dwóch popularnych i szalenie pretensjonalnych cytatów. Pierwszym z nich jest "Informatyka ma tyle samo wspólnego z komputerami, co astronomia ma z teleskopami", a drugim "Nie da się porządnie nauczyć programowania żadnego studenta, który miał kontakt z językiem BASIC". Są ustawicznie nadużywane. Pierwszy ma służyć za dowód na to, że samo siedzenie przed komputerem nie czyni nikogo programistą. Drugi - że BASIC jest niepoważną stratą czasu i szacunek do samego siebie nakazuje sięganie po coś lepszego.

Obie przytoczone maksymy to kompletne bzdury. Optymalizacja oprogramowania absolutnie wymaga dziś konkretnej znajomości działania np. procesora. Bez tego nie zastosuje się właściwych instrukcji i nie zlokalizuje kodu kompilowanego do niewydajnej postaci. A gdy mowa o BASIC-u - sugerowanie, że jeżeli ktoś ma czelność sięgać po proste języki użytkowe, to jest intelektualną ofermą, to już nic ponad zakompleksiony szowinizm i zwykły gatekeeping.

Dalsza część artykułu pod materiałem wideo

Kamera solarna z akumulatorem w super cenie – recenzja Foscam B4

Ułatwienia vs półśrodki

Excel wprowadza właśnie obsługę programowania bezpośrednio do arkusza, bez makr. Robi to najwyraźniej w dość postrzelony sposób, ale nie szkodzi. Jaki język wybrano do tego celu? Python. Niby logiczne. Python jest bardzo popularny w data science (podobnie jak nieobecny nigdzie indziej R). Ale dlaczego stał się tak popularny w tej dziedzinie? Uchodził za język, który jest wystarczająco łatwy, by nauczył się go inżynier nie-programista. Łatwy import bibliotek, sympatyczna składnia i przyzwolenie na tworzenie bardzo brudnego kodu - czyli coś w sam raz dla kogoś, kto nie chce programować, a po prostu coś policzyć na komputerze.

Python otrzymał branżowe rozgrzeszenie/społeczne przyzwolenie na bycie językiem dla nowicjuszy. Wszak zarazem potrafi być potężnym środowiskiem programowania, umożliwiającym tworzenie naprawdę zaawansowanych rozwiązań. Ale jako, że nie stosował nigdy podejścia w którym prostota jest osiągana za wszelką cenę, nie "plugawi" on użytkownika poprzez naznaczenie go piętnem języka dla pięciolatków. Zgorzkniały elitaryzm w stylu Dijkstry trzyma się niezachwiany.

Z tym, że Python wcale nie jest prosty. A raczej - nie jest dostrzegalnie prostszy niż np. C#. A w dobie nowych środowisk .NET, projekt w C# można stworzyć i zbudować w byle jakim edytorze, jak to ma miejsce z Pythonem. Dostęp do repozytorium NuGet pozwala znaleźć tyle bibliotek, ile dusza zapragnie - także na równi z Pythonem. Przewaga Pythona bierze się więc chyba z uprzedzeń, poglądów bez pokrycia i niefortunnej chronologii.

Z tym, że językiem do zastosowań ad hoc nie powinien być ani C# ani Python. Skłonienie komputera do wykonywania autorskich programów powinno być maksymalnie uproszczone, wykraczając poza wygodę "języków dla dorosłych". Można narzekać, że programy tworzone w językach wymyślonych na proste potrzeby są niewydajne. Ale alternatywą jest w ogóle nie dać łatwej okazji do stworzenia własnego programu. Ta właśnie "alternatywa" jest dzisiejszą rzeczywistością.

Programista mimo woli

Naukowcy lubią się uczyć Pythona, bo (poza obiektywną przydatnością), praca z nim jest umiejętnością pozwalającą na łatwiejsze przebranżowienie ze świata nauki do komercji. Szkoły uczą Pythona właśnie w nadziei, że każdego ucznia uczynią potencjalnym programistą. Jest on niewątpliwie progresem względem Turbo Pascala w okienku Trybu MS-DOS (którego wciąż można było zobaczyć w szkołach nawet jeszcze kilka lat temu!). Ale czy uczenie Pythona w szkołach pomaga tworzyć z kraju informatyczną potęgę? Niektórzy twierdzą, że tak. Mnie z kolei nie opuszcza przekonanie, że choć Python jest prosty, przydałoby się coś "obrzydliwie prostego". Czymś takim był Basic.

Dziś Basic jest przestarzały, zbędny i uchodzi za dowcip. Podobne opinie mają środowiska stosujące projektantów RAD. Mają to być półśrodki służące do budowania ciężkich programów, środowiska niezdatne do tworzenia w nich rozbudowanych rozwiązań. Zamiast tracić na nie czas, należy od razu sięgać po narzędzia profesjonalne.

Brak rozwiązań

Z tym, że to niekoniecznie prawda. Istnieje duża szansa, że konieczność obcowania z kodem Pythona w IDE zniechęci do próby samodzielnego zaprogramowania jakiegoś małego projektu. Skromne, krzywe i proste mini-aplikacje, pisane w pięć minut to domena, w której wygrywają dialekty Basica. Nawet, jeżeli chodzi tylko o to, że w Pythonie to samo trwałoby nie 5 minut, a całe… 10. Bo czasem tyle wystarczy by poniechać próby samodzielnych rozwiązań. To dlatego tak często uczniowie decydują się w ogóle nie stosować komputera, jeżeli Excel nie potrafi sam czegoś zrobić.

Uczenie super-prostych języków celem zapoznania z algorytmiką i rozwiązywaniem problemów (zamiast kształcenia ma Junior Software Developera) mogłoby przynieść wymierne korzyści dydaktyczne… o ile nie jest na tę dyskusję za późno, i to nie z powodu wszechobecności Pythona. Możliwe, że wkrótce tworzenie prostych mini-programów stanie się na nowo przystępne dzięki generatywnej sztucznej inteligencji. Zadanie byłoby po prostu dyktowane do AI, które odpowiadałoby kodem.

Niewątpliwie przywraca to rolę komputera osobistego jako narzędzia do uruchamiania własnych (w jakimś znaczeniu) programów. Ale wysokie ryzyko, że otrzymany kod będzie stosowany bez zrozumienia, podważa wiele potencjalnych korzyści dydaktycznych. Być może Python okazuje się być optymalnym rozwiązaniem na takie okoliczności…?

Kamil J. Dudek, współpracownik redakcji dobreprogramy.pl

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.