Od czego zacząć naukę programowania?

Od czego zacząć naukę programowania?
vpiotr
  • Rejestracja: dni
  • Ostatnio: dni
2
fdsgdsgd napisał(a):
Spine napisał(a):

najważniejsze w programowaniu nie jest samo klepanie kodu, czy przerabianie kursów w stylu "jak osiągnąć upragniony efekt". Najważniejsze jest umiejętne zaprojektowanie swojego kodu. Czyli na sam początek przyswój sobie UML i wzorce projektowe, kiedy stosować dziedziczenie, kiedy nie

Nie zgadzam się
Najpierw trzeba sobie dużo pokodzić żeby zobaczyć na jakie problemy się natrafia
inaczej czytając o wzorcach ciągle będzie sobie zadawał w głowie pytanie "wtf" i "po co tak komplikować skoro można to zrobić strukturalnie dużo prościej"

Popieram. Uczenie się na początku wzorców projektowych, paradygmatów czy standardów kodowania może się skończyć właśnie takim WTF. Właśnie dlatego wielu ludzi wybierało PHP-a nad Javą, bo w Javie od wcześniej wymienionych tematów w ogóle się zaczyna. A nie o to w programowaniu chodzi. Dzisiejszy PHP to też już przerost formy nad treścią od początku, chociaż w wydaniu PHP to efekt jest taki straszno-śmieszny. Zepsuty język do którego dopisuje się ideologię.

Mam wrażenie, że ludzie pracujący nad rozwiązaniami opartymi o Jave lubili swoją robotę i nie musieli chyba tłumaczyć się z efektywności, ponieważ przez długi czas pracochłonność rozwiązań nie była raczej ich priorytetem. Teraz owszem, powstają rozwiązania nastawione na wydajność programisty, ale raczej ich mało (Play, Grails).

Ostatnio robiłem tłumaczenie JSF/PrimeFaces na polski, w porównaniu z wygodą Drupala to jeden wielki WTF.

  • JSF: message bundle, teksty trzeba wydłubać z odpowiedniego JAR-a
  • PrimeFaces: JavaScript + XHTML / resource bundle + message bundle, teksty trzeba wydłubać z JAR-a
  • kod backendu: resource bundle + bean

Wzorce projektowe, idiomy, standardy to rzeźba którą można się uczyć mając jakąś bazę swojego oprogramowania w doświadczeniu. Bez tej bazy to tylko wydmuszka, którą można pokazać gdzieś na slajdach, ale nie zbliża do rozwiązania codziennych problemów (biznesowych).

R3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 320
0

thx za wypowiedzi.

Mam dodatkowe pytanie. Co myslicie o certyfikacji Java? Nie mam wyksztalcenia w IT, ale lubie tez wyznaczac sobie jakies cele. I taka certyfikacja po drodze bylaby czyms Ok dla mnie do zdobycia ;) Zwlaszcza, ze chyba nie jest to specjalnie drogie. Ogolnie mialoby to byc bardziej 'dla siebie' niz, ze mam jakąś super wiare, że ten papier coś daje.

Przy okazji pytanie (bardziej na przyszłosc, nie znaczy, ze od razu kupie):
Wszędzie poleca się tę książkę: SCJP Sun Certified Programmer for Java 6 Study Guide exam 310-065 (2008 r) - widzialem, ze sporo jest jakis nowszych, ale pod szyldem Oracle itp. to są jakies reedycje czy inne ksiazki? Pytam bo troche lat minelo od wydania tej ksiazki.

świeże recenzje raczej są ok :
http://www.amazon.com/SCJP-Certified-Programmer-Java-310-065/dp/0071591060/ref=sr_1_1?s=books&ie=UTF8&qid=1404989441&sr=1-1 ;)

Z gory thx za odpowiedzi ;)

M6
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 220
0

