Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Multiplatformní programovací jazyk kromě Javy a C++ [vyřešeno]  (Přečteno 10558 krát)

ITGuru

  • Návštěvník
  • *
  • Příspěvků: 24
    • Zobrazit profil
Zdravím, v budoucnu bych se rád naučil programovat v nějakém multiplatformním programovacím jazyce. Tedy tak, abych mohl psát programy pro Linux, Windows a ideálně i další OS (nejlépe i x64 programy) a to jak konzolové programy, tak okenní. Vím že vhodný jazyk je Java, ale nemám ji vůbec rád a v ní se učit určitě nechci, takže Javu vyřazuji. Pokud vím, tak takový standard programovacích jazyků je C++ a ten by všechno co požaduji umožňovat měl. Je další takový jazyk? V jakém jazyce byste mi doporučovali se naučit abych mohl tvořit programy pro oba OS?

Nemám moc jasno jak je to v Linuxu s grafickým prostředím. Ve Win naprogramuju něco v C++ a má to GUI podle použitých komponent nebo prostě jak si to sám vymyslím. Jak je to ale v Linuxu s GNOME a KDE? Jak dám programu vědět že toto je pro GNOME a toto pro KDE? Jde dělat GUI, které není vázané na konkrétním prostředí (nemyslím které funguje na obou, ale které není závislé - tedy vždy a 100% pojede na obou (popř. dalších) grafických prostředích)? Díky.
« Poslední změna: 01 Září 2009, 13:50:27 od Martin - ViPEr*CZ* »

Martin - ViPEr*CZ*

Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #1 kdy: 30 Srpna 2009, 23:13:50 »
Citace
Ve Win naprogramuju něco v C++ a má to GUI podle použitých komponent nebo prostě jak si to sám vymyslím.
???
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Firzen

  • Závislák
  • ****
  • Příspěvků: 1287
    • Zobrazit profil
    • Beroot
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #2 kdy: 30 Srpna 2009, 23:30:04 »
Máš v tom trochu zmatek, ale to měl v začátcích každý. :)

Jako další multiplatformní jazyk bych ti doporučil docela chválený Python, jinak v Linuxu se nedělají programy "jen pro nějaké prostředí", poběží ti v každém, avšak jsou zde určité chybky vzhledu, a to kvůli tomu, že Gnome používá knihovny GTK(tzn. uděláš program v GTK, a ten bude vypadat perfektně v Gnome, ale v KDE už to může drhnout), a KDE knihovny QT(opačný případ..). GUI napsané v GTK či QT ti bude fungovat i ve Windows, a díky tomu, že Windows nemá více desktopových prostředí, bude hezky zapadat. Ne tyhle všechny problémy se ale dá vyzrát, řešení je v používání wxWidgets; díky této knihovně budou programy vypadat dokonale jak v Gnome, tak v KDE, tak i ve Windows a dokonce i Mac OS X.


(snad jsem nevykonstruoval nějaký blábol, kdyžtak propleskout :D)
AMD Phenom II X6 1100T@3,3GHz, Gigabyte GeForce GT 430 1GiB, 8GiB RAM, 1TiB SATA3 HDD, Nokia N900
OS: Debian 6.0 Squeeze, Maemo 5
Citace
Prosintě ty jsi takový zkušený vývojář - co mám dělat, když nevím, jako něco udělat? :D

Janik

  • Člen
  • **
  • Příspěvků: 450
  • skill: Jů, schválně, co to udělá....
    • Zobrazit profil
    • Jan Tománek na iDnes.cz
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #3 kdy: 31 Srpna 2009, 00:03:12 »
Máš v tom trochu zmatek, ale to měl v začátcích každý. :)

Jako další multiplatformní jazyk bych ti doporučil docela chválený Python, jinak v Linuxu se nedělají programy "jen pro nějaké prostředí", poběží ti v každém, avšak jsou zde určité chybky vzhledu, a to kvůli tomu, že Gnome používá knihovny GTK(tzn. uděláš program v GTK, a ten bude vypadat perfektně v Gnome, ale v KDE už to může drhnout), a KDE knihovny QT(opačný případ..). GUI napsané v GTK či QT ti bude fungovat i ve Windows, a díky tomu, že Windows nemá více desktopových prostředí, bude hezky zapadat. Ne tyhle všechny problémy se ale dá vyzrát, řešení je v používání wxWidgets; díky této knihovně budou programy vypadat dokonale jak v Gnome, tak v KDE, tak i ve Windows a dokonce i Mac OS X.


