abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 22:33 | Komunita

Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL). Dnešním dnem je novým vedoucím Sam Hartman.

Ladislav Hagara | Komentářů: 3
včera 22:11 | Nová verze

Po čtyřech měsících od vydání verze 5.5 byla vydána verze 5.6 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Nová verze RawTherapee je k dispozici také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

Ladislav Hagara | Komentářů: 0
včera 00:22 | Nová verze

Byla vydána verze 1.0 svobodné multiplatformní závodní hry SuperTuxKart (STK). Přehled novinek v příspěvku na blogu. Zdůraznit lze především víceuživatelský mód umožňující hrát hru po síti. Videoprezentace nejnovější verze na YouTube.

Ladislav Hagara | Komentářů: 4
20.4. 15:55 | Komunita

Ke zhlédnutí jsou videozáznamy grafických rozhraní telefonů, zatím jenom vývojových desek, Librem 5 a PinePhone. Librem 5 za 649 dolarů by měl být aktuálně k dispozici ve třetím čtvrtletí 2019. Při spuštění kampaně se mluvilo o lednu 2019. PinePhone za 150 dolarů by měl být odesílán ve čtvrtém čtvrtletí 2019.

Ladislav Hagara | Komentářů: 0
19.4. 20:22 | Nová verze

Po dvou měsících vývoje od vydání verze 6.0.0 byla oficiálně vydána nová verze 6.1.0 správce digitálních fotografií a nově i videí digiKam (digiKam Software Collection, Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení. Vývojáři zdůrazňují nové API pro rozšíření DPlugins nahrazující KIPI. Ke stažení je také balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

Ladislav Hagara | Komentářů: 0
19.4. 19:55 | Nová verze

Byla vydána verze 1.16.0, tj. první stabilní verze nové řady 1.16, multiplatformního multimediálního frameworku GStreamer (Wikipedie). Z novinek lze zdůraznit vylepšení podpory WebRTC nebo AV1. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
19.4. 11:55 | Nová verze

Po více než 3 letech od vydání verze 1.3.0 byla vydána nová stabilní verze 1.4 multimediálního přehrávače MPlayer (Wikipedie). Nejnovější verze přináší kompatibilitu s verzí 4.1 a také s aktuální vývojovou verzí multiplatformní multimediální knihovny FFmpeg (Wikipedie).

Ladislav Hagara | Komentářů: 15
18.4. 23:55 | Komunita

Mozilla oznámila, že projekt Things byl přejmenován na WebThings. Nové jméno by mělo zdůraznit, že se nejedná pouze o projekt IoT (Internet věcí), ale o WoT (Web věcí). Současně byla vydána WebThings Gateway (GitHub) ve verzi 0.8 pro Raspberry Pi.

Ladislav Hagara | Komentářů: 0
18.4. 21:11 | Nová verze

Byl vydán balík KDE Aplikace ve verzi 19.04. Shrnuje práce za poslední čtyři měsíce: opravy chyb, mj. ve správci souborů Dolphin, prohlížeči dokumentů (nejen PDF) Okular nebo prohlížeči obrázků Gwenview – tyto dostaly např. lepší podporu dotykových obrazovek. Významného přepracování se dočkal editor videa Kdenlive.

Fluttershy, yay! | Komentářů: 3
18.4. 16:22 | Nová verze

Byla vydána verze 19.04 linuxové distribuce Ubuntu a oficiálních odnoží Ubuntu Budgie, Kubuntu, Lubuntu, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio a Xubuntu. Kódový název Ubuntu 19.04 je Disco Dingo. Přehled novinek a odkazy ke stažení v poznámkách k vydání. Ubuntu 19.04 bude podporováno 9 měsíců, tj. do ledna 2020.

Ladislav Hagara | Komentářů: 10
Používáte headset pro virtuální realitu?
 (1%)
 (3%)
 (1%)
 (19%)
 (0%)
 (75%)
Celkem 220 hlasů
 Komentářů: 12, poslední 18.4. 01:19
Rozcestník

Lazarus 0.9.2.8 - nativně v GTK2 pro Linux

Byla vydána nová verze vývojového prostředí Lazarus pro FreePascal. Obsahuje spoustu vylepšení (nativně v GTK2 pro Linux a BSD, upravené IDE atd.). Více najdete changelogu.

15.10.2009 10:25 | PetrHL | Nová verze


Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

Amarok avatar 15.10.2009 11:12 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Tomu rikam dobra zprava o nove verzi :-)
Ten projekt je nahodou dost dobry, kdysi jsem delal par veci v Delphi a v linuxu neco takoveho chybelo jako open source. Jenze v te dobe mel Lazarus dost velke mezery, to bylo ale tak pred 5 lety. Object Pascal / FreePascal je hodne pekny jazyk, mohu doporucit. Nevi nekdo, jak je to s debuggerem? Driv to byl taky problem, protoze gnu debugger si s Pascalem moc nerozumnel.
GNUniverse - May the source be with you...
15.10.2009 11:24 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Do IDE je integrované gdb. V konfiguraci si k němu nastavíte cestu a to je vše. Ladění je integrováno do IDE. V editoru dáte breakpoint, spustíte app (F9) a provádění se zastaví na zadaném místě. Pak můžete krokovat (F7 nebo F8). IDE obsahuje i watch list atd. Mají to udělané velice dobře.
"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
Amarok avatar 15.10.2009 12:01 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Tak to je pokrok, prave jak jsem to kdysi testoval, tak integrovany debugger byl teprve v planu. Skoda, ted uz se totiz k nemu vracet nebudu, rad ale vzpominam...
GNUniverse - May the source be with you...
15.10.2009 21:47 AHAHA | skóre: 7 | blog: ZZZ
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Nechci rozpoutat flame, ale rikat o Pascalu, ze je to pekny jazyk, no nevim. Pred mesicem jsem musel zapasit s BP7.0, kdyz jsem tehdejsi kamaradce (a nynejsi pritelkyni) pomahal se zapoctakem a bylo to fakt utrpeni.