chcialbym cos zrobic w Java albo C#, nigdy na oczy tego nie widzialem i nie wiem co wybrac. Na chwile obecna mysle o rzuceniu moneta co wybrac. Ktora z tych rzeczy jest mniej problematyczna?

SamSieNaucze
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Jak uwazacie? Czy zwykly srednio inteligentny 30kilku latek, ktory nigdy nie przepadal za matematyka i zawsze mial sklonnosci raczej do tych przedmiotow i zagadnien humanistycznych, jest w stanie nauczyc sie programowania powiedzmy w C# dla .NET? Czy da sie nauczyc jezyka samemu, z kursow online, ksiazek, forow i ogolnie z wlasnego "zapalu"?
Od okolo 4 tygodni po kilka godzin dziennie czytam, ogladam, slucham i chlone wiedze i mam wrazenie, ze im dalej sie zaglebiam w temat C# tym bardziej przeraza mnie jak malo rozumiem i jak wiele jeszcze do nauczenia...
Prosze o komentarze ;-)

  • Rejestracja: dni
  • Ostatnio: dni
0

zwykly srednio inteligentny

możesz przesadzasz? w Polsce to dosyć prawdopodobne. To co u nas nazywają "wychowaniem w skromności" i "nauczeniem pokory" jest nieraz de facto podcinaniem jaj, niestety. Sam o mały włos temu nie uległem.

nigdy nie przepadal za matematyka i zawsze mial sklonnosci raczej do tych przedmiotow i zagadnien humanistycznych

To również może być mylące. Powodów, dla których nienajlepiej szła Ci matma w szkole mogło być wiele, niekoniecznie był to brak talentu/predyspozycji. Nawet jeśli, związek między programowaniem rzemieślniczym, a matematyką jest...skromny?

Czy da sie nauczyc jezyka samemu, z kursow online, ksiazek, forow i ogolnie z wlasnego "zapalu"?

Spokojnie i jak wyżej wspomniałem, nie wymaga to szczególnych predyspozycji jeśli dysponujesz odpowiednią motywacją. To nie spiny cząstek elementarnych ;).

Od okolo 4 tygodni po kilka godzin dziennie czytam, ogladam, slucham i chlone wiedze

To dobrze rokuje. Jakbyś miał słomiany zapał, albo naczytał się o hura, wielkiej kasie, to po takim czasie raczej by Ci przeszło ;).

i mam wrazenie, ze im dalej sie zaglebiam w temat C# tym bardziej przeraza mnie jak malo rozumiem i jak wiele jeszcze do nauczenia.

Lepsze to niż podejście na zasadzie "wiem już wszystko".
Jeśli chodzi o stopień znajomości technologii, w której pracujesz, to z reguły są one zbyt rozbudowane, aby opanować je dobrze w tak krótkim czasie. To z reguły wymaga lat, ale to wcale nie oznacza, że dopiero po latach będziesz wstanie tworzyć coś konkretnego w tej technologii, jakoś na niej zarabiać. Do tego wystarczą solidne podstawy teoretyczne poparte mniejszymi projektami, w których je stosujesz.

fourfour
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 627
3
SamSieNaucze napisał(a):

Od okolo 4 tygodni po kilka godzin dziennie czytam, ogladam, slucham i chlone wiedze i mam wrazenie, ze im dalej sie zaglebiam w temat C# tym bardziej przeraza mnie jak malo rozumiem i jak wiele jeszcze do nauczenia...

Do tego czytania, oglądania, słuchania i wchłaniania dołóż pisanie, i będzie dobrze :)

neomahakala108
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 23
0

Od języka Pascal.

R3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 320
0

Nie chce zakładać nowego tematu.

Mam okazje iść na szkolenie z podstaw SQL, chodzi o język zapytań, używanie, nie administrację. Pracodawca płaci, więc mogę iść. Sam mam sobie poszukać gdzie. W firmie ogólnie jest Microsoft Server ale szkoleń w moim mieście za bardzo nie ma, raczej jest Oracle.

