Projekt badawczy Polska-Namibia 2010


ciekawe że jądro windows visty jest już budowane w oparciu o C# a nie o C.
Mozesz podac źródło tych rewelacji?


po pierwsze programowanie obiektowe jest wydajniejsze.
Zdefiniuj wydajnośc. Jeżeli chodzi o szybkośc to programy w C raczej bedą szybsze niż w C++, Javie, C#. Zaleta jezyków obiektowych jest szybkość tworzenia programów, łatwiejsza obsługa błędów i przyjemniejsze zarządzanie pamiecią(zwłaszcza C#/Java)


po drugie tworząc obiekty piszesz dla nich procedury RAZ a nie jak w proceduralnym każdy obiekt musisz obsługiwać procedurami publicznymi przy których trzeba zadbać żeby dla każdej instancji obiektu zarezerwować pamięć żeby procedura się nei pomyliła dla kogo ma działać. w obiektowym programowaniu masz to uporządkowane z samego założenia.
To zdanie nie ma sensu. Po pierwsze w językach proceduralnych nie ma obiektów(w znaczeniu w jakim występują w językach obiektowych). Po drugie w językach obiektowych też alokujesz i zwalniasz pamięć.(C++ - new, delete, konstruktor, destruktor) Pomijam języki posiadające Garbage Collector, ale jedna z wad tego rozwiązania jest spadek wydajnosci programu i nie wiadomo kiedy pamiec zostanie zwolniona.(przy wspolczesnych komputerach to raczej juz nie jest problem)


po trzecie dziedziczenie po innych obiektach jest możliwe tylko w obiektowym programowaniu.
No i? Przeciez jest masa zagadnien zwiazanych z informatyka gdzie nie ma sensu pchac ani dziedziczenia ani obiektowosci.
Użytkownik kinemator edytował ten post 20 luty 2006, 14:40




teraz jest obiektowość
bzdura jakich mało. Strukturalny kod nie jest żadnym przeżytkiem, Obiektowość stosuje się w dużych, rozległych i rozrastających się projektach.Programowanie strukturalne, tak jak i obiektowe ma swoje wady i zalety..



" />Widze nastepujace tendencje w odpowiedziach:

Kazda sroka swoj ogonek chwali.

I

Gdzie dwoch Polakow tam trzy opinie.



Kazdy jezyk oprocz zalet ma swoje wady i ograniczenia. Java wymaga od razu wejscia w programowanie obiektowe; C/C++ jest blisko sprzetu, wiec latwo cos zepsuc tak, ze bedziesz szukal bledu przez dwa tygodnie; w Pythonie trzeba uwazac na wciecia; PHP jest trudny do debugowania (to moje skromne opinie, nie wszyscy musza sie z nimi zgadzac). Wybierz co z powyzszych najmniej bedzie Cie zniechecalo lub poszukaj jezyk, w ktorym dzialanie Hello World bedziesz w stanie zrozumiec linijka po linijce bez zaglebiania sie w specyfike jezyka...

A co do swojego ogonka to programuje ostatnio glownie w C/C++ Jak nauczysz sie tego jezyka, to przesiadka na kazdy inny zajmie Ci najmniej czasu. (Czytaj: posiada najwiecej niuansow jezykowych, z ktorych tylko niektore pojawiaja sie w innych jezykach )



Constructor: twoje rozwiazanie nie wyglada ciekawie z matematycznego punktu widzenia(ten rozklad dziwnie wyglada), oprocz tego ma 2 wady:
1. nie rozroznia poziomu trudnosci umiejetnosci(obsluga komputera/programowanie obiektowe)
2. nie rozroznia poziomu trudnosci samego uczenia sie (einstein sie uczy programowac/Constructor-sam przyznales ze jestes cienki z matmy)

W GURPSie to wyglada tak:
kazdy ma 4 atrybuty:St Dx IQ Ht(Sila Zrecznosc IQ Wytrzymalosc)
sa 2 typy umiejetnosci: physical i mental(fizyczne i umyslowe)
sa stopnie trudnosci kazdej umiejetnosci.
Testuje sie TYLKO umiejetnosc. Ale punkty wydane na umiejetnosc odnosi sie do atrybutow. np:
umiejetnosc "walka mieczem" jest fizyczna zwykla :jezeli postac ma Dx=10(0) i wyda 1PP(punkt postaci) na ta umiejetnosc to bedzie ja mial na poziomie 10(testuje rzut 3k6-10 daje 50%)
umiejetnosc programowanie jest mentalna trudna: jezeli postac ma IQ=8(-20) i wyda 2PP to bedzie mial umiejetnosc na poziomie 8 (35%)

do tego dochodza wady i zalety postaci np. "talent matematyczny" ktory podnosi IQ postaci jezeli chodzi o umiejetnosci matematyczne

tworzenie postaci w GURPSie jest troche skomplikowane, ale jezeli zrobi sie wszystko porzadnie, to podczas gry trzeba juz tylko rzucac kostkami(3k6), a nie 5-to juz wiaderko i jeszcze trzeba k6 miec na obrazenia....i sie nosi kilo kostek, albo GM musi miec szuflade zapchana kostakami :) (jezeli chodzi o problemy "kostkastyczne" to od WoD gorszy jest tylko earthdawn i jego k14 k18 i k3,14)

no, to by bylo natyle



" />PHP Solutions wysłało betatesterom jakiś czas temu artykuł omawiający zalety i wady programowania proceduralnego i obiektowego - by pomóc czytelnikowi w wyborze. Powinno w najbliższym numerze ukazać się.

Polecam jeszcze przeczytać: http://www.sitepoint.com/blog-post-view.php?id=224444 oraz post do którego ta notka się odwołuje (link w tekście).



Witam
Chcę wam przedstawić pewien artykuł, "Jak szybko i przyjemnie nauczyć się podstaw C++"

Język C++ jest językiem wieloparadygmatowym. Oznacza to, ze można w nim stosować (jednocześnie!) różne style programowania, w tym programowanie proceduralne, obiektowe, generyczne, a nawet programować na poziomie asemblera.
Język C++ zakłada statyczną kontrolę typów; posiada też elementy dynamicznej kontroli typów.
Język C++ umożliwia bezpośrednie zarządzanie wolną pamięcią.
Instrukcje podstawowe: strukturę kodu źródłowego, znaki specjalne formatujące tekst, najczęściej używane operatory w C++ oraz typy zmiennych.

Pętle i wyrażenia warunkowe: „if”, „while”, „do while”, „for”, „switch” i „goto”.

Tablice: ogólne wiadomości na temat tablic, jak pobrać wartości poszczególnych elementów tablicy i wypisać je na ekranie, czym są tablice znakowe, jak kopiować zawartości tablic i wyszukiwać ciąg znaków w tablicy.
Funkcje: ogólne wiadomości na temat funkcji, jak przekazywać argumenty do funkcji przez wartość, w jaki sposób w jednej podfunkcji można wywołać drugą podfunkcję, na czym polega przeładowanie nazwy funkcji, kiedy stosować funkcję „inline” a także co to są argumenty domniemane.
Wskaźniki: ogólne wiadomości o wskaźnikach, zalety i wady wskaźników a także o wykorzystaniu wskaźników w praktyce.
Programowanie obiektowe: co to są klasy i obiekty, na czym polegają dane prywatne i publiczne klasy, jak stworzyć metodę danej klasy oraz na temat konstruktorów i destruktorów.

Przez użycie w niej operatora inkrementacji “++”. Inkrementacja to zwiększenie liczby o 1, w języku C++ do jej wykonania wykorzystywany jest w/w operator; dla przykładu:

zapis:

i=i+1; // zmiennej “i” przypisujemy jej aktualną wartość, powiększoną o 1

… jest równoważny:

i++; // również powiększamy wartość zmiennej “i” o 1.

Artykuł nie jest jeszcze dokończony
Lecz najlepiej pójść do księgarni i kupic książkę "C++ dla początkujących" i przeczytać ją
Poradnik będzie updatewany niedługo ;) Kupuję tą książkę i wam trochę napisze



Nadchodzi, choć w Polsce powoli.
Niektórzy się cieszą, a inni niepokoją.
Do tych ostatnich należę i ja.
Nie niepokoją się postępem a zagrożeniami.
Te zagrożenia może w DVB, DAB, czy DRM nie są znaczace ale w innych dziedzinach już tak.
Do napisania tego postu skłoniły nie wypowiedzi na forum Emitela o DVB-T.
A mianowicie zawiesznie się odbiorników DVB-T.
No cóż "postęp wymaga ofiar" jak podobo powiedział jeden z decydentów radzieckich po katastrofie w Czarnobylu.
Ale czemu ten postęp jest taki toporny i to co ma ułatwiać życie - je utrudnia !.
No bo w epoce pracy ręcznej, silniki elektryczne i elektryfikacja bardzo ludzom pomogły.
Telefon i radio też - wielu ludziom uratowały życie.
Ale dochodzimy do jakiegoś punktu gdzie bezkrytyczne implementowanie zwłaszcza techniki cyfrowej może być albo groźne (komputery sterujące urzadzeniami medycznymi) albo kłopotliwe (wieszające się bankomaty, awarie serwerów ZUS itp).

