[FAQ] PROGRAMOWANIE

Odpowiedzi na najczęściej zadawane pytania, opracowania, poradniki

[FAQ] PROGRAMOWANIE

PostSo lip 04, 2009 10:57

Postanowiłem napisać krótkie FAQ odnośnie programowania by skończyć z pytaniami takimi jak: „Od jakiego języka programowania zacząć”, „Jak pisać program”, „Co zrobić jeżeli program nie działa”.

Czym jest programowanie?
Programowanie jak sama nazwa wskazuje jest to pisanie programów. Programy piszemy za pomocą instrukcji tak zwanych języków programowania. Pisząc kod programu nie możemy korzystać z instrukcji kilku języków programowania ze sobą nie kompatybilnych (istnieją jednak pewne wyjątki np. połączenie C z Assemblerem), musimy skupić się na jednym konkretnym.

Jak wygląda kod programu?
Jak już pisałem wyżej kod programu to ciąg instrukcji zdefiniowanych przez język programowania w którym dany program piszemy. Przykłady kodów programów:
[code]
#include <iostream>

int main()
{
std::cout << "Hello World!\n";
return 0;
}
[/code]

[code]
class HelloWorld{

public static void main(String args[])
{
System.out.println("Hello World");
}

}

[/code]

Czym jest kompilacja?
Instrukcje języków programowania nigdy nie będą zrozumiała dla naszego komputera, kompilacja to proces zamiany instrukcji języka programowania na instrukcje zrozumiałe dla procesora. Z procesorem komputera możemy się porozumiewać tylko za pomocą binarnego systemu liczbowego (ciągu zer i jedynek), a jak można zauważyć kod programu to ciąg liter, cyfr i znaków. By „przerobić” kod programu na kod zrozumiały dla procesora musimy wykorzystać odpowiedni program zwany Kompilatorem. Ktoś dodatkowo może zadać pytanie gdzie znaleźć taki kompilator, odpowiedź jest prosta, w internecie ;). Sam kompilator nie posiada edytora kodu do „pisania programu”, edytor musimy załatwić sobie osobno (Kompilator+Edytor Kodu+Dodatkowe narzędzia to IDE).

Czym jest linker?
Linker jest to program (bardzo często wchodzący w skład kompilatora), który łączy nasz program niezbędnymi bibliotekami dopiero zlinkujemy program możemy go uruchomić (często kompilator robi to od razu za nas).

Co to jest IDE?
IDE (skrót od Integrated Development Environment, po polsku zintegrowane środowisko programistyczne) jest to zestaw narzędzi (zwykle edytor kodu+kompilator+dodatkowe narzędzia) pomagających nam w pisaniu programu. IDE przydaje się wtedy gdy mamy zamiar napisać jakiś większy projekt (do nauki wystarczy na sam kompilator+edytor tekstu). Przykładowe IDE to np.:

Geany – Pozwala na programowanie w wielu językach
Code::Blocks – Pozwala na programowanie w c++.
Lazarus IDE – Pozwala na programowanie w PASCAL'u.

Czym są interpretowane języki programowania?
Interpretowane języki programowania to języki które nie wymagają kompilacji. Część osób może się teraz zastanawiać w jaki sposób procesor może zrozumieć ich instrukcje, odpowiedź jest bardzo prosta, języki te korzystają z tak zwanego interpretatora. Interpretator jest to program który w momencie uruchomienia programu napisanego w interpretowanym języku programowania pośredniczy z procesorem. Oznacza to że instrukcje wykonywane są w interpretatorze i dopiero interpretator wysyła je do procesora. Przykłady interpretowanych języków programowania:
Perl
Python
PHP

Jaki język programowania wybrać?
To jaki język programowania chcesz wybrać zależy tak naprawdę od tego co masz zamiar w nim pisać. Jeżeli chcesz się zająć operacjami niskopoziomowymi takimi jak np. tworzenie systemów operacyjnych na pewno przyda ci się dobra znajomość assemblera i C. Jeżeli masz zamiar pisać przenośne aplikacje (w których ten sam kod skompilujesz na każdym OS) a dodatkowo chcesz je wykorzystać jako applety na strony WWW zainteresuj się językiem o nazwie JAVA. Do programowania interaktywnych witryn internetowych przyda się znajomość PREL, PHP, SQL'a.

