Jak ustawić plan nauki programowania?

Jak ustawić plan nauki programowania?
MA
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 13 lat
  • Postów:3
1

Witam!

Kilka lat temu zacząłem naukę programowania C++, którą jednak porzuciłem. Jednak teraz chciałbym wrócić do programowania, ponieważ nie wykluczam związania swojej przyszłości z tą dziedziną.

Znalazłem taki oto tutorial:

http://www.cplusplus.com/doc/tutorial/

Stwierdziłem że początkowe 75% tego tutoriala raczej znam i pamiętam z czasów gdy się uczyłem C++. Jaki wg Was jest mój poziom zaawansowania (czytaj: po jaki kurs/książkę powinienem sięgnąć po skończeniu tego tutka?).

Chciałem się też zapytać czy warto poświęcać czas na naukę zaawansowanego C++, jakie są obecne trendy? Czy warto skupić się na czymś innym patrząc też na perspektywę zarobków, pracy w jakiejś firmie?

Jak pokierować swoją edukacją w zakresie programowania aby móc pisać użyteczne programy na które będzie popyt?

Liczę na dobre wskazówki, pozdrawiam,

Makaveli.

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:dzień
  • Lokalizacja:Wrocław
1

Obecne trendy to:

  1. aplikacje dla biznesu, często w formie WWW;
  2. aplikacje na urządzenia mobilne.
    Jeśli chodzi o to pierwsze, to królują dwie technologie: Java i .NET, jeśli o to drugie, to języki specyficzne dla platformy. C++ ma i będzie miał coraz mniej zastosowań.
3
Makaveli napisał(a):

Kilka lat temu zacząłem naukę programowania C++, którą jednak porzuciłem. Jednak teraz chciałbym wrócić do programowania, ponieważ nie wykluczam związania swojej przyszłości z tą dziedziną.

Programowanie nie jest pisaniem kodu, znajomością konkretnego języka, to rozwiązywanie problemów... a czasem ich tworzenie (patrz PHP). Pewnie z 90% używanych w pracy umiejętności będzie niezależnych od języka. Elementy algorytmiki (chociaż znajomość złożoności obliczeniowej), wzorce projektowe, SOLID itd. czy bardziej "praktyczne" podstawy: kontrola wersji (git!) i debugowanie, to wszystko jest w dużej mierze niezależne od technologii, z którą pracujesz, (prawie) wszędzie korzysta się z tego podobnie.

Makaveli napisał(a):

Znalazłem taki oto tutorial:

http://www.cplusplus.com/doc/tutorial/

Stwierdziłem że początkowe 75% tego tutoriala raczej znam i pamiętam z czasów gdy się uczyłem C++. Jaki wg Was jest mój poziom zaawansowania (czytaj: po jaki kurs/książkę powinienem sięgnąć po skończeniu tego tutka?).

Jaki jest Twój poziom? $diety wie, jak sam zauważyłeś, to jest TUTORIAL, pokazuje jedynie podstawy najczęściej używanych aspektów języka.

Makaveli napisał(a):

Chciałem się też zapytać czy warto poświęcać czas na naukę zaawansowanego C++, jakie są obecne trendy? Czy warto skupić się na czymś innym patrząc też na perspektywę zarobków, pracy w jakiejś firmie?

Jak pokierować swoją edukacją w zakresie programowania aby móc pisać użyteczne programy na które będzie popyt?

Liczę na dobre wskazówki, pozdrawiam,

Takie wątki są dosłownie co tydzień, dlaczego nikt z Was nawet nie wpada na tak genialny pomysł, że może nie być pierwszym z tak "oryginalnym" dylematem (czyt. programiści zarabiają furę kasy, /me chce furę kasy, wnioski narzucają się same)? Poprzedni taki klient był kiedy, z tydzień temu? C++ staje się niszą, chcesz łatwą pracę to wybierz Javę, C# lub COBOLa, zależnie od preferencji seksualnych. W każdym razie spora część rynku jest w jakimś stopniu związana z webaplikacjami, fajnie by było żebyś poznał podstawy webdevu. Oczywiście na temat nauki programowania i wymienionych języków napisane zostało tutaj już prawie wszystko, co można na tego typu forum napisać, wystarczy poszukać.

Nie zrażaj się moim marudzeniem, pewnie zaraz przyleci kółko javowej adoracji i napisze, że to wszystko nieprawda.

0

Dzieki za odpowiedzi.

Jak to jest z ta Java? Mnie ona kojarzy sie z aplikacjami na telefon ktore zostaly juz raczej wyparte przez rozne androidy itp.

Czyli raczej nie polecacie C++? Rozumiem ze poznanie jakiegokolwiek jezyka daje cenny bagaz wiedzy ktory pozwoli szybko nauczyc sie innego, ale jakies tam podstawy juz mam i chcialbym sie zajac czyms naprawde na czasie.

OE
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 13 lat
0

Android to java.
Ja jednak bym liznął c++. Z racji możliwości dostrzeżenia jaka java bądź c# jest wspaniały i ile ma udogodnień.

CI
Raczej c, a później c++. "Liźnięcie c++" ? Sam nie uważam, że liznąłem c++, raczej "c z elementami c++". Ale to dobry pomysł. Poza tym język to tylko narzędzie, a nauki nigdy za mało.
MA
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 13 lat
  • Postów:3
