#anonimowemirkowyznania
Czy tylko ja nienawidzę programowania funkcyjnego?

Nie wiem czy to chwilowa moda czy tak już będzie zawsze, ale nie mogę przejść z OOP na FP.
Od razu podam przykłady o co mi chodzi z OOP i FP.
OOP dla mnie skupia się na obiektach i metodach na tych obiektach, kiedy w FP chodzi głównie o to by funkcje były bezstanowe (stateless), z użyciem higher order functions, monad i rekurencji.
@AnonimoweMirkoWyznania: Nie tylko Ty. Wszystko jest OK.
Troche sie meczylem koncepcyjnie z tym tematem, to moze podziele sie wnioskami.

FP, jesli chciec pisac tak kod calosciowo, jest przez powaznych ludzi uzywany *tylko* w domenach, gdzie wymagania matematyczne dot. kodu sa takie, ze jest benefitem / jest taka potrzeba, aby sam kod stanowil dowod matematyczny dla zaprogramowanego elementu / algorytmu / etc.
To jest wazne w niektorych dziedzinach nauki. Glownie takich silnie powiazanych z matematyka. Chodzi o szybkie wylapywanie bledow merytorycznych, matematycznych, juz na etapie
  • Odpowiedz
Jak nazwać Interface A, który mówi że obiekt, który go rozszerza jest w stanie przetworzyć Interface B?

Na przykład: mam klasę C z pakietu 3th party, która na podstawie danych z tablicy renderuje formularz opcji. Mój framework podnosi abstrakcję wyżej i zamiast tablicy operuje na interfejsach. Dlatego Powstała klasa D, która dziedziczy po klasie 3th party C i zamiast tablicy z parametrami przyjmuje interfejs A. Interfejs A jest uniwersalnym interfejsem zawierającym konfigurację formularza i chcę go teraz używać jako danych wejściowych nie tylko dla klasy D, ale także dla kilku innych klas 3th party.
Będę miał zatem klasę D, E i F, które są w stanie przetworzyć interfejs A. Skoro już są 3 klasy więc wypadałoby nadaćim jakiś wspólny interfejs B, który by mówił, że "Potrafię przetworzyć jako dane wejściowe interfejs A". Jak nazwać taki interfejs?

Pytanie też, czy nie przekombinowuję i czy to nie jest sztuka dla sztuki?
@czlowiek_z_lisciem_na_glowie:

Klasy D, E, F, to są adaptery, i zgodnie z praktyką composition over inheritance, nie powinieneś rozszerzać klas 3rd party, tylko klasa 3rd party jest zależnością adaptera.

Interfejs B, który będzie implementowany przez D,E,F, powinien nazywać się od tego, co reprezentuje. "Przetwarzanie A", to mało konkretna informacja, więc ciężko powiedzieć jak dokładnie ma się
  • Odpowiedz
Siema Mirki, czy ktoś z was studiuję informatykę na WSB? Zgodziłem się pomóc pewnemu gościowi napisać egzamin z programowania obiektowego, niestety chłop jest na tyle nieogarnięty, że nie wie co robili u nich na zajęciach ani nie jest w stanie wysłać mi żadnego próbnego egzaminu z tej uczelni. Ja swój egzamin z obiektówki pisałem już kawał czasu temu, dodatkowo w innym języku programowania, więc chciałbym rzucić okiem czego można się mniej więcej
@simsookoo: jak na WSB to wklej tam książkę kucharską albo żeby było ambitniej to Pana Tadeusza, i wrzuć parę diagramów UML żeby z daleka wyglądało i wszyscy będą zadowoleni
  • Odpowiedz
Z racji że potężnemu juniorowi 3k nie przystoi nie potrafić klas to klepie sobie w pracy nowy projekt, mianowicie bibliotekę powtarzalnych funkcji żeby nie pisać ich za każdym razem na nowo czy kopiować.

Stworzyłem sobie w main.py klasę Library, w środku funkcję redminelogin biorącą argumenty address i apikey. Jak w drugim pliku odnieść się do funkcji z main.py? #python #programowanieobiektowe #oop #redmine
NewEpisode - Z racji że potężnemu juniorowi 3k nie przystoi nie potrafić klas to klep...

źródło: comment_1619166422yu88oQYGdAdJoh4upTrEY8.jpg