Myśle, że jeśli pojde na Oracla a będę dzialal w Microsoft to raczej nie będzie żadnego problemu? Większość pewnie i tak będzie taka sama?

Z góry dzięki za info.

Ktos
  • Rejestracja: dni
  • Ostatnio: dni
0

Podstawowe zapytania dotyczące wyboru danych, wstawiania danych czy ich aktualizacji to standard SQL. Typy danych będą się różnić w kolumnach i parę pewnych dodatkowych szczegółów. Ale już wszelkie procedury składowane w Oracle to PL/SQL, a w MSSQL - T-SQL. Teoretycznie podobne, ale totalnie nieprzenośne w skali 1:1.

Lepiej zakładać nowe wątki niż dopisywać się w takich bardzo ogólnych. Niestety, nie mam możliwości wydzielenia tego do nowego wątku.

  • Rejestracja: dni
  • Ostatnio: dni
0

Witam. Z tego co czytałem temat literatury był już poruszany, jednak nie padła tam odpowiedź odnośnie kwestii, która mnie interesuje. Chciałbym kupić sobie książkę, w której znajdę podstawy programowania i wszelkiej wiedzy z tym związanej. Najlepiej, aby były to zupełne podstawy, bo obecnie wiem niewiele. Padł tu tytuł "C++ dla Programistów Gier". Czy byłby to dobry wybór? Słyszałem też o "Symfonia i Pasja C++" Jerzy Grębosz (chociaż to chyba za wysoki poziom, nie wiem) oraz "Język C++" Bjarne Stroustrup. Co wybrać dla kompletnego świeżaka?

fornakter
  • Rejestracja: dni
  • Ostatnio: dni
0

Czy jakaś firma produkuje jeszcze kompilator C++ a'la Delphi Borlanda?

ŚR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1
0

Witam serdecznie,
źle czy dobrze - już nieważne - lecz zdecydowałam, że naukę programowania rozpocznę na przykładzie Pythona. Zaczęłam od kursu na Codecademy.com, youtubowych wykładów o programowaniu i tutoriala "learn Python the hard way" (jestem w trakcie przerabiania). Jednocześnie czytam książkę Marka Lutza "Learning Python". I niby wszystko fajnie ale...

wydaje mi się że brakuje mi bardziej ogólnej wiedzy, czegoś co by pomogłoby mi lepiej to wszystko ogarnąć. Poszukuję jakiegoś tutoriala lub książki dobrze opracowanej - najlepiej po angielsku, lecz może być i po polsku - które dotyczyłyby ogólnych podstaw programowania, nie na podstawie jednego języka, ale właśnie wielu różnych. Niestety nie mogę nic takiego znaleźć albo po prostu źle szukam. Wszystkie książki/tutoriale jakie znajduję są na przykładzie konkretnego języka i wymagają często właśnie ogólnego rozeznania, którego mi brakuje.

A może to właśnie moje podejście jest niewłaściwe? Skoro większość książek jest pisana na przykładzie konkretnego języka to może tak właśnie trzeba się tego uczyć? Jak sądzicie?

Gjorni
  • Rejestracja: dni
  • Ostatnio: dni
13

A może to właśnie moje podejście jest niewłaściwe?

Dopóki nie zdasz sobie sprawy z tego, że programowanie, to tylko narzędzie do rozwiązywania określonych problemów, nauka jakiegokolwiek języka będzie Ci szła jak krew z nosa. To tak jak budowaniem z klocków LEGO. Załóżmy, że stoi przed Tobą ogromne pudło przemieszanych klocków z dziesiątek superaśnych i drogich zestawów. Czy Twoja zabawa klockami będzie polegać na wyciąganiu każdego z klocków z osobna, oglądaniu go i odkładaniu po obejrzeniu na bok? Czy może raczej więcej frajdy sprawiłoby Ci, gdybyś próbowała zbudować wymyślony przez siebie, albo podejrzany na obrazku model? Mi więcej frajdy sprawia to drugie. I po takiej zabawie, nawet jak rozwalę model na pojedyncze elementy i wrzucę je z powrotem do pudła, to przy budowie następnego, bardziej złożonego modelu, wiem już jakie fajne "moduły" mogę wykorzystać, aby nowy model wyglądał zacniej od poprzedniego.

