eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingsockety, czyli "suckage thereof"sockety, czyli "suckage thereof"
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not
    -for-mail
    From: "Wiktor S." <w...@M...fm>
    Newsgroups: pl.comp.programming
    Subject: sockety, czyli "suckage thereof"
    Date: Sun, 6 Dec 2009 23:36:56 +0100
    Organization: http://onet.pl
    Lines: 32
    Message-ID: <hfhbm8$2u1$1@news.onet.pl>
    NNTP-Posting-Host: 193.239.126.100
    Mime-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1260139016 3009 193.239.126.100 (6 Dec 2009 22:36:56 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Sun, 6 Dec 2009 22:36:56 +0000 (UTC)
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Newsreader: Microsoft Outlook Express 6.00.2900.5843
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
    Xref: news-archive.icm.edu.pl pl.comp.programming:184252
    [ ukryj nagłówki ]

    Pozwolę sobie ponarzekać na sockety - na przykładzie winsock2, ale
    dotyczy to też podobnych bibliotek w innych systemach.
    Jest to jedno z gorszych API jakie widziałem.

    Biblioteka stara się być do wszystkiego, od zabytków z lat chyba 60-tych po
    Bluetooth. Przez to kod korzystający z biblioteki wygląda strasznie,
    wszędzie zbędne wskaźniki - nawet do zwykłego inta, a jeszcze obok podajemy
    jego rozmiar!
    Zdaję sobie sprawę, że protokoły mają gdzieniegdzie wartości little endian,
    ale można było to przed programistą ukryć, nie zmuszając do ręcznej
    konwersji w niewiadomo którą stronę, niewiadomo w których miejscach. Mnóstwo
    niespójności.
    Wszędzie zbędne skróty, włączając w to potworki typu WSAEACCES (bo drugie S
    na końcu byłoby już chyba za długie).
    Internet raz nazywa się INET, gdzie indziej In, a jeszcze gdzie indziej IP.
    Wiele pól w strukturach ma nie wiedzieć po co dziwaczne nadmiarowe
    przedrostki (np. S_un_w).
    Pary stałych np. WSAECANCELLED i WSA_E_CANCELLED o różnych wartościach.
    Do wyboru sockety blokujące (czekające do wieczności bez możliwości
    anulowania operacji), nieblokujące (przepraszające nas że istnieją) i
    asynchroniczne, podczas gdy wygodniejsze byłoby coś pomiędzy pierwszymi
    dwoma.
    Funkcje o mało wyszukanych nazwach accept, select czy connect. Tutaj też
    niespójność aż niewiarygodna: gethostbyname ale GetNameByType.
    I ten cały bajzel w imię czego? Zgodności z jakimś unikso-posiksem sprzed 30
    lat? Po co?


    --
    Azarien


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: