[ Burgos @ 15.04.2008. 21:36 ] @
Eh, momak, predji na .NET:

FileSystemWatcher Class (System.IO)


;)

Mislim da imam negde i neke projekte s tim, pa ako treba, tu sam...
[ Shadowed @ 15.04.2008. 21:41 ] @
Jaooo, sta si uradio... Sad si nagrabusio.
Pa mogao sam im i ja to reci, al' oni su ovde alergicni na pomen .net-a. Videces, sad ces odmah sektas da ispadnes.
[ rgdrajko @ 15.04.2008. 21:55 ] @
Za sve one koji zele da saznaju sve o svim 32 bit API(940 funkcija) za VB4,5,6 i za VB.NET, sa primerom za svaku api funkciju:
http://allapi.mentalis.org/apilist/apilist.php

Re: Eurora3D Team
Program radi i sa Total Commanderom. Provereno.




[Ovu poruku je menjao rgdrajko dana 15.04.2008. u 23:21 GMT+1]
[ Eurora3D Team @ 15.04.2008. 22:55 ] @
Citat:
Shadowed: Jaooo, sta si uradio... Sad si nagrabusio.
Pa mogao sam im i ja to reci, al' oni su ovde alergicni na pomen .net-a. Videces, sad ces odmah sektas da ispadnes.

Ma jok ... samo ce ga blago ignoisati :)
Salim se ...
@Burgos
Neprihvatljiv odgovor ... Ovo je VB 6 forum ... Not.Net :)
@Rajko hvala za test
[ Aleksandar Vasic @ 15.04.2008. 22:58 ] @
Citat:
Eurora3D Team: Ma jok ... samo ce ga blago ignoisati :)
Salim se ...
@Burgos
Neprihvatljiv odgovor ... Ovo je VB 6 forum ... Not.Net :)


slazem se vb6 rules :D
[ Burgos @ 15.04.2008. 23:17 ] @
Heh, vredi pokusati :). Znas kako, Jehovini svedoci cesto dobiju nogu u dupe, pa i dalje smaraju ;).
[ stefanpn @ 15.04.2008. 23:52 ] @
[Not]NET

Ma nije .NET toliko los koliko mi (VB6) programeri mislimo, samo ne mogu da zamislim sto unakazise onako lep IDE (korak u nazad od VB6)?

I razlike nisu bas toliko velike, testirao sam nesto malo...

Jedino me nervira sto je sve smesteno u neke klase i pod klase, pa da bi se domogao f-je koju zelis moras da ispises metar Te.Kst.A srecom InteliSense odlicno radi svoj posao

Ali Visual Basic 6 je Visual Basic 6, nema mu ravnog...
[ Shadowed @ 16.04.2008. 00:13 ] @
Sve mogu da razumem oko kritika vb.net-u, ali unazadjen IDE???
[ Aleksandar Ružičić @ 16.04.2008. 00:42 ] @
ako cete da nastavite sa raspravom VB6 vs VB.NET kazite da vas zakljucavam :)

ili pokrenite temu u advocacy forumu (ako to uradite obavezno me obavestite posto bi i ja ucestvovao u istoj :D)


p.s. http://msdn2.microsoft.com/en-us/library/ms364070(VS.80).aspx

[Ovu poruku je menjao Aleksandar Ružičić dana 16.04.2008. u 02:12 GMT+1]
[ rgdrajko @ 16.04.2008. 00:43 ] @
Citat:
stefanpn: :D [Not]NET :D
Jedino me nervira sto je sve smesteno u neke klase i pod klase, pa da bi se domogao f-je koju zelis moras da ispises metar Te.Kst.A srecom InteliSense odlicno radi svoj posao :)

Ali Visual Basic 6 je Visual Basic 6, nema mu ravnog...


Iskreno da kazem, radim u oba, u vb6 zbog VBA za word, excel, corel... ali mnogo je bolji i laksi vb.net, bas zbog tih "klasa i podklasa" kada ih jednom razumes. Odmah bih napustio vb6 kada bi VBA bio u vb.net-u.
[ Shadowed @ 16.04.2008. 01:01 ] @
Citat:
stefanpn: Jedino me nervira sto je sve smesteno u neke klase i pod klase, pa da bi se domogao f-je koju zelis moras da ispises metar Te.Kst.A srecom InteliSense odlicno radi svoj posao :)

E, ovo ne videh. To sto ne umes, ne znaci da ne valja :) Ako vise puta kuristis neku klasu, importujes namespace na pocetku koda i koristis samo ime klase.
vb.net ima sve sto vb6 sto se sintakse i mogucnosti tice (i vise, al' ajd' ok) + framework, dok kod vb6 imas API i com/activeX. E sad, ako su ti api i com/activex bolji...


Krcko, cek' da se jos malo razradi tema pa je split-uj pa cu prebaciti :)

Rajko, nisam se tim delom bavio, ali imas neku "integraciju" .net-a i office-a, ne znam tacno kako radi, ali guglaj office extensions .net i sl.
[ Eurora3D Team @ 16.04.2008. 02:01 ] @
Citat:
Aleksandar Ružičić: ako cete da nastavite sa raspravom VB6 vs VB.NET kazite da vas zakljucavam :)