Pobierz
Jak w drugim pliku odnieść się do funkcji z main.py?


@NewEpisode: ale wiesz że w tym przypadku to "main.py" mogłaby być miejscem gdzie wołasz funkcje a nie je importujesz po innych plikach?
  • Odpowiedz
@wildcat89 no przyznam szczerze, że specjalnie wspomniałem o Tiobe bo scala tam jest na znacznie odleglejszej pozycji. Nie chciałem wywoływać kontrowersji.

Wydaje mi się, że faktycznie SO annual developers survey jest bliższa prawdy. A przynajmniej bliższe moim odczuciom. :D
  • Odpowiedz
@Lord_Sarlac: Oczywiście
Codewars.com (masz też inne języki)
exercism.io (masz też inne języki)
learnjavascript.online (osobiście polecam, wszystko łatwo wytłumaczone)
www.freecodecamp.org (masz również html i css)
  • Odpowiedz
Dlaczego Smalltalk jest wyjątkowym językiem programowania? Na czym polega jego czysta obiektowość? Czy tworzenie klasy może być realizowane przez wysyłanie wiadomości? Co sprawia, że praca w smalltalkowym IDE wydaje się wielu osobom dziwna? Na te i inne pytania odpowiadam w opublikowanym dziś artykule, który jest pierwszym z serii wpisów poświęconych temu fascynującemu językowi.

LINK: Smalltalk – najczystszy z obiektowych języków programowania


Jeśli interesują Cię moje wpisy, obserwuj tag #polydev
informatyk - Dlaczego Smalltalk jest wyjątkowym językiem programowania? Na czym poleg...

źródło: comment_7dPY2kLMtp15ZBPgHvjszGg0Dli4u77p.jpg

Pobierz

Czy kiedykolwiek programowałeś w Smalltalku?

  • Tak, smalltalkuję nałogowo! 3.5% (2)
  • Tak, ale niewiele razy 7.0% (4)
  • Nie i nie zamierzam 70.2% (40)
  • Nie, ale kiedyś spróbuję! 19.3% (11)

Oddanych głosów: 57

@LazyInitializationException: rynek zweryfikował też COBOLA i JavaScript, czyniąc z nich bardzo popularne technologie, co nie oznacza, że zarazem najlepsze. Co więcej, nie każdy język aspiruje do bycia uniwersalnym, a już na pewno nie języki jednoparadygmatowe (podobnie jak np. czysto funkcyjny Haskell, który jest świetny, ale przecież nie do wszystkiego, więc nie spodziewałbym się, że nagle wpadnie do TOP5).
  • Odpowiedz
via Wykop Mobilny (Android)
  • 1
Myślisz, że znasz wzorce projektowe❓

https://youtu.be/ReqhtnRo2zs

Jeśli masz co do tego wątpliwości to zapraszam na drugi cykl na moim kanale na YouTubie, który będzie prowadzony równolegle ze #standardowepytaniarekrutacyjne.
#wzorceprojektowe to temat często pomijany przez programistów, a ich dogłębne poznanie może doskonale wpłynąć na Twoje
wildcat89 - Myślisz, że znasz wzorce projektowe❓

https://youtu.be/ReqhtnRo2zs

Jeśli...

źródło: comment_e3pMlH0dhB7tKyjgSJp5pzyaA5qoW0Gp.jpg

Pobierz
  • Odpowiedz
  • 1
@GandalfPl dzięki :) ja w sumie zawsze mówiłem po angielsku i ostatnio dopiero sprawdziłem jak powinno po polsku się mówić. Wtedy zacząłem się zastanawiać kim był Liskov. I byłem w ogromnym szoku jak się okazał babeczką xD
  • Odpowiedz
@informatyk: Dlaczego wszystkie przykłady na dziedziczenie są tak oderwane od praktyki i prawie zawsze dotyczą klasyfikacji zwierząt? Serio ktoś gdzieś robi klasy typu "nietoperz" albo "ssak"? Po co? Nie można byłoby jakoś po ludzku, na przykładzie np. elementów interfejsu użytkownika, albo sterowników urządzeń?

Jeszcze gorzej jest z Prologiem, na podstawie przykładów z tutoriali (prawie zawsze odnoszących się do relacji rodzinnych) odnoszę wrażenie, że głównym zastosowaniem tego języka jest dochodzenie ojcostwa.
  • Odpowiedz
