
Moją pasją jest programowanie. Kocham i uwielbiam pisać programy. Daje mi to bardzo dużo przyjemności.
To jest podobne do tworzenia sztuki, np. obrazu lub muzyki. Jednak do danego programu można zawsze powracać i poprawiać go lub ulepszać.
Programowanie jest z pewnością rodzajem sztuki. Zajęcie to nigdy się nie nudzi, bo zawsze uczymy się czegoś nowego.
Ponadto programując można na pewien czas oderwać się od zwykłej
rzeczywistości i zanurzyć się w inny - logiczny świat kodu, w którym reguły gry są jednoznaczne.
Swoje pierwsze kroki w programowaniu stawiałem na kochanym 8-bitowym komputerku - Commodore 64 i był to oczywiście język Basic.
Potem było trochę zabawy z LOGO na komputerach Elwro w ogólniaku. To były stare, piękne czasy...
Następnie próbowałem nieco kodować w Assemblerze na C64 (niezapomniane LDA, STA, JMP...) ale nie zbyt długo,
bo w moim domu pojawił się PC, no i zaczęło się oczywiście od Pascala pod DOSem.
Potem było C++ pod DOSem i w końcu przesiadka na C++ Builder (programowanie obiektowe) i pisanie aplikacji pod Windows.
Napisałem również coś pod Linuxa. Następnie wziąłem się za Visual C++ i MFC a w końcu zacząłem pisać w czystym WinAPI.
Także robiłem coś w Delphi, jestem jednak wielkim przeciwnikiem tego języka i traktuję 'delfiarstwo' jako zarazę w sztuce programistycznej.
Jestem wielbicielem języka C++ i tylko w nim najbardziej uwielbiam tworzyć kod.
Lubię ten język za jego ogromną elastyczność
(kocham wskaźniki - to podstawa!) i możliwość niskopoziomowego programowania, będąc jednocześnie językiem wysokiego poziomu.
Podoba mi się w C++ też to, że można w jednej instrukcji wykonać kilka rzeczy naraz
(tak, jak działa kod RNA niektórych wirusów:)).
Język C++ wymaga od programisty odpowiedzialności i wiadomego działania a przez to sporego doświadczenia,
daje jednak w zamian niemal nieograniczone możliwości ekspresji. W tym języku można najlepiej wyżyć się intelektualnie
i wyrazić prawdziwą sztukę programowania.
Poza tym w językach C i C++ zapisano niemal wszystkie liczące się w świecie systemy operacyjne i ich oprzyrządowanie programowe.
Kompilatory C++ generują najszybszy i najbardziej optymalny kod pośród języków wysokiego poziomu.
Najbardziej lubię podczas programowania i projektowania optymalizować kod tak, aby program działał jak najszybciej i jednocześnie
zużywał jak najmniej zasobów komputera. Ciągnie mnie bardziej do poziomu Assemblera i dlatego nie lubię takich języków jak
Pascal, Delphi czy Java oraz wszelkich skryptowców. Czekam z nadzieją na spopularyzowanie się nowego języka D
- znacznie lepszego od C++, który potrafi wygenerować jeszcze bardziej optymalny kod.
Programując zawsze staram się zachowywać następujące podstawowe zasady-cele:
1. Optymalny kod: zużywający jak najmniej zasobów komputera:
Czas procesora, Pamięć, Dostęp do urządzeń: dysk HD, dysk optyczny itp.
2. Kod elastyczny, przenaszalny, skalowalny, tzn. łatwy do wykorzystania w innych systemach, programach (programowanie obiektowe)
3. Kod źródłowy napisany czytelnie i w sposób uporządkowany
4. Uzupełnianie-utrzymywanie dokumentacji i komentarzy w kodzie źródłowym (nieraz komentarz jest ważniejszy od samego kodu)
5. Program komunikujący użytkownika dokładnie o wszelkich krytycznych sytuacjach.
Oprócz programów w C++ i Delphi piszę też w PHP, PL/SQL, Office Visual Basic for Application.
Na tej stronie przedstawiam pewną część moich ciekawszych (dla użytkowników)
programów (ponad 60) oraz implementacje różnych algorytmów (ponad 30).
Do wielu z nich są również dołączone kody źródłowe!
Większość z tych programów powstała z własnej potrzeby posiadania pewnego narzędzia lub przetestowania danego algorytmu albo technologii.
Być może znajdziesz tutaj jakiś ciekawy program, który może okazać się dla Ciebie bardzo przydatny.
O ile inaczej nie napisałem, wszystkie tu przedstawione programy zostały napisane w języku C++,
dla systemu Windows lub DOS oraz są całkowicie darmowe, tzn. freeware.
Artur Czekalski (Sator) ARTUR@epokaY.net
Programy i narzędzia matematyczne:
Wykresy4DX9, Wykresy2Dplus, Parser wyrażeń arytmetycznych dla C++ (satorparser),
KalkulatorSator, Rozwiązywanie układu równań liniowych
Sztuczne Sieci Neuronowe i Zbiory Nieostre:
Rozpoznawanie: odcisków, podpisów,
ręcznie pisanych kodów pocztowych
Kompresja i Kryptografia:
SzyfrerRC4, Kompresja Huffmana
Konwertery plików i programy użytkowe:
Renamer, InCopier, CountDown
Sieciowe i inne programy:
LanGetSator, WinPolys, Tester wiedzy - serwer/klient, Generator przemówień
Implementacje algorytmów, kody źródłowe i dokumentacje:
Metoda Bairstowa,
Całkowanie numeryczne, Interpolacja, Sympleks
Moje luźne zapiski o optymalizacji kodu w C++ i inne.
Oznaczenia przy programach:
[s] - program można uruchamiać przez systemowe 'SendTo', tzn. z parametrem
[z] - dołączone są kody źródłowe
[VC] - kod w Visual C++
[BCB] - kod w Borland C++ Builder
Uwaga. Pliki są spakowane programami: WinRar, ACE, 7-Zip
Spis napisanych przeze mnie programów, które pamiętam. Posiadane książki.
epokaY.net polaca książkę: Marketing internetowy w wyszukiwarkach
Po przeczytaniu tej książki przestaniesz myśleć o reklamie internetowej jako o kosztach koniecznych,
a zaczniesz ją postrzegać jako inwestycję.
Polecam:
Firma Akte z Poznania oferuje kompleksowy serwis komputerowy i usługę odzyskiwanie danych (wszelkie uszkodzenia nośników, porady).
Dzięki doświadczeniu oraz wyspecjalizowanemu laboratorium firma Akte umożliwiła skorzystanie z bezpłatnej analizy uszkodzeń dysków twardych. Opłata za analizę pobierana jest jedynie w przypadkach rezygnacji przez klienta z odzyskiwania danych po skutecznym przeprowadzeniu analizy dysku twardego