proc nepouzit neco existujiciho
|
7.5.2004 07:51
Radek Cervinka
|
Ja fakt nevim, proc treba nepouzit uz napsanou knihovnu socketu (a nejen socketu) (samozrejme objektovou), treba Synapse.
http://www.ararat.cz/synapse/
je to mnohem lepsi (a udrzovatelnejsi) nez se trapit s klasickymi sockety.
Hold ale to by autor muset umet objektove programovani co :).
V soucasne dobe bych jednoznacne preferoval objektove programovani a pak se nemusite bat ani vetsich projektu (viz muj Seksi Commander).
Radek
|
|
|
Re: proc nepouzit neco existujiciho
|
8.5.2004 08:07
Aleš Hakl
|
Použít napsanou knihovnu socketů je samozdřejmě také řešení. Nevěděl jsem že něco takového již dnes existuje pod rozumnou licencí pro FPC. Zmiňovaná knihovna synapse mi z prvního rychlého pohledu na seznam vlastností příjte jako kanón na vrabce. Ale matně si pamatuji, že právě produkty firmy Borland používalo mnoho lidí, kteří programovali tak že slinkovali největší dostupné knihovny které dělají "cosi" a mezi ně napsali dvě tři třídy jako rozhraní a naklikali nějaké GUI čudle. Nevím mě osobně toto nepříjde jako zrovna správný přístup k programování a radši se podívám do hloubky jak to funguje a případnou (objektovou) obalovou knihovcnu si napíšu sám, tak aby vyhovovala mým potřebám.
Docela se divím, jak všichni v poslední době považují objektové programování za univerzální odpověď na jakýkoli problém. Osobně si hlavně nedovedu příliš představit co tak prudce objektového může být na socketové knihovně.
--
Aleš Hakl |
|
|
Re: proc nepouzit neco existujiciho
|
28.5.2004 08:44
Radek Cervinka
|
ja taky nemam rad knihovny ktere jsou obrovske, ale prave synapse je velice dobre navrzena, ktera ac umoznuje spoustu veci tak z ni muzu vzit jen treba 2 jednotky.
jo a ja klidne vezmu radsi nekdy knihovnu (nebo jeji cast), ktera se mi libi (pohledem do zdrojaku), a ktera je programatory navic uznavana, nez bych stravil x hodin tim ze budu znovu vynalezat kolo.
>které dělají "cosi" a mezi ně napsali dvě tři třídy jako rozhraní a >naklikali nějaké GUI čudle
to je ale chovani spatnych programatoru ve vsech jazycich
>radši se podívám do hloubky jak to funguje a případnou >(objektovou) obalovou knihovcnu si napíšu sám, tak aby
>vyhovovala mým potřebám.
ti nikdo nebrani, ale podivat se existujici je mozno taky(a casto to delam), navic autor te knihovny jiz vetsinou tim stadiem prosel
> co tak prudce objektového může být na socketové knihovně.
to by ses divil. (treba ze treba naslednikem soketu muze byt ftpsoket, httpsoket atd, ze informace o soketu si drzi objekt soketu, tudiz v programu se to nehemzi promennymi, chyba se opravi jednou v zakladni tride a je vymalovano, atd. ). Vyhody toho se samozrejme projevi v programech dejme tomu nad 20000 radku
(coz je v projektech ktere spravuji skoro nic).
Radek Cervinka
|
|
|
Re: proc nepouzit neco existujiciho
|
25.8.2005 17:10
Aleš Hakl
|
Prave priklad s implementaci nejruznejsich protokolu, jako naslednika obycejneho socketu mi neprijde zrovna dobry navrh. Daleko rozumnejsi by bylo kdyby kazda implementace protokolu mela obdobne rozhrani jako obdobna sluzba fungujici lokalne (tj. http a ftp do jiste miry podobne souboru etc.)
Pokud si dovedu predstavit nejakeóu rozumnou dedicnost socketu tak prave to, ze ruzne site mezi poskytuji obdobne sluzby (prenos datagramu, spolehlivy prenos proudu, nespolehlivy prenos datagramu ze zarucenym poradim...) a na teto urovni rozumnou dedicnost poskytuje jiz samotne BSD sockety, pravdou je, ze pro pouziti ve vyssim programovacim jazyce ma smysl, tyto nizkourovnove operace nejak zabalit. Faktem ovsem je, ze ruzne varianty sitovych protokolu 4. vrstvy a jine IPC mechanizmy poskytuji ramcove podobne sluzby, ovsem ne vzdy stejneho druhu a tudiz klasicka "objektova" dedicnost neni zrovna idealni pristup. |
|
|
Jen tak dál
|
25.8.2005 13:04
Jiří Hajda
|
Je dobré, že někdo píše články o Free Pascalu pod Linuxem. V Delphi dělám už nějakou dobu a jelikož se starám o jeden Linuxový server, potřebuju občas vytvořit nějaký program pro Linux. Ovšem nějak nemůžu uvěřit tomu, že na Linuxech se stále programuje jenom v jazyku C, jádro snad z důvodů přenositelnosti není napsané ani v C++. Přitom pokud programuju v Object Pascalu, který je abstraktnější, čistější, objektový a novější než C, těžko se mi pracuje s tak zastaralým C. Proto se snažím psát programy v Free Pascalu. Na internetu však není mnoho návodů na Free Pascal pod Linuxem, a dokonce ještě česky. Proto jsem rád, že někdo píše i na toto téma. Témat k dalším článkům je jistě dost, budu muset řešit např. komunikaci s mysql a meziprocesovou komunikaci pomocí pojmenovaných rour. U těch rour je problém, že proces čeká na připojení druhé strany, kdežto já potřebuju, aby se proces navázal na rouru a ihned prováděl další kód.
Kdo by to řekl, že portál o linuxovém software tady tak chyběl, a že se dokáže vyšvihnout na takovouto úroveď.
Ať se vám daří. |
|
|
Re: Jen tak dál
|
26.8.2005 00:01
Aleš Hakl
|
Ohledne jadra - v prostoru jadra by se C++ pouzivalo dosti spatne - jednim z hlavnich predpokladu prace v jadru, je ze programator vi pomerne presne co dela a jak to dela, coz vetsina programatoru v C+ nevi a ani je to vlastne nezajima. (Existuje jakysi modul jadra, ktery je napsany v C++, ale musi si sebou nest pomerne znacny kus kodu, aby vubec bylo mozne C++ v jadru pouzit)
Ono to s tim Free Pascalem je takove osemetne, neni to jazyk, ve kterem by se v UNIXu neco nejak vyrazneji psalo a je to pochopitelne, jednak jde o to, ze kompilator Free Pascalu do nedavna existoval pouze na platformu i386 a tusim m68k (nebo mozna PowerPC) a ani dnes neni podporovanych platforem zrovna mnoho. A za druhe to s onou abstraktnosti a cistotou FP neni az takove, je to takovy zvlastni hybrid. Ve FP je mozne psat opravdu obektove, ale nikdo to ve zkutecnosti nedela a pouziva ho tak jak byl myslen a drive ci pozdeji narazi na nejaky problem (napada me absence neceho jako je vicenasobna dedicnost ci rozhrani)
K dalsim dilum bych rekl tolik, ze Free Pascal uz nejaky ten patek nepouzivam, ale vzhledem k tomu, ze o pokracovani je zrejme docela zajem, tak o nem zacinam premyslet. |
|
|
Re: Jen tak dál
|
6.1.2007 13:40
kdoasi
|
Rozhrani ve FP jiz drahnou dobu je. Vicenasobna dedicnost je docela rozporuplna vlastnost.
Citace z manualu:
"As of version 1.1, FPC supports interfaces. Interfaces are an alternative to multiple inheritance as implemented for instance in C++." |
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|