(snad jsem nevykonstruoval nějaký blábol, kdyžtak propleskout :D)


taky doporučuju python, akorát se ho učím, je vážně jednoduchej a rozjedeš ho všude. A narozdíl od javy, není tak pomalej. :-)
Díky za Linux. EDIT: díky za GNU/Linux, fóra a zkušenější linuxáky.

qUAKER

  • Host
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #4 kdy: 31 Srpna 2009, 08:45:36 »
ad. Gtk v KDE vs Qt v Gnome - qt4 se dá snadno integrovat do gnome použitím Gtk+ theming enginu přes qt4-qtconfig. Ten je v základní instalaci a Qt pak bude emulovat dialogy, fonty.. a gtk se dá integrovat do KDE použitím gtk-qt enginu.

ad. jazyk) určitě Python a taky Cčko a C++.

jo a nepoužívej Gtk :) dávej přednost Qt4 nebo EFL. (pro EFL C i když má bindings i pro C++ a pro Qt4 jen C++).

Martin - ViPEr*CZ*

Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #5 kdy: 31 Srpna 2009, 09:44:38 »
Bavím se o C++ (nevím jak to je jinde):

vždy to záleží na knihovně, kterou používáte... existují SDKity, které Vám usnadní práci.
Pokud je nechcete používat můžete v zásadě použít X11 knihovny (pro linux) a nebo WIN32API(pro windows).
Nevím co jste myslel s tím programováním pro windows. Nepoznal jsem teda absolutně co používáte.
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

ITGuru

  • Návštěvník
  • *
  • Příspěvků: 24
    • Zobrazit profil
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #6 kdy: 31 Srpna 2009, 10:16:42 »
Máš v tom trochu zmatek, ale to měl v začátcích každý. :)
Jo, to mám - to uznávám. V C++ jsem programoval před několika lety (10?) a to jen chvilku abych se to trošku naučil. Teď jsem webový programátor, takže v tomto už se dost ztrácím. OK, shodli jste se na C++ a Pythonu - to jsem rád a to mi stačí. Moc díky.

S tím GUI - takže je to tak, že ať už programuju v C++ nebo Pythonu, tak pro vykreslení okýnek potřebuju použít nějakou knihovnou a nejčastější jsou GTK a Qt. Takže tím "upřednostním" nějaké grafické prostředí - nebo pak nějaké ty "wxWidgets" a bude to vypadat OK všude, je to tak?

Btw. to GTK a Qt jsem tak nějak tušil, vím že programy co přišly z Linuxu na Windows (Gimp, Pidgin atp.) toto využívají - ale vím že je pak potřeba mít ve Win to GTK a Qt nainstalované.

Martin - ViPEr*CZ*

Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #7 kdy: 31 Srpna 2009, 10:46:53 »
S tím GUI - takže je to tak, že ať už programuju v C++ nebo Pythonu, tak pro vykreslení okýnek potřebuju použít nějakou knihovnou a nejčastější jsou GTK a Qt. Takže tím "upřednostním" nějaké grafické prostředí - nebo pak nějaké ty "wxWidgets" a bude to vypadat OK všude, je to tak?

Btw. to GTK a Qt jsem tak nějak tušil, vím že programy co přišly z Linuxu na Windows (Gimp, Pidgin atp.) toto využívají - ale vím že je pak potřeba mít ve Win to GTK a Qt nainstalované.
Ohledně C++. Pokud uděláš něco v Qt4 knihovně. Tak celá knihovna má v linuxu konfigurační nástroj, který se umí přispůsobit grafice knihovně GTK (kterou využívá třeba GNOME). Takže vlastně neuvidíš okýnko v grafice Qt4 (kterou využívá KDE), ale v grafice GTK (jako by Qt4 aplikace byla i naprogramovaná v GTK).

