Nie wiem czego się uczyć

1

Chciałbym zostać programistą, umiem takie podstawy jak zmienne, pętle, obiektowość, robiłem trochę na androida, ale nie mam pomysłów na projekty żeby mnie one interesowały i żebym sam z siebie chciał je robić, nawet nie wiem czy chce pisać aplikacje mobilne, webowe czy desktopowe, miał ktoś tak? jak znaleźć pomysł na projekt, który by mnie interesował i przy którym mógłbym się wiele nauczyć?

10

To przykre.

0

Ciężko cokolwiek doradzić skoro sam nie wiesz czego chcesz. Z drugiej strony chyba jest coś co podoba Ci się najbardziej jeśli chodzi o web/desktop/mobile? Wybierz to co najbardziej Ci odpowiada i idź dalej w tym kierunku. A jak wszystko podoba/nie podoba Ci się na tym samym poziomie to rzuć kostką.

2

Podejrzewam, że @czysteskarpety wyraził smutek z uwagi na to, że nie postanowiłeś sam poszukać różnych pomysłów ;) Programowanie to nie tylko klepanie kodu, ale przede wszystkim myślenie. Ważne jest, by się nie poddawać. Nie trzeba być tytanem intelektu, ale ważne jest by zrobić coś od A do Z - "get things done".

Co do Twojego problemu, polecam tę listę.

7

Na początku nawet nie potrzebujesz dobrego pomysłu do tworzenia projektu, bo pewnie nie dasz rady go zrealizować skoro dopiero zaczynasz.

Weź sobie postaw za cel rozwijanie pewnego programu, tak by go z miesiąc na miesiąc coraz bardziej rozwijać.

O weźmy choćby za przykład grę kółko i krzyżyk.

Najpierw zrób wersję konsolową.

Potem ulepsz tą wersję konsolową by dało się grać na planszy 4x4, 5x5, ..., NxN

Potem zakoduj gracza PC takiego, który ma własna inteligencje (możesz rozbudować to o różne poziomy)

Potem zrób wersję okienkową GUI z użyciem obiektowego języka

Potem zrób wersję z przeglądarkową w javascript

Potem zrób serwer, by dało się grać przez internet

Potem dodaj urządzenie mobilne.

Potem dodaj np. na serwerze funkcje logowania/wylogowania,

Potem dodaj pokoje gier

Potem dodaj na czat na serwerze by milej się grało

itp

Jak będziesz tak rozwijał ten projekt to poznasz kilka języków, kilka bibliotek, różne style programowania, różne platformy i generalnie będziesz wiedział co Cię ciekawi, a jakie rzeczy chętnie przekazałbyś komuś innemu.

0

Mam zapisanych ponad kilkadziesiąt pomysłów na projekty, nie mam i tak czasu tego robić, więc kilka przykładów:

  • gra przeglądarkowa podobna do starej gry master of magic lub warlords IV

  • strona pomagająca w motywacji ludziom, użytkownik może sobie wyznaczyć dowolne cele (np. oszczędzam 100 zł co miesiąc, biegam 1km w tygodniu etc.), strona pomaga to śledzić i zorganizować

  • platforma do sezonowego zatrudniania

  • serwis dla wspólnot mieszkaniowych pozwalający na organizację wspólnoty i oszczędzanie na różnych usługach (typu sprzątaczka budynku)

i wiele więcej....

0

Wydaje mi się że pomysł który proponuje @nohtyp jest w Twoim przypadku bardzo sensowną drogą. Problem z pierwszymi projektami polega na tym że ilość rzeczy które trzeba ogarnąć na początku jest bardzo duża i prowadzi do szybkiego zniechęcenia, tutaj natomiast ciągle będziesz miał działającą wersję którą rozwijasz ucząc się małymi krokami czegoś nowego w nowych technologiach.

4
czysteskarpety napisał(a):

To przykre.

Najgorsze tutaj jest to że każdy chyba myśli, że żeby zostać programistą trzeba wszystko wiedzieć od początku... Ktoś zakłada taki temat na forum żeby się podpytać doświadczonych osób i zamiast dostać normalne odpowiedzi (nie piszę tu o wszystkich) dostaje takie komentarze które nic nie wnoszą, a tylko mogą zniechęcić. Dobrze że każdy z tego forum już po urodzeniu wiedział że będzie klepał kod. Jakby w każdym innym zawodzie mieli takie podejście to matko boska, na tym świecie byłyby same kwasy.

Co do tematu ogarnij sobie jakieś listy z uczelni z zadaniami z programowania i działaj sobie, ew. wybierz jeden projekt z tych, które wypisałeś i spróbuj go zrobić

3
pavarotti napisał(a):
czysteskarpety napisał(a):

To przykre.

Najgorsze tutaj jest to że każdy chyba myśli, że żeby zostać programistą trzeba wszystko wiedzieć od początku...

Po wpisaniu w forumową wyszukiwarkę "Jak programować" masz 1800 stron wyników.
Rozumiem, że jak szukasz połączenia PKP to zamiast wejść na ich stronę i poszukać połączeń, to zakładasz temat na forum o podróżowaniu, że jedziesz do Sosnowca dwunastego w południe i szukasz pociągu.
To się nie sprawdza, tym bardziej w programowaniu, taka prawda zią.

0

@pavarotti Nigdy nie spawałem, ale gdybym zechciał.... to wpisałbym w Google -> kurs spawacza [nazwa_miejscowosci] i zaczął od tego. W międzyczasie zorientowałbym się jakie są średnie ceny kursu (by mnie Janusz nie naciągnął) i jak on wygląda. Poczytałbym o tym jak wygląda praca spawacza, jakie są zarobki i jak najlepiej dojść do poziomu umożliwiającego godne zarobki. Nie muszę mieć żadnej wiedzy, by rozpocząć pracę w innym zawodzie. Muszę tylko umieć myśleć - dzięki czemu dowiem się co jest wymagane do pracy na danym stanowisku.

Piszesz, że na innych forach ludzie podają linki itp itd. Spróbuj zadawać to samo pytanie po 100 razy na tych innych forach i zobacz czy ktoś Cię nie odeślę z tekstem "już było / użyj wyszukiwarki". To że ludzie bywają pomocni to jedno (a na 4p tak jest), ale z drugiej strony inni ludzie (najczęściej nowi użytkownicy 4p) nie szanują czasu swojego i innych, są zbyt leniwi by włożyć jakikolwiek wysiłek w znalezienie rozwiązania i liczą na to, że wszystko dostaną podane na tacy.

Dlaczego po raz setny mam pisać komuś, że w php'ie mysql_connect już się nie stosuje?
W pełni popieram @czysteskarpety.

W IT - zresztą nie tylko tu, ale w każdym innym zawodzie pierwszą rzeczą jaka jest wymagana jest umiejętność myślenia.

Myślenie przydaje się także w życiu poza pracą :) dzięki temu można chociażby uniknąć

  • alimentów :)
  • problemów z prawem
  • utraty zdrowia/kalectwa/śmierci
  • wysokich podatków
  • nudy/smutków
5

Fajnie, że założyłeś temat, bo ja się chętnie podłączę. Chciałbym programować sterowniki do rakiet, żeby wziąć udział w projektach SpaceX i pomóc skolonizować Marsa. Umiem trochę programować w HTML. Czego jeszcze polecacie się douczyć i czy dam radę do wakacji?

0

@newbie997: Nie masz żadnych zainteresowań czy pasji? To może od biedy stwórz sqlową bazę danych seriali jakie widziałeś

0

Mam: sport

1
newbie997 napisał(a):

Chciałbym zostać programistą, umiem takie podstawy jak zmienne, pętle, obiektowość, robiłem trochę na androida, ale nie mam pomysłów na projekty żeby mnie one interesowały i żebym sam z siebie chciał je robić

To jest problem psychiczny. Wizyta u psychologa mogłaby pomóc.

0

Jesli dobrze rozumiem to chcesz zebysmy Cie zainspirowali, sprawili, ze Ci sie pisanie kodu spodoba.
To troche przypomina wystep G. Carlina, w ktorym powiedzial (cytuje z pamieci) "Wszyscy dzisiaj chca byc k***a zmotywowani! Tylko po co?!".

Jak programowanie ma zapewnic Ci pieniadze - to pewnie - mozna i tak. Jednak zapomnij o pasji, uniesieniu. Klep kod i zamiast radosci - oczekuj zdobycia pierwszej pracy.
Jesli chcesz miec z tego radosc, a pisales rozne rzeczy i nic nie iskrzylo, to moze programowanie nie jest dla Ciebie.

0

Ja pisałem sobie łamacz szyfru podstawieniowego w C i było fajnie, szkoda że międzyczasie padł mi dysk xd
Na sam początek nauki jakiegoś języka polecam klasyg, kalkulator konsolowy.

0
newbie997 napisał(a):

