Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [powerbasic] Conoscete il PowerBasic?

    Ciao ragazzi!

    Mi trovo molto spesso ad avere a che fare con la realizzazione di applicazioni (prima in VB6 ed ora in VS2005) che elaborano mole di dati enormi con conseguenti rallentamenti dell'applicazione stessa. Per non parlare degli ambienti di sviluppo. Il Visual Studio è di una lentezza disarmante.
    Per mole di dati intendo popolamento di dataset, combo, grid inserimenti di record in oracle, sql server e quant'altro.
    Ho cercato tutte le scappatoie possibili per "ingannare" l'utente e fargli credere che l'applicazione sia veloce, quali messaggi che cambiano mentre carico i dati, multithreading per far eseguire in background dei processi in modo che l'utente non si accorga di nulla ma prima o poi mi scopriranno..

    Un mio amico programmatore è entusiasta del PowerBasic Compiler (che mi pare sia arrivato alla versione 8.03) e relativo PowerBasic Forms. (sito: http://www.powerbasic.com)
    Entusiasta per la semplicità del linguaggio (alla fin fine è un Visual Basic) e per la rapidità dell'esecuzione delle applicazioni stesse.
    Spulciando il web pare che tutta questa meraviglia sarebbe data dal fatto che il compilatore PowerBasic compila direttamente in codice nativo, quindi l'applicazione per essere eseguita non ha bisogno di alcun tipo di interprete e di conseguenza la sua esecuzione sarebbe molto più veloce. Inoltre pare che il PowerBasic include nei suoi EXE solo ed esclusivamente le DLL (o parti? Bho...) che effettivamente servono per l'esecuzione dell'applicazione.

    Tutto questo per chiedervi quanto segue:
    Qualcuno di voi ha avuto esperienza con questo tipo di compilatore e relativo designer dei form?
    Cosa ne pensate?

    Non piangere per ciò che hai sbagliato ma per quello che non hai fatto per paura di sbagliare.

  2. #2

    Re: [powerbasic] Conoscete il PowerBasic?

    Originariamente inviato da Gianluca Frati
    Spulciando il web pare che tutta questa meraviglia sarebbe data dal fatto che il compilatore PowerBasic compila direttamente in codice nativo, quindi l'applicazione per essere eseguita non ha bisogno di alcun tipo di interprete e di conseguenza la sua esecuzione sarebbe molto più veloce.
    Premesso che non ho mai usato il linguaggio e il compilatore che citi anche il VB6 compila in codice nativo e gli eseguibili .NET possono essere convertiti in codice nativo tramite ngen.exe.
    Inoltre pare che il PowerBasic include nei suoi EXE solo ed esclusivamente le DLL (o parti? Bho...) che effettivamente servono per l'esecuzione dell'applicazione.
    In un exe non si può includere una dll; semmai agli exe si possono linkare delle lib (librerie statiche).
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    anche il VB6 compila in codice nativo
    Ho letto su un sito che mi sembrava piuttosto autorevole (purtroppo non ho più il link anche se questo in qualche modo ne parla: http://support.microsoft.com/kb/229415/it) che in verità, quando si attiva tra le opzioni di compilazione la voce Native Code, non è realmente codice nativo quello che viene "buttato fuori" da VB6 e che, per la corretta esecuzione dell'applicazione, siano necessaria comunque delle DLL di VB6 perchè possa essere interpretato correttamente. Questo processo rallenterebbe quindi l'esecuzione dell'applicativo.

    In un exe non si può includere una dll; semmai agli exe si possono linkare delle lib (librerie statiche).
    Hai ragione. Sono stato troppo approssimativo ma la sostanza di ciò che intendevo rimane invariata. Almeno da quanto si legge direttamente sul sito del distributore di PowerBasic.

    Quindi rinnovo il mio appello: qualcuno ha mai avuto a che fare con il PowerBasic ?
    Non piangere per ciò che hai sbagliato ma per quello che non hai fatto per paura di sbagliare.

  4. #4
    Originariamente inviato da Gianluca Frati
    Ho letto su un sito che mi sembrava piuttosto autorevole (purtroppo non ho più il link anche se questo in qualche modo ne parla: http://support.microsoft.com/kb/229415/it) che in verità, quando si attiva tra le opzioni di compilazione la voce Native Code, non è realmente codice nativo quello che viene "buttato fuori" da VB6 e che, per la corretta esecuzione dell'applicazione, siano necessaria comunque delle DLL di VB6 perchè possa essere interpretato correttamente. Questo processo rallenterebbe quindi l'esecuzione dell'applicativo.
    Il codice generato da VB6, a meno di non dirgli di compilare in P-Code, è nativo; le dll che sono necessarie agli eseguibili di VB6 per funzionare correttamente contengono le funzioni di runtime utilizzate da tutte le applicazioni VB6, raggruppate in tali dll per evitare di appesantire tutti gli eseguibili con funzioni comuni a tutti i programmi VB6.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Sto cercando di capire se davvero questo PowerBasic è così potente e malleabile come racconta il sito o se riescono solo a vendere bene il loro prodotto.

    E' possibile che tali DLL necessario alle applicazioni fatte in VB6 rallentino al punto da perdere il guadagno derivante da una compilazione in codice nativo?

    Sul loro sito affermano "Of course, PowerBASIC never requires any DLLs or run-times of any sort"

    Inoltre affermano anche che:
    "So what about the 32-bit PowerBASIC? Same computer. Same operating system (WinXP Pro). Same source code, line for line. No attempt to minimize any background tasks. Elapsed time: 0.209 seconds. May we repeat that? Elapsed time: 0.209 seconds. That's an instant gain of around 945%! Win32 versions of PowerBASIC are more than nine times faster than the best DOS Basic around!"

    Sarà vero?
    Non piangere per ciò che hai sbagliato ma per quello che non hai fatto per paura di sbagliare.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Questa del "codice nativo" e' una delle tante favole che girano su Internet, avvalorata, perlopiu', da gente che non ha una minima idea di cosa significhi "codice nativo".

    Chiariamo una volta per tutte (spero) ...

    1) VB6 compila (se non diversamente indicato) in codice nativo ...

    2) il runtime e' una DLL con una collezione di funzioni anch'esse in codice nativo ...

    3) esiste un runtime anche per il C, e nessuno ha mai pensato che questo rallentasse le applicazioni scritte in C ...

    PowerBasic non l'ho mai provato, e puo' anche essere che sia piu' performante di VB (che lo ricordo, e' nato tanti anni fa e non e' stato mai modificato in maniera sostanziale ...), ma non credo faccia miracoli ... Il fatto di non usare un runtime non lo pone al di sopra di nessun prodotto ...

    Quello che fa e' generare del codice che chiama direttamente le DLL di sistema (Kernel32, gdi32, ...) e questo lo rende indubbiamente piu' efficiente ... ma questo *non significa* che VB non compili in "codice nativo" ...

  7. #7
    Capito alla perfezione.

    Grazie Oregon, sei stato chiarissimo.

    Ora provo a vedere se si trova qualcosa da provare tanto per testare se tali elevate performance sono vere o solo trovate pubblicitarie.

    Grazie!

    Non piangere per ciò che hai sbagliato ma per quello che non hai fatto per paura di sbagliare.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.