Kategorie | Inne

  

Jak zacząć przygodę z programowaniem – Wpis sponsorowany

Opublikowano 10 grudnia 2012 przez Franek

Informatyka jest coraz częstszym kierunkiem wybieranym przez młode osoby przy podejmowaniu decyzji o dalszym kształcie własnej drogi edukacji. Co więcej, istnieją także osoby, który zawodowo zajmują się tym na co dzień, lecz nie ukończyli wyższej uczelni a dołożyli starań, aby na własną rękę zdobyć niezbędną wiedzę i umiejętności.

Rozwój Internetu sprawił, że w sieci zaczęły regularnie pojawiać się poradniki i kursy, zarówno te na poziomie podstawowym jak i zaawansowanym, które krok po kroku przeprowadzają nowicjusza od zawiłych tajemnic programowania strukturalnego, poprzez obiektowe, komunikację z bazą danych a kończąc na wątkowości. Jeśli jednak zaczynamy swoją przygodę z programowaniem to z pewnością zastanawiamy się, który z języków będzie dla nas tym odpowiednim, gdyż do wyboru jest ich dość pokaźna liczba. Prześledźmy zatem jakie możliwości dają nam te najpopularniejsze:

  • C/C++ – jedne z najbardziej zaawansowanych języków wysokiego poziomu. Sam język C++ został stworzony na początku lat 80. przez Bjarne Stoustrupa. Czym zatem różni się starsza wersja C od nowszej C++? Dodany został mechanizm obiektowości, rzecz kluczowa dla tego języka. W trakcie pisania programu możemy również wykorzystywać już zaimplementowane funkcje w bibliotekach wśród których wyróżnić można te najpopularniejsze jak iostream(niezbędna przy wyświetlaniu i wczytywaniu tekstu przy pomocy obiektu cout), fstream(wykorzystywana przy operacjach na plikach), cmath(posiada szereg gotowych funkcji matematycznych) itd. Nieco mniej znane jak Allegro5, Directx, Unity3D czy OpenGL służą już do bardziej zaawansowanych prac między innymi z interfejsem graficznym. Ciekawą pozycją książkową dla osób zaczynających swoją przygodę z tym językiem jest niewątpliwie “Symfonia C++”, autor Jerzy Grębosz.
  • Java – język silnie obiektowy, często również mylony ze skryptom językiem JavaScript. Java wykorzystywana jest też szeroko w pisaniu gier na platformę Android(zintegrowany system oprogramowań na urządzenia mobilne). Najczęstszymi jej wadami jest niższa prędkość wykonywania się programów niż w języku C++, choć i w tym wypadku zdania są mocno podzielone. Innym mankamentem jest również kiepskie działania w przypadku zastosowań czasu rzeczywistego. Nieoczekiwane przestoje spowodowane działaniem odśmiecacza(jedna z kilku metod automatycznego zarządzania dynamicznie przydzieloną pamięcią) jak również brak przewidywalności wydajności również stanowią swego rodzaju niedociągnięcia.
  • PHP – język najczęściej stosowanym po stronie serwera WWW, ale może być również zastosowany do pracy z wierszem poleceń. Jednak obecnie standardem na każdym komercyjnym serwerem WWW jest PHP w wersji 5. Skrypt PHP jest przechowywany zwykle w formie tekstowej, czasem w korelacji z HTML. Jego modułowa budowa umożliwia jednak tworzenie także programów i skryptów posiadających interfejs graficzny. Początki PHP sięgają 1994 roku, kiedy to został on zaprezentowany szerszej widowni. Funkcjonalność tego języka jest zamknięta w czterech modułach: jądra, oficjalnych, repozytorium PECL i PEAR. Dopiero w wersji 5 zaczęto używać obiektowych rozszerzeń i zamienników dotychczasowych funkcji.
  • Assembler – oprogramowanie tworzące kod maszynowy na podstawie kodu źródłowego wykonane w niskopoziomowym języku programowania bazującym na podstawowych operacjach procesora. Rodzinami assemblera nazywa się zbiór języków programowania niskiego poziomu, gdzie jedno polecenie odpowiada jednemu rozkazowi procesora. Assembler różni się od bardziej skomplikowanych języków i sposobów programowania tym, iż zachodzi assemblacja zamiast kompilacji. Prosty język jest przetwarzany na kod maszynowy odpowiedzialny za konkretne funkcje, a następnie zamieniany na kod binarny.
  • C# – obiektowy język programowania opracowany specjalnie dla firmy Microsoft. Programy pisane za pomocą C# są kompilowane do kodu CIL, który umożliwia uruchomienie aplikacji w środowisku .NET Framework lub DotGNU i pochodnych. Uruchomienie pliku wykonalnego bez zainstalowania któregoś ze środowisk typu .NET nie jest możliwe. Bardzo ważną funkcją tego języka jest odśmiecanie pamięci, co zwalnia użytkownika od manualnego usuwania procesów, po zamknięciu programu zostają także zabite wszelkie procesy z nim związane. Podstawową cechą jest jednak obiektowość z hierarchią z jednym elementem nadrzędnym. Jest to jeden z najbardziej rozpowszechnionych języków w świecie programowania i jego uniwersalność pozwala oprzeć na nim wiele aplikacji, pracujących na różnych interfejsach i warstwach.