robiłem trochę na androida

[newbie997 napisał(a)]

Mam: sport

Może klon Endomondo? (uproszczona wersja, w której można rejestrować trasę ze smartfonu)

2

Trochę nie rozumiem podśmiechujków, bo OP normalnie pyta co by go mogło zainteresować. Ja jakbym nie załapał się do pracy na studiach i miał expa, dzięki czemu jestem programistą, to też bym nie wiedział, od czego zacząć żeby zacząć i do tego było ciekawie. A żadne zagadnienia na studiach mnie nie zainteresowały. A tak to klepie to co jest do klepania w robocie i tbw.

Problem nie jest trywialny. On nie pyta o to czy programować w javie czy w phpie. Nie pyta również, gdzie znaleźć książki, materiały, kursy. Nie pyta czy warto jeszcze zostać programistą. Czy też czy warto jeszcze znać HTMLa. Czy czym się różni desktop od mobilek i " w co on ma iść żeby było "dobrze""

Chyba że faktycznie było 1800 tematów takich i rozwiązują w sposób trywialny pytanie OPa. Jak tak to proszę o linki, chętnie sam bym poczytał.

0

program zmieniajacy dowolny automat niedeterministyczny na deterministyczny

4

Proponuję stworzyć aplikację, która będzie odpowiedzią na rozwiązanie jakiegoś problemu. Wiele ludzi uczy się programowania w taki sposób:
"Hmm w poradniku pokazują jak zrobić todo-listę albo kalkulator. Obejrzę kurs i zrobię własną aplikację wykorzystując wiedzę z kursu" (Ta droga nie jest zła, ale nie dla każdego) LUB "Obejrzę kurs i zrobię własną wersję tej aplikacji na podstawie kursu" (tu już trochę gorzej) LUB "Obejrzę kurs i przepiszę kod linijka po linijce, na koniec uznam, że to moja aplikacja" (Tak nie rób).

Osobiście uważam, że najlepszym pomysłem na aplikację jest coś powiązanego z twoimi zainteresowaniami, lub będzie czymś co zautomatyzuję ci w jakiś sposób pewne operacje. Najlepiej by było, gdyby po prostu twój projekt był rozwiązaniem na dany problem. Programista to ogólnie rzecz ujmując - w sposób informatyczny rozwiązuje dany problem. Wiele osób błędnie myśli, że programista = koder. Otóż nie. Kod, programy, środowiska - to tylko narzędzia używane przez programistę. Programista tworzy programy, które są odpowiedzią na jakiś problem, są wygodnym rozwiązaniem danego problemu. Na początku jest dany problem (zadanie, zwał jak zwał), następnie analiza problemu, na końcu działanie(pisanie kodu).

Można się zmusić do napisania programu dla samego siebie lub do "portfolio", który nam się nie przyda. Można też podejść do tego bardziej w pasjonujący sposób tzn stworzyć rozwiązanie danego problemu, który może ułatwić nam życie. Głupi przykład:

np. Przykładowo codziennie o 7 rano wchodzisz na 3 różne strony, z których pobierasz różne dane w jakimś celu. Wchodzisz na każdą stronę z osobna, klikasz odpowiednie przyciski, być może masz zakładki. Następnie kopiujesz zawartość, tworzysz plik i drukujesz. Co możesz zrobić?

Możesz sobie zrobić magiczną aplikację, która wejdzie za ciebie na dane strony, sparsuje pożądane informacje(lub prościej - użyje publicznego API danej strony jeśli je posiada) i stworzy plik, w którym umieści dane z tych 3 stron. Wszystko w ciągu 10 milisekund.

Kolejny przykład - załóżmy, że oglądasz od 5 lat seriale i chcesz się dzielić z ludźmi wiedzą, robić jakieś recenzje itd. Możesz stworzyć własnego bloga na ten temat, krok po kroku.Na początku nie będzie idealny, ale z czasem stanie się twoją wizytówką.

Oczywiście nie neguję zmuszania samego siebie do tworzenia aplikacji, których nie potrzebujesz i których pisanie w żaden ci się nie podoba, bo cię po prostu nudzą. Mnie osobiście wydaje się to być bardzo naiwnym podejściem do istoty programowania(strata czasu) i rozwiązywania problemów, które nie istnieją, no ale każdy żyje po swojemu.