@glonstar: nie wypowiem się za innych (czyli dlaczego "wszystkie przykłady zawsze dotyczą..."), ale ze swojej perspektywy mogę powiedzieć, że używanie bardziej skomplikowanych przykładów przyczynia się do zmiany grona odbiorców. Jeśli ktoś jest początkującym i chce się dowiedzieć coś na temat programowania obiektowego, to proste przykłady odnoszące się do znanych z życia relacji, sprawią, że nie przestanie czytać po pierwszym akapicie. Ja zazywczaj staram się rozpoczynać od jak najprostszych wyjaśnień (z
  • Odpowiedz
#naukaprogramowania Mam taki problem z programowaniem obiektowym, ze niby wszystko rozumiem ale brak mi praktyki w sumie, jaki kurs polecacie wlasnie do tego zeby porobic kilka zadanek/appek i "obyć" sie z programowaniem obiektowym w JS ?
O ile kurs od samuraja jest spoko to samo programowanie obiektowe jest tam lizniete i brak "zadanek domowych". To pisze jakby ktos chcial mi jego polecac ;) wiem chlop dobrz tlumaczy ale akurat tutaj
Mam prośbę o pomoc do makra VBA w Excel. Jego zadaniem jest scalić wiele plików xls w jeden. Na początku makro pyta o lokację, gdzie ma znaleźć pliki do obróbki, następnie należy wskazać arkusz, w którym scalenie nastąpi. Zazwyczaj po prostu wklejałem ścieżkę dostępu i nazwę pliku ręcznie, ale ostatnio posłużyłem się msoFileDialogFolderPicker do wskazania lokacji (działa bez zarzutu) i getopenfilename do pozyskania nazwy pliku. Niestety, makro się wykrzacza, kiedy ma dojść do wklejenia zawartości jednego z plików do arkusza, gdzie następuje scalania.

StitchedWorkbook = Application
.GetOpenFilename("excel files (*.xls), *.xls")
If fileToOpen <> False Then
MsgBox "Open " &
jeśli chciałoby Ci się wyjaśnić dlaczego nie użyłeś getopenfile? Jaka jest właściwie różnica między tym a file dialog open?


@Asarhaddon: z tego co wiem to bez znaczenia. FileDialog ma większe możliwości jeżeli chodzi o konfigurację, ale tutaj i tak z tego nie korzystałem.

Czy pierwsza faktycznie zwraca tylko nazwę pliku, czy też go
  • Odpowiedz
Witam panowie i panie #programista15k
Mam zagwozdkę. Uczę się klas i metod. Stworzyłem taki o to programik do przechowywania informacji o plakacie. Problem jest taki, że gdy używam dwóch tablic char'owych to program ich w ogóle nie czyta. Nie wiem za bardzo co z tym zrobić.
Próbowałem pobrać tekst przez gets(), to nie działa. Później próbowałem przez for(...), co ciekawe jeden z dwóch się wyświetlał razem z dziwnymi znakami. Co mogę zrobić, żeby program czytał normalnie tekst do tablic charowych, a potem je normalnie wyświetlał.

Kod programu tutaj: Kod

A
p.....h - Witam panowie i panie #programista15k
Mam zagwozdkę. Uczę się klas i metod...

źródło: comment_jGJTri9cDaekHeVtMwSLeknLwAbp8UKX.jpg

Pobierz
@trojanxem: C++ ma mnóstwo zero overhead abstractions, trzeba tylko ich używać z głową :P

Nie czepiałbym się makr, gdyby to było C. Ale nie jest :P

Kiedyś define działały dużo szybciej niż const


[potrzebne źródło]
MamCieNaHita - @trojanxem: C++ ma mnóstwo zero overhead abstractions, trzeba tylko ic...
  • Odpowiedz
Witajcie mirki.
Może ktoś mógłby zarzucić przykładem w jaki sposób zrobić "XLSPrinter."
Chodzi mi o to, że jest coś takiego jak "liuggio/excelbundle", które wykorzystuję do generowania plików xls. Jednak nie wiem czy to dobra praktyka za każdym razem w kontrollerze od nowa tworzyć plik xls, może lepiej byłoby stworzyć serwis, gdzie przekazywałbym:
1. Nagłówki tabelki
2. dane
3. typ pliku