Co zrobić jeżeli program nie chce się skompilować?
Jeśli program nie chcę się skompilować zobacz co wywala nam kompilator. W logu kompilatora powinna być napisana linijka w której został popełniony błąd oraz przyczyna błędu (np. if() error) w przypadku złego zastosowania instrukcji if. Czasami w danej linijce można po prostu popełnić literówkę i cały program się nie skompiluje. Odpowiedź na pytanie „Co zrobić kiedy program nie chce się skompilować” to po prostu: przeczytać log kompilacji i poszukać błędu w wywalonej linijce.

Co to jest Debugger?
Debugger (na polski dosłownie odpluskiwacz) jest to program wyszukujący oraz pomagający naprawić tzw. Bugi (czyli w bardziej zrozumiałym języku błędy) w programie. Proces naprawiania programu za pomocą debuggera nazywamy debuggowaniem :)


Wydaje mi się że to FAQ jest choć trochę przejrzyste i czytelne. Jest to moje pierwsze FAQ na uw-team więc proszę o wyrozumiałość. W razie jakichś nieprawidłowości piszcie, a będę je poprawiał :)
Ostatnio edytowano So lip 04, 2009 16:50 przez LeVuS, łącznie edytowano 8 razy
LeVuS
user
Avatar użytkownika
Posty: 184
Dołączył(a): Wt lut 24, 2009 11:35
Lokalizacja: Gorlice
Podziękował: 0 razy
Podziękowano: 0 razy
Reputacja: 1071

Spokojnie - to tylko reklama - zniknie po zalogowaniu :)

Pani Reklama
Automat
Posty:
Dołączył(a): ab aeterno
Lokalizacja: UW-Zaloga

Re: [FAQ] PROGRAMOWANIE

PostSo lip 04, 2009 12:00

Przejrzyj art jeszcze raz, jest kilka literówek.
Napisz coś o linkowaniu.
Edytorem kodu może być nawet notatnik ;)
Co ma debugger (nie debugg) do kompilacji? Od błędów podczas kompilacji jest sam kompilator.
Kele
user
Avatar użytkownika
Posty: 74
Dołączył(a): N paź 14, 2007 12:50
Podziękował: 13 razy
Podziękowano: 4 razy
Reputacja: 1389

Re: [FAQ] PROGRAMOWANIE

PostSo lip 04, 2009 13:59

[quote="LeVuS"]
Programowanie jak sama nazwa wskazuje jest to pisanie programów. Programy piszemy za pomocą instrukcji tak zwanych języków programowania. Pisząc kod programu zazwyczaj nie możemy korzystać z instrukcji kilku języków programowania, musimy skupić się na jednym konkretnym.

C można łączyć z asemblerem...
Hakuna matata
Paszczur
user
Avatar użytkownika
Posty: 103
Dołączył(a): N maja 04, 2008 9:21
Lokalizacja: z Księżyca
Podziękował: 0 razy
Podziękowano: 0 razy
Reputacja: 983

Re: [FAQ] PROGRAMOWANIE

PostSo lip 04, 2009 14:01

[quote="Kele"]Przejrzyj art jeszcze raz, jest kilka literówek.
Napisz coś o linkowaniu.
Edytorem kodu może być nawet notatnik ;)
Co ma debugger (nie debugg) do kompilacji? Od błędów podczas kompilacji jest sam kompilator.


Byłbym wdzięczny jak byś podał gdzie są te literówki bo nie mogę znaleźć :) O linkowaniu zapomniałem więc zaraz napiszę :)

[quote="Paszczur"][quote="LeVuS"]
Programowanie jak sama nazwa wskazuje jest to pisanie programów. Programy piszemy za pomocą instrukcji tak zwanych języków programowania. Pisząc kod programu zazwyczaj nie możemy korzystać z instrukcji kilku języków programowania, musimy skupić się na jednym konkretnym.