Syntaxe muze byt veci vkusu, to jo. Ale to, ze Pascal (aspon ten z BP7) neumi dynamickou alokaci pameti a uplne cokoli dynamickeho se musi resit pres spojaky, ktere je pak potreba definovat pro kazdy datovy typ cele znovu (a nebo umirat pri silenem pretypovanim), tak to mu neodpustim.

Spis nez ale na Pascal se zlobim na ceske skolstvi (spatnych/zastaralych jazyku je ostatne hodne) - lez, ze Pascal je jazyk vhodny pro ucebni ucely atp. To mozna plati ve srovnani s Ceckem, ale to je tak vsechno. No a ze Pascal je stale uvodnim ucebnim jazykem na MFF, to uz je neodpustitelne.

Sorry za vykrik do tmy, ktery se moc FreePascalu netyka (ktery nejspis bude asi pokrocilejsi nez BP7), ale potreboval jsem si ulevit. Stale doufam, ze Borland Pascal vymre, ale zatim se ke mne stale vraci ...
15.10.2009 22:04 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux

Ale to, ze Pascal (aspon ten z BP7) neumi dynamickou alokaci pameti a uplne cokoli dynamickeho se musi resit pres spojaky

On nemá procedury New a Dispose?

15.10.2009 22:15 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Ale jasně že má, autor v tom zřejmě nemá moc jasno, protože už ta jediná věta odporuje sama sobě. A já už doufal, že by se téhle diskusi mohli antiPascalisti vyhnout…
Ještě na tom nejsem tak špatně, abych četl Viewegha.
15.10.2009 22:38 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux

už ta jediná věta odporuje sama sobě

Když by bylo třeba, šlo by realizovat spojový seznam v poli (dostatečně velkém), takže by se pak nemusela používat dynamická alokace paměti  :-)

16.10.2009 07:26 AHAHA | skóre: 7 | blog: ZZZ
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Mozna sem se blbe vyjadril. New a dispose BP ma a tedy dynamicky alokovat pamet umi.

