Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

FAQ dla początkujących - Przeczytaj zanim założysz nowy temat!

#1
FAQ dla początkujących - Przeczytaj zanim założysz nowy temat!
[/color]W tym wątku postaraliśmy się odpowiedzieć na pytania niezwykle często zadawane przez początkujących. Przy okazji zachęcam do skorzystania z funkcji Szukaj i przejrzenia naprawdę licznych dyskusji na te tematy; być może znajdziesz tam jeszcze więcej informacji.

P: Od jakiego języka zacząć naukę programowania?
O: Najczęściej wybierane są C++, C, Ada, Python, C Sharp(C#), Delphi, Java, lub Pascal

P:Jaki wybrać kompilator do języka w którym programuję?
O: Kompilator jest często mylony ze środowiskiem programistycznym. Kompilator jedynie tłumaczy napisany przez nas kod na język komputera. Kod źródłowy możemy napisać nawet w systemowym Notatniku. Obecnie kompilatory są częścią środowisk programistycznych(IDE), czyli aplikacji(lub zespołu aplikacji) pozwalających na wygodne tworzenie programów. W skład każdego IDE wchodzi obecnie edytor kodu źródłowego, kompilator, linker, edytor zasobów, i wiele innych narzędzi. Oto niektóre środowiska dla wybranych języków:
C/C++ :
1. Dev C++
2. wxDev-C++
3. Code::Blocks
4. Microsoft Visual C++(2010 Express Edition)
5. C++ Builder(2007 Enterprise)

C#:
1. Visual Studio 2013 express
2. SharpDevelop
3. Turbo C# Explorer

Ada:
1. GNAT

Python:
1. Interpretator Python

Delphi(Pascal):
1. Lazurus
2. Delphi 2007(Trial)

Java:
1. JDK
2. BlueJ
3. SUN

Niektóre środowiska, jak np. Eclipse czy NetBeans dzięki odpowiednim wtyczkom obsługują więcej niż jeden język programowania.

P: Waham się między nauką C/C++ a Pascala. Który język jest lepszy?
O: Nie ma jednoznacznej odpowiedzi na to (i inne tego typu pytania). Jedni uważają, że nauka Pascala pozwala zrozumieć podstawowe zasady programowania, a inni, że to strata czasu i tego samego nauczymy się w C/C++. Proste porównanie tych języków znajdziemy np. Tutaj. W Sieci krąży mit, że aby uczyć się C++, trzeba znać jakiś inny, "prostszy" język, jak np. Pascal czy Basic. Nie jest to prawdą. Składnia C/C++ nie jest bardziej skomplikowana od innych języków. Są one przyjazne zarówno tym którzy znają już jakiś język, i tym którzy dopiero zaczynają swoją przygodę z programowaniem. Krótko mówiąc, wszystkich podstaw których nauczymy się w Pascalu/Basicu równie dobrze i bezboleśnie możemy się nauczyć w C/C++ etc.

P: Z czego uczyć się wybranego języka?
O: Najlepiej z książek lub kursów internetowych.

Książki i kursy do nauki C++:
1. Jerzy Grębosz, Symfonia C++ Standard
2. Megatutorial "Od zera do gier kodera"
3. Stephen Prata, Język C++. Szkoła programowania.
4. Bruce Eckel, Thinking in C++ (darmowa wersja elektroniczna)
5. C++ ze strony Wikibooks
6. Zbigniew Koza, Język C++. Pierwsze starcie
7. C++ Programming: Program Design Including Data Structures
8. Zadania z programowania w języku C/C++, cz. I
9. The C++ Standard Library: A Tutorial and Reference
10. cpp0x

Książki i kursy do nauki Pythona:
1. Python. Rozmówki
2. Python. Wprowadzenie III
3. Zanurkuj w Pythonie(kurs online)
4. TI: Programowanie z Pythonem (kurs online)

Książki i kursy do nauki Delphi:
1. Delphi 7. Praktyka programowania Tomy 1,2
2. Praktyczny kurs Delphi
3. Dużo materiałów dot. Delphi znajdziesz na www.4programmers.net

Książki i kursy do nauki Javy:
1. Java. Podstawy. Wydanie VIII
2. Thinking in Java. Edycja polska. Wydanie IV
3. JAVA, wykłady i ćwiczenia
4. Kurs Javy
5. Java. Kompendium programisty. Wydanie VIII
6. Java for programmers - 2nd edition

Książki i kursy do nauki C#:
1. Visual C# step by step
2. Pro C# 5.0 and .NET 4.5 framework
3.Illustrated C# 2012


P: Gdzie w internecie znajdę do pobrania "Symfonię"?
O: Jest to bardzo często zadawane pytanie na wielu forach. Po sieci krążą nielegalne kopie wydań sprzed kilkunastu lat, niezgodne z obecnie obowiązującym standardem ISO.

P: Kiedy można rozpocząć naukę programowania?
O: Nie ma granicy wiekowej, jednak bardzo dużo osób zaczyna naukę programowania w wieku 13-16 lat.

P: Czy trzeba być dobrym z matematyki żeby być dobrym programistą?
O: Matematyka jest ważnym elementem programowania i nie można jej uniknąć w większych projektach. Zaczynając naukę dowolnego języka należy znać przynajmniej podstawowe zagadnienia. Jeżeli chcesz się o tym dowiedzieć więcej, odsyłam Cię na tę stronę.

P: Jakiej biblioteki graficznej się uczyć?
O: Nauka języków programowania zazwyczaj przebiega przy użyciu konsoli. Jeżeli chcemy tworzyć aplikacje tak jak np. Microsoft Office lub chociaż Notatnik, potrzebna jest znajomość bibliotek graficznych. Przedstawię pokrótce najpopularniejsze biblioteki.

Biblioteki 2D i 3D:
Allegro - biblioteka napisana w języku C, służąca do programowania gier. To oznacza, że oprócz funkcji graficznych, udostępnia funkcjonalność związaną z obsługą dźwięku, myszy, klawiatury, pomiaru czasu itd. Allegro posiada także zaimplementowane elementarne funkcje związane z grafiką 3D. Biblioteka dostępna jest na różne platformy (Windows, Linux, Mac OS X i inne). Posiada akcelerację sprzętową tylko w niewielkim stopniu, choć można to zmienić używając rozszerzenia AllegroGL (po więcej informacji odsyłam do zewnętrznych źródeł). Biblioteka Allegro jest oczywiście w pełni darmowa, co więcej - jej kod źródłowy jest dostępny na stronie oficjalnej.

SDL - dość podobna do Allegro, napisana w C oraz multiplatformowa. Oferuje zbliżoną funkcjonalność oraz podstawową obsługę wątków i napędu CD-ROM. Dodatkowo SDL jest przystosowany do współpracy z OpenGL. Co ciekawe, na stronie oficjalnej można znaleźć mnóstwo rozszerzeń oraz samodzielnych bibliotek, które oferują procedury służące np. do wykrywania kolizji, tworzenia interfejsu użytkownika itd. SDL jest dedykowany głównie dla C i C++, aczkolwiek powstało wiele portów pozwalających na korzystanie z niego w językach wyższego poziomu jak np. C#, Java czy Python (pełna lista na oficjalnej stronie). SDL, podobnie jak Allegro, jest narzędziem darmowym (licencja LGPL). Kod źródłowy jest również dostępny.

SFML - cechą, która chyba najbardziej odróżnia bibliotekę SFML od dwóch powyższych jest to, iż została zaprojektowana obiektowo. Napisano ją w C++, ale dostępna jest również m. in dla platformy .NET oraz Pythona. Pozwala na obsługę grafiki, dźwięku, kontrolerów, pomiaru czasu oraz sieci. Można ją zintegrować z interfejsami stworzonymi m. in. za pomocą Qt, wxWidgets, Win32 API i MFC. Podobnie jak SDL pozwala na stworzenie interfejsu, z którego następnie będzie korzystała biblioteka OpenGL. SFML w dość znacznym stopniu wykorzystuje akcelerację sprzętową, dotyczy to zarówno grafiki jak i dźwięku. Biblioteka jest całkowicie darmowa zarówno dla użytku komercyjnego jak i niekomercyjnego. Jej źródła są w pełni dostępne.

DirectX - zestaw funkcji stworzonych przez Microsoft. Najczęściej używane przy tworzeniu gier, aplikacji multimedialnych, lub symulacji z wykorzystaniem grafiki trójwymiarowej.

XNA - darmowy framework wydany przez Microsoft do tworzenia gier komputerowych. Zapewnia obsługę wszystkich aspektów programowania gier zaczynając od obsługi klawiatury, poprzez zaawansowaną grafikę 3D i kończąc na zastosowaniach internetowych (gry typu Multiplayer). Biblioteka oparta jest na technologii DirectX, a jej przeznaczeniem jest język C#. Grę utworzoną w tej bibliotece można skompilować na Xbox 360, Windows Phone 7, Windows. Framework jest bardzo prosty w obsłudze nawet dla początkujących programistów - wystarczy ściągnąć gotowe zestawy startowe gier, których gama jest szeroka (od gier logicznych po wyścigowe) i już można dowolnie modyfikować kod źródłowy, grafiki, dźwięki. Jest to duże ułatwienie, ponieważ gry nie trzeba pisać od zera. Systemy operacyjne obsługiwane przez XNA to Windows XP, Vista i Windows 7. Minimalne wymagania sprzętowe to Shader Model 1.1 (zalecane 2.0) oraz DirectX 9.0c.

OpenGL - biblioteka stworzona do generowania grafiki. Korzysta z zestawień figur geometrycznych. Często wykorzystywana w tworzeniu gier i wygaszaczy ekranu. Jest (po części) alternatywą dla DirectX.

Biblioteki do tworzenia interfejsu użytkownika:
GTK+- biblioteka służąca do tworzenia interfejsu graficznego do programów komputerowych. Pozwala na programowanie obiektowe, i współdziała z wieloma popularnymi językami, jak np. C++, ADA, Python.

QT - przenośne biblioteki C++ i Javy służące głównie tworzeniu GUI, ale także programów konsolowych i serwerów. Mimo dedykacji dla C++ i Javy, QT można używać programując także Pythonie, C#, czy Adzie. Biblioteki są w pełni obiektowe. Oprócz tworzenia graficznego interfejsu użytkownika, biblioteki oferują np. obsługę procesorów, grafiki trójwymiarowej, czy baz danych. QT posiada niezależne od STL szablony klas pojemnikowych.

WxWidgets pozwala na tworzenie oprogramowania dla różnych środowisk graficznych. Obecnie biblioteka pozwala na tworzenie aplikacji wielojęzycznych. Jednak do pojawienia się wersji 3, niestety programiści są zmuszeni wybierać kodowanie znaków między Unikodem, a typowym, 8-bitowym zestawem znaków.

WinApi - interfejs programistyczny Windows, używany przy tworzeniu aplikacji dedykowanych dla tego systemu. Zawiera zbiór funkcji umożliwiających działanie programu w tym systemie operacyjnym. WinApi daje także dostęp do zasobów sieciowych i sprzętowych komputera.

MFC - biblioteka napisana obiektowo w C++, przeznaczona do tworzenia Windowsowych aplikacji. Jest uproszczeniem WinApi.


Lista osób, które przyczyniły się do powstania tego FAQ:
izi, oskarzet, andros1245, cube0, quavitor, brzegator27 oraz Rincewind
Dyskusja o FAQ i propozycje zmian w dziale "Programowanie": http://forum.pcformat.pl/Przeczytaj-zani...emat-FAQ-t
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
Programy: Polecane / Nowe / Inne



Użytkownicy forum szukali:
download biblioteki graficzne 2d 3d do eclipse c++bruce eckel thinking in c++ odpowiedziinterfejsy graficzne w pythoniejakie są potrzebne biblioteki microsoft c dla pythonajava kompendium programisty kody źródłoweJava. Kompendium programisty. Wydanie VIIIjęzyk c kody źródłowe biblioteka allegrojęzyk programowania na pc dla początkującego

Podobne wątki (FAQ dla początkujących - Przeczytaj zanim założysz nowy temat!)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Pisanie kurs jeżyków programowania pomoc dla początkujących Ebix 0 6902 18.11.2012, 12:08
Ostatni post: Ebix
  Przeczytaj zanim załozysz nowy temat - dyskusja na temat FAQ. izi 38 30624 27.07.2012, 15:14
Ostatni post: Szachista
  m.lis java dla początkujących komputronix 2 7711 30.12.2011, 14:49
Ostatni post: komputronix

Skocz do:


Wybrane wątki (FAQ dla początkujących - Przeczytaj zanim założysz nowy temat!)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  .bat nie kompresuje plików GIENTY 3 9908 06.09.2018 07:20
Ostatni post: broda99
  problem z programem .bat wiktrom12 4 11116 30.08.2018 08:25
Ostatni post: wiktrom12
  Silnik do gier ZigglerGames 1 9742 23.08.2018 09:03
Ostatni post: Szachista
  Chciałbym zrobić prosty plik exe z jedną funkcją densour 4 10523 09.08.2018 16:24
Ostatni post: Ajgor
  Który język wybrać do stworzenia aplikacji synchronizujące pliki z urządzeniem mobiln Elemental 2 2599 18.07.2018 12:05
Ostatni post: Ajgor
  Pomysł napisania programu ROM FireBytes 3 11102 28.06.2018 16:56
Ostatni post: FireBytes
  [VBA] Tworzenie nowego arkusza z danymi z TextBox'a Pioro 4 11523 19.06.2018 23:24
Ostatni post: broda99
  Potwierdzenie na maila po wysłaniu pliku coci 0 10618 13.06.2018 20:37
Ostatni post: coci
  Pieczętowanie Archiwum Jar - Po co? wanhelsing 3 11215 19.05.2018 20:55
Ostatni post: koneton
  Wyszukiwarka w spawnerze nie reaguje na polskie znaki kazik666 0 10859 16.05.2018 12:04
Ostatni post: kazik666
  BASH symulator silnika dawswi1 3 10918 13.05.2018 10:43
Ostatni post: Szachista
  Autohotkey automatyczny zapis TheProgson 0 10467 07.05.2018 21:27
Ostatni post: TheProgson
  VBA Pobieranie wybranych plików z danymi julietta03 1 10800 04.05.2018 08:25
Ostatni post: broda99
  [VBA] Przenoszenie danych między formularzami Pioro 4 11277 23.04.2018 11:48
Ostatni post: broda99
  Skrypt, który szuka i zamienia armen10 2 10714 23.04.2018 10:04
Ostatni post: armen10