Programowanie, to nie sztuka sama w sobie. Piękno programowania jest widoczne jedynie w odpowiednim kontekście, tj. przy implementacji rozwiązania posiadanego problemu - czyli np. budowy wymarzonego modelu z klocków z ogromnego pudełka.

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1683
1

po podstawach od nauki debugowania. szukanie błędów i zgadywanie przez system.out.println'y potrafi wk****icć

G2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 14
0

Może Polecił by ktoś jakieś wartościowe szkolenia ale nie online tylko prowadzone przez firmy gdzie zajęcia odbywają się w grupach np 2-3 osobowych. Ja uczęszczałem kiedyś na Cisco i ten kurs dał mi niesamowitą wiedzę w sieciach. Są kursy z takiej dzieciny w językach programowania?

D1
  • Rejestracja: dni
  • Ostatnio: dni
0

Szczęśliwego Nowego (programistycznego) Roku!!

Ja mam pytanie które się w internecie powtarza ale na które nie znalazłem satysfakcjonującej odpowiedzi. W firmie w której pracuje dorywczo zajmuje się PHP. Jakieś proste moduły , panele do zbierania statystyk reklam, systemy haseł jednorazowych. Mam też do czynienia z wordpressem więc też dorabiam jakieś proste rzeczy wykorzystując skórki potomne i shortcody do bez inwazyjnego dobudowywania funkcji. Ale brak mi doświadczenia z projektowaniem systemów/stron od podstaw. Raz tylko programowałem dosyć rozbudowany CRM w oparciu o Code Ignitera (którego już słabo pamiętam.

W nowym roku chciałbym bardziej profesjonalnie zająć programowaniem. Dlatego chciałbym zacząć programować systemy od podstaw i do tego "po Bożemu" czyli z wykorzystaniem programowania obiektowego. Mam świetną książkę do obiektowego PHP Matta Zandstry ale wiedza tam przedstawiona jest bardzo encyklopedyczna. Brak w niej przedstawienia jak i od czego zacząć programowanie systemu w sposób obiektowy, jak projektować klasy, co hermetyzować i dlaczego, które rzeczy zrobić obiektowo a które lepiej zostawić w strukturalnym. Pomimo negatywnych opinii ciekawą pozycją wydaje się "Rusz głową. Analiza i projektowanie obiektowe" bo uczy podejścia obiektowego w projektowaniu i pokazuje dlaczego te a nie inne dane i funkcje zostały "ubrane" w klasę. Inną książką która wydaje się ciekawa to "projektowanie obiektowe. Role odpowiedzialność i współpraca".

Więc jakie książki polecacie do nauki nie tyle programowania co myślenia i projektowania obiektowego od podstaw? Dodam że książka to preferowana forma (może być anglojęzyczna)

Schadoow
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1082
  • Rejestracja: dni
  • Ostatnio: dni
0

Jak to jest z tym "wymyślaniem koła na nowo" ? Z jeden strony pisz jak najwięcej sam a z drugiej korzystaj z dostępnych bibliotek. To jak rozsądnie do tego podejść?

Początkujący powinien rzeźbić czy wręcz przeciwnie wymyślić sobie coś bardziej zaawansowanego i korzystać z kilku bibliotek/frameworków itp. ?

pedegie
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 204
4

@Wybitny Pomidor
To jak rozsądnie do tego podejść? - według mnie pisać jak najwięcej przy użyciu bibliotek, własnie po to żeby nie wymyślać koła na nowo. Przecież jeśli korzystasz z bibliotek to nadal rzeźbisz "samemu". Zamiast pisać funkcję np potęgowania liczb można się posłużyć już gotową którą ktoś już napisał. I kod czytelniejszy i mniej tego kodu będzie a przede wszystkim szybciej :P

  • Rejestracja: dni
  • Ostatnio: dni
0

Wolałem się upewnić. ;)
Czyli jak np. mam pomysł w którym jest trochę parsowania, trochę web, trochę baz danych (przynajmniej takich rzeczy chce użyć) to szukam do tego odpowiednich narzędzi i skupiam się na tym by z tych klocków zbudować co zamierzam, czytam dokumentacje, tutki itp. by osiągnąć cel. Przy czym napotkam pewnie mnóstwo problemów, ale chodzi o to by sobie z nimi poradzić, a cała reszta to narzędzia. Czy tak? ;)