Pokud používáš dejme tomu vlc přehrávač na windows, tak není potřeba mít instalovanou Qt4 knihovnu. Oni ty programy si instalují jen potřebné dll knihovny (je to vlastně součást instalace). Pokud ten player máš podívej se do adresáře, kde ho máš instalovaný, že tam bude něco ohledně Qt4 a končit to bude dll.

Asi bych volil Qt4 knihovnu (kterou momentálně vyvíjí nokie).
http://forum.ubuntu.cz/index.php/topic,33121.0.html

Ale prvně bych silně oprášil C++, pokud zrovna jako webový programátor nepoužíváš PHP.
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Firzen

  • Závislák
  • ****
  • Příspěvků: 1287
    • Zobrazit profil
    • Beroot
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #8 kdy: 31 Srpna 2009, 11:14:33 »
Pokud uděláš něco v Qt4 knihovně. Tak celá knihovna má v linuxu konfigurační nástroj, který se umí přispůsobit grafice knihovně GTK (kterou využívá třeba GNOME). Takže vlastně neuvidíš okýnko v grafice Qt4 (kterou využívá KDE), ale v grafice GTK (jako by Qt4 aplikace byla i naprogramovaná v GTK).
Mno, není to tak úplně pravda. Ano, grafika je podobná, ale rozhodně ne stejná, a odlišnosti by odhalil snad i slepý. Dá se to sice určitě nějak nastavit, ale opravdu myslíte, že uživatel má náladu nastavovat tohle a támhleto kvůli jednomu programu? GUI je tu od toho, aby bylo uživatelsky přívětivé, a pokud se něco musí zbytečně nastavovat, uživatelsky přívětivé to už prostě ..není.

Tady na obrázku vidíte ten rozdíl mezi qt4 aplikací s emulací GTK a skutečnými GTK aplikacemi. A to nepoužívám žádné "extra" téma. :)


Jediné, co je 100% jsou wxWidgets.. bohužel už tu nemám žádné programy v něm napsané; ale prý je v tom napsaný audacious.
AMD Phenom II X6 1100T@3,3GHz, Gigabyte GeForce GT 430 1GiB, 8GiB RAM, 1TiB SATA3 HDD, Nokia N900
OS: Debian 6.0 Squeeze, Maemo 5
Citace
Prosintě ty jsi takový zkušený vývojář - co mám dělat, když nevím, jako něco udělat? :D

Kecik

  • Člen
  • **
  • Příspěvků: 106
  • nuqDaq yuch Dapol-where do you keep the chocolate?
    • Zobrazit profil
    • Personal web page
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #9 kdy: 31 Srpna 2009, 11:21:21 »
taky doporučuju python, akorát se ho učím, je vážně jednoduchej a rozjedeš ho všude. A narozdíl od javy, není tak pomalej. :-)

Vyhnul bych se hodnocení rychlosti Javy dokud nevíte o čem mluvíte
The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language.
D. E. Knuth, 1967

Martin - ViPEr*CZ*

Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #10 kdy: 31 Srpna 2009, 11:22:01 »
Nic není 100%  ;D
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

ITGuru

  • Návštěvník
  • *
  • Příspěvků: 24
    • Zobrazit profil
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #11 kdy: 31 Srpna 2009, 11:37:05 »
OK, OK, rozdíl vidím. Mě se docela líbí ty wxWidgets a wxPython. Ještě to prozkoumám. Ale protože já osobně preferuji KDE (Kubuntu), tak bych taky volil Qt4.
Už mám natahaný informace o Pythonu v PC a koukám na základy. Zatím mě ale není jasný jak bych dělal okenní program v Pythonu. Je na to nějaký IDE typu C++ Builder? Tzn. natahat prvky do formuláře a vdechnout jim život nebo jak? Používám JEN zdarma dostupný soft, takže nic komerčního určitě nechcu. Moje oblíbené IDE (Komodo Edit) umí i Pythona, takže to je OK, ale okna v tom neudělám :-)

Ale prvně bych silně oprášil C++, pokud zrovna jako webový programátor nepoužíváš PHP.

Ano - PHP používám ;-)