Co ale neumi je dynamicka alokace pole - jeho delka musi byt znama pri kompilaci. No a nekonstantne velke pole se pak musi resit jinak (napr. pres ty spojaky).
16.10.2009 07:46 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux

Co ale neumi je dynamicka alokace pole

Ale to také umí. Třeba takto:

type
TCisArr = array[1..HorniMez] of integer;
PCisArr = ^TCisArr;
var
pole : PCisArr;

A pak na vhodném místě zaalokovat pamět pro prvky, které jsou skutečně třeba:

GetMem(pole, zadanyPocetPrvkuPole * sizeof(integer)); 
16.10.2009 08:44 AHAHA | skóre: 7 | blog: ZZZ
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Nemam ted BP po ruce, takze to nezkusim ... pamatuju si ale, ze mi kdosi poradil presne tuhle funkci - v BP jsem ji pak zkusil v helpu (ktery je jinak docela obsahly), ale zminka o ni nebyla ... tak jsem si rekl, ze to bude asi zalezitost Delphi.

Jeste pred tim jsem tu dynamickou alokaci pole zkousel vygooglovat, ale jedine, co jsem nasel bylo neco ve smyslu "deklarujte pole s velikosti nula, vypněte range checking a klidne do nej zapisujte ...".
Tomáš Bžatek avatar 16.10.2009 12:35 Tomáš Bžatek | skóre: 29 | Brno
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Co by clovek cekal od 17 let stareho produktu... :-)

Zaklad ObjectPascalu uz tam samozrejme byl a sla s tim delat spousta krasnych veci, ale az prvni Delphi v roce 1995 prineslo znatelne zlepseni moznosti jazyka.
Koupim litajiciho tucnaka
16.10.2009 17:29 AHAHA | skóre: 7 | blog: ZZZ
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Mne je to jasne, jen me sere to, ze ceske skolstvi furt na BP lpi ...
16.10.2009 12:52 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux

Já v helpu mám jak GetMem tak FreeMem.

Amarok avatar 16.10.2009 08:26 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
To jsou presne duvody, proc plno lidi nema v oblibe Pascal. Nemuzete prece srovnavat 20 let stary BP 7 s ObjectPascalem/FreePascalem. Mezi tim jsou dimenze. Vse co popisujete uz umeji oba popisovane jazyky snad 10 let (nebo aspon ObjectPascal, jelikoz FreePascal skoro vse jen postupne kopiruje a s vyvojem byval tehdy pozadu).

Ze se dodnes pouziva BP7 na skolach, tomu se fakt divim, zaspali dobu. Ne ze by to nefungovalo, ale kdyz student vyjde ze skoly, tak s tim jazykem dal uz nic nesvede a musi se ucit zase neco jineho.
GNUniverse - May the source be with you...
default avatar 16.10.2009 18:26 default | skóre: 22 | Madrid
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Nechci rozpoutat flame, ale rikat o Pascalu, ze je to pekny jazyk, no nevim. Pred mesicem jsem musel zapasit s BP7.0, kdyz jsem tehdejsi kamaradce (a nynejsi pritelkyni) pomahal se zapoctakem a bylo to fakt utrpeni.
Uděláš nejlíp, když se budeš namísto Borland Pascalu věnovat přítelkyni. :-D
Spis nez ale na Pascal se zlobim na ceske skolstvi (spatnych/zastaralych jazyku je ostatne hodne) - lez, ze Pascal je jazyk vhodny pro ucebni ucely atp. To mozna plati ve srovnani s Ceckem, ale to je tak vsechno. No a ze Pascal je stale uvodnim ucebnim jazykem na MFF, to uz je neodpustitelne.
A já si zase myslím, že Pascal (třeba zrovna ten Borland Pascal) je skvělý pro výuku. Podle mě je mnohem lepší než Delphi. Tuším, že to byla verze 6, kde hoši začali motat typy a pointery. Škoda. Nebo třeba klíčové slovo packed. No já nevím. Zletej Borland Pascal.
Stale doufam, ze Borland Pascal vymre, ale zatim se ke mne stale vraci ...
Vidíš. A mě třeba osobně mrzí, že umřel. Turbo Vision bylo nádherné prostředí. Dodnes neexistuje tak pěkná a elegantní alternativa. Osobně mi Pascal přijde mnohem více čitelnější než C/C++ a jejich deriváty. Ještě tak ta Java, ale i ta je trochu kryptická. Možná tak PL/SQL, které vychází z Ady… Je to holt smutný…
16.10.2009 18:50 AHAHA | skóre: 7 | blog: ZZZ
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
A já si zase myslím, že Pascal (třeba zrovna ten Borland Pascal) je skvělý pro výuku. Podle mě je mnohem lepší než Delphi. Tuším, že to byla verze 6, kde hoši začali motat typy a pointery. Škoda. Nebo třeba klíčové slovo packed. No já nevím. Zletej Borland Pascal.