flowCRANE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tuchów
  • Postów: 12270
2

Tak - po to masz do dyspozycji tyle różnych technologii i do nich zestawy API, aby z nich korzystać; Nikt raczej nie pisze własnej biblioteki standardowej i własnych API do używania popularnych technologii, bo to już jest zrobione i szkoda na to czasu.

H1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 185
0

Taka informacja powinna być zawarta w każdym poradniku "jak zacząć" ;)

LukeJL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8488
4

Jak to jest z tym "wymyślaniem koła na nowo" ? Z jeden strony pisz jak najwięcej sam a z drugiej korzystaj z dostępnych bibliotek. To jak rozsądnie do tego podejść?

Łącząc te 2 podejścia? ;) Najzabawniejsze, że wcale nie chodzi o programowanie, tylko raczej o czas potrzebny na wdrożenie czegoś (czy szybciej napiszesz coś sam, czy używając gotowej biblioteki*) oraz o jakość (czy lepiej coś zrobisz sam, czy używając biblioteki?), oraz o dopasowanie do konkretnej sytuacji (czy będziesz w stanie zgrabnie zintegrować bibliotekę X ze swoim projektem? Czy lepiej użyć biblioteki X czy biblioteki Y? Czy obu tych bibliotek? Czy żadnej? itp.)

*i nie zawsze wcale odpowiedź brzmi "używając biblioteki", bo czasem szybciej można zrobić coś samemu. Wszystko zależy od problemu, dostępnych narzędzi, naszych umiejętności etc.

Tylko, że to też nie takie proste, bo dopiero z doświadczeniem w programowaniu oraz samą wiedzą na temat dostępnych narzędzi - nabiera się umiejętności osądu i wyboru odpowiedniej technologii. Wraz z doświadczeniem nabiera się też umiejętności pisania programów w ten sposób, żeby móc w trakcie pisania zmienić bezboleśnie dane narzędzie, daną bibliotekę na inną, bez wprowadzania drastycznych zmian w kodzie (czyli wybór biblioteki na początku nie musi być wcale ostateczny).

Jeszcze jest taka sprawa, że biblioteki zasłaniają to co jest pod spodem. Jeśli ktoś korzysta całe życie z gotowych ORMów, to może nawet nie wiedzieć, że istnieje coś takiego jak bazy danych i zapytania SQL. (i pewnie mnóstwo innych przykładów można podać). Więc myślę, że do własnych celów edukacyjnych lepiej jest zrobić niektóre rzeczy chociaż raz samemu, żeby zobaczyć z czym to się je.

86
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Od dość dawna noszę się z zamiarem i chęcią nauki jakiegoś języka.
Na studiach były podstawy pascala (dość dawno temu).

Z poradnika "jaki język..." wpisuję się w sumie w kilka punktów. Własna wola, zainteresowania i być może względnie niedługo i w pracy jakieś zagadnienia z dziedziny programowania wpadną.

