Początki programowania.

Początki programowania.
Kodziak
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 4 lata
  • Postów:5
0

Witam.

Jestem jeszcze dość młodym człowiekiem i chciałbym się nauczyć, choć podstawy programowania. Mam zamiar iść na studia o kierunku informatyk programista (Jeżeli takie coś istnieje, jeszcze się nie dowiadywałem) i przydałoby się od czegoś zacząć. Interesuje mnie język C++ lecz, słyszałem że dobrze byłoby się nauczyć pascala, ponieważ od tego są podstawy (?).

I tutaj pytanie... Polecilibyście mi jakiś dobry kompilator i język od którego mam zacząć naukę? Co przeczytać, jaką książkę, jakieś fora na których są poradniki i tego typu sprawy, chodzi mi tylko o to żeby zacząć i mieć takie poradniki, lub ksiązka. Z góry dzięki.

byku_guzio
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 7 lat
2

KA
  • Rejestracja:prawie 13 lat
  • Ostatnio:około 12 lat
4

Od siebie, jako dość początkującego, polecam IDE Code::Blocks, jest darmowe, aktualne i dobre :) Również możesz wybrać Visual C++ Express (również darmowy i nie gorszy od C::B). Zdecydowanie odradzam DevC++.

Język to tylko narzędzie, było wiele dyskusji nt. tego jaki język na początek jest najlepszy, od siebie polecam C++ :) Sam zacząłem od C++ (póki co znam tylko, a w zasadzie poznaję tylko C++), i jako początkujący wiem, że na początek są świetne materiały w postaci książek Grębosza "Symfonia C++ Standard" oraz "Pasja C++", łatwo dostępne choćby na allegro, a świetnie wytłumaczone są w nich podstawy :) Do tego często pojawia się opinia, że po C++ łatwo się przerzucić na inne języki, a przecież świat nie kończy (ani nie zaczyna) się na C++, więc idąc w tym kierunku będziesz pewnie chciał poznać więcej narzędzi pozwalających Ci na tworzenie programów :)

Jeżeli zdecydujesz się na C++ i na w/w książki Grębosza, to pamiętaj, żeby kupując Symfonię C++ kupić tą ze "Standard" w nazwie, bo jest jeszcze stara wersja, sprzed standardu.

B9
czemu odradzasz DevC++?
Demonical Monk
Bo to stary szajs nie aktualizowany od 2005 roku, gdzie klamerki usilnie próbują zwiać z monitora, nie ma sensownej konsoli i ogólnie wszystko ssie?
KA
Dokładnie, lepioej przecież mieć aktualne, wspierane IDE, takie jak C::B czy Visual C++ Express :)
CI
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 10 lat
2

Ja oprócz książek p. Grębosza polecę jeszcze:

http://helion.pl/ksiazki/c-cwiczenia-praktyczne-wydanie-iii-andrzej-stasiewicz,cwcpp3.htm (bardzo fajnie omawia "podstawy podstaw", ja mam pierwsze wydanie, tu pewnie jest coś poprawione, itp.)
http://helion.pl/ksiazki/c-dla-kazdego-wydanie-ii-jesse-liberty-siddhartha-rao-bradley-l-jones,cppint.htm (sporo wiedzy, niektóre tematy przy pierwszym podejściu mogą być nie do końca zrozumiałe, ale nie od razu Rzym zbudowano)
http://helion.pl/ksiazki/thinking-in-c-edycja-polska-bruce-eckel,thicpp.htm (kolejna dobra książka, w wersji angielskiej dostępna za darmo i legalnie)

Jeśli chodzi o IDE to również polecę Code::Blocks. No i kodzić, kodzić.

Dodam jeszcze, że jeśli naprawdę interesuje Cię informatyka, to nie zamykaj się na samo programowanie, które czasem (przejściowo, chwilowo) może się znudzić. Warto poczytać coś o architekturze komputerów, systemach operacyjnych, sieciach, etc.

Kodziak napisał(a):

Mam zamiar iść na studia o kierunku informatyk programista (Jeżeli takie coś istnieje, jeszcze się nie dowiadywałem) i przydałoby się od czegoś zacząć.

Kierunku takiego nie ma (jak "informatyk programista"). Jest informatyka i jest tam też programowanie. Choć nie tylko na informatyce masz programowanie. Również na elektronice, telekomunikacji, automatyce i robotyce, inżynierii biomedycznej, etc. Studia same w sobie programować Cię nie nauczą, ale kierunek, na którym będzie programowanie da Ci jakąś (może dać) inspirację, może pokazać różne drogi, którymi można w tej branży pójść. Np. na EiT mam takie przedmioty związane z programowaniem jak "technika mikroprocesorowa", "układy programowalne", "technika symulacyjna i obliczeniowa", etc.