No jestli je lepsi nebo horsi nez Delphi, to nevim. Ale na vyuku rozhodne dobry neni ... na to je IMHO nejlepsi nejaky objektovy skriptovaci jazyk - neco jako Python nebo PHP. Zacinat dnes s proceduralnim jazykem je IMHO velka chyba. Srovnejte si, jak na objekty reaguji lidi se znalosti Pascalu nebo C a lidi, co nikdy neprogramovali. Pro ty prvni je OOP casto nepochopitelne, pro ty druhe prirozene (aspon takova je ma osobni zkusenost). Jinak, Object Pascal toho umi celkem dost, ale je to na nej doslova naroubovano silou (treba ta dynamicka alokace pole - nejprve se deklaruje pole s konstantni delkou, pak se na nej vytvori pointer a pak se prikazem rekne, ze pole ma mit jinou velikost).

Turbo Vision bylo nádherné prostředí. Dodnes neexistuje tak pěkná a elegantní alternativa.

O tom se nepru a mam na to stejny nazor (pouzival jsem dost BC++ 3.1). Miloval jsem propracovany a okamzite pristupny help - tohle jsem videl jen tak u Visual Studia (pro C++), ale tam mi help prisel mnohem neprehlednejsi (taky mel ale mnohem sirsi zaber).

Osobně mi Pascal přijde mnohem více čitelnější než C/C++ a jejich deriváty.

To je vec vkusu a zvyku. Cteni Cecka mi nikdy nedelalo problemy (pokud je kod programovan rozumne, v Cecku se jinak da programovat absolutne necitelne).
16.10.2009 19:59 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Object Pascal toho umi celkem dost, ale je to na nej doslova naroubovano silou (treba ta dynamicka alokace pole - nejprve se deklaruje pole s konstantni delkou, pak se na nej vytvori pointer a pak se prikazem rekne, ze pole ma mit jinou velikost)
V Borland Pascalu jo, v Object Pascalu (Delphi) ne. Object Pascal má dynamická pole, tím si jsem celkem jistý, protože jsem je používal :-) Viz například, co tak na mne vypadlo z Googlu, tady.

K té výuce: podle mě je Pascal taky výborný jazyk pro výuku. Celkem bych byl ochotný věřit, že Python by byl lepší, ale pořádně ho neznám, tak nemůžu hodnotit. Jestli mají pascalisti nebo céčkaři problém s objekty nedokážu posoudit, nic takového jsem nezaznamenal. A nějak si nejsem jistý, jestli je vhodné začínat výuku programování zrovna na OOP. Tedy úvod do programování pro neprogramátory by klidně mohl být v tom Pythonu, ti si s ním zřejmě vystačí, ale budoucím programátorům bych na začátek narval hezky SICP. Myslím to vážně.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
18.10.2009 13:37 AHAHA | skóre: 7 | blog: ZZZ
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
No, AFAICR ma TP/BP od nejake verze nejakou podporu Object Pascalu. Jinak se bavim spis o vyuce neprogramatoru - vetsina programatoru se IMHO programovat naucila sama ... >> K té výuce: podle mě je Pascal taky výborný jazyk pro výuku. Par veci, ktere mi v Pascalu vadily:
- dualita PChar versus String
- nutnost forward referencovat funkce a procedury
- nutnost deklarace promennych v hlavicce funkce/procedury
- rozeznavani rozdilu mezi ^. a .
Tohle jsou veci, ktere jsou pro vyuku naprosto nepodstatne ... Mimoto bych nejradsi volil skriptovaci jazyk, aby se odstranil proces kompilace a volil bych dynamicky typovany jazyk. Takze treba ten Python je myslim docela dobra volba. Obecne cilem vyuky programovani neprogramtoru je nauceni algoritmizace a nepotrebuji znat rozdil mezi primym pristupem k datove strukture nebo pres ukazatel.
>> A nějak si nejsem jistý, jestli je vhodné začínat výuku programování zrovna na OOP.
Netvrdim, ze se ma zacinat s dedicnosti atp., ale jednoducha prace s objekty je IMHO intuitivnejsi nez proceduralni pristup.
Amarok avatar 18.10.2009 14:35 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
- dualita PChar versus String
Domnivam se, ze PChar vznikl jen pro programatory v C, aby se jim zjednodusilo prepisovani kodu do Pascalu. Sam jsem PChar ani jednou nepouzil, nebyl duvod, a to jsem toho programoval docela dost.
- nutnost deklarace promennych v hlavicce funkce/procedury
To je nahodou skvela vec. Deklarace promennych na ruznych mistech je akorat zdroj castych chyb. Ja dodnes (v jinych jazycich) vetsinu promennych deklaruju na zacatku, i kdyz je pouzivam az daleko pozdeji, to by si mel navyknout kazdy, kdo ma rad "uklizeny" kod.

Jinak OOP vs. procedury, jsem spis ze zacatku pro proceduralni programovani, a OOP az pozdeji. Kazdy to vidi jinak a kazdemu to leze do hlavy jinak, to je jako diskuze KDE vs. GNOME.
GNUniverse - May the source be with you...
18.10.2009 18:21 AHAHA | skóre: 7 | blog: ZZZ
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Domnivam se, ze PChar vznikl jen pro programatory v C, aby se jim zjednodusilo prepisovani kodu do Pascalu. Sam jsem PChar ani jednou nepouzil, nebyl duvod, a to jsem toho programoval docela dost.

Zda se mi, ze nektere funkce existovaly pouze ve variante pro PChar a pro String vubec nebyly. Pak jsem to musel nejak divne konvertovat a bylo to na zbliti.

To je nahodou skvela vec.

Muj nazor to tedy neni. IMHO by mela byt promenna deklarovana nekde pred prvnim pouzitim - je to znacne prehlednejsi (clovek vidi zaroven datovy typ, pripadny komentar a pouziti promenne). Jinak, jakym zpusobem to muze byt zdrojem chyb?

Jinak OOP vs. procedury, jsem spis ze zacatku pro proceduralni programovani, a OOP az pozdeji. Kazdy to vidi jinak a kazdemu to leze do hlavy jinak, to je jako diskuze KDE vs. GNOME.

Mne pripada, ze je pro prehlednost i budoucnost lepsi pouzivat:

pes.zastekej(kolikrat);

Misto:

zastekej(pes, kolikrat); (a nebo jsem to deklaroval takto?) zastekej(kolikrat, pes);
Amarok avatar 18.10.2009 18:45 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Jinak, jakym zpusobem to muze byt zdrojem chyb?
Jednoduse z duvodu neprehlednosti u dlouheho kodu, promenne jsou pak ruzne rozhazene pres nekolik stranek, hrozi zamena promennych apod. Kdyz se uz na zacatku udela souhrnna deklarace, tak je v tom jasno. Samozrejme pokud se nejaka promenna pouziva jen napr. ve smycce for apod., tak souhlasim, ze je to spis otravne ji deklarovat nekde uplne jinde a naopak to zneprehlednuje centralni deklarace zbytecne dlouhym kodem.

