Pomoc w wyborze języka programowania i kilka ogólnych rad

Wt nie zostało stworzone do tworzenia portali tylko do urządzeń wbudowanych. C++ nie nadaje się do tworzenia aplikacji internetowych. Jak nie wierzysz to sam sprawdź :wink:

 Obecnie koszty utrzymania kodu są znacznie wyższe niż koszt maszyn i pobieranego prądu, więc zazwyczaj lepiej napisać w czymś tańszym i łatwiejszym w utrzymaniu niż C++. Są oczywiście wyjątki i do tego takie projekty służą.

W toku.

@Fizyda A może jakaś anglojęzyczna książka/poradnik jest bardziej aktualny i godny uwagi. Język to nie problem a koszt Symfonii jest nie mały dlatego wolę sprawdzić każdą alternatywę.

Symfonia jest dobra dla osób które nie umieją lub uczą się programowania, uczy ona programowania w języku C++ a dodatkowo uczy samego języka i środowiska.

Jeśli umiesz już programować i tylko chcesz poznać ten konkretny język to spokojnie wystarczy Ci internet, a nawet samo to: http://www.cplusplus.com/reference/ w przypadku c++.

Osobiście uważam że dużo trudniej jest się nauczyć programowania z internetu, kursy owszem są, ale różnej jakości i bardzo często nie traktują o wszystkim. Poza tym wiedz w internecie jest trochę porozrzucana przez co nauczenie się tego zajmie więcej czasu. Z poziomem zrozumiałości tłumaczonego zagadnienia też jest różnie.

Nie ukrywajmy, dobre kursy też są płatne. Jeśli chcesz mieć dostęp do dobrej wiedzy musisz wcześniej czy później zapłacić. Osobiście ucząc się niektórych rzeczy z darmowych tutoriali czy pseudo kursów jeszcze nigdy nie nauczyłem się wszystkiego co potrzebne z jednego miejsca. Zazwyczaj równolegle musiałem przerabiać kilka ścieżek, ale by tak się uczyć trzeba wiedzieć czego musisz się nauczyć. Takie rzeczy traktuję raczej jako uzupełnianie aktualnej wiedzy niż uczenie się czegoś od podstaw.

Przykład z mojego życia. Chciałem poznać i nauczyć się obsługi Photoshopa, tak by móc coś wykonać dla siebie czy potrafić pociąć layout. przez rok uczyłem się z kursów, forów i tutoriali zarówno polskich jak i angielskich. Myślałem że już tyle umiem i w ogóle. Potem trafił mi się w pakiecie z innym kursem kurs właśnie photoshopa, dopiero po nim ogarnąłem program, i do tej pory tak naprawdę nie nauczyłem się niczego bo nie znałem podstaw i nie znałem wszystkich podstawowych narzędzi, umiałem jedynie wdrażać wyuczone schematy na “coś”, a nie robić coś przy użyciu photshopa. Dopiero jak poznałem podstawy tutoriale zaczęły mi coś dawać, bo zacząłem poznawać ewentualne techniki czy alternatywne sposoby na uzyskanie czegoś. Potem w podobnej formie wykorzystywałem je gdy była ta potrzeba. W tej chwili to nawet jak złapię jakiś ciekawy tutorial z PSa to nie wnikam w szczegóły z grubsza przejrzę jak uzyskują dany efekt i wszystko, to gdzieś zostaje i w razie potrzeby jestem w stanie sobie przypomnieć że efekt A uzyskać można tak albo tak i różni się to tym i tym.

Ja Cię nie namawiam do wydawania kasy na książkę tą czy inną, tylko podałem sposób w jaki ja się uczyłem i jaki moim zdaniem jest dobry, szybki i względnie tani by nauczyć się programowania.

Jeśli nie chcesz wydawać kasy bo nie jesteś pewny to poszukaj sobie na necie starego wydania Symfonii, są one spiracone na 100%, bo na początku z niej korzystałem. Ale jest to stare wydanie które szybko okazuje się że jest nieaktualne dlatego kupiłem nowe wydanie (symfonai C++ standard) i różnice widać gołym okiem w tym co jest przedstawiane w książce. Na początek jeśli o same podstawy chodzi są one bardzo podobne i możesz zobaczyć jaka jest dla Ciebie jakość tej książki.

Ale pod żadnym pozorem nie ucz się w całości ze starego wydania bo to tylko strata czasu i zgłupiejesz przez to tylko.

Gdybyś chciał kupić książkę to uważaj na to jaką kupujesz, nie wiem jak teraz ale gdy ja kupowałem były jeszcze gdzieniegdzie stare wydania sprzedawane jako nowe, zwłaszcza na allegro, w księgarniach takiego czegoś nie powinno być.