edytowany 1x, ostatnio: cichociemny
EE
Ale są specjalizacje, np. "Inżynieria oprogramowania".
CI
Dzięki za uzupełnienie, no właśnie o to chodzi. Wiem też, że na Inżynierii Biomedycznej też jest np. Informatyka Medyczna jako specjalizacja (miałem iść, ale kierunku nie otworzyli). Ale tak jak wcześniej wspomniałem - studia mogą pomóc, ale nauczyć porządnie musimy się sami. No i to, że wybierzesz kierunek X i specjalizacje Y nie determinuje tego, że możesz/musisz pracować w danym obszarze. Przykład - wujek kolegi jest po Telekomunikacji i robi w branży bardziej drogowej -> sygnalizacje świetlne, itp. (i sporo zarabia), studia dały podstawy, reszty nauczył się sam.
UB
  • Rejestracja:około 17 lat
  • Ostatnio:ponad 7 lat
3

Programowanie to świetna przygoda. Zwłaszcza na początku , gdy zdaje ci się, że dostałeś jakieś supermoce (początek w sensie, umiesz już jakieś rzeczy konkretne robić). Potem dowiadujesz się, że nie jest już tak łatwo, ale brniesz dalej, bo tak to z pasją bywa.
Pascala sobie bym na Twoim miejscu darował - jeżeli w szkole od ciebie nie wymagają, to zacznij od chociażby delphi. Pascal to strata czasu.
Ważne zadanie: zrozumieć istotę programowania obiektowego - potem wszystko będzie z górki.
A także KISS, DRY (poszukaj sobie na necie o tym).

Kodziak
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 4 lata
  • Postów:5
0

Mhm.. Witam ponownie. Mam już IDE, zaczynam się uczyć. Jak przeczytałem w tym poradniku, że należy przepisać kod, a nie skopiować go itp, itd. Tak więc przepisałem swój pierwszy kod, po czym wyskakuje mi masa błędów, na początku nawet nie dało się go skompilować, ale jak ściągnąłem minGW to dało rade. Wrzucam screena:
user image

Z góry dziękuje za pomoc w rozwiązaniu problemu. Nie chodzi mi dokładnie o kod, tylko o to jak ten program skonfigurować pod swoje potrzeby.

Dobra, tamto było źle, zaczerpnąłem innego poradnika, tym razem na pewno o C++. Przepisałem kod, i wyskoczył mi błąd, że nie mam takiej biblioteki. Skąd ją ściągnąć?
http://iv.pl/images/25319214067391036759.png

edytowany 3x, ostatnio: Kodziak
Patryk27
Kod który podałeś nie jest ani w C ani w C++...
Kodziak
Mhm... Dobra, tego pytania nie było, szukam dalej.
Azarien
Zrób se porządek z tymi paskami narzędzi.
CI
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 10 lat
1
Kodziak napisał(a):

Dobra, tamto było źle, zaczerpnąłem innego poradnika, tym razem na pewno o C++. Przepisałem kod, i wyskoczył mi błąd, że nie mam takiej biblioteki. Skąd ją ściągnąć?
http://iv.pl/images/25319214067391036759.png

Po pierwsze dawaj kod między znaczniki < code = cpp > < / code > (bez tych spacji), a nie zrzuty ekranowe. Nie potrzebujesz biblioteki. Po prostu złą nazwę podałeś, ma być samo #include <iostream> bez .h. Chociaż i z tym kod jest zły (się nie będzie kompilowało). Poniżej masz działający przykład.

Kopiuj
 
#include <iostream>
using namespace std;
int main()
{
      cout << "Hello World !" << endl;
      return 0;
}

Żeby "nie było" - działa http://ideone.com/Q2QDI . Teraz wypadałoby zrozumieć +/- o co chodzi w tym kodzie. No to google i jedziesz :)

Podpowiem czego szukać:

#dyrektywy preprocesora (jedną z nich jest #include)
#biblioteka iostream
#przestrzenie nazw
#funkcje w C++, funkcja main()
#typy zmiennych (np. int)
#czym jest, co robi (a może z jakiej biblioteki ?) --> cout i endl
#słowo kluczowe return
W ogóle kup sobie na początek np. http://helion.pl/ksiazki/c-cwiczenia-praktyczne-wydanie-iii-andrzej-stasiewicz,cwcpp3.htm, żeby się "obyć" trochę z językiem, albo poczytaj jakiś internetowy kurs, ale w miarę porządny, np. http://xion.org.pl/productions/texts/coding/megatutorial .


