Portál AbcLinuxu, 4. května 2025 12:26
1) schopnosti editorů jsou podobné, jde o zvyk uživatele
2) tato IDE se mi moc neosvědčila, upřednostňuji klasický postup — textový editor, komplilátor, linker, příp. make. Z propracovanějších editorů třeba Geany
3) mono je klon .net což je hloupý výmysl od M$, takže pokud opravdu požadujete takovéto prostředí, zkuste Javu, jinak doporučuji zůstat u C[++]
4) linux nemá jednotné API, to vyplývá z jeho filozofie. Pro GUI aplikace existují knihovy jako Gtk, Qt, wxWidgets, FLTK apod., osobně bych nejvíce doporučoval Gtk+ (příp. gtkmm pro C++), je to zcela svobodná GUI knihovna, má nejlepší podporu unicode a tím pádem i češtiny (tyto problémy zde defacto neexistují), vzhled lze libovolně měnit pomocí témat, má dobrou dokumentaci a GUI lze snadno vytvářet jako XML soubory pomocí Glade a dynamicky načítat za běhu aplikace, což např. usnadňuje překládání do jiných jazyků. A hlavně má Gtk přehledné a intuitivní API.
Add 1) Krome zvyku uzivatele bych zminil jeste vhodnost pouziti za danych podminek a dostupnost na cilovem systemu. Vi, ci nektery z jeho klonu najdete prakticky vsude, takze pokud budete nekdy muset neco delat napriklad na HP-UX ci jinem, neprilis v domacnostech rozsirenem systemu, a umite to s vi - urcite si vystacite. U Emacsu tomu tak neni. Stejne tak v pripade nutnosti editace vetsich souboru se vam muze stat, ze s Emacsem nepochodite. Jeden cas jsem pouzival stridave oba. Definitivnim impulzem k prechodu od Emacsu na Vi byly v mem pripade dve veci
Osobne bych seznameni se s editorem Vi bral jako dobrou investici do budoucna. Pokud tedy nezustanete u lokalni instalace Linuxu a GUI.
jj ale tak kdybych se ucil Qt, tak musim mit aplikace jako open source nebo koupit tu jejich predrazenou licenci (vztahuji to i do budoucna k zamestnani, sef asi kvuli mně nebude kupovat drahou licenci....)Tak pouzivej GTK. Jinak pokud vim tak by tvuj sef zadnou licenci kupovat nemusel. Ty klidne muzes prodavat ten program bez toho QT a to si muze uzivatel doinstaloval zadarmo je to opensource.
Java ee, nevoni miNo mě taky ne a proto zůstaň u C++ a nebo se nauč jython. Jinak Java mi tayk nevyhovuje ale asi se jí někdy naučit budu muset jelikož je to opravdu kvalitní jazyk.a neptejte se nehodlam to rozebirat :-P
mno ja je neznam do hloubky, ale zkuste juknout na Hello World GTK+ a QT, co Vam prijde intuitivnejsi ?No ano GTK+ se může zdát nepřehlednější jelikož je to toolkit v Céčku a ne v C++ jako QT, ale můžeš používat GTKmm. Já například používám kombinaci ruby + ruby/gtk a zde už to není tak nepřehledný.(samozrejme je to imho)
#!/usr/bin/python import gtk w = gtk.Window() w.set_title('Hello world') w.connect('destroy', gtk.main_quit) w.show() gtk.main()Je to v Pythonu (tj. high level jazyce) a bude to fungovat úplně stejně na linuxu jako na windows. Z tohoto důvodu mě nějaké C#/něco_Sharp/Mono/.NET nechávají chladným.
pretože má virtual-machine a bytecode?
Projekt parrot by mal vo finálnej fáze poskytovať obe vlastnosti aj pre php. Bude to znamenať, že PHP prestane byť skriptovacím jazykom?
a=1 print globals()["a"]• dynamické typování
a=1 a="xyz"• míchání typů
pole=[0, "pokus", 3.14, {1: "text", 2.1: (1, "a")}]• obecná volnání (to souvisí s dyn. typováním)
def secti(a,b): return a+b secti(1,1) #→2 secti("a","b") #→"ab" secti([1, "a"],[3.14]) #→[1,"a",3.14]• atributy a metody objektů nejsou na pevno dány třídou, lze je dynamicky vytvářet, měnit a odstraňovat. lze k nim získat přístup pomocí stringu s názvem
class A: pass #prázdná třída a=A() a.x=1 a.y="a" setattr(a,"x",3.1415926535) del a.y• a mnoho dalších... reflection je jen pokus o implementaci minimální části dynamičnosti do javy, a to ne jako součást jazyka, ale prostřednictvím složitých knihoven a nevím-čeho-všeho. V dynamických jazycích často (ne vždy) platí pravidlo, že každá proměnná je referencí na objekt a způsob zacházení s ní je dán typem objektu a ne typem proměnné (protože ta žádný typ nemá). Tak lze volat metody objektu uloženého v proměnné ať už je libovolného typu a není nutno nic přetypovávat atp. A z vlastní zkušenosti vím, kolikrát se mi to hodilo...
uvádzané príklady skôr ukazujú na nedostatočný návrh javy ako na to, či je alebo nie je dynamicka:
na sečti
postačuje, aby jazyk umožňoval overloadovanie operátorov
na dynamické typovanie
postačuje, aby (silne typový) jazyk buď podporoval implicitné pretypovanie (napr C++), alebo považoval aj primitívne datové typy za objekty (odvodené od base class)
bolo by asi vhodné zabudnúť na názov "skriptové jazyky" a uvažovať len on "kompilovaných" a "interpretovaných" jazykoch, kde "interpretované" jazyky potrebujú interpreter (vm), "kompilované" sú tie ostatné. Skripty sú interpretované jazyky.
2) Nahrada za Visual C++ KDevelop rozhodne neni, davam mu prednost pred Anjutou, protoze ma GUI uspornejsi co se tyce zabraneho prostoru a konfigurace projektu je prehlednejsi. KDevelop ma ale nektere nedotazenosti, treba neumi vytvorit pouzitelnou distribuci zdrojoveho kodu, nebo mu vubec nejde vytvaret rpm baliky. Na editaci zdrojoveho kodu je KDevelop dobre. Code::Blocks neznam
3) Mono je nehotove, ale pouzitelne
4) Vetsinu funkci os lze zpristupnit pomoci knihovny glibc, staci si najit v dokumentaci, co chcete delat a dozvite se jake hlavickove soubory jsou potreba. Dokumentace k teto knihovne se mi moc libi, protoze je tam mnozstvi praktickych rad a upozorneni na bezpecnostni rizika. Ja bych nehledal jednotne Linux API, ale hledal bych informace ke konkretnim problemum - zvuk, sokety atd. Protoze treba u soketu se proste dozvite, ze v Linuxu mate k dispozici BSD socket interface, tak si najdete dokumentaci primo k nemu. Hledal bych take POSIX, protoze Linux je z "vetsiny kompatibilni".
Linux samozrejmne neposkytuje zadne API pro tvorbu GUI aplikaci - tyhle funkce jsou vsechny v podobe dodatecnych knihoven (GTK+,QT,FLTK,EFLTK,FOX,MOTIF.....)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.