Co po paradygmacie funkcyjnym?

0

Było programowanie strukturalne, obiektowe (interfejsowe w sumie), teraz modne funkcyjne...
Gdzieś tam sobie jest też logiczne.
Jak sądzicie, co będzie następne? Co będzie modne za parę-paręnaście lat? Paradygmat funkcyjny był znany od dawna, ale stosowany jest na szerszą skalę od nie tak dawna. Czy myślicie, że następny paradygmat już został odkryty?

0

Germański programista podobno zna tę tajemnicę.

0

Programowanie funkcyjne przeżywa swoją drugą młodość.

Programowanie logiczne chyba nigdy nie było popularne.

Programowanie strukturalne było popularne praktycznie od zawsze - oczywiście biorąc pod uwagę możliwości komputerów. Jeżeli komputer nie miał wystarczającej ilości pamięci by skompilować kod w złożonym języku to się takiego języka nie tworzyło czy implementowało.

Programowanie obiektowe jest rozwinięciem strukturalnego i żyło sobie od dawna w postaci np https://en.wikipedia.org/wiki/Simula, https://en.wikipedia.org/wiki/Smalltalk czy https://en.wikipedia.org/wiki/Ada_(programming_language). Sam C++ powstał już w 1983 czyli jest już trochę stary.

Scala łączy programowanie obiektowe (a więc zarazem i strukturalne) oraz funkcyjne, a w drodze jest dołączenie oficjalnie metaprogramowania (makra generujące proceduralnie kod na etapie kompilacji) - stąd Scala obsługuje znakomitą większość powszechnie używanych stylów (głównie oprócz rzeczy znanych z języków kaczo typowanych).

0
pyholic napisał(a):

Intencje? https://pl.wikipedia.org/wiki/Programowanie_intencyjne

A da się w tym zrobić (na chwilę obecną) coś nietrywialnego?

Jeżeli PI ma bazować na języku angielskim (lub jakimkolwiek innym bez gotowej formalnej gramatyki która jest np w językach Loglan lub Lojban) to dochodzi kolejny problem, czyli analiza składniowa języka angielskiego, który jest poważnym problemem.

0

Jak sądzicie, co będzie następne? Co będzie modne za parę-paręnaście lat? Paradygmat funkcyjny był znany od dawna, ale stosowany jest na szerszą skalę od nie tak dawna. Czy myślicie, że następny paradygmat już został odkryty?

Cokolwiek by to było już to od dawna jest w informatyce. Osobiście myślę, że jeśli chodzi o programowanie to w zasadzie jeśli się bardziej rozwinie to w kierunku eklektyzmu i wieloparadygmatowości (choćby łączenie obiektówki i funkcyjności, które już się przecież odbywa).

Natomiast języki programowania i kod to nie wszystko. Wg mnie dalszy rozwój będzie polegał na stworzeniu lepszych, bardziej inteligentnych narzędzi do programowania, edytorów, debuggerów, toolów do prototypowania, lepszych narzędzi do analizy kodu, edytorów wizualnych etc. W tym myślę, że można zrobić znaczny progres w porównaniu do tego co teraz jest.

1

SQL też bazuje na języku angielskim i nie jest to problemem. Jeśli dobrze rozumiem, to takie programowanie nie musiałoby polegać na analizie prawdziwego języka naturalnego, a raczej mogłoby polegać na stworzeniu czegoś w rodzaju prostego DSLa - LukeJL dzisiaj, 07:24

SQL bazuje na języku angielskim, ale np COBOL też. I zamiast c = a + b w C masz ADD A TO B GIVING C w COBOLu. Chyba ma to niewiele sensu, nie? W Scali są for-comprehensions, w Haskellu do-notation, plus do tego wiele metod w kolekcjach i jest to bardziej zwięzłe i ortogonalne niż sztywne konstrukcje z SQLa.

Jeżeli programowanie intencyjne to rzeczywiście ma być DSL to nie rozumiem w czym trudność i niby w jaki sposób to miałaby być innowacja (tzn po co nadawać temu nową nazwę? nazwa DSL nie wystarczy?). DSLe można tworzyć w dowolnym języku obiektowym.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.