ili pokrenite temu u advocacy forumu (ako to uradite obavezno me obavestite posto bi i ja ucestvovao u istoj :D)


p.s. http://msdn2.microsoft.com/en-us/library/ms364070(VS.80).aspx

[Ovu poruku je menjao Aleksandar Ružičić dana 16.04.2008. u 02:12 GMT+1]


Koji si majstor :) , kako si nasao ovo ?
Mislim, ako niste primetili na ovoj strani je opisano bas ono o cemu se ovde govori. Iskoriscena je NET clasa za nadgledanje fajl sistema i od nje je napravljen COM wrapper koji je onda iskoriscen u VB6.
Ceo kod je (treba da se instalira ... ) na http://download.microsoft.com/...78/VisualBasicFusion-IO_IO.msi
[ Aleksandar Ružičić @ 16.04.2008. 02:48 ] @
heh... imam ja neke svoje metode :)
[ valjan @ 16.04.2008. 05:47 ] @
Ako u Windowsu vec postoji "Audit object access" koji moze da odradi jedan deo od posla iz zahteva, ne vidim zasto bi bilo nemoguce napisati isto to u VB6 i prosiriti potrebnim funkcijama, ili iskoristiti zapise iz Security loga koje generise ovaj Audit i obraditi ih funkcijama iz custom VB6 aplikacije. Uostalom, zasto od nule praviti nesto sto vec postoji i funkcionise?
[ Shadowed @ 16.04.2008. 08:20 ] @
Krcko, za to ce ti i dalje trebati .net framwork.
[ Aleksandar Ružičić @ 16.04.2008. 08:29 ] @
pa znam, to mi jedino "smeta" kod ovog resenja, al aj'...
[ stefanpn @ 16.04.2008. 13:24 ] @
Necu vise, evo cutim da me krcko ne

Salim se...

Istina, ne znam bas .NET klase, tj. ne znam koja za sta sluzi :(

Ali mi se IDE stvarno ne svidja, nekako je mnogo saren pa mi sve odvlaci paznju, ali mozda bih se i navikao da duze radim u njemu.
[ Eurora3D Team @ 16.04.2008. 16:14 ] @
Evo da se i ja pridruzim Aleksandrovim i Stefanovim cestitkama ...
Meni smeta framework. MS ima operativni sistem i umesto da idu na sto direktniji pristup i samim tim i na vecu brzinu, oni idu na neko interpretiranje (valjda imitiraju javu ...)
[ Shadowed @ 16.04.2008. 16:22 ] @
.NET kod se ne interpretira.
[ Eurora3D Team @ 16.04.2008. 16:31 ] @
:)
Pa ne bukvalno ... al kako se zove situacija kad ceo rad jednog programa zavisi od nekog dll-a (VB6) ili celog frameworka (NET)
[ stefanpn @ 16.04.2008. 16:36 ] @
Citat:
Eurora3D Team: :)
Pa ne bukvalno ... al kako se zove situacija kad ceo rad jednog programa zavisi od nekog dll-a (VB6) ili celog frameworka (NET)


UCENA!, ali i VB6 kod zavisi od svog Runtime-a.
[ Shadowed @ 16.04.2008. 16:36 ] @
Nema nikakav poseban naziv. Rad gotovo svih programa zavisi od nekog .dll-a (i framework je skup .dll-ova), samo su neki isporuceni uz windows a neki ne (uz win2k3 imas... 1.1 u osnovnoj verziji u R2 imas 2.0, uz Vistu imas valjda Fr.3.0, uz Server2k8 3.5).
I calc.exe zavisi od .dll-ova :)
[ Eurora3D Team @ 16.04.2008. 16:49 ] @
Jeste al svi dll-ovi ga ne usporavaju podjednako :)
Sistemski dll-ovi kernel32 user itd moraju da se koriste za IO i GDI isl. ali ove framowork dll su jedan lejer iznad toga (napravljen sa ciljem da olaksa rad programerima jer prirodni windows interface je tezak po danasnjim standardima :) )
U praksi sam se sto puta uverio da su programi koji koriste framework redovno sporije odradjuju istu stvar od onih drugih.
[ Shadowed @ 16.04.2008. 16:59 ] @
Kao na primer? :)

Inace, jeste jedan layer vise, kao sto je i COM jedan layer vise preko win32 api-a, a vb6 je COM jezik.

Edit: ne kazem da .net programi nisu sporiji, samo sam pitao za primer :)
[ goranvuc @ 16.04.2008. 17:03 ] @
Izvinjavam se sto upadam, ali o cemu vi to raspravljate? Bas vam je dosadno
[ Aleksandar Vasic @ 16.04.2008. 17:36 ] @
ne raspravljamo,samo iznosimo cinjenice :P
[ Aleksandar Ružičić @ 16.04.2008. 18:31 ] @
ih bre ima sve pod kljuc da vas bacim! :)

