Post by natkoAko ti IDE out of the box nije dovoljno dobar, imaš VisualAssistX.
Dobar mi je IDE od Visual Studia ali to sve kosta. Recimo trenutno
radim file converter kojeg sam spomenuo u thread-u na
comp.programiranje - da ga radim za sebe bi vjerojatno napravio command
line applikaciju ali ga mislim dati ljudima s foruma kojima ce taj
konverter i stvarno koristiti (meni on ustvari niti ne treba jer imam
samo jedan file kojeg bi s njim mogo konvertirati, ali neki ljudi imaju
na stotine file-ova koje im novije verzije programa vise ne citaju).
Neki od ljudi s foruma vjerojatno nisu nikad koristili command line
aplikaciju. Ako ga napravim u C++ kao Windows Form App, neki ga nece
moci pokrenuti jer nece znati ili htjeti instalirati .NET framework.
Osim toga, da li je uopce legalno napraviti program u VS Express i
negdje ga upload-ati kao freeware? Sta ako necu vise imati vremena za
update programa pa bi source htio dati ljudima nek neko ubaci nove
opcije, a VS Express licenca izricito zabranjuje distribuiranje sourcea
od programa kojeg je neko napisao!!??
Znaci, VS u takvom i slicnim slucajevima nije opcija za nekog tko ne
zivi od programiranja pa da mu se isplati kupiti licencu od Visual
Studia. BTW, da li je legalno kad bi neko - tko npr. na poslu radi na
kompjuterima na kojima je instaliran Visual Studio licenciran na
vlasnika kompanije u kojoj radi - uz dopustenje poslodavca da
kompjutere za svoje potrebe koristi van radnog vremena, u firmi
skompajlirao VS projekt pa taj .exe distribuirao kao freeware? Tj. da
li se .exe skompajliran s EXpress verzijom razlikuje od .exe-a
skompajliranog s licenciranom verzijom? Nisam nikad probao isti
solution skompjalirati na licencirani i Express verziji pa napraviti
file compare.
Post by natkoNe vidim što bi moglo biti fleksibilnije od Win32 API?
Win32 API je možda gnjavaža ako ga ne znaš koristiti.
MFC olakšava stvari, ali leži na API-u. Ne razumijem što je sjena koja ti zaklanja misli.
Možda ti WTL baca manju sjenu?
Kad sam spomenuo 'sjenu', mislo sam na osjecaj u smislu ko kad bi npr.
izgubio dokumente, a moras napraviti nesta gdje treba biti koncentriran
i fokusiran. Tako i svi ti library-ji koji sluze samo da bi na ekranu
prikazao prozor i kontrole, samo odvlace paznju od onog sta se ustvari
radi, i uz takav pristup veliki dio vremena (i koncentracije) odlazi na
stvari koje su u odredjenim slucajevima sporedna stvar.
U PureBasic-u npr. mozes program raditi skoro bez da razmisljas o bilo
cemu osim o samom algoritmu kojeg zelis isprogramirati, mozes ga raditi
ko da radis command line apliakciju i u par sekundi dodati da se onda
skompaljira u aplikaciju s Windows UI-om. Netko tko ima samo osnovno
znanje iz programiranja ce nakon prvog pokretanja PureBasic-a vec nakon
par minuta imati .exe od Win aplikacije koja radi bez da zahtijeva
instaliranje bilo kakvih dodatnih library-ja. S druge strane, uz
koristenje naprednijih stvar se mogu napraviti cuda, dovoljno je malo
pogledati source-ove od ljudi na forumu pa da se vidi koja je snaga i
flexibilnost PureBasic-a.
Post by natkoProbaj wxWidgets, ali ni to nije neka velika sreća. Ako ciljaš samo Windows OS, vjerujem da su C#, ili C++ (sa bilo kojim libraryem) dovoljno fleksibilni za sve. Čak možeš kombinirati, GUI u C#, low level stvari u C++.
To svakako, ali ostaje sve ovo sta sam ranije naveo.
Post by natkoPost by ChupoDelphi je OK ali je skup, Qt nisam isprobao - trebao bi biti OK ali
Što znači da je Delphi skup?
Znaci da se ne isplati kupovati nekome tko tu i tamo zeli napraviti
neku free aplikaciju a inace mu programiranje nije izvor zarade.
Post by natkoPost by ChupoMedjutim, niti jedan IDE/compiler u kojem se uz koristenje vizualnog
designer-a moze napraviti Win aplikacija u brzom i kompaktnom .exe-u se
ne moze mjeriti s PureBasic-om!!
Zašto ne?
U kojem jos IDE-u ce svatko tko je bar jednom u zivotu napravio neki
program, vec za 5 minuta nakon prve instalacije imati jednostavnu Win
aplikaciju koja radi i koja ne zahtijeva instaliranje nikakvih dodatnih
library-ja niti runtime-ova, a da je generirani kod tako brz i da
aplikacija (onima koji koriste druge alate) izgleda ko da je u izradu
potroseno najmanje sat-dva?
Post by natkoDa, dobio si exe od 7kB, ali jesi li pogledao dependency od tog exe-a?
Evo screenshot primjera treeview-a iz jednog od sample-ova i nekih
dependecies-a:
Loading Image...Ali kakve to ima veze - bitno je da ne treba instalirati nista
dodatnoga, ako treba - nek .exe ovisi o svakom .dll-u u Windows System,
samo nek radi.
Post by natkoKako će ti asm pomoći u GUI-u??
Pa GUI sluzi samo da bi se program lakse koristio - ne radim ja GUI
nego mi GUI treba da bi neko ko prvi put vidi PC mogo otvoriti file i
stisnuti gumb za generiranje novog file-a. A za ono sta program je
mogucnost inline-a uvijek dobro dosla. Evo recimo primjer gdje je s par
naredbi u assembleru, izvrsavanje programa skraceno na 50%:
http://purebasic.fr/english/viewtopic.php?p=380017#p380017
Ali to nije tako zanimljiv primjer, to je sad prvo na sta sam naiso,
ima par primjera bas na tom forumu koje se ispalati prouciti - kad ih
pronadjem cu poslati link.
Post by natkoBtw, u C++ više nema inline asm-a za x64.
Generirani kod je brz i od C#, i od C++. C++ je nešto brži, ali za GUI je to nebitno.
Ali je bitno ako ti GUI treba samo na bi nesta pokrenuo, pa nije isto
ako se pathfinding rutina izvrsava 20 minuta ili npr. 8 minuta. Ili za
svaki program raditi command line pa onda neki GUI Wrapper?
Post by natkoSam si naveo dosta toga, ali si istovremeno prekrižio sve. Win32 ti je gnjavaža, MFC sjena, itd...
Po meni takvo obrazloženje ne drži vodu.
To je zato jer ti sve to promatras iz perspektive programera. A meni je
vazno da kad mi nesta zatreba, to mogu napraviti bez da vise od 10%
razmisljanja trosim na stvari koje nisu vezane uz implementaciju
algoritma koji radi ono zbog cega sam uopcce krenuo program pisati.
Nekad mi je recimo jednostavnije pokrenuti VPython pa, uz help,
napisati par linija koda i nekome nesta vizualizirati na taj nacin,
nego da uzmem papir i olovku pa idem to nacrtati na papiru. Neko ce
mozda z aistu svrhu pokrenuto POV-Ray, a neko ce uzeti papir i olovku.
Evo onda konkretno pitanje:
Znaci, zelim napraviti binary file konverter kojega bi mogli koristiti
ljudi koji o kompjuterima znaju malo i nista (dovoljno je da znaju u
USB ustekati GPS uredjaj i pokrenuti program). Prema tome, program mora
imati GUI, mora biti kompaktan (bilo bi glupo da je programcic za
konveritanje veci od programa koji se isporucuje s uredjajem, a koji u
470 KB ima hrpu opcija za prikaz ruta na Google Maps, exportiranje u
razne formate, filtriranje podataka itd., ne smije zahtjevati
instaliranje 200 megabyte-nih runtime-ova, IDE u kojem ce biti
napravljen mora biti free, a licenca mora dozvoljavati i distribuciju
source-a od programa kojeg napisem tako da razvoj - ako ja necu imati
vremena - moze nastaviti i neko drugi. I naravno, glavno je da u tom
jeziku/IDE-u covjek moze poceti pisati odma - bez da najprije proucava
neke library-je, .dll-ove, systemske API-je i slicno. Za sad mi se cini
da se jedino PureBasic najbolje uklapa u sve navedeno.
--
Chupo