Za czasów jedynie papierowych pieniędzy czy pieczątek urzędnika życie było prostrze.
Bo kolejki w bankach czy ZUSie nie zniknęły a za to są przestoje, awantury, kradzieże elektroniczne itp.

Czyli - jest pewna granica postępu (jest to granica rozsądku) gdzie należy stawiać kres cyfryzacji lub zostawiać jej alternatywę (ZUS nie zostawił dla firm z ponad 5 pracownikami, coraz wiecej banków jest tylko internetowych itp).

Praktyka pokazuje iż awarie mają rożne przyczyny. Ale np awaria zasilania zdarza się duzo rzadziej niż awaria software'owa.

Po prostu konstrukcje fizyczne (urzadzenia) robi (projektuje) jeden zespół ludzi mających ze sobą fizyczny kontakt (narady, konsultacje, poprawki itp).
Każdy robi kawałek urządzenia ale każdy w razie problemów ma obok konstruktora sąsiedniego "kawałka" i moze sie z nim naradzać czy ustalać wspólne poprawki.

W programowaniu tak nie jest.
W dobie programowania obiektowego korzysta się z gotowych "kawałków" systemu, często nie wiedząc co jest w "bebechach" obiektu.
Potem ktoś inny to składa do kupy.

No i jest system. Nawet działa.
Ale dwa fakty szkodzą jego jakości :
- nacisk na szybkość wrożenia (zyski !) - od 20 lat taka jest tendencja - ilość a nie jakość,
- specyfika software jest taka jak opisałem - do końca nikt nad programem nie panuje - nie wiadomo jak się zachowa w szczególnym przypadku.

Właśnie - kontrola.....
Tracimy kontrolę nad swoimi produktami.
One nie są inteligentne - to nie film sf - i nie zwrócą sie przeciw nam.
One bedą nam przeszkadzać zamiast pomagać a nawet mogą nam zagrozić gdy powierzymy im ważne dla nas zadania rezygnując z alternatywy (koszty).

No to o czekającej nas "cyfrowej rewolucji w mediach".

Będzie DVB-T. Analog wyłączą.
Zalety? Są.
Więcej programów. Mniejsze moce nadajników (mniej zakłóceń innych systemów i koszty prądu).
Wady? Też są. I to dużo.

Już czytam na forach, że w DVB-T niektórym przeszkadzają..... liście!
Czy to możliwe? Tak, ale przy słabym sygnale.
W końcu podczas silnego wiatru w sąsiedztwie lasów widać efekt poruszających się pni - zmienne odbicia na ekranie a nawet fluktuacje całego sygnału.
Do zaobserwowania na pasmach UHF - w TV ale i w radiokomunikacji (np NMT).
No ale gdy analog jeszcze idzie odebrać (coś tam da sie oglądać) to cyfra potafi się..... zawiesić.
Restart co chwila może być uciążliwy.
Czasem nawet potrzebna nowa instalacja kanałów.

Czyli to co znamy z komputerów PC.
"program wykonał nieprawidłową opearcję i nastąpi jego zamknięcie".
Doszlo dotego, ze odbiorniki TV się..... uruchamiają.
Trzeba czekac jak w kompie.
Nie aż tyle ale... kto wie jak zrobią nam centra multimedialne?
Mój odbiornik Cyfy+ czy modem DVB do internetu (w końcu założyli) uruchamia się kilkanaście sekund.
Ciekawe co będzie kiedyś.
Zmiana kanałów też jest powolna (np w DVB-S).
Nie to co w analogu.
Pyk, pyki przeleciałem kanały - wiem ze nic nie ma.
Tu czekam aż się obraz pojawi.

Juz nie mówię co będzie z ustawianiem anten.
Bedzie jak w satelitanych teraz.
Mierniczek i jazda. I to mierniczek selektywny przy takiej częstotliwości.
Bo sygnał "jakiś" zawsze będzie skądś odbierany (nie tak jak przy satelitarnych).

Cyfryzacja jest nieuchronna ale coś fajnego odchodzi.
Ta atmosfera radia czy TV analogowej.
Strojenie, szumy, burzowe trzaski, tropo, Esy itp. Przy cyfrze i opóźnieniach reakcji trudno będzie o DXy.
No chyba ze przy stablinym tropo.
A rezygnacja z pasm ponizej 174 MHz (gdy będzie tylko DAB i DVB) pozbawi nas odbioru Es.
Jedynie w DRM można będzie popolować np na 26 MHz.
vari



Szablon by Sliffka (© Projekt badawczy Polska-Namibia 2010)