Martin - ViPEr*CZ*

Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #12 kdy: 31 Srpna 2009, 11:39:29 »
No pokud by jste uvažoval o Qt4, mrkněte na ten odkaz co jsem ti posílal. Je tam vývojové prostředí Qt Creator, kde to jde celkem snadno.  ;)
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

ITGuru

  • Návštěvník
  • *
  • Příspěvků: 24
    • Zobrazit profil
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #13 kdy: 31 Srpna 2009, 11:48:18 »
No pokud by jste uvažoval o Qt4, mrkněte na ten odkaz co jsem ti posílal.
Prosím o tykání a to ve všech částech vět ;-) Díky!

Aha, tak to je vývojový prostředí pro každou tu knihovnu zvlášť? A kdybych chtěl v tom wxWidgets? Vypadá to že KDevelop to umí, ale to je jen pro Linux a mě se stále nedaří přejít - takže jsem otrokem Wokýnek :-(

Janik

  • Člen
  • **
  • Příspěvků: 450
  • skill: Jů, schválně, co to udělá....
    • Zobrazit profil
    • Jan Tománek na iDnes.cz
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #14 kdy: 31 Srpna 2009, 11:53:56 »
taky doporučuju python, akorát se ho učím, je vážně jednoduchej a rozjedeš ho všude. A narozdíl od javy, není tak pomalej. :-)

Vyhnul bych se hodnocení rychlosti Javy dokud nevíte o čem mluvíte

S prominutím, jsem laik, ale nic se mi nespouští déle než sebemenší program v javě. To i mozzilí moloch firefox je rychlejší...
Díky za Linux. EDIT: díky za GNU/Linux, fóra a zkušenější linuxáky.

Martin - ViPEr*CZ*

Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #15 kdy: 31 Srpna 2009, 11:57:55 »
No na wxWidgets byl nějakej soft, ale ten je asi taky jen pro linux. Ten Creator, ten má výhodu, že jde i ve windows. Ale je to pouze pro Qt4 knihovnu ;-)
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

ITGuru

  • Návštěvník
  • *
  • Příspěvků: 24
    • Zobrazit profil
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #16 kdy: 31 Srpna 2009, 12:15:23 »
Už to mám nainstalovaný - vypadá dobře. Ale je to jen pro C++. Jak bych tedy měl jít na okna v Pythonu?

nettezzaumana

  • Host
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #17 kdy: 31 Srpna 2009, 12:31:03 »

qUAKER

  • Host
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #18 kdy: 31 Srpna 2009, 12:42:31 »
Pokud uděláš něco v Qt4 knihovně. Tak celá knihovna má v linuxu konfigurační nástroj, který se umí přispůsobit grafice knihovně GTK (kterou využívá třeba GNOME). Takže vlastně neuvidíš okýnko v grafice Qt4 (kterou využívá KDE), ale v grafice GTK (jako by Qt4 aplikace byla i naprogramovaná v GTK).
Mno, není to tak úplně pravda. Ano, grafika je podobná, ale rozhodně ne stejná, a odlišnosti by odhalil snad i slepý. Dá se to sice určitě nějak nastavit, ale opravdu myslíte, že uživatel má náladu nastavovat tohle a támhleto kvůli jednomu programu? GUI je tu od toho, aby bylo uživatelsky přívětivé, a pokud se něco musí zbytečně nastavovat, uživatelsky přívětivé to už prostě ..není.

Tady na obrázku vidíte ten rozdíl mezi qt4 aplikací s emulací GTK a skutečnými GTK aplikacemi. A to nepoužívám žádné "extra" téma. :)


Jediné, co je 100% jsou wxWidgets.. bohužel už tu nemám žádné programy v něm napsané; ale prý je v tom napsaný audacious.

Engine Cleanlooks jsem nemyslel. Myslel jsem engine Gtk+, který udělá 100% emulaci vzhledu.

Martin - ViPEr*CZ*

Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #19 kdy: 31 Srpna 2009, 12:48:41 »
a nikdo není 100%  ;D
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

qUAKER

  • Host
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #20 kdy: 31 Srpna 2009, 12:51:43 »


The Widget Factory = Gtk program
qt4-qtconfig = Qt program :)

