Jak rozpocząć przygodę z programowaniem?

Jak rozpocząć przygodę z programowaniem?
SW
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 12 lat
  • Postów:4
0

Witam wszystkich bardzo serdecznie!

Uprzedzam: W tym temacie zapytam o kilka beznadziejnie banalnych rzeczy, jeżeli denerwują Cię pytania "pozbawione sensu" to nie czytaj dalej.

Chciałbym zacząć "przygodę" z informatyką i padło na programowanie (nie przepadam za grafiką), i tutaj się zaczyna mój problem. Moja wiedza odnośnie programowania i w ogóle informatyki ogranicza się do grania, więc praktycznie zaczynam od zera. Nie potrafię nic w tym zakresie, mam dużo wolnego czasu i chciałbym go zagospodarować na naukę, lecz nie wiem "jak" się uczyć. Czy może ktoś mi jasno wytłumaczyć, na czym polega programowanie, o co chodzi z tymi językami programowania, od czego zacząć i wszystkie podstawowe sprawy? Jestem perfekcjonistą, typem osoby, która zanim przejdzie do robienia czegokolwiek musi mieć obcykaną teorię, więc będzie problem :D

Liczę na Waszą pomoc i mam nadzieję, że przekażecie mi co nieco ze swojego doświadczenia/wiedzy.

Pozdrawiam
Swipe!

hauleth
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:10 dni
0

W informatyce teoria jest matematyką. Więc jeśli znasz matmę to w większości masz opanowane podstawy informatyki. Poza tym, nie zrozumiesz niektórych rzeczy jeśli ich nie wykonasz.


SW
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 12 lat
  • Postów:4
0

Matematyka jest moją mocną stroną. Spróbuję wykonać "te" rzeczy, lecz muszę wiedzieć od czego zacząć :D

Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około 9 godzin
1

Jak chcesz mieć wszystko obcykane to zacznij od asemblera, a potem poznawaj coraz bardziej wysokopoziomowe języki :P


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
SW
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 12 lat
  • Postów:4
0

"Zacznij od Asemblera" - jestem nowicjuszem, powiedzmy, że pierwszy raz robię coś innego niż granie, nie wiem co to asembler, nie wiem co to te kody, nie wiem co to język, jaśniej, proszę :D

2
Swipe napisał(a):

"Zacznij od Asemblera" - jestem nowicjuszem, powiedzmy, że pierwszy raz robię coś innego niż granie, nie wiem co to asembler, nie wiem co to te kody, nie wiem co to język, jaśniej, proszę :D

Uzyj google albo wyjdz.

msm
Nie bądź taki agresywny, człowiek jest nowy i nie wie że za nieużywanie google tutaj zakopujemy żywcem ;]
hauleth
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:10 dni
0

To znasz matematykę, ale nie wiesz co to język? To wracać do nauki matematyki dyskretnej :P

Jak chce mieć wszystko obcykane to niech zbuduje własnego kompa (gdzieś w internecie powinna być instrukcja do COBRY 1).


Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około 9 godzin
0

Asembler to w zasadzie najbardziej niskopoziomowy język w którym programuje się komputery. Każdy program można bez problemu zdisasemblować do postaci, która skompiluje się do identycznego programu jak wejściowy. Disasemblując programy napisane w językach wysokopoziomowych (kompilowanych do kodu natywnego oczywiście) możesz zobaczyć co one dokładnie robią. Asembler jest bardzo niszowy jeśli chodzi o użycie go jako język do pisania programów, ale moim zdaniem jest pomocny do nauki mechaniki kodu natywnego, np mechanizmu działania wskaźników, wywołań funkcji itd

Jak chce mieć wszystko obcykane to niech zbuduje własnego kompa (gdzieś w internecie powinna być instrukcja do COBRY 1).

Eee tam teoria wystarczy :] W sumie właśnie zapomniałem - najlepiej jakby poznać jeszcze zasadę działania bramek logicznych, np umieć zaprojektować układ dodający dwie N-bitowe liczby za pomocą samych bramek NAND.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 1x, ostatnio: Wibowit
SW
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 12 lat
  • Postów:4
0

Rozumiem ledwo połowę, ale dziękuję, że się ktoś udziela

fasadin
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
0
  1. Zanim zadasz pytanie sprawdź czy nie zostało już zadane (wyszukiwarka na forum lub google). Idealny początek do DRY
  2. Jeżeli chcesz wszystko wiedzieć super ekstra to najpierw teoria. A dokładniej architektura komputera oraz systemów komputerowych. Wtedy możesz zacząć coś pisać w asmie i pisać co raz bardziej wysoko-poziomowo (a może jednak nie?)

Jeżeli tylko wydaje Ci się, że chcesz wszystko super wiedzieć to zacznij sobie od języka który jest wymagający (c/c++), Jeżeli lubisz mieć wszystko pod ręką (użyjesz jednej funkcji i wszystko za Ciebie zrobi i nie będziesz miał bladego pojęcia jak to działa) to wtedy zacznij od javy/c#

żeby mój post nie został źle odebrany. Nie mówię że języki C# oraz java są gorsze. W nich się po prostu szybciej piszę i jest dużo więcej gotowych rozwiązań i często to język myśli za programistę (szczególnie początkującego)

Inquis1t0r
Dlatego warto zająć się czymś niskopoziomowym...ale czy jest na to czas już na samym początku ? ;>
babubabu
  • Rejestracja:około 13 lat
  • Ostatnio:2 miesiące
  • Lokalizacja:Łódź
  • Postów:648
0

To może standardowo pascal?

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

Skończ pytać i zacznij coś robić. Chcesz konkretnej odpowiedzi ?

Zainstaluj Code::Blocks, weź książkę A. Stasiewicza "C++ Ćwiczenia praktyczne", jak Ci się spodoba, to weź "C++ dla każdego", "Szkoła Programowania", albo książkę Grębosza.

Później sam będziesz wiedział czy dalej chcesz to ciągnąć, a jeśli tak, to czy programowanie gier, aplikacje "użytkowe", web, aplikacje mobilne (np. android) czy może mikrokontrolery (avr, arm, etc.).


edytowany 1x, ostatnio: cichociemny
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)