imate Advocacy pa tamo raspravljajte...
[ Eurora3D Team @ 16.04.2008. 19:27 ] @
Evo napravio sam jedan (po rezultatima koje sam dobio rekao bi glup :) ) test brzine izvrsavanja iste operacije u raznim programskim jezicima (nisam javu i net).
VC++ je kompajlovan u debug verziji zato sto release daje neverovatan rezultat (da je sve uradjeno za 0 ms) a i rezultat VB6 mi je sumljiv. ASM i FreeBasic su sa realnim rezultatima.
Sta vi mislite o ovim (ocigledno) optimalizacijama ? Jer nekako mi je nemoguce da je VB6 ovde najbrzi :)
[ stefanpn @ 16.04.2008. 20:02 ] @
Nekako mi ovakav test nije merodavan...

Nebojsini rezultati/Moji rezultati
Code:

ASM 9766             5628
VC++ 8703            6309
VB 6672              3155
FB 11140             6719


Uzmite u obzir da imam sporiju masinu od njegove, tako da mi nije jasno zasto je kod mene ovakav rezultat...

A i kad se stavi da broje od 1 do 1 000 000, Fb i VC++ daju rezultat od 10ms, dok VB6 kaska sa 209ms u interpretatoru dok kad se kompajlira pokazuje 0ms sto je nemoguce, jer je u while petlji i treba da odradi sabiranje, oduzimanje, komparaciju i skok, a samo komparacija zahteva 24 procesorska takta, + sabiranje i oduzimanje po 8, doduse tu su koprocesori i kojekakva cuda unutra ali ne moze 0ms...

EDIT: VB.NET 5768,2944ms

[Ovu poruku je menjao stefanpn dana 16.04.2008. u 22:02 GMT+1]
[ Shadowed @ 16.04.2008. 20:05 ] @
Jesu i ti susreti gde je .net bio spor ovakvi :]
Ne bih znao sta je uzrok ovakvih rezultata. Ako ti nesto znaci, kod mene je:
asm - 3125
fb - 2781
vb - 1750
vc - 2635
Inace cpu ima 7-8% zauzece bez tih programa, svi su radili na jednom (istom) jezgru.
[ Shadowed @ 16.04.2008. 20:44 ] @
vb.net:
Code:

Module Module1

    Sub Main()
        Dim no As Integer
        Dim lno As Integer
        Dim StartTime As DateTime
        Dim MyTime As TimeSpan
        no = 0
        MsgBox("merenje pocinje")
        StartTime = Now
        While no < 1000000000
            no += 1
            lno = 1000000000 - no
        End While
        MyTime = Now - StartTime
        MsgBox("trajalo je " & MyTime.TotalMilliseconds & "ms")
    End Sub

End Module


Izvrsni fajl u attachment-u, potreban framework 2.0
[ Eurora3D Team @ 16.04.2008. 21:04 ] @
Meni se ovaj zadnji najbrzi ... osim jedne c++ verzije koju sam kompajlovao MinGW kompajlerom koja je ~5 puta brza od ovog.
[ Shadowed @ 16.04.2008. 21:11 ] @
Da, i meni je vb.net davao najbrze rezultate - 1300ms +-50ak
Sad, posto je ova tema vec vb6 vs vb.net, necu propustiti da napomenem da je multithreading u vb.net-u mnogo jednostavniji pa bi se za tek nesto malo vece vreme (max par procenata) ovo moglo n puta izvrsiti na cpu sa n jezgara (prva stvar koju sam probao kada sam kupio c2d ).
[ Burgos @ 16.04.2008. 22:02 ] @
Nije vase merenje merodavno :)..

Zasto C++ fajl kompajlirate u Debug varijanti (citaj: napunite djubretom), pa merite.. Nije jadan VC++ kriv sto pri Buildu u Release modu kompajler vrsi optimizaciju (Maximize Speed) i sto to neverovatno dobro radi ;).

Zato se verovatno isplati pisati u C++-u, umesto u asembleru, jer dobar C++ kompajler zapravo pokusava da razume vas kod..


Just my 2 cents..
[ mmix @ 16.04.2008. 22:03 ] @
Zao mi sto moram da vam spustim loptu, ali poredjenja su vam totalno bezveze, ne poredite source-native optimizaciju koda, poredite koliko je u stvari inteligentan kompajler u optimizaciji koda.

Ako pogledate, lo i lno se ne koriste nigde posle petlje niti njihovo racunanje ima sekundarne posledice, samim tim "inteligentni" kompajler slobodno moze da izbaci te dve operacije iz petlje, a jos inteligentniji kompajler moze da izbaci i samu petlju da se ne bi vrteo u prazno

Tako da vas kod u najoptimalnijem slucaju izgleda ovako:

Code:

        MsgBox("merenje pocinje")
        StartTime = Now
        MyTime = Now - StartTime
        MsgBox("trajalo je " & MyTime.TotalMilliseconds & "ms")


I posle se pitate sto release verzije daje 0ms

Ako hocete "realne" rezultate, sve jezike morate da pustate u release modu, i morate da iskoristite lno posle merenja, da ga optimizacija ne bi izbacila.

[ Shadowed @ 16.04.2008. 22:15 ] @
Pa, u sustini poredjenje je bez veze kako god okrenes. Em sto ovi programski jezici i nisu namenjeni da pravis brojace, em sama brzina izvrsavanja nije jedino sto je bitno kod programskog jezika i razvojnog okruzenja.
Probao sam i sa koriscenjem promenljive nakon loop-a, isti je rezultat - 1300+-20ms
[ Burgos @ 16.04.2008. 22:28 ] @
Nema veze, kompajler ce prepoznati koja je vrednost promenljivih posle izvrsavanja.. Cilj je iskoristiti instance promenljivih unutar loop-a, a ne koristiti njenu konacnu vrednost.


Evo napisite ovo u VB, pa cemo da vidimo krajnji rezultat (ovde petlja ne moze da se izbegne, iako svakako kompajler optimizira ovo, tako da se vrtimo u krug):

Code:
#include "windows.h"

struct LCVOR{
                   char inf;
                   int kljuc;
                   LCVOR *sledeci;
};

void umetni(LCVOR *novi,LCVOR **lista)
{
    if(*lista==NULL){
        novi->sledeci=NULL;
        *lista=novi;}
    else 
        umetni(novi,&(*lista)->sledeci);
}

void brisi_listu(LCVOR **lista){
    if(*lista!=NULL){
        brisi_listu(&(*lista)->sledeci);
        delete *lista;
        *lista=NULL;
    }
}

LCVOR *lista;

void UciniNestoZaSvojuSavjest(int n){
     LCVOR *tekuci = new LCVOR;
     tekuci->inf = n;
     umetni(tekuci, &lista);     
     
}

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
     long count1 ,count2, count;
    char* res = new char[256];

    MessageBox(GetActiveWindow(),"Merenje pocinje","VCTest",MB_OK);

    count1=GetTickCount(); //pocetak 
    long no = 0;
    long lno = 0;

        while( no<10000){
            no++;
            lno = 10000 - no;
            UciniNestoZaSvojuSavjest(no);
        }

    count2 = GetTickCount(); //kraj
    count=count2-count1;

    wsprintf(res,"%lu",count);

    char* txt = new char[256];
    lstrcpy(txt,"Izvrsavanje je trajalo " );
    lstrcat(txt,res);
    lstrcat(txt," milisekundi");
    MessageBox(GetActiveWindow(), txt ,"VCTest",MB_OK);
    brisi_listu(&lista);
    return 0;
}



Bez optimizacije: 4000+ ms
Sa optimizacijom: ~2000ms
[ Eurora3D Team @ 17.04.2008. 01:14 ] @
@Burgos upavu si za optimalizacije ... tamo je i napisano da su zbog toga takvi rezultati , da je test los i bukvalan (al je bio jednostavan algoritam za prevodjenje u vise jezika)
Evo da ne budemo nepravedni prema c++ stavili smo ih na svoje mesto :)
Dodao sam fn koja popunjava mali buffer od 1000 bajtova 100000 puta.
Brzine ocekivane ... ASM,c++,FB pa VB6 (daleko iza)
[ Eurora3D Team @ 17.04.2008. 12:18 ] @
Test je sad objektivan (ista stvar u 4 programska jezika ... pa kako se snadju)
Ako je neko raspolozen moze da napravi .NET verziju ovoga i podeli razultate sa nama :)
[ Shadowed @ 17.04.2008. 12:22 ] @
Veceras, samo da se setim, zauzet sada.
Mada, kao sto rekoh, nije brzina izvrsavanja sve sto je bitno ;)
[ Eurora3D Team @ 17.04.2008. 12:35 ] @
Pa normalno da nije ... pogotovo ako mozes da napravis program za par minuta umesto za pola sata u necem drugom. Al u nekim stvarima brzina je bas bitna ... zavisi sta se radi.
Seti se :) ... bilo bi interesantno da se uporedi i NET
by the way ... kakav offtopic od teme :):):) Sta radi taj Aleksandar :)
[ Burgos @ 17.04.2008. 20:05 ] @
Nemoj da pozivas Aleksandra - vidis da pokusava da na par dana previdi temu :)..

Elem: C# izvrsenje 797ms
C++ 343ms

A VB primer mi gadno zakuca procesor :)

Code:
using System;
using System.Collections.Generic;

namespace benchmarkCsharp
{
    class Program
    {
        [STAThread]

        static bool TestFn(ref char[] buff)       
        {

            for (int n = 1; n < 101; n++)
            {
                for (int m = 1; m < 11; m++)
                    buff[(n * m) - 1] = (char)(m + 35);
            }
            return true;
        }

  
        static void Main()
        {

            System.Windows.Forms.MessageBox.Show("Merenje pocinje");
            long no = 0;
            long lno = 0;
            char[] Buffer = new char[10000];


            long count1 = System.Environment.TickCount; //pocetak
            

            while (no < 100000)
            {
                no++;
                TestFn(ref Buffer);
            }

            long count2 = System.Environment.TickCount; //kraj
            long count = count2 - count1;
            System.Windows.Forms.MessageBox.Show("Merenje trajalo: " + count.ToString() + " milisekundi.");

            
        }
    }
}
[ Eurora3D Team @ 17.04.2008. 22:11 ] @
Citat:
Burgos: Nemoj da pozivas Aleksandra - vidis da pokusava da na par dana previdi temu :)..

:)
Ma vidim ... zezam se
@Burgos zakaci i exe ... nemamo svi ovde NET IDE

Sad sam video. Sta je ovo u NET-u
Code:

[STAThread]