edytowany 6x, ostatnio: cichociemny
Kodziak
Niestety, nadal wyskakuje mi to samo, pomimo tego że pozmieniałem wszystko. Użyłem także tego internetowego kompilatora, wszystko good, lecz w tym nie działa - nie wiem. Co do tego kursu, korzystam z tego, znaczy zaczynam, lecz w nim używa gość innego kompilatora + uczy na początek aplikacji konsolowych (?)
CI
Zawsze zaczyna się naukę od programowania aplikacji konsolowych. Ja już kilka miesięcy poklepiesz w C++, to możesz spróbować "pobawić się" z winapi, Qt czy podobnymi tworami. Masz nauczyć się programować, zabawy z GUI zostaw sobie na później. "w nim używa gość innego kompilatora", to nie ma nic do rzeczy. Patrzyłem na lekcję 1.2, nie widzę tam nic, co nie dałoby się skompilować używając Code::Blocks.
CI
AAAAAAaaaaaaaaa już widzę, dlaczego Ci się nie kompiluje. Ty robisz w C++, powtórzę w C PLUS PLUS. Nie mam pojęcia czemu tworzysz projekt w języku C... Musisz wybrać projekt w C++. W C nie ma <iostream>, etc.
Kodziak
Tak to jest jak ktoś pierwszy raz z programem. Dobra dzięki za pomoc, wracam zaraz do programowania, a raczej nauki, bo miałem lekki przestój, mam nadzieje że nic już nie zakłóci mojej pracy :).
Kodziak
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 4 lata
  • Postów:5
0

Błąd, błąd, błąd. Ciągle jakiś błąd. Korzystam z tego oto poradnika: http://xion.org.pl/files/texts/mgt/html/1_2.html. Jest tam dalej napisane, pierwszy programik. Przepisałem cały kod, wszystko good, wywaliło mi 2 błędy, w codeblocks. Patrzyłem na tej stronie, co jest post @up, też wywaliło błędy, tak więc nie rozumiem. Uczyć się z tego poradnika, ale on podaje błędy, znaczy nie wszystko gra, no to w SPACJA końcu... Czy może ja coś źle robię? Pewnie na to wychodzi że tak...

@Już się z tym .cpp uporałem :D

Kopiuj
// First - pierwszy program w C++
 
#include <iostream>
#include <conio.h>
 
void main()
{
   std::cout << "Hurra! Napisalem pierwszy program w C++!" << std::endl;
   getch();
}
edytowany 1x, ostatnio: Kodziak
Zobacz pozostałe 6 komentarzy
nerf
Nom u mnie tak jest. Gościowa w ogóle nie ogarnia ściąga ode mnie rozwiązania i wrzuca na tablice do tego jeśli zdarzy się jej przepisać. A słów kluczowych w ogóle nie ogarnia i nic nie uczy. I na koniec roku 9 z 16 osób zagrożonych z programowania. Ehh już nie będę o niej pisał bo dziś nie skończyłbym wrzucać ;d Tak samo inni z zawodowych ;p
Kodziak
Prosiłbym o wrócenie do mojego problemu. Otóz mam to z poradnika, do którego podałem link, tak więc nie wiem, uczyć się z tego czy nie? Więcej błędów może się zdarzyć, i jak to do końca rozwiązać?
Kodziak
Zamienienie void na int, dało rade, ide się dalej uczyć :D
ZJ
Więcej błędów prawie na pewno się zdarzy, dodatkowo nauczysz się C++ sprzed 15 lat.
ZJ
Tam są błędy nie tylko w C++, ale także w zasadach programowania obiektowego. Dziedziczenie kwadratu po prostokącie jest popularnym przykładem w omawianiu programowania obiektowego, tylko że podawany jest on w kontekście jak NIE projektować programów obiektowych, nie wszystkie relacje występujące w życiu da się dobrze oddać w tym modelu.
byku_guzio
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 7 lat
1

Poradnik jest nie najlepszy
powinno być int main, void main jest błędem.


KA
  • Rejestracja:prawie 13 lat
  • Ostatnio:około 12 lat
2

Dlatego polecam książkę. Albo Symfonię C++ Standard, bo przeciez zgodna ze standardem, a najnowsze wydanie jest z 2010 roku, albo ktos podawał jakieś z Heliona, ale SYmfonię sam mam więc wiem, że podstawy sąfajnie wytłumaczone w niej :) Oczywiscie polecam również czytanie na forach tematów innych newbie, gdzie ludzie z doświadczeniem i wiedzą tłumaczą wiele rzeczy, bo w każdej książce mogąznaleźć się błędy :)

Co do "Od zera do gier kodera" to mozna sie z niego uczyc podstaw, ale wtedy trzeba brać poprawki na to, że są tam błędy i trzeba na forach i w ogole w internecie znajdywać samemu rozwiązania. No i raczej tylko w takich wypadkach, jak nie chcesz wydawac ~60zł na Symfonię C++ Standard lub inne pozycje od razu bo np boisz sie ze za tydzien Ci sie całkiem znudzi. Jeżeli wiesz, ze chcesz podejsc od razu do tego poważnie i za kilka dni nie zmienisz zdania to od razu kup sobie książkę jakąś, jak wątpisz, to dojedz do np wskaźników w "Od zera..." i wtedy zadecyduj.

Takie kwestie, że main ma zwracać wartosc a nie być void są w wielu miejscach opisane, wystarczy szukać, nawet nie trzeba pytać. Pamiętaj, na tym poziomie nauki większość problemów/błędów już jest gdzieś rozwiązana, w koncu wielu przed Tobą uczyło się z "Od zera...", Symfonii czy innych źródeł :)

edytowany 2x, ostatnio: kaboom
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)