C można łączyć z asemblerem...

Napisałem że zazwyczaj, no ale racja pasowało by to uściślić :)
LeVuS
user
Avatar użytkownika
Posty: 184
Dołączył(a): Wt lut 24, 2009 11:35
Lokalizacja: Gorlice
Podziękował: 0 razy
Podziękowano: 0 razy
Reputacja: 1071
Góra

Re: [FAQ] PROGRAMOWANIE

PostSo lip 04, 2009 14:22

[quote="LeVuS"]
... (istnieją jednak pewne wyjątki np. połączenie C z [size=150]Assemblere'em[/size]), musimy skupić się na jednym konkretnym.

Większość języków można łączyć z assemblerem ; > Pascala i C++ też.

[quote="LeVuS"]
... a dodatkowo chcesz je wykorzystać jako applety na strony WWW zainteresuj się językiem o nazwie JAVA. Do programowania interaktywnych witryn internetowych przyda się znajomość[size=150] PREL'a[/size], PHP, SQL'a.


[quote="LeVuS"]
... (czyli po polsku [size=150]robiaki[/size]) w programie.

Po mojemu to raczej błędy ;)
Kele
user
Avatar użytkownika
Posty: 74
Dołączył(a): N paź 14, 2007 12:50
Podziękował: 13 razy
Podziękowano: 4 razy
Reputacja: 1389
Góra

Re: [FAQ] PROGRAMOWANIE

PostSo lip 04, 2009 14:31

Np. Pythona można łączyć z Javą, C i .NET.
szczypmen
user
 
Posty: 273
Dołączył(a): N cze 22, 2008 20:24
Lokalizacja: Zasutowo
Podziękował: 15 razy
Podziękowano: 4 razy
Reputacja: 1726

Re: [FAQ] PROGRAMOWANIE

PostSo lip 04, 2009 15:11

A HTML z JS oraz PHP :wink:
[url=http://blog.grabowski.ostrowwlkp.pl/]Komeniusz blog[/url]
komeniusz
user
Avatar użytkownika
Posty: 48
Dołączył(a): Pt kwi 10, 2009 15:09
Podziękował: 2 razy
Podziękowano: 0 razy
Reputacja: 790

Re: [FAQ] PROGRAMOWANIE

PostSo lip 04, 2009 16:38

[quote="komeniusz"]A HTML z JS oraz PHP :wink:


Zgodzę się z wyższymi opiniami ale napisałem że najczęściej nie powinno się łączyć kilku języków (muszę chyba dopisać że języków ze sobą nie kompatybilnych). A to że PHP można łączyć z HTML jest w miarę oczywiste ponieważ w końcu PHP jest kompilowane po stronie serwera apache na kod HTML który to dopiero przesyłany jest do przeglądarki. Nie wypisujcie tutaj języków które można łączyć ponieważ jest podany jeden przykład i to chyba wystarczy a poza tym nie o tym jest ten topic :)
LeVuS
user
Avatar użytkownika
Posty: 184
Dołączył(a): Wt lut 24, 2009 11:35
Lokalizacja: Gorlice
Podziękował: 0 razy
Podziękowano: 0 razy
Reputacja: 1071
Góra

Re: [FAQ] PROGRAMOWANIE

PostSo lip 04, 2009 16:49

[quote]w końcu PHP jest kompilowane po stronie serwera apache na kod HTML


[quote]Interpretowane języki programowania to języki które nie wymagają kompilacji.
...
Przykłady interpretowanych języków programowania:
...
PHP


8)
[url=http://blog.grabowski.ostrowwlkp.pl/]Komeniusz blog[/url]
komeniusz
user
Avatar użytkownika
Posty: 48
Dołączył(a): Pt kwi 10, 2009 15:09
Podziękował: 2 razy
Podziękowano: 0 razy
Reputacja: 790
Góra

Re: [FAQ] PROGRAMOWANIE

PostSo lip 04, 2009 16:52

[quote="komeniusz"][quote]w końcu PHP jest kompilowane po stronie serwera apache na kod HTML


[quote]Interpretowane języki programowania to języki które nie wymagają kompilacji.
...
Przykłady interpretowanych języków programowania:
...
PHP


8)