Mimochodem s nastupem OOP se centralni deklarace castecne prosadila i u jinych jazyku, metody se prece deklaruji uplne na zacatku, coz je tak trochu podobne.
GNUniverse - May the source be with you...
18.10.2009 20:54 AHAHA | skóre: 7 | blog: ZZZ
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Jednoduse z duvodu neprehlednosti u dlouheho kodu, promenne jsou pak ruzne rozhazene pres nekolik stranek, hrozi zamena promennych apod. Kdyz se uz na zacatku udela souhrnna deklarace, tak je v tom jasno. Samozrejme pokud se nejaka promenna pouziva jen napr. ve smycce for apod., tak souhlasim, ze je to spis otravne ji deklarovat nekde uplne jinde a naopak to zneprehlednuje centralni deklarace zbytecne dlouhym kodem.

Tak to na vec mame uplne jiny nazor. Podle me je znacne neprehlednejsi nutnost deklarace na zacatku. V pripade, ze je deklarace na zacatku a clovek s promennou pracuje o par stranek nize, pak 1) nevidi datovy typ promenne (u staticky typovanych jazyku) 2) nevidi pripadny komentar osvetlujici ucel promenne 3) nemuze si byt jisty, zda v predchozich strankach promenna byla nebo nebyla pouzita.

Podle me jedine riziko je to, ze na zacatku funkce si clovek deklaruje promennou, ulozi do ni nejaky vysledek, v dalsim bloku kodu ji redeklaruje a prepise tak jeji hodnotu, ktera se pak muze hodit. Nicmene v praxi se s timto problemem nesetkavam a proto myslim vyhody jednoznacne prevazuji (minimalne pro me).

Mimochodem s nastupem OOP se centralni deklarace castecne prosadila i u jinych jazyku, metody se prece deklaruji uplne na zacatku, coz je tak trochu podobne.

Tohle souvisi s forward referencingem a ma to uplne stejny vyznam - zrychleni kompilace. Proto se vyskytuje treba v C++, ale v Jave, C# nebo PHP uz ne. A to nepocitam objektove jazyky, ve kterych pojem tridy vubec neexistuje (JavaScript napr.).
18.10.2009 20:57 AHAHA | skóre: 7 | blog: ZZZ
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Jeste dodam, ze onen hlavickovy soubor se docela hodi pro udelani si obrazku o interface. Nicmene stejna vec se da snadno udelat dynamicky a kazde moderni IDE to umi ...
Amarok avatar 19.10.2009 08:15 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Spletl jsem nazev, myslel jsem atributy, ne metody. Tudiz se neco jako centralni deklarace pouziva snad v kazdem jazyku s OOP. V procedurach je to jasne asi vec nazoru, lepsi je ale stejne nepsat moc dlouhy kod a radsi vse rozdelovat na vice procedur apod., takze prehlednost promennych pak asi velky problem vetsinou nebude.
GNUniverse - May the source be with you...
Jardík avatar 19.10.2009 10:41 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
IMHO by mela byt promenna deklarovana nekde pred prvnim pouzitim
Ne! Představte si kód:
void bla()
{
  if (blablabla)
  {
    char pole[2048];
    int  pole2[4096];
    //blablabla
  }
  else
  {
    char pole[1024];
    long long pole2[6000];
    // blablabla
  }
}
V případě pascalu byste to deklaroval ve "var" všechno, musel byste to pojmenovat jinak a žralo by to zbytečně cca 2x tolik paměti, nebo byste musel alokovat dynamicky a mít tam režii navíc.
Věřím v jednoho Boha.
Amarok avatar 19.10.2009 11:25 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Tak s takovouto konstrukci jsem se jeste nesetkal, to je podle me dost spatny styl programovani (jeste k tomu v jednom pripade "int" a ve druhem "long", to bych vubec nemichal, to je pak opravdovy zdroj moznych chyb). Kdyz predem neznam potrebnou velikost pole, tak bych to resil dynamicky.
GNUniverse - May the source be with you...
Jardík avatar 19.10.2009 15:20 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Ten long tam je schválně, aby někdo neřekl, že stačí zadefinovat to větší pole. Já long s intem rozhodně nemíchám a jsem na to dokonce dost alergický a toho, kdo to zaměňuje, bych nejradši praštil krumpáčem po hlavě. Stejně tak, jako když někdo přetypováva pointer na int/long/long long - prasárny největšího kalibru.

