Portál AbcLinuxu, 5. listopadu 2025 11:17
.
Něco jsem už naprogramoval v konsolových aplikacích. Pak jsem pomalu přešel na GUI nejprve v MFC pod win. Pak v C# a nakonec v jave, kde jsem zjistil že je to opravdu velice podobné jako v C#. MS by měl Sunu zaplatit za licence k javě
protože to je z venku (uvnitř to bude asi trochu jiné) totální kopie.
Nicméně hledám nějaký pokud možno neinterpretovaný jazyk, ve terém bych mohl tvořit GUI jak pro win tak pro linux.
Omluvám se teď všem Rubyům a Pythonům, ale chtěl bych to tvořit pokud možno v C nebo C++. Pokud mi to někdo nevymluví.
Java i C# jsou sice hezké platformy, ale zdá se mi to jako strašné mrhání systémovými prostředky. Proto jsem se chtěl poohlédnout po něčem jiném.
Jak to vidíte vy ?
Jak se dá v C nebo C++ napsat multiplatformní aplikace ? Nebo žeby v jiném jazyce ?
Jak se dá v C nebo C++ napsat multiplatformní aplikace ?Napište to s Qt. Pokud chcete GTK+, použijte třeba GTKmm/Glibmm - tam už si asi budete muset zařídit některé platform specific věci (sahající mimo možnosti jazyka) sám.
.
PS:Procedury pro zjistovani souboru na disku + zapis informaci do seznamu bylo opsano z velmi tluste a velmi chytre knihy. Takze predpokladam ze to byl nejlepsi zpusob jak to napsat.
No. Psal jsem v jave neco jako filemanager.Aha, to je problém, k tomu se Java zrovna moc nehodí.
Ve srovnani s vecmi napsanymi v neinterpretovanych jazycich (…)S tímhle opatrně. Za prvé, výraz „interpretovaný jazyk“ je sám o sobě vachrlatý, protože jazyk je jen specifikace a dá se pro něj napsat interpret i překladač. Za druhé, Java není vyloženě interpretovaný jazyk, ale jazyk překládaný do bajtkódu virtuální mašiny. Velká část toho kódu navíc díky JIT končí v kódu stroje, na kterém VM běží. Za třetí, pomalost správce souborů napsaného v Javě s interpretováním přímo nesouvisí – zpomaluje spíš abstrakce hardwaru, které se člověk v nižších (klidně interpretovaných) jazycích může vyhnout.
Spousteni cele aplikace take 10x pomalejsi.To je ale kvůli zavádění VM, ne? Druhé spuštění už by mohlo být rychlejší. (Což ale říkám spíš jen do počtu, protože u správce souborů by samozřejmě bylo i to první pomalé spuštění na pendrek.)
Proto jsem chtel zkusit programovat v necem slozitejsim, coz c++ pro mne bez pochyby je, ale zato setrnejsim ke zdrojum. Nelibi se mi totiz moderni trendy ve stylu, pamet roste, vykon pocitace roste, tak budem psat neoptimalizovane.Tohle je omyl, vážně. Úplně základní programátorská dovednost je umět vybrat technologii, která se pro zadání bude hodit. Když si chci v rychlosti něco spočítat a sáhnu po C++, není to ideální. Když chci napsat správce souborů a sáhnu po Javě, je to velký omyl. Když to pak dře, není to chyba technologie.
Nicmene se nebranim myslence psat v jave, pokud mi tu nekdo rekne ze lze opravdu napsat aplikaci, ktera bude alespon trochu srovnatelna s Cckovou app co se tyce zdroju.Jistěže jde. Virtuální mašiny se ale člověk nezbaví, takže nesmí čekat, že první spuštění aplikace i s režií startu VM bude lepší než staticky linkovaná céčková binárka. Pro spoustu aplikací na tom ale nesejde, případně výhody Javy převáží. ¶ Jestli chceš psát správce souborů pro Windows i Linux (wtf?), Java pro to ideální není. Jestli chceš psát přenositelnou GUI aplikaci pro Windows i Linux, výhody Javy oproti ostatním řešením můžou být podstatné. Jestli čekáš jednoduchou a správnou odpověď na otázku „V čem psát GUI aplikace pro Windows i Linux?“, nedočkáš se.
, to je za a). A za b) v okamziku kdy se chci prehoupnout do neceho slozitejsiho (jako je filemanaager) nebo neco co pracuje s hardwarem, koncim. Budto to nejde vubec a nebo je to pomale.
Ale co uz, takovy je zkratka zivot
.
Pokud jde o rychlost pak python pochopiltene dele startuje, za behu uz se rozdily nedaji poznat vyjma pripadu, ze pocitac musi swapovat, pak je pochopitelne python mnohonasobne pomalejsi.Potvrzuji, rozdíl v rychlosti běžného programu v pythonu a C/C++ poznám jen pokud se ten pythoní musí vyhrabávat ze swapu.
jednoduzsejDnes už píšeme mnohem jednodušeji než ve spřežkách.
. Nicmene ho pouzivam na ruzne mensi veci a nemam s nim problem.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.