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 18:22 | Nová verze

Byla vydána nová verze 4.2.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 198 vývojářů. Provedeno bylo více než 2 200 commitů. Přehled úprav a nových vlastností v seznamu změn.

Ladislav Hagara | Komentářů: 0
včera 15:33 | Pozvánky

Konference Bratislava OpenCamp 2020 proběhne v sobotu 4. dubna 2020 v Bratislavě na Fakultě informatiky a informačních technologií STU. Organizátoři vyhlásili CFP. Návrhy přednášek a workshopů lze zaslat do 31. ledna 2020.

Ladislav Hagara | Komentářů: 0
včera 15:11 | Nová verze

Bylo oznámeno vydání KDE Frameworks 5.65.0, tj. nové verze aktuálně 74 knihoven rozšířujících multiplatformní framework Qt a dnes využívaných nejenom KDE Plasmou a KDE Aplikacemi. Nově začleněnou knihovnou je KQuickCharts pro generování grafů.

Ladislav Hagara | Komentářů: 0
13.12. 15:44 | Nová verze

Byla vydána verze 2.4 svobodného nelineárního video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Zdůraznit lze přechod na Python 3.

Ladislav Hagara | Komentářů: 0
13.12. 07:00 | Nová verze

Vyšel toolkit Qt verze 5.14. Změny se týkají především Qt Quick, jeho odstínění od konkrétních nízkoúrovňových grafických API a zlepšení výkonu zvláště ve 3D. Začíná tím proces postupných příprav na Qt 6. Příští vydání (5.15) bude s dlouhodobou podporou. Aktuálně také vyšlo vývojové prostředí Qt Creator 4.11 – vedle oprav chyb a řady zjednodušení konfigurace přidává mj. experimentální podporu WebAssembly.

Fluttershy, yay! | Komentářů: 4
13.12. 06:00 | Nová verze

Byla vydána nová verze 1.41 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.41 bylo vydáno také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

Ladislav Hagara | Komentářů: 0
12.12. 23:55 | IT novinky

J2EE, nověji Java EE a nejnověji Jakarta EE, tj. Java pro vývoj a provoz podnikových aplikací a informačních systémů (Java Platform, Enterprise Edition), slaví 20 let. První verze J2EE 1.2 byla vydána 12. prosince 1999.

Ladislav Hagara | Komentářů: 0
12.12. 22:00 | Nová verze

V kancelářích společnosti NGINX, tj. společnosti stojící za stejnojmenným webovým serverem a reverzní proxy, v Moskvě proběhla policejní razie. Na NGINX si nárokuje práva společnost Rambler. Igor Sysoev, zakladatel společnosti NGINX, ve společnosti Rambler pracoval v letech 2000 až 2011. V březnu letošního roku byla společnost NGINX prodána společnosti F5 Networks za 670 milionů dolarů.

Ladislav Hagara | Komentářů: 16
12.12. 18:44 | Nová verze

Vyšel Vim 8.2. Jedná se převážně o opravnou verzi tohoto textového editoru, ale mezi několika novými funkcemi je také možnost používat vyskakovací okna v uživatelském rozhraní, což využijí zvláště vývojáři doplňků pro dialogová okna či okna s nápovědou, napovídáním atp. Ukázkou je hra killersheep.

Fluttershy, yay! | Komentářů: 1
12.12. 17:44 | Nová verze

Byla vydána nová verze 19.12.0 KDE Aplikací (KDE Applications). Přehled novinek i s náhledy v oficiálním oznámení, kompletním seznamu změn a na stránce s dalšími informacemi.

Ladislav Hagara | Komentářů: 1
Kolik jste vystřídali distribucí Linuxu? (uvažujte distribuce, které jste používali aspoň měsíc)
 (3%)
 (75%)
 (16%)
 (3%)
 (2%)
Celkem 97 hlasů
 Komentářů: 14, poslední dnes 12:30
Rozcestník

www.AutoDoc.Cz

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.