A mnou uvedený zápis rozhodně není o špatném stylu, takhle se to normálně dělá a na rozdíl od dynamické alokace se nemusíte starat o uvolnění, postará se o to kompilátor. A tady velikost pole znám, vím, že v prvním případě to bude tolik.
Věřím v jednoho Boha.
Jardík avatar 19.10.2009 15:20 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Navíc tam je long long, tj. dle C99 >= 64b
Věřím v jednoho Boha.
19.10.2009 12:33 AHAHA | skóre: 7 | blog: ZZZ
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Vis, co to jsou mikrooptimalizace? Usetrenych 50KB nikoho nezajima, prehlednost kodu ano. Konkretne tohle je krasny kandidat na rozdeleni na dve funkce.

Jinak trochu si v uvodu protirecis.
Jardík avatar 19.10.2009 15:26 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Volání funkce je moc velký overhead (na x86 např. odečítání a přičítání k *SP, volání call a ret) :-) Sice to může třeba kompilátor inlinovat, ale takové GCC je hloupé a dělá kraviny jako že mi nebude inlinovat 500 řádkovou funkci, když mu to poručím slovíčkem inline a ještě si dovolí hodit warning "call is unlikely and code size would grow" - to ale vím, ale přesto to chci ... :-)
Věřím v jednoho Boha.
19.10.2009 16:30 AHAHA | skóre: 7 | blog: ZZZ
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
To, ze volani funkce ma overhead ma smysl resit, kdyz programujes treba kernelovy scheduler. Jinak je to sumafuk.

Fakt si myslis, ze se vyplati vubec premyslet o nejakem overheadu funkce, ktera je pri behu programu spustena treba jen jednou?
Jardík avatar 19.10.2009 18:02 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
No ono když ta funkce je pak volána z cyklu (třeba bilion krát), tak to opravdu nějaký ten důsledek má. Nebo např. v GTK jsou kolikrát exportovány/volány jednořádkové funkce místo použití inline (v C99 je) či makra - a když se to volá při resize okna na každý widget ...
Věřím v jednoho Boha.
19.10.2009 18:04 AHAHA | skóre: 7 | blog: ZZZ
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Jo, samozrejme. GTK je knihovna na jejiz rychlosti relativne zalezi a pokud se funkce skutecne vola z cyklu, ktery bezi bilionkrat, pak ano, ma to cenu resit. Rozhodne to ale nema cenu resit v obecne diskusi o programovacich jazycich.
15.10.2009 11:52 aR | skóre: 4
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Což o to, Lazarus je v pohodě, ale ten kompilátor by ještě chtělo naučit komprimovat výsledky. (Kámoš dělá pod woknama a jednoduchý formulář zabírá cca 5 MB exe soubor, oproti Delphi pár desítek KB). Na linuxu taky žádná sláva.
Amarok avatar 15.10.2009 12:06 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Na kompilovane programy z freepascalu se pred lety pouzival jeden kompresor, nevzpomenu si ted na nazev. Byl dostupny dokonce i pro wokna, vytvarelo to self-extracting soubory a bezelo to dost rychle.
GNUniverse - May the source be with you...
Amarok avatar 15.10.2009 12:17 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Uz to mam, projekt stale zije: UPX, the Ultimate Packer for eXecutables.
GNUniverse - May the source be with you...
15.10.2009 12:13 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Ano, máte pravdu. Soubory z Lazarusu jsou větší. Pomáhá odstranit debug informace příkazem

strip nazevsouboru