@Fizyda Podstaw można się spokojnie uczyć. Ważne, żeby wiedzieć, co jest aktualne, a co nie.

Też tak uważam. Książki przydają mi się tylko wtedy gdy tezmat jest trudny, a ja chcę zacząć się uczyć nie tylko siedząc przy komputerze. Traktuje je jako wstęp, a prawdziwa nauka jest jak się pisze, ale własny kod a nie przepisuje przykłady z książki.

Ja nie wiem po co ludzie przepisują przykłady kodu z książek, żeby sprawdzić czy autor się nie pomylił? Nie wiem. Osobiście zawsze wgryzam się jedynie w kod tak by każda linijka była zrozumiała dla mnie, ale nie spotkałem się z sytuacją by coś nie było jasne ponieważ zawsze każda nowość jest opisywana dokładnie linijka po linijce.

Zadań z książek też jakoś nie robiłem, nawet ich nie czytałem. Jak rozumiem temat to to mi wystarcza. Ale to też może wynika od tego jak i po co się uczyłem.

Mam podobnie. I coraz częściej żałuję, że zdecydowałem się na jakąś książkę. Wolę pobawić się tutorialem, a potem popisać sobie jakiś przykładowy kod. Dobrym pomysłem jest pisanie testów jednostkowych i dopisywanie do tego kodu.

No brawo, ***dolenie o Chopinie.

Jak każdy zerknie na te wszystkie komentarze, to strach brać się za języki  z rodziny C. Polecam C++, chociaż żałuję, że najpierw teraz uczę się Javy. Chociaż też to w pewnym stopniu “krewnym” rodziny C.

Każdy kłóci się, który język wybrać. Uniwersalny to C++ i co najlepsze- wieloplatformowy.

A co do jednego komentarza:

Java to mielonka firmy Oracle, a JRE każdy musi mieć, żeby niektóre strony działały a także gry on-line.

Każdy może skarżyć się na nieprzejrzysty kod. Jeśli trochę się pouczysz, to zadasz sobie pytanie : czy nie można prościej?

 

POLECAM C++

Jezeli chcesz znalezc prace szybko, to java, .net, javascript, php sa najlepszym rozwiazaniem.

Ma to swoje zalety - masa zrodel, kazdy problem ma juz rozwiazanie, bezstresowe podejscie do tematu.

Problem w tym, ze ta praca nie bedzie ani dobrze platna, ani przyjemna, ani odkrywcza - bedziesz zwykla malpka klepiaca kod przez pare lat, az staneisz sie malpka klepiaca kod na wyzszym poziomie. Oczywiscie, sa osoby robiace na tym kokosy, ale to sa zwykle dosc wybitne jednostki. Gdybys taka byl (bez urazy) to nie zadawal bys pytania na tym portalu.

A jezeli chcesz miec dobra prace za rozsadne pieanidze nie skupiaj sie na jezyku. Skup sie na metodologii, frameworkach, oraz pozniej systemach niszowych. Co z tego, ze swiat potrzebuje milion klepaczy w javascript, jezeli placi im neico wiecej niz studentom? Nauka OraclePL czy ABAP wrzuci Cie od razu na kilkukrotnie wyzsza polke finansowa.

Przy okazji, jezeli szukasz sposobu, aby sie nauczyc jezyka i nie zniechecic, sorry, nie ma tak latwo. Programowanie to nie jest magia, to ciezka robota i musisz po prostu siasc i ciezko nad tym popracowac, samo nic nie przyjdzie.

Zakupiłem “symfonie c++ standard” (najnowsze wydanie) i muszę przyznać że wszystko jest bardzo ciekawie i przejrzyście napisane.

Mam tylko jedno pytanie: Jak to jest z nazwami zmiennych, komentarzami itd. Lepiej jest je pisać od razu po angielsku żeby nie nabrać złych nawyków czy lepiej zostać przy języku ojczystym jeśli interesuje mnie praca na terenie kraju? W jakiej formie ewentualne programy do portfolio itd. będą się lepiej prezentować?

Chyba w każdej firmie pisze się nazwy zmiennych/klas/funkcji po angielsku. Osobiście zawsze używam angielskich nazw, pewne rzeczy nazwane po polsku brzmią bardzo dziwnie dodatkowo często wraz jest dłuższy niż jego odpowiednik w angielskim no i ostatni powód za nazwami po angielsku to taki że czasami korzystasz z technologi która nie ma nazwy po polsku więc masz problem. Dodatkowo kod pisany po polsku wygląda dziwnie bo standardowe biblioteki używają nazw angielskich, więc masz takie mieszanie 2 języków np.