Jel se fn izvrsava u threadu? Ako jeste nije fer kod :) ... threadovi mogu da se preklapaju i promene rezultat (skrate vreme)...
Al pretpostavljam da nije ... nebi pravio toliko threadova istovremeno ...

a i alocirao si 10 puta vise memorije char[] Buffer = new char[10000]; ... al to nije bitno u ovom testu

[Ovu poruku je menjao Eurora3D Team dana 17.04.2008. u 23:42 GMT+1]
[ Burgos @ 17.04.2008. 22:43 ] @
Jok, to znaci da naglasavam da je trenutna nit singlethreathed (dobro, jes' da to ima vise veze sa COM-om, sa CoInitializeEx, i sa sinhronizacijom UI-a i ostalih propratnih efekata, ali eto - nek' se zna, a i tise malo - nije ovo .NET forum ;) ). Moglo je i bez toga (ne menja rezultat, ali navika cini cudo coveku).


A evo i *.exe
[ Eurora3D Team @ 17.04.2008. 23:26 ] @
Citat:
a i tise malo - nije ovo .NET forum ;)

Koliko sam shvatio tema ce biti prebacena ... tako da nije ni VB6 :)
Ok skidam kapu sto se tice brzine ... upola ja sporiji od c++ (assembler je neuporediv) ali je mnogo brzi od VB6 , bar na ovom testu.
Ipak mi VB6 ostaje No. 1 za ove obicne korisnicke programe dok svi ne budu imali net framework (kao sto je sad sa VB6 VM)...
[ Burgos @ 17.04.2008. 23:34 ] @
Kao sto je vec receno - nije sve u brzini izvrsavanja koda (tj. sa kolicinom dodira sa i u kvalitetu prevoda na masinac)..

"Right tool for the right job, " ili, bolje: "Right tool for the right guy."
[ Eurora3D Team @ 18.04.2008. 00:32 ] @
Ovo "Right tool for the right job" mada ja sve nesto trazim "Right tool for the all jobs" al toga nema ... nekad mi treba da program brzo radi a nekad da ga brzo zavrsim, tako da ako ne moze VB zbog brzine (zamisli neki ozbiljan server u VB6) onda idem na c++ a nekad i na asm
[ Aleksandar Ružičić @ 19.04.2008. 21:32 ] @
i' bre ljudi. nema me par dana na netu i napraviste mi svinjac od vb6 foruma :)

Shadowed ako mislis da nesto od ovoga treba sacuvati onda seci premestaj radi sta oces ja sutra, najkasnije preksutra brisem sav offtopic :)
[ Aleksandar Ružičić @ 20.04.2008. 02:08 ] @
evo uradio sam test u D-u:
Code:

import std.stdio;

extern (Windows) int GetTickCount();

void main()
{
    bool testFn(ref char[] buff)
    {
        for (int n = 1; n < 101; n++)
        {
            for (int m = 1; m < 11; m++)
            {
                buff[(n * m) - 1] = cast(char)(m + 35);
            }
        }

        return true;
    }

    long no = 0;
    long lno = 0;
    char[] Buffer = new char[10000];

    int start = GetTickCount();

    while (no < 100000)
    {
        no++;
        testFn(Buffer);
    }

    int end = GetTickCount();


    writefln("Merenje trajalo: %d milisekundi", end - start);
}

exe je u zipu okacenom uz poruku pa proverite (ja cu sad da skinem ove ostale pa da probam kod mene)


edit:

evo rezultata kod mene:

Code:

172   - ASM  
422   - C++ (VC)
438   - C++ (MinGW)
656   - D
765   - C#
1453  - FreeBASIC ( ali uzmimo u obzir da freebasic compiler ne radi skoro nikakve optimizacije, to im jos nije u planu :D )
22250 - VB ( wtf?!!? )
[ stefanpn @ 20.04.2008. 03:34 ] @
Jel vi kompajlirate ovaj VB ili ga pokrecete u interpretatoru, zar je moguce da je 20 i vise puta sporiji od drugih?
[ Aleksandar Ružičić @ 20.04.2008. 09:01 ] @
ja sam pokretao ovo sto je Eurora uradio, znaci exe :)

