Forum » Programiranje » (Go/python) za cross platform programje?
(Go/python) za cross platform programje?
ragezor ::
Vcasih bi rad naredil kak res na easy programcek in ga dal ljudem v uporabo, ampak mam v pythonu problem, da potem folk rabi instalirat python in dependencije. Py2exe resda se nisem probal, ampak sem prebral dokumentacijo in morajo ljudje vseeno imeti nek .dll instaliran kar je bed ker nevem ce ga majo vsi. Mac/linux userji ponavadi majo python installani in tudi module znajo instalirat.
Kar mi je fajn pri pythonu je to, da obstajajo cross platform libraries, ki ti recimo predvajajo mp3.
Zdaj me pa zanima, ce ma kdo izkusnje z go in kako se obnese pri takih zadevah? Kolikor sem bral in naredil par tutorialov se program prevede v en executable, nevem pa ce lahko na linuxu compajlam za windows? Plus tega me malce skrbi, ker verjetno ni na voljo cross platform knjiznic za audio, gui in podobno.
Ce ma kdo kake izkusnje z Go-jem ali pa kakim drugim programskim jezikom kar na dan z besedo. Java bi verjetno tudi bila kul za take zadeve, ampak sem nagnjen bolj k dinamicnim jezikom, nekako mi bolj lezijo (da tudi Go je static typed vem)
Kar mi je fajn pri pythonu je to, da obstajajo cross platform libraries, ki ti recimo predvajajo mp3.
Zdaj me pa zanima, ce ma kdo izkusnje z go in kako se obnese pri takih zadevah? Kolikor sem bral in naredil par tutorialov se program prevede v en executable, nevem pa ce lahko na linuxu compajlam za windows? Plus tega me malce skrbi, ker verjetno ni na voljo cross platform knjiznic za audio, gui in podobno.
Ce ma kdo kake izkusnje z Go-jem ali pa kakim drugim programskim jezikom kar na dan z besedo. Java bi verjetno tudi bila kul za take zadeve, ampak sem nagnjen bolj k dinamicnim jezikom, nekako mi bolj lezijo (da tudi Go je static typed vem)
Randomness ::
Odvisno od tega, kake vrste aplikacije bi želel izdelovati. Go je po mojem mnenju primeren predvsem za aplikacije, ki so zasnovane v obliki client-server arhitekture ali pa potencialno konzolne (skriptne) aplikacije. Ima zelo dobro podporo za networking in s svojimi gorutinami/kanali omogoča zelo prikladno sočasno obravnavo večih klientov. Nekaj ostalih prednosti, ki jih velja izpostaviti: zelo hitro prevajanje, celotna aplikacija se zlinka statično v en exe, cross-compiling za poljubno podprto platformo.
Po drugi strani pa mislim, da je za vse ostale tipe aplikacij, še posebej desktop gui aplikacije, vsaj zaenkrat bolj primeren Python.
Po drugi strani pa mislim, da je za vse ostale tipe aplikacij, še posebej desktop gui aplikacije, vsaj zaenkrat bolj primeren Python.
Zgodovina sprememb…
- spremenilo: Randomness ()
technolog ::
Ne želi jave, JRE ni tok pogosto nameščen kot misliš. :) Sploh pa Javanski GUI, bljak.
Zgodovina sprememb…
- spremenil: technolog ()
ZaphodBB ::
Ce ma kdo kake izkusnje z Go-jem ali pa kakim drugim programskim jezikom kar na dan z besedo. Java bi verjetno tudi bila kul za take zadeve, ampak sem nagnjen bolj k dinamicnim jezikom, nekako mi bolj lezijo (da tudi Go je static typed vem)
Go je zelo kul jezik, vendar portabilnost in enostavnost distribucije (še nista in še nekaj časa ne bosta) njegovi bistveni vrlini.
Verjetno te bo zanimalo embeddanje python interpreterja v executable: https://docs.python.org/3/extending/emb...
Invictus ::
Py2exe resda se nisem probal, ampak sem prebral dokumentacijo in morajo ljudje vseeno imeti nek .dll instaliran kar je bed ker nevem ce ga majo vsi.
Pač statično zlinkaš exe.
http://stackoverflow.com/questions/1939...
http://stackoverflow.com/questions/7072...
http://stackoverflow.com/questions/1720...
http://stackoverflow.com/questions/1904...
Tako da ni potrebe da se učiš novih jezikov za neke home projekte.
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
arjan_t ::
ZaphodBB ::
Tako da ni potrebe da se učiš novih jezikov za neke home projekte.
In zakaj ne? Sploh ce je res nekaj enostavnega.
Če hočeš samo naredit home projekt se v tem primeru ni treba učit novega jezika. Če se hočeš učit novega jezika so pa seveda enostavni home projekti en boljših načinov. Verjamem, da razumeš razliko.
napsy ::
ragezor: za cross-platform je po mojem mnenju najbolsa karta kaksen javascript. Tezko pa bos naredil nek univerzalen binary ... Se vedno bodo morali userji izbirati med razlicnimi sistemi ...
"If you die, you die. But when you live you live. There is no time to waste."
Invictus ::
python je čisto dovolj cross-platform. Sam prevajalnik za različne platforme poiščeš in napišeš skripto, ki ti prevede za vse željene platforme.
Ni težko, zahteva pa nekaj časa.
Tako naenkrat ubiješ več muh.
Ni težko, zahteva pa nekaj časa.
Tako naenkrat ubiješ več muh.
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
technolog ::
Dobr, če hočeš že cross platform, brez da bi ti blo treba zravn programa dodat še par mega knjižnic, potem uporabit Qt framework za C++. Podpira vse mogoče in zelo lepo se programira v njem, žal pa je zastonj samo, če je projekt odprtokoden.
ragezor ::
Py2exe resda se nisem probal, ampak sem prebral dokumentacijo in morajo ljudje vseeno imeti nek .dll instaliran kar je bed ker nevem ce ga majo vsi.
Pač statično zlinkaš exe.
http://stackoverflow.com/questions/1939...
http://stackoverflow.com/questions/7072...
http://stackoverflow.com/questions/1720...
http://stackoverflow.com/questions/1904...
Tako da ni potrebe da se učiš novih jezikov za neke home projekte.
tale dll sem mislil: http://www.py2exe.org/index.cgi/Tutoria...
nasploh se mi zdi pakiranje python programckov tezko in moras vloziti delo noter, kar me odbija. ce bi bil v poslu delanja gui aplikacij s pythonom bi se se potrudil tako pa moram recti, da se mi ne da nauciti tega.
drugace sem bolj v poslu pisanja server side zadev in ker je Go temu namenjem, se mi bolj splaca nauciti Go. tu je edino problem, kot sem ze omenil, da nima cross platform knjiznic, cross compilanje pa sem ze preveril in je relativno enostavno.
ragezor ::
Dobr, če hočeš že cross platform, brez da bi ti blo treba zravn programa dodat še par mega knjižnic, potem uporabit Qt framework za C++. Podpira vse mogoče in zelo lepo se programira v njem, žal pa je zastonj samo, če je projekt odprtokoden.
poznam, ampak se ni "tapravih" bindingsov za Go. saj to je glih ta problem knjiznic v Goju, ki bo verjetno s casom boljsi. zato pa vprasam po izkusnjas, ce je kdo ze kaj delal, kaksno je realno stanje knjiznic, a se da narediti vecino stvari, ali se full stvari manjka in podobno..
technolog ::
Ne, sej jst namigujem, da bi pač pisal v C++. Prevajan, hiter, močno tipiziran programski jezik. Sploh sedaj ko mamo C++11 je še kar luštno vse skupaj. Samo zame je njihova licenca prevelik dealbreaker.
Moj nasvet: Pusti Go, naj zmaturira, nej se okgrog zgradi celoten ekosistem, pa ga spet počekiraj čez par let.
Če hočeš bit zaposljiv, potem izberi pa Javo al pa C#.
Moj nasvet: Pusti Go, naj zmaturira, nej se okgrog zgradi celoten ekosistem, pa ga spet počekiraj čez par let.
Če hočeš bit zaposljiv, potem izberi pa Javo al pa C#.
Zgodovina sprememb…
- spremenil: technolog ()
arjan_t ::
Tako da ni potrebe da se učiš novih jezikov za neke home projekte.
In zakaj ne? Sploh ce je res nekaj enostavnega.
Če hočeš samo naredit home projekt se v tem primeru ni treba učit novega jezika. Če se hočeš učit novega jezika so pa seveda enostavni home projekti en boljših načinov. Verjamem, da razumeš razliko.
Cisto razumem kaj hoces povedat, ampak njegov stavek daje ton kot da je izguba casa ucenje necesa novega za svoje projekte ("učiš novih jezikov za neke home projekte").
Dobr, če hočeš že cross platform, brez da bi ti blo treba zravn programa dodat še par mega knjižnic, potem uporabit Qt framework za C++. Podpira vse mogoče in zelo lepo se programira v njem, žal pa je zastonj samo, če je projekt odprtokoden.
samo statcno ne sme bit linkan, ni nujno da je odprtokoden
poznam, ampak se ni "tapravih" bindingsov za Go. saj to je glih ta problem knjiznic v Goju, ki bo verjetno s casom boljsi. zato pa vprasam po izkusnjas, ce je kdo ze kaj delal, kaksno je realno stanje knjiznic, a se da narediti vecino stvari, ali se full stvari manjka in podobno..
nisem nic GUI stvari delal v go-ju ampak ce bi se odlocal definitivno ne bi za ta projekt izbral go-ja
Zgodovina sprememb…
- spremenil: arjan_t ()
Randomness ::
poznam, ampak se ni "tapravih" bindingsov za Go. saj to je glih ta problem knjiznic v Goju, ki bo verjetno s casom boljsi. zato pa vprasam po izkusnjas, ce je kdo ze kaj delal, kaksno je realno stanje knjiznic, a se da narediti vecino stvari, ali se full stvari manjka in podobno..
Niso problem bindingi sami po sebi, ampak bolj to, da Go s svojimi lastnostmi ni dober fit za gui programiranje. GUI frameworki so v veliki večini zasnovani v event-driven & single-thread stilu, Go pa je primarno namenjen bolj serverski infrastrukturi - pač v to smer so ga Googlovi inženirji zasnovali/zapeljali zaradi svojih potreb in prioritet (in GUI definitivno še ni ena izmed njih; v zadnjem času nekaj sicer čarajo s podporo za Android, tako da se bo mogoče kaj spremenilo tudi v tej smeri).
Spura ::
ragezor ::
Randomness je izjavil:
poznam, ampak se ni "tapravih" bindingsov za Go. saj to je glih ta problem knjiznic v Goju, ki bo verjetno s casom boljsi. zato pa vprasam po izkusnjas, ce je kdo ze kaj delal, kaksno je realno stanje knjiznic, a se da narediti vecino stvari, ali se full stvari manjka in podobno..
Niso problem bindingi sami po sebi, ampak bolj to, da Go s svojimi lastnostmi ni dober fit za gui programiranje. GUI frameworki so v veliki večini zasnovani v event-driven & single-thread stilu, Go pa je primarno namenjen bolj serverski infrastrukturi - pač v to smer so ga Googlovi inženirji zasnovali/zapeljali zaradi svojih potreb in prioritet (in GUI definitivno še ni ena izmed njih; v zadnjem času nekaj sicer čarajo s podporo za Android, tako da se bo mogoče kaj spremenilo tudi v tej smeri).
mislim, da tudi pri GUIju rabis vec threadov, saj hoces da je interface ponavadi responsive, ce recimo kliknes en gumb, pa se akcija izvaja par sekund. kako lahko je pa obesit akcije na evente pa nisem ziher, ampak ce java zmore potem zmore tudi Go :)
drugace pa saj to niso neki kompleksni projekti. to so majhni programcki, recimo za ucenje kitare, da ti na random zaspila par akordov, pa potem ti poslusas in poskusas ugotoviti katere ti je zaspilal program. in potem pac zame ni panike to sklomfat v pythonu, ampak bi rad mogoce delil program pac s folkom, ki sledi istemu ucnemu programu in bi jim bil koristen sam je njim too much work instalati python in dependencije, meni je pa too much work delati neke package, ker jih ne znam.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Python uvažanje modulaOddelek: Programiranje | 1159 (791) | BigWhale |
» | Wget in unzip v windowsihOddelek: Programiranje | 958 (637) | filips |
» | Vizualni vmesnik za C programOddelek: Programiranje | 1154 (857) | Invictus |
» | Applov nov programski jezik Swift (strani: 1 2 )Oddelek: Novice / Apple iPhone/iPad/iPod | 34767 (29328) | Kocka |
» | [Debata] JavaScript in jeziki z prototipnim dedovanjem (strani: 1 2 )Oddelek: Programiranje | 7797 (7663) | zigomir |