:P Mój błąd PHP jest interpretowany po stronie serwera na HTML.
LeVuS
user
Avatar użytkownika
Posty: 184
Dołączył(a): Wt lut 24, 2009 11:35
Lokalizacja: Gorlice
Podziękował: 0 razy
Podziękowano: 0 razy
Reputacja: 1071
Góra

Re: [FAQ] PROGRAMOWANIE

PostSo lip 04, 2009 17:36

Tak, bo akurat HTML to język PROGRAMOWANIA ;)
Kele
user
Avatar użytkownika
Posty: 74
Dołączył(a): N paź 14, 2007 12:50
Podziękował: 13 razy
Podziękowano: 4 razy
Reputacja: 1389

Re: [FAQ] PROGRAMOWANIE

PostSo lip 04, 2009 19:28

[quote] A to że PHP można łączyć z HTML jest w miarę oczywiste ponieważ w końcu PHP jest kompilowane po stronie serwera [size=150]apache[/size] na kod HTML który to dopiero przesyłany jest do przeglądarki. Nie wypisujcie tutaj języków które można łączyć ponieważ jest podany jeden przykład i to chyba wystarczy a poza tym nie o tym jest ten topic :)


Jak przedmówcy zauważyli, kod nie jest komplikowany :P
ale nie zapominaj że są inne niż Apache
! :) - to tak w celu uściśnienia :twisted:
Makciek
user
 
Posty: 163
Dołączył(a): N kwi 26, 2009 9:59
Lokalizacja: Rzeszów
Podziękował: 3 razy
Podziękowano: 0 razy
Reputacja: 1017
Góra

Re: [FAQ] PROGRAMOWANIE

PostSo lip 04, 2009 19:48

[quote="Makciek"][quote] A to że PHP można łączyć z HTML jest w miarę oczywiste ponieważ w końcu PHP jest kompilowane po stronie serwera [size=150]apache[/size] na kod HTML który to dopiero przesyłany jest do przeglądarki. Nie wypisujcie tutaj języków które można łączyć ponieważ jest podany jeden przykład i to chyba wystarczy a poza tym nie o tym jest ten topic :)


Jak przedmówcy zauważyli, kod nie jest komplikowany :P
ale nie zapominaj że są inne niż Apache
! :) - to tak w celu uściśnienia :twisted:


Wiem :P ale apach jest najpopularniejszy i najstabilniejszy :) Przezytaj, kilka postów wcześniej przyznałem już im rację :P
LeVuS
user
Avatar użytkownika
Posty: 184
Dołączył(a): Wt lut 24, 2009 11:35
Lokalizacja: Gorlice
Podziękował: 0 razy
Podziękowano: 0 razy
Reputacja: 1071
Góra

Re: [FAQ] PROGRAMOWANIE

PostPn lip 06, 2009 13:37

A mowiac scislej popracuj jeszcze dobrze nad twoja publikacja, bo na razie stworzyles grupe dyskusyjna zamiast FAQ;>
[color=red]Bi-la Kaifa.[/color]
nemessica
Przyjaciel
Avatar użytkownika
Posty: 161
Dołączył(a): Pt maja 04, 2007 12:29
Lokalizacja: Arrakis
Podziękował: 0 razy
Podziękowano: 5 razy
Reputacja: 1690

Re: [FAQ] PROGRAMOWANIE

PostWt lip 07, 2009 8:38

[quote="nemessica"]A mowiac scislej popracuj jeszcze dobrze nad twoja publikacja, bo na razie stworzyles grupe dyskusyjna zamiast FAQ;>


Chodzi mi o to żebyście tu pisali co nie gra a ja będę to dopracowywał :)
LeVuS
user
Avatar użytkownika
Posty: 184
Dołączył(a): Wt lut 24, 2009 11:35
Lokalizacja: Gorlice
Podziękował: 0 razy
Podziękowano: 0 razy
Reputacja: 1071
Góra

Następna strona

Powrót do FAQ, Tutorial's

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość