Legacy Graphics

Acest forum este dedicat intrebarilor de Windows API, folosing C/C++
User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Legacy Graphics

Post by Ovidiu Cucu » 24 Aug 2011, 10:49

viorel2005 wrote:Intrebare: Se poate scrie o componenta COM si sa fie apelata in Linux?
Raspuns: Daca vrei, poti. COM-ul ca si specificatie este independent de sistemul de operare.
viorel2005 wrote: Din punct de vedere al dezvoltatorilor soft ar fi fost interesant sa vezi o componenta chart dezvoltata folosind COM pentru
Windows si Linux.
Aici divagam. Probabil te referi la un ActiveX, care-i peste COM deci alta mancare de peste.
viorel2005 wrote:Din pacate, programatorii de C++ au preferat sa foloseasca standardul C++ impreuna cu extensii proprietare
"Din pacate" asta e... Programatorii C++ mai scriu si altceva decat "Hello World!" in consola si deci, vrand-nevrand folosesc "extensii proprietare".
E valabil si pentru programatorii C++ pe *nix.
viorel2005 wrote: Si ceea ce este interesant este ca daca vrei sa faci un firewall in Windows
este o problema fata de Linux unde totul este documentat.
O fi... Din cate stiu eu, programatorii *nix au o deosebita placere (ca sa nu spun "sunt nevoiti") sa bittwiddler-uiasca roti deja inventate in Windows. Bravo lor! :)
viorel2005 wrote:Si este normal deoarece un firewall de Linux nu aduce bani cum aduce un firewall de Windows.
Da, normal... probabil ca programatorii *nix sunt platiti cu nasturi, nu cu bani. :D
viorel2005 wrote: Mai mult se vorbeste de interoperabilitate COM,
dar singurul model adevarat de interoperabilitate este oferit de Java.
Stiu,.. "Java rocks!", zise un programator Java. :biggrin:
viorel2005 wrote: Programarea COM nu a murit odata cu VB6 cum ar fi trebuit...
De ce sa fi murit?
Desi se zice ca OLE Automation si ActiveX au fost "inventate special pentru VB", nu inseamna ca pot fi fiolosite doar in VB.
// paranteza: Cryogenic, te rog sa nu ma pui sa-ti caut IDispatch prin VB6 run-time! ;)
viorel2005 wrote:scrierea unei componente COM nu este simpla
Campul alb, oile negre
Cin'le vede nu le crede
Cin'le paste le cunoaste.
Ghici ce-i! :D
viorel2005 wrote:...In schimb e simpla utilizarea sa in alte limbaje.
Asta cam asa-i. Unele limbaje sunt simple, altele mai putin simple.
VB vine de la Visual BASIC iar BASIC vine de la Beginner's All-purpose Symbolic Instruction Code.


In fine, sa trag linie.
Daca vrei sa vezi ce si cum e COM-ul. iti recomand guglesti dupa "Component Object Model Specification".



viorel2005
Membru
Membru
Posts: 208
Joined: 24 May 2008, 09:41

Re: Legacy Graphics

Post by viorel2005 » 24 Aug 2011, 13:52

viorel2005 scrie:Si este normal deoarece un firewall de Linux nu aduce bani cum aduce un firewall de Windows.

Da, normal... probabil ca programatorii *nix sunt platiti cu nasturi, nu cu bani. :D
Linux e gratuit si nu cere nimeni bani pentru facilitatea de firewall in linux. Dar cand vezi producatorii de programe antivirus
care cer bani pentru firewall in aplicatiile lor antivirus, ca si cum firewall te protejeaza de antivirusi si nu antivirusul e un pic ciudat.
Cand oferi real-time protection nu ai nevoie de firewall. Se cere clientului sa fie naiv si sa plateasca munca unora care adauga un addon
suplimentar si folosesc marketing-ul pentru a-si vinde produsul. Nu am optiunea sa cumpar kaspersky firewall, bitdefender firewall separat etc.
deci ma indoiesc ca ar fi mai bune decat ceea ce ofera Linux. Si mai rau, toate aceste addon-uri la programele antivirus nu vin cu o interfata API
care sa usureze filtrarea mesajelor, in cazul in care un admin doreste sa defineasca anumite reguli de filtrare intr-un fisier batch.
Deci programatorii de *nix stiu sa ofere ceva primand donatii de la companii private, si sa adauge bonusuri adevarate si suport tehnic produselor lor
(ex. mysql), pe cand Microsoft e interesata de bani si patente.

neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Legacy Graphics

Post by neagu_laurentiu » 24 Aug 2011, 16:06

viorel2005 wrote:cand vezi producatorii de programe antivirus care cer bani pentru firewall in aplicatiile lor antivirus, ca si cum firewall te protejeaza de antivirusi si nu antivirusul e un pic ciudat.
Pai nu blama vanzatorul ci pe cumparator.
viorel2005 wrote:pe cand Microsoft e interesata de bani si patente.
Iarasi, fiecare cu politica sa. Nu poti sa spui ca unii sunt intr-un fel iar altii altfel. Fiecare a ales, nu i-a fost impus ceva.

User avatar
Silviu Ardelean
Senior
Senior
Posts: 1175
Joined: 12 Jul 2007, 09:22
Judet: Timiş
Location: Timisoara
Contact:

Re: Legacy Graphics

Post by Silviu Ardelean » 24 Aug 2011, 19:13

Viorel, daca tot ai la dispozitie sursele lu' iptable de ce nu te apuci sa-ti faci propriul firewall? Si ca sa fie mai interesant si crossplatform il faci in Java folosind JNI. :D Cu ocazia asta il portezi si pe Windows. :whorship:

viorel2005
Membru
Membru
Posts: 208
Joined: 24 May 2008, 09:41

Re: Legacy Graphics

Post by viorel2005 » 25 Aug 2011, 11:28

http://technode.com/2011/03/16/scandal- ... in-nasdaq/


Daca pana acum parea un mit ca creatorii de programe antivirus lucreaza cu creatorii de virusi, acestea este primul caz documentat.

Referitor la firewall, care face parte din suita unui program antivirus, ar putea fi aceasi problema: cream amenintari si apoi vindem remedii.
Filosofia dupa care lucreaza antivirusul este urmatoarea:
-clientul cumpara o aplicatie,OS etc
-un exploit infecteaza aplicatia,OS etc.
-cumparatorul aplicatie,OS trebuie sa faca el curat, adica riscul e al clientului si nu al dezvoltatorului de aplicatie.

Exact ca la bancile din Romania. Riscul il plateste clientul si nu banca.

Mi-ar fi placut ca legacy graphics sa fii continuat. Din cauza kernel-ului, Microsoft nu incurajeaza dezvoltarea de software.
Din pacate de aceea multi programatori nu stiu sa scrie o functie de sortare fiindca este imperios sa o contina framework-ul.
Iar in spatele unui framework de succes, sunt tot niste sclavi,tarani sau iobagi care isi macina sanatatea si nervii pentru a programa unii mai usor.
Mi-ar placea ca intr-o zi sa declanseze o rascoala, in care sa ii puna la punct pe script-kiddies de .NET, Java etc. care au nevoie de curatenie automata
pentru ca aplicatia sa nu crape. Si ne mai miram de ce softul x scris in C++ are buffer overflow etc. Sper sa nu vina ziua cand programatorii de C++ o sa ajunga ca
numar ca programatorii de assembler din ziua de azi. Interesant, daca cauti pe ejobs un job cu assembly language, nu gasesti decat
firma Avira. Drept urmare nu ai nici o motivatie sa inveti assembly language.

User avatar
bu7ch3r
Membru++
Membru++
Posts: 326
Joined: 17 May 2011, 15:17
Judet: Iaşi
Location: Sofia
Contact:

Re: Legacy Graphics

Post by bu7ch3r » 25 Aug 2011, 12:08

Oare afirmatia "Daca nu era COM era numai Windows" este adevarata?
Cu stima,
Lupu Claudiu

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Legacy Graphics

Post by Ovidiu Cucu » 25 Aug 2011, 12:41

Citez dintr-o carte de MFC aparuta prin 1996, dealtfel excelenta la vremea ei si, in general, valabila si azi.
Ken Ramirez, Visual C++ 4 Masterclass
When I started to consider how I would write the code, many things crossed my mind, but one thing was obvious: I needed to incorporate OLE in this picture. Why? Well, because it's the wave of the future. Judging from the amount of OLE built into Windows 95, there's no doubt that Microsoft will soon make everything in the operating system a COM object, exposing interface that we can call to perform different tasks. For example, in the future we might see an interface named IWindow. We should then be able to call the members of IWindow, such as IWindow::Show or IWindow::Update.
Cred ca-i clar ce voia omul sa zica la vremea cand mai toti programatorii Windows dormeau cu "Inside OLE/COM" sub cap.
Well, zic si eu: au trecut vreo 16 ani de the future si... ia-l pe IWindow de unde nu-i!
Mai mult, umbla acum unii cantand pe nas "vesnica pomenire" pentru COM. :D

Nu-i greu de inchipuit ca cineva sa ia fragmentul de mai sus, sa inlocuiasca OLE stuff cu .NET stuff, Windows 95 cu Windows 7 si sa-l publice, stimuland secretia serotoninei si inducand vise placute celor care dorm azi cu "Inside .NET" sub cap ;)

User avatar
cristianamarie
Membru++
Membru++
Posts: 480
Joined: 12 Mar 2009, 18:47
Judet: Iaşi
Location: Iasi

Re: Legacy Graphics

Post by cristianamarie » 25 Aug 2011, 12:53

viorel2005 wrote:Programarea COM nu a murit odata cu VB6 cum ar fi trebuit
Programarea COM in VB6, vrei sa zici :D
Nuclear launch detected

User avatar
cristianamarie
Membru++
Membru++
Posts: 480
Joined: 12 Mar 2009, 18:47
Judet: Iaşi
Location: Iasi

Re: Legacy Graphics

Post by cristianamarie » 25 Aug 2011, 13:12

1. Firewall in Windows: IPv6 Internet Connection Firewall SDK. Sigur mai sint si altele, tot range-ul, de la cum sa folosesti ce dau cei de la Windows pina la un filter driver sau ce o mai fi prin DDK. N-a zis nimeni ca DDK-ul e pentru cei cu inima slaba, dar nu e nici un secret.

2. COM/OLE/ActiveX (pina la urma, sint toate COM). Una la mina, au fost si pe Unixes, cred ca Mainsoft si Bristol Technologies au implementat COM pe ***x chiar pe vremea lui NT4. Nu a prins la public, dar la fel s-au dus si OpenWS, Bonobo si multe alte treburi. Unele merg, altele nu, nici o drama aici.

Doi, e o chestie de gust sa folosesti JNI, COM sau altceva. Fireste ca nimeni nu se supara daca in loc de oleaut32.dll folosesti cine stie ce framework/librarie.
Dar daca am deja in Windows PropVariantToString sau VarR8FromStr, si eu coexist cu treburi Windows care sint COM, folosesc treburi COM (varianti, IUnknown, BSTR etc.), de ce sa nu le folosesc? Asta e treaba nativa, asta folosim. Si chiar sint si bune si mai si functioneaza.

Cum zicea si Ovidiu mai sus de drag/drop: cel de pe Windows nu are rival, spre exemplu - dupa parerea mea.
Alte treburi pe care le-am vazut prin alte locuri sint tot la fel de complicate, si mai au si dezavantaje particulare (nu mai intru acum in detalii) - asta cind merg. Cui nu ii place BSTR il invit la o cura de NSString, CFStringRef, HFUniStr255 si prietenii lor :)

3. Legacy. Asta cred ca vine din lipsa de interes. Pe NT4 era netapi32. Guess what, functioneaza si azi. Dar citi mai sint interesati de asa ceva? Si probabil ca MS actioneaza in consecinta, fac deprecate (nu unsupport !) la niste treburi din varii motive: promovare, politics, nu mai vor sa ofere suport ca tre sa plateasca bani pe asta, nu sint oameni etc. E suficient sa te uiti pe codeproject cite progress bar verzulii scrise in .NET sint - mie unuia mi se face parul maciuca. Conteaza acuma ca nu mai e progress bar control ci e un windowless WPF (care, BTW, cred ca foloseste tot aceeasi implementare ca si comctrl32...)? Asta nu inseamna deprecarea, ca daca ma uit la IE9, tot msctls_statusbar, ShellDocObject View si ReBarWindow32 vad.

Cit priveste GDI-ul, poate o sa ajunga si el la gunoi. Cind o sa fie cu adevarat implementat DrawFrameControl intr-un dll windows in DirectX sau opengl sau cairo sau Skia, atita timp cit e o functionalitate expusa de SDK-ul OS-ului, asta o sa folosim. My 0.02.
Nuclear launch detected

User avatar
cristianamarie
Membru++
Membru++
Posts: 480
Joined: 12 Mar 2009, 18:47
Judet: Iaşi
Location: Iasi

Re: Legacy Graphics

Post by cristianamarie » 25 Aug 2011, 13:23

Ovidiu Cucu wrote:Mai mult, umbla acum unii cantand pe nas "vesnica pomenire" pentru COM. :D
Pina si de-alde Don Box - care a fost om de om in COM - cinta osanale la .NET. Si ghici ce. Ma uit in Windows 7 si e full de COM. Mai mult ca niciodata. Cel putin Explorer-ul are acuma cred ca de doua ori mai multe interfete...
Nuclear launch detected

User avatar
cristianamarie
Membru++
Membru++
Posts: 480
Joined: 12 Mar 2009, 18:47
Judet: Iaşi
Location: Iasi

Re: Legacy Graphics

Post by cristianamarie » 25 Aug 2011, 13:31

viorel2005 wrote:cand vezi producatorii de programe antivirus care cer bani pentru firewall in aplicatiile lor antivirus, ca si cum firewall te protejeaza de antivirusi si nu antivirusul e un pic ciudat.
Nu prea cer ei bani pentru firewall. Banii se fac pentru ca ei ofera o suita. Cumperi antivirusul X de la compania Y. Firewall-ul il iei gratuit. Ei vin cu niste liste de-ale lor cu care opresc ce se stie ca nu e bine la user.
Dar daca iei o suita, ce prinzi in antivirus sau in firewall mai e pasat si pe la parental control, antiphising etc.
Nuclear launch detected

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Legacy Graphics

Post by Ovidiu Cucu » 25 Aug 2011, 16:15

cristianamarie wrote:
Ovidiu Cucu wrote:Mai mult, umbla acum unii cantand pe nas "vesnica pomenire" pentru COM. :D
Pina si de-alde Don Box - care a fost om de om in COM - cinta osanale la .NET...
Intr-un fel il inteleg...
"It took me roughly six months before I felt I understood anything about COM."
Don Box, Essential COM
E si el om. :D

User avatar
cristianamarie
Membru++
Membru++
Posts: 480
Joined: 12 Mar 2009, 18:47
Judet: Iaşi
Location: Iasi

Re: Legacy Graphics

Post by cristianamarie » 25 Aug 2011, 16:46

Ovidiu Cucu wrote:
cristianamarie wrote:
Ovidiu Cucu wrote:Mai mult, umbla acum unii cantand pe nas "vesnica pomenire" pentru COM. :D
Pina si de-alde Don Box - care a fost om de om in COM - cinta osanale la .NET...
Intr-un fel il inteleg...
"It took me roughly six months before I felt I understood anything about COM."
Don Box, Essential COM
E si el om. :D
Nici chiar asa. Dupa ce scrii Essential COM sa te apuci sa zici ca e pe duca si ca .NET e miezu si nucleu. S-a facut de ris. Si el si Chris Sells cu care s-a si grabit sa scoata Essential .NET; ce urmeaza, Essential Facebook ?
Dealtfel sint si altii mai buni care au inteles ca fiecare scula e pentru treaba potrivita.
C++ revine puternic. Cel putin din ce vad chiar de la oameni de la MS - de-alde Herb Sutter, Mogsen Ahsen si altii s-au cam saturat de osanalele web. Si nu sint singurii, dealtfel - Google au miezu tot pe C++ (NaCl, cineva?), Facebook au retarget PHP to C++... undeva impinsul div-ului la deal si virtual machineriile tot nu au sa fie inghitite.
Mai pe scurt, legacy my ass.
Nuclear launch detected

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Legacy Graphics

Post by Ovidiu Cucu » 26 Aug 2011, 12:54

Se pare ca Don Box e un "artist" si picteaza si el dupa cum ii tuna si/sau dupa cum cere curentul (vezi Picasso, Blue Period, Rose Period etc).
Acelasi lucru poti spune si despre altii de la care te-ai fi asteptat tot atat de putin.
Vezi Applied Microsoft .NET Framework Programming de nenea Jeffrey Richter (ma mir ca n-a scos inca Windows Via VB.NET/C# :D).
Cine stie, poate vor oamenii sa deschida ochii draganddropperilor in WindowsForms. :)


Oricum, definitiv, inevitabil si irevocabil:
Cu tot tamtam-ul si behaiala anti-C++ de la Java si-alte clone-incoace, C++ a ramas si va ramane unul dintre cele mai reusite limbaje de programare.

Post Reply