Velikost se sníží dost postatně. Můj program má po kompilaci nějakých 30MB a po strip to sleze na 8MB.
"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
Jardík avatar 15.10.2009 12:49 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Jenže jednookení program má v lazarusu několik mega, po stripnutí má stále něco přes mega. Jednookení program v delphi má 200k a po stripnutí taky :-) A UPX zdržuje při startu.
Věřím v jednoho Boha.
Jardík avatar 15.10.2009 12:50 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
BTW tohle má lazarus mezi novinkami: "Refactoring of LCL reduced minimum size of executables by about 15%". Momentálně mám nějakou tak 2 týdny starou verzi ze SVN, tak zkusím tuhle stabilní.
Věřím v jednoho Boha.
15.10.2009 13:38 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
No, u mě to moc nefunguje.

Starší verze po stripu: 7.3MB

Nová verze po stripu: 7.4MB

"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
15.10.2009 17:33 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Práve som vyskúšal vytvoriť jednoduchý program v Lazarus. Výsledný exe súbor má okolo 1.7MB a funguje so štandardnými knižnicami. Keď som naposledy skúšal Delphi, výsledný exe súbor bol menší (ak sa teda nepovedalo linkeru, aby do exe súboru vložil nejaké knižnice), ale k tomu, aby sa to spustilo, to potrebovalo dosť veľké knižnice.
Amarok avatar 15.10.2009 18:24 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Myslis Kylix nebo Delphi? Ja jsem ve Woknech v Delphi zadne knihovny pro spousteni exe programu nepotreboval, proste jsem program zkompiloval, mel treba 300kb a jelo to i na jinem PC.
GNUniverse - May the source be with you...
15.10.2009 21:50 AHAHA | skóre: 7 | blog: ZZZ
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Docela zajimavy je fakt, ze UPX ve skutecnosti muze start zrychlit, dekomprimace je (pri nezatizenem procesoru) casto rychlejsi nez cteni z disku. Nemam k tomu zadne podklady, ale tak to kdysi vysvetlovali autori LILO, proc jsou graficke pozadi komprimovane ...
saly avatar 15.10.2009 17:35 saly | skóre: 22 | blog: odi_et_amo
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
No sláva! Nenasazení GTK2 docela dlouho bránilo v použitelnosti ... Jinak je to 0.9.28, zkuste to prosím opravit ;-)
Tomáš Bžatek avatar 15.10.2009 18:30 Tomáš Bžatek | skóre: 29 | Brno
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
No ja nevim, ale Lazarus zkompilovany pro GTK2 mam uz nekolik let a bez problemu (az na par drobnosti). Jen to ted asi nastavili jako default.
Koupim litajiciho tucnaka
saly avatar 15.10.2009 19:02 saly | skóre: 22 | blog: odi_et_amo
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
Naposled, co jsem sledoval stav implementace GTK2, tak to nebylo kompletní ... Když to teď mají jako default, tak to znamená něco jako "je to kompletní a otestovaný", což je důležitý ...
15.10.2009 19:47 jojo
Rozbalit Rozbalit vše Existuje nieco podobne ale pre C++ ?
ale niue glade a lebo qtdesigner, proste nieco taketo
15.10.2009 19:48 jojo
Rozbalit Rozbalit vše Existuje nieco podobne ale pre C++ ?
ale nie glade alebo qtdesigner, proste nieco taketo
mirec avatar 16.10.2009 15:12 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Existuje nieco podobne ale pre C++ ?
V čom je Qt designer horší? Vždy keď som robil niečo v delphi mal som chuť nakopať toho, kto vymyslel takéto GUI.
LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
16.10.2009 16:19 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: Existuje nieco podobne ale pre C++ ?
Celé to je vec zvyku. Podľa mňa je Qt Designer rovnako neprehľadný ako Delphi.
mirec avatar 16.10.2009 16:47 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Existuje nieco podobne ale pre C++ ?
No v designeri viem aspoň urobiť layout. V delphi aby som urobil povedzme 3 buttony vedľa seba tak aby sa korektne resizovali tak sa môžem rovno pokrájať.
LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
16.10.2009 16:26 martin knocik | skóre: 14
Rozbalit Rozbalit vše Re: Lazarus 0.9.2.8 - nativně v GTK2 pro Linux
No super. Na mojej VŠ sa učíme programovať práve v Lazaruse.

Založit nové vláknoNahoru


ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.