wam]Spider007

  • Host
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #21 kdy: 31 Srpna 2009, 13:00:18 »
taky doporučuju python, akorát se ho učím, je vážně jednoduchej a rozjedeš ho všude. A narozdíl od javy, není tak pomalej. :-)

Vyhnul bych se hodnocení rychlosti Javy dokud nevíte o čem mluvíte

tiez si myslim, ze to podaktori s tym hodnotenim prehanaju...

Keby to bolo take zle, tak asi nie su Java programatori tak ziadani.

Janik

  • Člen
  • **
  • Příspěvků: 450
  • skill: Jů, schválně, co to udělá....
    • Zobrazit profil
    • Jan Tománek na iDnes.cz
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #22 kdy: 31 Srpna 2009, 13:15:45 »
taky doporučuju python, akorát se ho učím, je vážně jednoduchej a rozjedeš ho všude. A narozdíl od javy, není tak pomalej. :-)

Vyhnul bych se hodnocení rychlosti Javy dokud nevíte o čem mluvíte

tiez si myslim, ze to podaktori s tym hodnotenim prehanaju...

Keby to bolo take zle, tak asi nie su Java programatori tak ziadani.

její síle je v podpoře platform... Ale vysvětlete mi prosím, proč je tak pomalá?
Díky za Linux. EDIT: díky za GNU/Linux, fóra a zkušenější linuxáky.

ITGuru

  • Návštěvník
  • *
  • Příspěvků: 24
    • Zobrazit profil
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #23 kdy: 31 Srpna 2009, 13:19:45 »
Tak IDE pro Python jsem našel Boa Constructor a to využívá wxPython. Zkusím prozkoumat. Pokud má někdo další tip, budu rád. Jinak díky za rady - pomohlo mě to!

ITGuru

  • Návštěvník
  • *
  • Příspěvků: 24
    • Zobrazit profil
Re: Multiplatformní programovací jazyk kromě Javy a C++
« Odpověď #24 kdy: 31 Srpna 2009, 13:37:16 »
Jinak k té Javě - pokud je to možné tak se nehádejte. Nerad bych vyvolával bitky "Java a rychlost" a žádné podobné.
taky doporučuju python, akorát se ho učím, je vážně jednoduchej a rozjedeš ho všude. A narozdíl od javy, není tak pomalej. :-)
Vyhnul bych se hodnocení rychlosti Javy dokud nevíte o čem mluvíte
její síle je v podpoře platform... Ale vysvětlete mi prosím, proč je tak pomalá?

Jen abych vysvětlil proč vylučuji Javu: Já proti Javě nic moc nemám a jsem přesvědčený, že to je dobrý jazyk a Javaři jsou opravdu vyhledávaní. Proto na ni nikde neplivu - netvrdím, že je špatná, ale mě osobně nevyhovuje a když je možnost, tak volím software co v Javě není. Vím že antiJavisti tvrdí že je Java pomalá a v určitých případech tak opravdu je (a v jiných opačně), ale mě kupodivu ta rychlost zase tak moc nevadí. Mě spíš nevyhovuje to prostředí. Když jsem hledal dobré IDE na programování, tak jsem to viděl podle ostatních na Eclipse nebo NetBeans protože to jsou kvalitní produkty, ale když jsem to vyzkoušel, tak mi to nevyhovovalo prostředím (nelíbí se mě prostě ty prvky jako nabídky a dialogová okna atp. a když jsem nastavil stejný font jako jsem měl v PSPadu, tak to vypadalo hrozně atp.). Ale je pravda, že tam ta rychlost byla fakt horší a to mám výkonné PC. Ale zase kolega v tom dělá a jede mu to rychle. Takže to nebude o výkonu PC, ale asi o software, JRE a kdoví čím ještě. Nakonec jsem našel IDE Komodo Edit a s tím jsem velmi spokojen. Je to na bázi Firefoxu a to je pro mě ideální.
Stejně tak když jsem psal autorovi programu Esmska nějaké tipy k opravě nebo vylepšení, tak často argumentoval "To já neovlivním, to záleží na implementaci Javy v konkrétním OS. Windows má špatnou implementaci.". Což je podle mě špatné (ne autor, ale ten fakt, že to nemůže ovlivnit).

 


Provoz zaštiťuje spolek OpenAlt.