Od siebie mogę ci polecić pomysł, który może ci się spodobać, temat: 'Aplikacja do dzielenia się inspirującymi pomysłami na aplikacje'
Plan rozwoju.

  1. Prosty program okienkowy pozwalający zapisywać oraz dodawać nowe tematy do pliku przechowującego tematy. Brak użytkowników aplikacji (Logowania/Rejestracji)
  2. Rozbudowa programu o edycję, usuwanie, dodawanie do ulubionych itd.
  3. Stworzenie bazy danych do przechowywania informacji
  4. Stworzenie kont użytkowników, podział na role, logowanie, rejestracja itd.
  5. Zamiana aplikacje okienkowej na webową (np REST API + klient w przeglądarce, poprawa bezpieczeństwa(hashowanie haseł, email aktywujący itp)
  6. Rozbudowa aplikacji o np: komentarze, możliwość oceniania na dany temat, kategorie itd. Oczywiście po drodze dojdzie też walidacja danych, może np okazać się potrzebny użytkownik o odpowiedniej randze, który będzie mógł usuwać dany temat lub komentarz, który będzie wulgarny lub niepoprawny politycznie :)
  7. Rozbudowa rejestracji - użytkownik podaje np szczegółowe dane o sobie, np czego się uczy, jaki zawód wykonuje, co robi w wolnym czasie.
    Teraz można spróbować stworzyć jakiś naiwny algorytm, który na podstawie danych użytkownika zasugeruje mu odpowiednie tematy, np jeżeli użytkownik lubi filmy to wybierze z bazy danych kilka tematów, które są:
    a) powiązane z filmami
    b) popularne, wybierane przez innych użytkowników
    itp. Ten punkt może wydawać się trudny, ale zapewniam, że to tylko złudzenia. Oczywiście mówimy tutaj o prostym, naiwnym algorytmie.
  8. Rozbudowa algorytmu o np: analizę wyszukiwanych fraz w twojej aplikacji. Może to działać np tak, że trzymasz w bazie danych wszystkie frazy, które użytkownik ostatnio używał w wyszukiwarce. Na podstawie tego zbierasz najczęściej powtarzające się wyrazy/słowa w znalezionych frazach i porównujesz z kategoriami projektów/nazwami, następnie znowu wybierasz kilka popularnych tematów i sugerujesz użytkownikowi.
  9. Możesz dodać np opcję kontroli proponowanych tematów np dać użytkownikowi możliwość usunięcia danego tematu z proponowanych, tak aby więcej dany temat mu się nie wyświetlił itp.

Oczywiście tak można rozbudowywać aplikację w nieskończoność, ogranicza cię tylko własna wyobraźnia. Jeżeli wkręcisz się w dany projekt, to pomysły będą pojawiały się same. Jeżeli spodobał ci się temat i zrobisz zaproponowaną przeze mnie aplikację samodzielnie od A do Z pamiętając o różnych szczegółach np zasadach czystego kodu, wzorcach, obsłudze błędów, internacjonalizacji, koniecznie o testach integracyjnych, jednostkowych, jakiś docker to śmiało możesz szukać pierwszego stażu lub pracy. Warto też wrzucić tutaj od czasu do czasu kod do sprawdzenia, zawsze ktoś podpowie i nakieruje.

0
Crazy_Rockman skomentował(a):

Problem może i nie jest trywialny, za to całkiem nieźle oddziela ludzi, których interesuje programowanie od takich, którzy 'hcom zostać programistom'.

Czyli co, prawdziwy pasjonat to tylko taki, który od samego początku zafiksował się na jednej działce i nie widzi świata poza nią?

Skoro mierzymy prawdziwość zainteresowań stopniem specjalizacji, to największymi pasjonatami są ludzie zakładający wątki typu

Cześć,

Tydzień temu postanowiłem zostać Java Backend Developerem, gdzie moje 15k?
1

Dolacz do jakiegos open source i zacznij od naprawy prostego buga.

1

skad pomysl ze webdev to całość programowania? Niech sprobuje zaimplementowac wlasny system operacyjny (patrz: xinu), albo kompilator, a nuz to go bardziej zainteresuje

0

mobilne, webowe czy desktopowe

Jeżeli swoją naukę wiążesz z potencjalną, przyszłą pracą to desktopa sobie od razu daruj. Dzisiaj już nawet konkretnej roboty w tym nie ma, a jak się znajdzie to na rozmowie może się okazać, że potrzebują kogoś kto pomoże im przepisać apkę do weba.

Rozwojówka na desktopy jest martwa. Taka prawda.

1 użytkowników online, w tym zalogowanych: 0, gości: 1