Wymyślanie koła na nowo

Wymyślanie koła na nowo
W8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 242
1

Czy w trakcie nauki programowania jest ok to że zwłaszcza na początku będę robił projekty próbujące funkcjonalnością naśladować istniejące na githubach, robić wiele rzeczy na piechotę, wymyślać koło na nowo zamiast pisać rzeczy, których jeszcze nikt nie stworzył?

Mjuzik
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 765
5

Rób takie, które Ci dają fun 😀

bbhzp
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 108
4

Oczywiście, że tak :) Mnie zawsze największą satysfakcję daje tworzenie maksymalnie jak najwięcej rzeczy samemu, bez bibliotek trzecich. Oczywiście, w komercyjnym / poważnym projekcie lepiej używać gotowych bibliotek do wielu bardziej skomplikowanych rzeczy, bo mają one po prostu większe wsparcie i niezawodność, a ich ewentualne błędy (tudzież luki w bezpieczeństwie) zostaną szybko wyłapane i naprawione przez społeczność / dostawcę.

Ale przy własnych projektach, moim zdaniem, tworzenie wszystkiego samemu daje właśnie najwięcej nauki i pozwala zrozumieć daną technologię. Nie wiem, w czym Ty piszesz, ale jak ja tworzę np. głównie aplikacje desktopowe (C# WPF), to wszelkie kalendarze rezerwacji, diagramy gantta, wykresy tworzę właśnie sam od zera, mimo że istnieją gotowe "kombajny" typu DevExpress, bo to właśnie najbardziej sprawia mi przyjemność :)

W8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 242
0

Aktualnie piszę sobie w Pythonie aplikację o nazwie backupctl. Python jest mega przyjemny, planuję napisać w nim menedżer kontenerów LXC jak skończę robić backupctl. Myślę tak sobie że może kiedyś pobawię się biblioteką tkinter, spróbuję coś porobić przy backendzie w Django, coś porobić dla zabawy w pygame. Myślę że mój docelowy stack to będzie Bash + Python + Go + JavaScript i Lua na tyle na ile mi potrzebna przy Neovimie. Mam trochę pomysłów na programy w Pythonie.

Myślę że sporym błędem jaki popełniłem było branie się za akademickie książkowe przykłady i traktowanie języków programowania jako celów samych w sobie a nie narzędzi. Próbowałem robić większe rzeczy w Bashu i sam się przekonałem że jednak Python do większych rzeczy wygodniejszy. Bash wraz z rozrostem złożoności projektu robi się coraz bardziej upierdliwy w maintainowaniu a Python ładnie pozwala mi osiągnąć to co chcę. Dlatego go używam.

superdurszlak
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 2025
5

Tak długo, jak rozwiązujesz w miarę samodzielnie napotkane problemy, zamiast brać gotowce, lub przynajmniej Twój poziom samodzielności się zwiększa - jest ok.

W nauce nie chodzi o to, by tworzyć coś innowacyjnego tylko by zrealizować jakiś postawiony sobie cel edukacyjny. Być może istotniejsze jest, czy masz jakiś pomysł na to czego ma Cię nauczyć realizacja danego projektu np. obsługi kontroli wersji, FE, BE, pracy z Azure albo nie wiem, konfigurowania CI/CD. Wtedy koncentrujesz się na tym co jest dla Ciebie priorytetowe, a pozostałe kwestie, jak oryginalność pomysłu, schodzą na dalszy plan.

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7102
1
whiteman808 napisał(a):

Czy w trakcie nauki programowania jest ok to że zwłaszcza na początku będę robił projekty próbujące funkcjonalnością naśladować istniejące na githubach, robić wiele rzeczy na piechotę, wymyślać koło na nowo zamiast pisać rzeczy, których jeszcze nikt nie stworzył?

Zamiast wymyślać własny sposób chodzenia na prawej ręce i lewej nodze, nauczyłeś się chodzić na dwóch nogach, tak jak inni ludzie, naśladując ich.
Teraz chodzisz w swój własny indywidualny sposób.

Jeśli nie nauczysz się podstaw, to jak chcesz robić coś nowego, lepszego, nieoklepanego?

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5666
1

moim najlepszym narzędziem jakie napisałem open source w ramach nauki był program do formatowania jsona. W zasadzie line jsona. Każda linia na wejściu byłą jsonem i można było go formatować do bardziej czytelnej formy. Nawet kilka osób w firmie go używało bo mieliśmy w tym formacie logi gdzieś w 2015-2016 roku. A potem się dowiedzieliśmy że istnieje jq XD Trudno napisać coś nowego i niepowtarzalnego. Chociaż ostatnio się dowiedziałem że firma która skleja i dzieli pdfy online jest wyceniania na milion dolarów XD

LukeJL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8536
3
whiteman808 napisał(a):

zamiast pisać rzeczy, których jeszcze nikt nie stworzył?

Wszystko już było. Ale i tak rzeczy faktycznie innowacyjne, które się jakoś wyróżniają, zwykle są tworzone latami, a pisanie ich jest żmudne i wymaga dużych skilli ogólno-programistycznych, w tym umiejętności zaprojektowania czegoś większego, umiejętności przerabiania kodu, dokonywania kompromisów (np. może się okazać, że żeby coś osiągnąć np. większą wydajność, to trzeba z czegoś zrezygnować np. z czytelności kodu. Albo odwrotnie).

Ale żeby nauczyć się pisać większe i innowacyjne rzeczy, trzeba najpierw umieć napisać mniejsze rzeczy i umieć odkryć koło na nowo.

Chociaż dzisiaj pewnie należałoby radzić bardziej "olać w ogóle naukę programowania, lepiej stawiać na miękkie skille, a z technikaliów być biegłym w narzędziach AI, które same piszą kod", ale jestem tu jednak idealistą i dalej wierzę w ręczne pisanie kodu.

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.