W zasadzie "problem" jest tylko jeden. Brak ściśle określonego celu co przekłada się na problem z określeniem drogi niego.
Plus jest taki, że mogę startować w dowolnym kierunku.
Czy ma znaczenie w jakim? Względnie pod ręką mam książkę do C++ i pythona.
Któryś z w/w czy z uwagi na brak konkretnych celów i wymagań coś zupełnie innego?

86
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Dzięki za podpowiedź i jeszcze jedna mała kwestia. 2.x czy 3.x?
Dopadłem ciekawą książkę do 2, a kolega pożyczył mi swoją do 3.
Z tego co kojarzę jakiś czas temu 3 była "zbyt" nowa. Coś się zmieniło czy dalej lepiej iść w 2?

PZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kołobrzeg
  • Postów: 1
0

Witam,
Mam na imię Patryk, lat 34, bardzo dobrze czuję się w hardware ale...
Otrzymałem propozycję pracy jako programista Delphi, Object Pascal.
Nigdy nie programowałem, doceniono mnie za pracowitość w całkiem innej dziedzinie.
Pracodawca zaoferował, że mnie wyszkoli, wie o tym, że zaczynam od totalnego zera.
Czy możecie mi powiedzieć od czego powinienem zacząć?
Przeczytałem to: Rozdział 1
oraz to: Rozdział 2
jednak nie do końca idzie mi zrozumienie tego tematu.
Poradnik napisany bardzo prostym językiem, jednak potrzebowałbym czegoś więcej, w sensie, dodatkowych informacji co jest stosowane, dlaczego, kiedy mi się to przyda (np tablice) a kiedy będzie lepiej zastosować coś innego.

Chcę się nauczyć Object Pascala i Delphi ale nie wiem od czego mam zacząć i tu prośba - żeby ktoś mnie pokierował na początku, jak załapię to już dam sobie radę.
Pozdrawiam.
Patryk.

  • Rejestracja: dni
  • Ostatnio: dni
0

Czy to prawda że Java jest zastępowana w webowych aplikacjach czym innym? I gdyby nie Android jej udział na rynku by spadał?

kaczus
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 1403
0
PatrykZKL napisał(a):

[...]
jednak nie do końca idzie mi zrozumienie tego tematu.

Potrenować na przykładach, spróbować pozmieniać coś w przykładzie i zobaczyć, czy zadziała, tak jak myślałeś, jeśli nie, spróbować inaczej, a jak nic nie będzie pomagało, zapytać - tak nauczysz się najlepiej.

Poradnik napisany bardzo prostym językiem, jednak potrzebowałbym czegoś więcej, w sensie, dodatkowych informacji co jest stosowane, dlaczego, kiedy mi się to przyda (np tablice) a kiedy będzie lepiej zastosować coś innego.

To przyjdzie z doświadczeniem własnym, oraz cudzym (przegladając cudze kody)

Chcę się nauczyć Object Pascala i Delphi ale nie wiem od czego mam zacząć i tu prośba - żeby ktoś mnie pokierował na początku, jak załapię to już dam sobie radę.
Pozdrawiam.
Patryk.

odpowiedź jaką dostał Filip Jaślar, gdy przybył do któregoś miasta (którego nie znał) na koncert i tam grającego na ulicy zapytał "jak trafić do filharmonii", odpowiedź była prosta "ćwiczyć, ćwiczyć i jeszcze raz ćwiczyć"

czyli w tym wypadku czytać na ten temat programowania i programowania w delphi i testować (i tak dalej :)

Henry23
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 4
0

Polecam http://www.codecademy.com/ mają dużo fajnych ćwiczeń dla początkujących, można sobie zobaczyć specyfikę kodowania w kilku najpopularniejszych językach programowania.

complex
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

Proponuję wpierw HTML 5, CSS, JavaScript, PHP i SQL. Jak dobrze to opanujesz to wybierz C++ żeby mieć jakiekolwiek podstawy a potem coś z kręgu C#, Java, VB.NET. Polecam ci również książki Helionu do nauki.

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.