mada ne znam jel kompajlovao kao native-code ili kao p-code... ali ne bitno, posto je VB zaista spor jezik (pogotovu kad se radi sa stringovima, jer je u slucaju VB6 spajanje vise tekstualnih fajlova - znaci disk access, mnogo brze od spajanje vise stringova - znaci memory access... sto bi rekli "sad but true") ai ja delim misljenje da je poredjenje jezika (tj kompajlera) po brzini izvsavanja generisanog koda smesno (al sam ipak ucestvovao u ovom benchmark testu :D)
[ Eurora3D Team @ 20.04.2008. 11:16 ] @
@Aleksandar ... native-code nazalost to je to , izgleda ne moze bolje
Ovaj D je brz jezik ... nisam probao ali vidim iz tvog teksta.
A za ovaj test ... ja ipak mislim da je ipak dobar jer to je izvrsavanje jedne iste operacije (al bukvalno istog posla) u raznim jezicima. U onom prvom testu sam se zeznuo ne uzimajuci u obzir optimalizacije pa mi je VB6 i VC++6 vrteo u praznoj petlji i postizao ogromnu brzinu (al uzmimo taj prvi test kao test optimalizacije koda na raznim kompajlerima , MS je tu ocigledno napravio dobar posao). Ovaj drugi test je jedan zadatak (da se 100000 puta izvrsi jedna fn koja puni neki buffer uz neke jednostavne matematicke operacije i jos po nesto) i tu vidimo koliko pojedini jezici / kompajleri prave dobre ili brze exe fajlove za ovakvu vrstu zadatka.
I ja cu da ponovim nije sve u brzini (al jeste dosta :) )
[ Aleksandar Ružičić @ 20.04.2008. 12:16 ] @
sto se tice D-a po meni to je jezik sa najboljim odnosom mogucnosti/jednostavnost/brzina (ajde ovo za brzinu moze i da se zanemari, posto je ovo u pitanju DMD kompajler mada postoji i GDC kompajler koji je baziran na GCC backendu koji nisam testirao ali pretpostavljam da DMD generise kod koji se brze izvrsava...)
[ Eurora3D Team @ 20.04.2008. 12:30 ] @
Citat:
Aleksandar Ružičić: sto se tice D-a po meni to je jezik sa najboljim odnosom mogucnosti/jednostavnost/brzina (ajde ovo za brzinu moze i da se zanemari, posto je ovo u pitanju DMD kompajler mada postoji i GDC kompajler koji je baziran na GCC backendu koji nisam testirao ali pretpostavljam da DMD generise kod koji se brze izvrsava...)

A kakav je sa gui applikacijama ? Mislim kako je uradjeno IDE i gde moze da se skine ?
Jel moze ono kao VB6 klik na dugme i otvori se kod editor sa funkcijom ?
Odakle se downloaduje ? Trazim nesto brzo i lako (VB6 polako izlazi iz upotrebe a NET mi se bas ne svidja) ...
Vidim da je slican c++ po sintaksi ...
[ Aleksandar Ružičić @ 20.04.2008. 12:48 ] @
e pa sad ga pretera :)

postoji vise IDE-a (ja sam probao par, recimo Poseidon nije los - imas na dsource.org) ali su klasicni code-editori nemas dizajner kao visual studio ako si to ocekivao...

a sto se tice GUI-a to ti je klasican WinAPI (ako radis za windows) mada postoji library (opet za windows) DFormsLibrary (DFL) koji je wrapper oko WinAPI i pruza Delphi-like gui sistem (tj delphi-style kreiranja i upravljanja objektima) koji ja bas i ne volim...

Citat:
Odakle se downloaduje ? Trazim nesto brzo i lako (VB6 polako izlazi iz upotrebe a NET mi se bas ne svidja) ...

www.digitalmars.com/d

ali ne bih rekao da je D brz i lak u poredjenju sa VB6 (pod "brz" mislim na brzinu razvoja aplikacija - ipak je vb6 RAD sistem) a i D je tek u verziji 2 (i to beta) a VB6 je 6-a inkarnacija vb-a :)

Citat:
Vidim da je slican c++ po sintaksi ...

da ali mnogo mnogo bolji, jednostavniji (citljiviji) i mocniji. D je nastao kao "odgovor" na C++ tj lik koji je dizajnirao D se godinama bavi pravljenjem C/C++ kompajlera i dobro poznaje sve lose osobine C++a (a koje je bjarne stroustrup namerno ubacio u C++ da bi ga napravio sto kompilikovanijim - kako sam procitao u jednom njegovom intervjuu) tako da je (po meni) bio prava osoba koja moze da dizjnira vrhunski jezik (kao sto ima quote na njegovom sajtu dosad su jezici dolazili ili sa univerziteta ili od velikih kompanija kojima je profit najbitniji, D je s druge strane plod visegodisnjeg prakticnog rada u implementiranju kompajlera za mainstream jezike)

sve u svemu, ja sam odusevljen jezikom :)

[Ovu poruku je menjao Aleksandar Ružičić dana 20.04.2008. u 14:02 GMT+1]
[ Burgos @ 20.04.2008. 13:40 ] @
Citat:
(a koje je bjarne stroustrup namerno ubacio u C++ da bi ga napravio sto kompilikovanijim - kako sam procitao u jednom njegovom intervjuu)


Mislim da se radi o prvoaprilskom intervjuu koji je Stroustrup dao ;).
[ Aleksandar Ružičić @ 20.04.2008. 13:53 ] @
ne, bio je ozbiljan (sad ne mogu da nadjem taj intervju ali proguglacu malo bolje veceras), i kao razlog za to (sto je zakomplikovao c++) je naveo "da je hteo da pomognem kolegama programerima", jer su u to vreme pocele da padaju plate programerima pa je odlucio da napravi jezik koji ce biti tezak za odrzavanje (tj programi pisani u tom jeziku) i tezak za savladavanje i pravilno koriscenje svih njegovih mogucnosti (salio se on ili ne, ovo je tacno, zbog multiple inheritance-a i operator overloadinga, kada treba da razumem neki c++ kod vise od pola vremena provedem lutajuci po header fajlovima ne bi li nasao u komentarima objasnjenje koji operator se za sta koristi i zasto - kod d-a je sve ovo jednostavno ocigledno, naravno kao i u svakom programskom jeziku i u d-u je moguce pisati nelogican i necitljiv kod ali ti sam jezik ostavlja vrlo malo prostora za tako nesto)