int losowa = rand();

 

Rozumiem. Sam wychodzę z założeń które przedstawiłeś. Chciałem się tylko upewnić jak widzi to potencjalny pracodawca.

Wszystko, dosłownie wszystko, razem z dokumentacją i komentarzami, pisz po angielsku. Nie dlatego, że tak “wygląda mniej dziwnie”. Po prostu nigdy nie wiesz, kto jeszcze będzie pracował nad kodem. W tym miejscu chciałbym podziękować pewnej fińskiej firmie, w której kodzie robiłem poprawki. Fińskie komentarze i nazwy niektórych zmiennych/metod bardzo mi wtedy pomogły… :expressionless:

Można też łączyć polski z angielskim. Np. nazwy po polsku i dodawać człony typu get, set i on w odpowiednich funkcjach. Oczywiście to tylko w przypadku, kiedy mamy pewność, że kodem nie będzie się zajmował nikt inny lub tylko Polacy. Ktoś pisał na DP, że sprawdza się to u niego w firmie.

A teraz takie mam pytanie:

Uczę się Pythona z książki Michaela Dawsona “Python dla każdego” i nurtuje mnie takie coś: mniej więcej wiem co i z czym się je, jednak jak przychodzi do robienia ćwiczeń to wertuję książkę i robię ćwiczenia na podstawie wcześniejszych przykładów. Czy to jest dobre i czy podczas np. późniejszej pracy również będę mógł się wspomagać literaturą czy lepiej jak zacznę wkuwać składnię?

Poszukasz 20x i później składnia sama wejdzie do głowy. Poza tym olej literaturę zacznij szukać w necie (np na stackoverflow), oraz w dokumentacji.

**@drobok ma rację. **Nikt do Ciebie nie będzie miał pretensji, że się wspomagasz,  bo praca programisty polega właśnie na używaniu Googla (zwykle wyskakuje stackoverflow) i przyklejaniu tego co się znajdzie. I tak osiem godzin dziennie, chyba, że pracujesz sześć. Jak niemożna nic znaleźć to trzeba pytać na stackoverflow i czekać na odpowiedź. Więc starczy jak zapamiętasz słowa kluczowe. Dodatkowo  IDE mają coś takiego jak snippety/template - to takie szablony. Wybierasz taki Snippet w IDE i Ci wkleja szablon np. klasy (zmieniasz tylko nazwę klasy). Możesz snippety  sam zdefiniować. Więc wszystko czego nie chce Ci się pamiętać masz pod ręką. 

https://pl.wikipedia.org/wiki/Snippet_(programowanie)

Tak samo wpisujesz obiekt wciskasz kropkę i IDE ci podpowiada jakie masz metody.

np wpisujesz “a”. i Ci podpowiada np.  capitalize()

http://imgur.com/7954njK

Tylko musisz korzystać z IDE PyScripter  lub PyCharm, bo na domyślnym tego nie ma. Pod F1 w PyScripter masz python manuals (jak braknie internetu).

Czyli właściwie nie musisz męczyć pamięci. Podstawowa składnia (jak używać słowników i for wejdzie Ci sama do pamięci). Na rozmowie kwalifikacyjnej mogą Ciebie wypytywać o słowa kluczowe lub co to jest Django lub ewentualnie posadzą przed komputerem z internetem i każą coś sklecić z tego co jest w internecie. Na wszelki wypadek przeczytaj w Wikipedii co to jest Django jeśli oferta pracy wymaga znajomości Django.

 

 

Może mi ktoś wyjaśnić jak dobrze zainstalować i używać visual studio 2015 z obsługa c++? stworzyłem prosty skrypt z rozszerzeniem .cpp i nie ma nawet opcji do kompilowania. Na stronach MS wyczytałem że trzeba tworzyć jakieś projekty itd. ale po jakiego grzyba mi to kiedy chcę zrobić proste “hello world”. Po proszę o jakiś kurs albo alternatywne IDE do nauki bo to jakaś czarna magia przeznaczona chyba tylko do obszernych projektów a nie kodzenia konsolowych skryptów.

Liczę na szybkie rady bo obecnie jestem odcięty o praktyk teoretycznych.

Nie kombinuj tylko stwórz projekt. Po prostu wybierz z menu File->New ->Project

Wybierasz c++ i console aplication (albo coś podobnego nie mogę teraz sprawdzać i on Ci utworzy domyślny plik cpp. I będziesz mógł go skompilować.

 

http://cplusplusprogrammingtutorials.blogspot.com/2015/05/how-to-create-visual-c-plusplus-win32-console-app-using-visual-studio-2015-part-1.html