0

No tak, właśnie przeczytałem też w necie że android pisze się w javie :P Pewnie to stąd, że w starszych aplikacjach pojawiało się na początku logo Java, a teraz już nie. ;)
Chyba zacznę przygodę z Androidem. Mam SGS2 to może coś dla siebie bym też napisał... A Javy trochę liznąłem w przeszłości.
Mam jeszcze takie ćwiczenia praktyczne w javie z 2006 roku. Stąd pytanie, czy androidowa java może się znacznie różnić od materiału zawartego w mojej książeczce?

artur_waw
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad rok
  • Postów:155
0

Dla mnie osobiście aplikacje mobilne to tylko jakiś "gadżet" - ale może to dlatego, że swój telefon wykorzystuje raczej do dzwonienia :)

Zapewne w biznesie będą dominowały C# i Java więc jeśli ten kierunek Cię interesuje to wiadomo czego się uczyć. Natomiast jak dla mnie C/C++ będzie cały czas obecny w przemyśle (szeroko pojęta automatyka). I tak całość sprowadza się do tego, żebyś uczył się czegoś co naprawdę Cię interesuje, bo jak będziesz dobry to zajęcie jakiej znajdziesz :)

M2
  • Rejestracja:prawie 16 lat
  • Ostatnio:ponad 11 lat
1

Fakt, że C++ miał lekki zastój przez ostatnie kilkanaście lat ale znowu się odradza. Z resztą w małych firmach zajmujących się www i aplikacjami na telefony nigdy nie był i nigdy nie będzie używany ale wszędzie tam gdzie tworzy się skomplikowane i specjalistyczne oprogramowanie na trochę większą skalę wciąż jest to bardzo popularny język i chyba najpopularniejszy.

BF
  • Rejestracja:około 13 lat
  • Ostatnio:prawie 13 lat
  • Postów:9
0

A ja tam właśnie C++ uczę się z powodu trudu jaki muszę w to włożyć :). Nie znam innego języka, więc tym bardziej jest ciężko.
Czasami myślę, żeby przejść na Javę, czy C#, ale ja nie lubię mieć prosto. Lubię mieć wyzwanie i C++ to daje. Poza tym jeszcze zdecydowany nie jestem, ale prawdopodobnie pójdę w gamedev, więc C++ na pewno przyda się bardziej, a jak nie to nauczę się C#.
Więc podsumowując, jak chcesz iść tylko dla pieniędzy to myślę, że C# będzie dobrym wyborem, bo pracę znaleźć łatwo, przynajmniej gdy przeglądam oferty pracy (co nie znaczy, żeby się w C# ograniczać, bo powinieneś znać najlepiej kilka języków ;)), jeśli masz wyznaczony cel tak jak ja to szukaj języka do tego celu.
Bo to oczywiste, że do każdego celu wybija się coś innego.
Ja wybrałem gamedev, bo wg mnie najciekawsze problemy mogą być rozwiązywane właśnie tam, więc możliwe, że będę miał z tego dużą satysfakcję.
Jedyne tylko czego nie wiem, to ile faktycznie się programuje, a ile siedzi na silnikach, bo jak pisanie kodu po prostu uwielbiam, to siedzenie na silniku i klikanie mnie męczy. W dziedzinach innych niż gamedev myślę, że C++ będzie miał coraz mniejsze znaczenie, bo komputery są obecnie coraz mocniejsze i wydajność nie jest już tak znacząca przy mniejszych programach.

M2
Jak ogarniasz C++ to ogarnięcie Javy, C#, czegokolwiek jest kwestią kilku godzin. To jest mega plus tego języka.
1
michalo2882 napisał(a):

Fakt, że C++ miał lekki zastój przez ostatnie kilkanaście lat ale znowu się odradza. Z resztą w małych firmach zajmujących się www i aplikacjami na telefony nigdy nie był i nigdy nie będzie używany ale wszędzie tam gdzie tworzy się skomplikowane i specjalistyczne oprogramowanie na trochę większą skalę wciąż jest to bardzo popularny język i chyba najpopularniejszy.

Czyli gdzie? Jakiś konkretny przykład z polskiego rynku pracy :)

somekind
Najlepiej niech od razu wyjaśni co to są "skomplikowane i specjalistyczne programy".
M2
Intel Gdańsk na przykład.
MA
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 13 lat
  • Postów:3
0

Lepiej programować w C# czy w C++?

CI
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 10 lat
0

Musisz się sam zastanowić CO chcesz programować. C# to raczej programowanie dla Windows, często aplikacji biznesowych. Jeśli chodzi o C++ to częściej spotykam się z ofertami programisty systemów wbudowanych. Oczywiście nie są to jedyne zastosowania tych języków.


3

Lepiej programować w C# czy w C++?

Lepiej ruchać w skarpetkach czy w kominiarce? To zależy...

Jak sądzisz, dlaczego jest tak wiele języków? Czy różnią się tylko i wyłącznie nazwą oraz składnią? Każdy język ma nieco inne przeznaczenie, inne zalety i wady, to narzędzie dobierane do konkretnego celu.

Jaki cel chcesz osiągnąć i w jakich warunkach?

02
zależy czy grasz w pornolu czy jesteś gwałcicielem...
B9
hah 0x200x20 dobre;D
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)