edit:

eve ga intervju: http://artlung.com/smorgasborg/Invention_of_Cplusplus.shtml

Citat:
...

Interviewer: I see, but what's the point?

Stroustrup:

Well, one day, when I was sitting in my office, I
thought of this little scheme, which would redress
the balance a little. I thought 'I wonder what
would happen, if there were a language so complicated,
so difficult to learn, that nobody would ever be able
to swamp the market with programmers?

Actually, I got some of the ideas from X10, you know,
X windows. That was such a bitch of a graphics system,
that it only just ran on those Sun 3/60 things. They
had all the ingredients for what I wanted. A really
ridiculously complex syntax, obscure functions, and
pseudo-OO structure. Even now, nobody writes raw X-windows
code. Motif is the only way to go if you want to retain
your sanity.


...
[ Shadowed @ 20.04.2008. 14:43 ] @
Citat:
Aleksandar Ružičić: kada treba da razumem neki c++ kod vise od pola vremena provedem lutajuci po header fajlovima ne bi li nasao u komentarima objasnjenje koji operator se za sta koristi i zasto

Zbog ovoga u .net-u postoje xml komentari koji se integrisu kao meta podaci pa se prikazuju u object browser-u, intellisense-u itd. znaci gde god je to potrebno :)
Doduse, toga ima donekle i u COM-u pa i vb6 ali nisam siguran na koji nacin se u vb6 to postize, ako je implementirano uopste.
[ negyxo @ 20.04.2008. 15:23 ] @
Citat:
Aleksandar Ružičić: ne, bio je ozbiljan (sad ne mogu da nadjem taj intervju ali proguglacu malo bolje veceras)...
l


http://www.research.att.com/~bs/bs_faq.html#IEEE

Citat:

Did you really give an interview to IEEE?
in which you confessed that C++ was deliberately created as an awful language for writing unmaintainable code to increase programmers' salaries?

Of course not. Read the real IEEE interview.
[ Aleksandar Ružičić @ 20.04.2008. 16:56 ] @
naah, sta god on napisao na njegovom sajtu za mene ce ovaj intervju biti zakon :) jer rekao on to stvarno ili ne to je istina...
[ Eurora3D Team @ 20.04.2008. 19:22 ] @
Citat:
Aleksandar Ružičić: e pa sad ga pretera :)

postoji vise IDE-a (ja sam probao par, recimo Poseidon nije los - imas na dsource.org) ali su klasicni code-editori nemas dizajner kao visual studio ako si to ocekivao...

Nisam se zezao u vezi ovoga. Taj D ili FreeBasic moze da ima RAD IDE sa framoworkom vrlo lako (nesto slicno VB6 ili MS VC++ sa MFC klasama)
Jedino neko treba da sedne i odvoji neko slobodno vreme za to :)
Lik na ovom sajtu je napravio RAD IDE za assembler http://www.easycode.cat/English/index.htm
Napravis neke forme sa kontolama isl. i kad kliknes dugme otvara se kod editor , pravi funkciju itd.
Taj framework bi mogao da se linkuje kao staticka biblioteka i da u pozadini odradjuje evente i ostalo ostavljajuci samo interface za programera (slicno VB-u)
Normalno treba da se napavi novo IDE sa tim frameworkom ...
Nije to neka mudrost ... jedino neko treba da napravi, i uopste netreba 6 verzija jer danas ima dosta open source koda za kod editore i slicne stvari.

[ Aleksandar Ružičić @ 20.04.2008. 19:41 ] @
ma znam ja da moze da ima RAD sa frameworkom (pomenuo sam ti DFL kao gui framework za D) ali ajde koliko ima dobrih RAD alata (znaci form dizajner + code editor) a da iza njih ne stoji microsoft, borland ili neka velika kompanija, tj da je open source? (ovde ne uzimam u obzir eclipse koji ima form dizajnere u vidu pluginova, a ne uzimam ga u obzir sto uopste nije RAD! previse je sporo okruzenje - ipak je to Java)

a editore koje KetilO radi (RadASM, FBEdit) ne bih nazvao RAD alatima, iz razloga sto on ima Dialog designer a ne Form designer (ti znas razliku, a ostali nek guglaju ako im nije jasno koja je razlika :D) ali su mu code editori fenomenlano brzi (valjda zato sto ih je u asm-u pisao :D) jedina zamerka je sto je windows-only... tako da jedini ozbiljni code editor (tacnije code editing control) koji je cross-platform i relativno brz jeste scintilla koji bih ja koristio kada bih radio RAD okruzenje za neki cross-platform jezik...

Citat:
Nije to neka mudrost ... jedino neko treba da napravi, i uopste netreba 6 verzija jer danas ima dosta open source koda za kod editore i slicne stvari.

