Wpis z mikrobloga

Od paru miesięcy uczę się programowania w C# i jako tako mi to wychodzi, ale wykładam się na pisaniu algorytmów sortowania :( ktoś jest w stanie coś polecić jakąś książkę? kurs? poradnik na YT? który pomógł mu ogarnąć ten temat?
#programowanie #programista15k
  • 28
@pwn3r: @zwei: Tja, ponieważ programista w drugiej dekadzie XXI wieku nie musi potrafić napisać prostego stabilnego sortowania bez pomocy zewnętrznych bibliotek.
Nie mówię, żeby klepać coś takiego za każdym razem, szczególnie że performance może zależeć od szczegółów implementacyjnych konkretnej platformy i w zewnętrzych bibliotekach prawie zawsze będzie to zrobione lepiej. Ale jeśli programista potrafi napisać prosty algorytm, to świadczy o jego umiejętnościach.
@groman43: ale shit take. Programista ma napisać logikę biznesową wykorzystując najlepsze algorytmy. Nie będziesz z pamięci pisał wydajnego sortowania czy rozkminiał komiwojażera od podstaw dla zasady tylko znajdujesz to w sekunde i implementujesz w swoim kodzie.
Nikt ci nie będzie bił brawo bo napisałeś quick sorta z pamięci.
Chyba z komercyjnym programowaniem nic wspólnego nie masz
@pwn3r: To co opisujesz to nie jest programowanie, tylko jakaś zabawa. Fajnie się takie rzeczy pisze, ale czasem okazuje się, ze system działa mułowato, bo ktoś bez pomyslunku uzywał gotowych funkcji, które mogą i często sa dobre, ale czasem trzeba je właściwie dobrać, bo inaczej okno zamiast pojawić się i być gotowe do pracy w ułamku sekundy, będzie się przełączać 2-3 minuty - tak widziałem i poprawiałem takie rzeczy po właśnie
@Kaczus2B: Jeśli coś zaczyna działać mułowato, to się wymienia algorytm, tylko najpierw trzeba wiedzieć jak napisać program, żeby taka wymiana była w miarę bezbolesna. Zatem wiedza wysokopoziomowa jest praktycznie ważniejsza od umiejętności pisania niskopoziomowych elementów.
Kolejna sprawa, to masz instytucję opiniowanych bibliotek i wybrać coś fatalnego, to trzeba mieć pecha.
Nie mówię przy tym, że nazwijmy to "niskopoziomowa" wiedza nie jest przydatna, bo jest. Tyle, że to wiedza bardzo punktowa i
Tja, ponieważ programista w drugiej dekadzie XXI wieku nie musi potrafić napisać prostego stabilnego sortowania bez pomocy zewnętrznych bibliotek.

Nie mówię, żeby klepać coś takiego za każdym razem, szczególnie że performance może zależeć od szczegółów implementacyjnych konkretnej platformy i w zewnętrzych bibliotekach prawie zawsze będzie to zrobione lepiej. Ale jeśli programista potrafi napisać prosty algorytm, to świadczy o jego umiejętnościach.


@groman43: W rzeczywistym świecie nie ma na to zbytnio czasu. Jak
@pwn3r
@Rhodium Eh, kolejna plaga drugiej dekady XXI wieku - zanik umiejętności czytania ze zrozumieniem. Ależ oczywiście, że nikt normalny nie będzie implementował sortowania od podstaw. Napisałem to w swoim wcześniejszym wpisie.
Tylko że umiejętność napisania takiego sortowania to dowód że programista potrafi rozwiązać odrobinę bardziej skomplikowane problemy niż jak użyć danego API czy z jakich bibliotek posklejać projekt. Moim zdaniem bezmyślne korzystanie z gotowych rozwiązań to prawdziwa plaga. Później się okazuje,
Bezmyślne korzystanie z rozwiązań to jedno - trzeba umieć dobrać narzędzie do problemu ale równie poważnym problemem jest ciągłe wynajdowanie koła na nowo.
@Aragon368: O to chodzi, że element produkcji na taśmie niedługo przejmie program, który to wygeneruje i zrobi to lepiej, dlatego warto mieć szersze pojęcie i wiedzieć jak co działa i dlaczego.

@file_get_contents: algorytm sortowania to rzecz niskopoziomowa? - ooo panie... No rzeczywiście...

@Rhodium: jakie wynajdywanie koła na nowo - to tak jakbys chciał poznać od razu wyższa matematykę nie znając podstawowych operacji dodawania i mnożenia. Takie proste algorytmy należy
@adlis: w takim razie, jeśli chcesz poznać trochę algorytmiki, spróbuj może jakiegoś prostszego języka (np. C). C# to jest kombajn, który posiada wiele gotowych rzeczy i ułatwiaczy, ale na zasadzie "czarnej skrzynki" (nie wiesz, co jest w środku). Nikt tam nie zawraca sobie głowy takimi przyziemnymi sprawami jak sortowanie. Tzn. można, ale jeśli patrzysz na kod z internetów, to najczęściej jest on naszpikowany specyficznymi konstrukcjami danego języka, które mogą utrudniać zrozumienie