Lista wyżej wymienionych zawiera tylko te najbardziej rozpoznawalne. Wybór konkretnego zależy od tego, do jakich zadań pragniemy go użyć: czy ma posłużyć do tworzenia dynamicznych witryn, aplikacji biznesowych czy programów graficznych? Istotne, aby znać mechanizmy rozwiązywania pewnych problemów takich jak np. zakleszczenie, uwięzienie, zagłodzenie procesów a implementację dostosujemy już do wybranego środowiska. Programowanie nie polega bowiem na uczeniu się na pamięć, lecz kreatywnemu i nieszablonowemu podejściu do zagadnienia, co pozwoli na jego rozwiązanie nawet jeśli nie mieliśmy z nim dotychczas do czynienia.

Źródło: rail.pl.

  

7 Comments For This Post

  1. Papaya Says:

    Czy mógłbyś autorze bloga wdrożyć do tego bloga obok intensedebate…Disqus? Byłoby bardzo fajnie. Pozdrawiam!

  2. Franek Says:

    Co takiego ma Disqus czego nie ma Intensedebate? No poza tworzeniem "społeczności" komentujących i wyświetlaniem reakcji z social media?

    Mnie osobiście Intensedebate odpowiada bardziej, jest bardziej minimalistyczny, ma zresztą wszystko co potrzeba, zagnieżdżanie komentarzy, logowanie przez fb, twitter, openid i wordpress.com (dzięki temu jest bardziej łordpresowo ;)).

    Jak zmieniałem kiedyś system komentarzy, właśnie na początku padło na Disqus, nie wiem czemu ale działał źle z moim szablonem, czasami rozjeżdżał się i blednie wyświetlał ilość komentarzy.

    Padło więc na Intensedebate i nie widzę potrzeby aby to zmieniać (chyba że mnie przekonasz :P), ani tym bardziej posiadania 2 oddzielnych systemów komentarzy.

  3. hak Says:

    C/C++ to nie język programowania. To dwa języki.

  4. Franek Says:

    Oczywiście, wkradła się mała nieścisłość językowa. :)

  5. Wicie Says:

    Osobiście artykuł bardzo mi się podobał, jednak nie wiem czy miałbym siłę uczyć się tego wszystkiego. Wiedza ogromna, choć zarobki jeszcze większe.

  6. fack Says:

    . Nieco mniej znane jak Allegro5, Directx, Unity3D czy OpenGL..
    Tak to jest jak się nie wie o czym pisze, lub bierze kopiuj/wklej z innego serwisu

  7. Wtorek Says:

    Bardzo przydatne streszczenie dla laika, dzieki!

Leave a Reply

Polityka komentarzy

Wyszukiwane tagi: programowanie      
     
Green Dog Says

MiniBlog