da... ja sam zapravo zapoceo rad na cross-platform GUI frameworku za D za koji sam planirao i RAD okruzenje (scintilla za code-editing, taj frejmwork za form designer i samo okruzenje) ali to je preveliki posao za jednog coveka, a i nisam bas nesto dokon da imam dovoljno vremena za tako veliki projekat (sto se tice tog frejworka mesecima ga nisam pipnuo, ima gotove Application i Window klase samo i uz to je Window klasa puna bagova, tj implementacija te klase pomocu winapi-ja ima dosta bagova :D)
[ Eurora3D Team @ 20.04.2008. 20:14 ] @
Slicno razmisljamo :) i za scintillu i za ostalo ... i ja sam isto tako nesto razmisljao (IDE za neki basic i c++) al npr da se basic prevodi u pozadini na c++ i kompajluje mingw-om npr. a c++ ostaje c++ plus taj framework ... al kao sto kazes jeste veliko za jednog coveka (ustvari taj covek bi trebao da samo to radi neko vreme ... )
Pusti cross-platform ako si na windowsu ... znas da cross-platform kodovi samo usporavaju na win32 ... samo odvojis GUI (i IO) deo pa to moze posle da se prepravi ako uopste bude zavrseno :)
Java ima i NetBeans ... steta sto tako nesto ne postoji kao open source kao win aplikacija za neki Basic ili za c++
[ Aleksandar Ružičić @ 20.04.2008. 21:11 ] @
ne vidim zasto cross-platform kod mora da bude spor na windowsu, pod cross-platform mislim framework koji nudi GUI kontrole tj objekte koji upravljaju tim kontrolama na isti nacin na windowsu na linuxu (mozda cak i na meku) a taj frejmowrk ce da predstavljamo samo jedan lejer iznad native gui funkcija (i to uopste ne mora da bude sporo)

mada ovo za prevodjenje te nisam bas razumeo... a sto se tice jezika ja kada bih to radio uradio bi u d-u, ili u fb-u ali tek u verziji 1.0
[ icobh @ 20.04.2008. 21:25 ] @
Eh drugovi moji, kad sam ja razmišljao da napravim jedan IDE, bilo kakav ali se sve završilo na pokušaju. Jednostavno, nemam vremena. Čak sam bio i našao brdo primjera, kako editovati formu u design modu, kako dodati komponente (doduše samo COM) u design modu, pomjeranje komponenata u design modu, Intellisense...

Zakačio sam i primjer, kako pomjerati komponente u design modu...

P.s. Evo šta sam uspio uraditi, tj. više dizajnirati u tom nekom početničkom elanu... Kasnije je sve jednostavno zamrlo...

[ Shadowed @ 20.04.2008. 21:37 ] @
Citat:
Aleksandar Ružičić: ma znam ja da moze da ima RAD sa frameworkom (pomenuo sam ti DFL kao gui framework za D) ali ajde koliko ima dobrih RAD alata (znaci form dizajner + code editor) a da iza njih ne stoji microsoft, borland ili neka velika kompanija, tj da je open source?

Mora li open source ili je dovoljno da je free? Visual Studio ima mogucnosti prosirenja; pricali smo pre neki dan o php-u u njemu. A Visual Studio Express je free. Naravno, zahteva framework :) Jeidno ne znam (to se treba proveriti) da li su takva prosirenja moguca u Express verziji. Taj program za php zahteva pro. verziju, ali to ne znaci obavezno da express ne moze biti prosirivan.
[ Eurora3D Team @ 20.04.2008. 21:52 ] @
@ Aleksandar Ružičić Pa nemora da znaci da je cross-platform sporiji ali obicno jeste ... (secas se cross-platform 2D biblioteka za one FB teme vs ovih za win32, trosila ce mnogo CPU vremena) a i gledao sam te kodove ... nekom osnovnom logikom ako izvodjenje programa mora da prodje kroz dve fn umesto jedne onda je sve jasno.
Nisam rekao sporo , nego spoije. CodeBlock IDE je uradjeno na nekom cress-platform frameworku i radi odlicno na win32 (verujem i na linux-u)
@icobh Lepo ... ali si odabrao pogresan jezik (za c++ ima vise koda u toj oblasti)
[ icobh @ 20.04.2008. 22:00 ] @
@Eurora3D Team
Ma znam, ovo je bilo samo da se bilo šta uradi, čisto da vidim kako se uklapa meni, toolbar, codeedit itd... Mada, kad pogledam FreeBASIC, čisto sumnjam da je potrebno manje posla za njega nego za C...
[ Aleksandar Ružičić @ 21.04.2008. 17:01 ] @
@Shadowed: ja mislim da express moze da bude prosirivan, ali nisam siguran da dizajner uopste moze da se nadogradjuje, sve ovo oko prosirivanja visual studia se svodi na kastomizaciju code editora (i eventualno par add-inova koji bi pomogli pri programiranju u tom specificnom jeziku)

@Eurora: codeblock je na wxWidgets koliko se secam... a on je upravo ono o cemu sam ja pricao - framework koji u pozadini poziva native fje (za razliku od gtk-a koji ima svoje gui kontrole i zbog toga je dosta sporiji - ali prilagodljiviji zbog mogucnosti menjanja tema)

[ icobh @ 21.04.2008. 20:06 ] @
Ako bi se nešto radilo kao crossplatform, ja bih se odlučio za Qt (Mada mi ne ide baš nešto da ga utalim sa VS 2005).