RealBasic, ca compile???

Dis Cocoa tu programmes depuis combien de temps ?
Ca fait belle lurette que les Basic interprêtés se font rares ... Ils sont compilés à 95 % (VB, RealBasic, Blitz, ...) et ce depuis la fin des années 80, début 90 avec les TurboBasic, QuickBasic et autres GfaBasic ... J'ai compilé mon premier programme Basic (du Gfa) en 89 sur mon Amiga !

Les Java compilés existent également ... et essentiellement sur plate-forme Windows ... vu que le standard c'est eux, la portabilité ils s'en fichent comme de leur première chemise ! C'est entre autre pour çà que Sun à mis Microsoft devant les tribunaux (et a gagné), parce qu'il étaient en train de faire une version Java spécifiquement Windows (et appartenant alors à Microsoft) ...
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par HURRICAN:
Dis Cocoa tu programmes depuis combien de temps ?<HR></BLOCKQUOTE>

1985 sur mon amiga également. A l'epoque c'etait en assembleur que je faisais mes premieres conneries.

<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Ca fait belle lurette que les Basic interprêtés se font rares ... Ils sont compilés à 95 % (VB, RealBasic, Blitz, ...) et ce depuis la fin des années 80, début 90 avec les TurboBasic, QuickBasic et autres GfaBasic ... J'ai compilé mon premier programme Basic (du Gfa) en 89 sur mon Amiga !<HR></BLOCKQUOTE>

Je parlais specifiquement de RealBasic qui dans ses premieres moutures (j'en suis certain) faisait tourner ses projets compilés via un run-time.

<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Les Java compilés existent également ... et essentiellement sur plate-forme Windows ... vu que le standard c'est eux, la portabilité ils s'en fichent comme de leur première chemise ! C'est entre autre pour çà que Sun à mis Microsoft devant les tribunaux (et a gagné), parce qu'il étaient en train de faire une version Java spécifiquement Windows (et appartenant alors à Microsoft) ...<HR></BLOCKQUOTE>

C'est ce que j'ai dit plus haut...Ca existe mais ce n'est pas un standard Sun....Et ce n'est pas non plus la "maniere" de faire des principaux RAD comme jbuilder ou IB/PB...

[14 septembre 2001 : message édité par Cocoa]
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par Cocoa:
89 sur Amiga ...<HR></BLOCKQUOTE>

Décidemment !
Qui sur ces forums (à part les fondateurs), n'a jamais eu d'amiga ?
Faut faire un sondage !

Moi j'ai commencé en 1983 sur Zx81, puis sur Alice 90, puis Amiga 1000 (1986), Amiga 500 (1989) , Amiga 2000(1991), Amiga 1200 (1992)... iMac 350 (1999). Et je travaille sur minis et gros systèmes IBM ...
 
Heu Cocoa, je comprends plus rien a ce que tu dis. J'ai du mal a te faire confiance...
Tu dis que RealBasic faisait tourner des projet compiler grace a un runtime??? Mais quand un projet est compile, ya pas besoin de runtime... Ou alors il est pas compile. C'est soit l'un, soit l'autre, mais les deux en meme temps, je crois vraiment pas que ca existe.

Pour l'Amiga, perso, j'ai pas connu, ca fait vieux quand meme ce truc la. Le premier que j'ai connu, c'est le Mac SE.
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par HURRICAN:


Décidemment !
Qui sur ces forums (à part les fondateurs), n'a jamais eu d'amiga ?
Faut faire un sondage !

Moi j'ai commencé en 1983 sur Zx81, puis sur Alice 90, puis Amiga 1000 (1986), Amiga 500 (1989) , Amiga 2000(1991), Amiga 1200 (1992)... iMac 350 (1999). Et je travaille sur minis et gros systèmes IBM ...
<HR></BLOCKQUOTE>

Ben grosso-modo, pour ma part ce fut Apple II en 80 je crois...Puis, la serie des TO/MO de Thomson, des Sinclair, Atari ST 520 et 1040, Commodore 64, Amiga 1000, 500, 600, Mac II, LC, Powermac 6100/66, et en ce moment PowerMac bleu...

Et je les possede encore tous...
wink.gif
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par SuperCed:
Heu Cocoa, je comprends plus rien a ce que tu dis. J'ai du mal a te faire confiance...
Tu dis que RealBasic faisait tourner des projet compiler grace a un runtime??? Mais quand un projet est compile, ya pas besoin de runtime... Ou alors il est pas compile. C'est soit l'un, soit l'autre, mais les deux en meme temps, je crois vraiment pas que ca existe.

Pour l'Amiga, perso, j'ai pas connu, ca fait vieux quand meme ce truc la. Le premier que j'ai connu, c'est le Mac SE.
<HR></BLOCKQUOTE>

Bon je recommence plus clairement. Dans les versions precedentes de RealBasic quand tu selectionnais la fonction "compiler" pour compiler ton projet, il etait crée une application à part entiere. Nous sommes d'accord jusque là.

Dans cette application, etait encapsulé d'une part, les ressources relatives à l'interface (comme tout appli classique) et son run-time qui se chargeait de traduire le code RealBasic (lui aussi stocké d'une facon ou d'une autre dans l'appli) en langage machine. D'ou la relative lenteur des applis RealBasic de l'epoque (ex ; Prestissimo, petit utilitaire de modifs d'interface). Aujourd'hui je n'ai pas essayé ni Realbasic, ni des applis developpées avec lui...
 
Donc tu compilais pas ton projet...
En gros, la fonction d'appelait "Compiler" mais elle ne compilait pas.
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par SuperCed:
Donc tu compilais pas ton projet...
En gros, la fonction d'appelait "Compiler" mais elle ne compilait pas.
<HR></BLOCKQUOTE>

Tu joues sur les mots là.
rolleyes.gif
 
Désolé, mais j'ai du louper un épisode là !
La seule façon de faire de que tu dis, constituerait à implanter une "puce" java dans la machine (ce qui a été envisagé par Sun, mais jamais mis en oeuvre).

Sinon point de salut. La particularité INTRINSEQUE de Java est d'etre un langage interprété, c'est donc necessairement la JVM qui se charge de ça....Si tu doutes, tu as le site de sun :)


Non, justement, ce n'est pas necessairement la JVM qui se charge de ca. Le Java peut etre compile pour les processeur Intel. C'est a dire qu'on trouve bien du code Intel dedant. Ok, ca enleve tout l'interet de Java, mais il faut savoir que ca existe. Pour le deuxieme point, la puce Java est totalement operationnelle, Sun possede des machines capables de comprendre directement le Java.

Pour l'histoire du runtime, je comprend pas vraiment ce que tu me dis, une fois tu me dis que c'est un runtime, l'autre fois, tu me dis qu'il s'agit d'un compilateur a la volee... Il y a une petite contradiction.
Explique toi mieux.
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Non, justement, ce n'est pas necessairement la JVM qui se charge de ca. Le Java peut etre compile pour les processeur Intel. C'est a dire qu'on trouve bien du code Intel dedant. Ok, ca enleve tout l'interet de Java, mais il faut savoir que ca existe. Pour le deuxieme point, la puce Java est totalement operationnelle, Sun possede des machines capables de comprendre directement le Java.

Pour l'histoire du runtime, je comprend pas vraiment ce que tu me dis, une fois tu me dis que c'est un runtime, l'autre fois, tu me dis qu'il s'agit d'un compilateur a la volee... Il y a une petite contradiction.
Explique toi mieux.
<HR></BLOCKQUOTE>

Alors si cela existe vraiment du java non-interpreté, cela retire d'une part sa capacité de portabilité, et d'autre part, ce n'est surement pas Sun qui supporte ça. Pour ce qui est de la puce, elle est effectivement operationnelle, mais n'est absolument pas distribuée sur des stations grand-public...Pour des raisons évidentes de stratégies de la part de Microsoft par exemple.....

Un runtime est fait pour compiler du code à la volée lors de son execution. En clair, la partie executable de ton application "realbasic" est en fait simplement composée du runtime (et eventuellement des composants compilés de l'interface, mais je n'en suis pas certain). Le code Basic lui sera inévitablement compilé seulement et imperativement lors de l'execution du run-time.
 
J'arrive un peu en retard, mais j'ai une hypothèse à poser:

D'après moi RealBasic compile réellement le projet et y rajoute un runtime (une sorte de bibliothèque de fonctions adaptée à l'utilisation que l'on en fait).
C'est d'après-moi comme des modules ou classes déjà compilés. Mais le code que tu programmes est bien compilé et fait appel aux fonctions présentes dans le runtime.
C'est pas facile à expliquer, ce truc. Mais sache que les 2 sont compilés et 1 fait appel à l'autre.

Par contre j'ai remarqué que depuis la version 3.2, la compilation est beacoup plus rapide et l'on ne voit plus de trace d'ajout de runtime dans la fenêtre de progression (est ce qu'ils ont réussi à intégrer les fonctions du runtime directement dans le projet ??)


En clair:
- Quand tu exécute le projet dans l'IDE de RealBasic, il est interprèté (ce qui explique qu'il est plus lent dans ce cas).
- Quand tu créé une application, il compile le projet.


C'est mon avis, mais je peux me tromper.
wink.gif

J'utilise beaucoup RB pour mes besoins personnel et je suis son évolution d'alpha en béta et en version finale depuis la version 1. Et je suis d'accord pour dire que la 1ere version était sans doute interprété en grande partie.
 
Un runtime, çà ne marche pas comme çà. Son but est d'obliger l'utilisateur à payer une licence pour faire tourner le programme.
- soit le programme objet ne peut s'éxécuter seul (c'est souvent le cas des premiers basic), et le runtime fournit une bibliothèque de fonctions. La différence avec ces dernières et alors infime, je l'avoue.
- soit le runtime est un simple verrou, qui s'il n'est pas présent empêche le code de s'exécuter.

Je ne connais pas les premières versions de RB, et peut être y avait il un runtime, mais depuis la version 2 au moins, tout est compilé et librement distribuable, le runtime est peut être toujours présent, mais alors il est inclus dans chaque compilation, ce qui me semblerait bizarre ... Pourquoi laisser un bout qui ne sert à rien ?
Il n'y a pas non plus d'interprétation (ce qui alourdirait considérablement RB et serait générateur d'erreurs), la compilation est également effectuée dans l'éditeur, simplement une partie est faite "à la volée". La phase de contrôle est déroulée entièrement, puis les modules sont compilés lorsqu'ils sont appelés (d'où la différence de vitesse), ce qui permet d'éditer le code pendant l'éxécution. En revanche les modules ne sot pas linkés, les fonctions ne sont pas incluses, puisqu'il ne génère pas l'objet.
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par HURRICAN:
Un runtime, çà ne marche pas comme çà. Son but est d'obliger l'utilisateur à payer une licence pour faire tourner le programme.<HR></BLOCKQUOTE>

Excuse ma brutalitée, mais tu fais fausse route !
Si tu ne sais pas ce qu'est un runtime, alors ne dit pas de conneries.

Un runtime peut très bien être séparé du fichier à exécuter, comme il peut y être intégré. Cela n'a rien à voir avec les licences !

Pour donner un exemple:
HyperCard servait de runtime aux "piles". Mais on pouvait très bien créer une pile autonome et dans ce cas le code de HyperCard était intégré à la pile.
(Je ne sais pas si tu a connu cette époque, en tout cas c'est le meilleur exemple que je peux te donner.)
 
Kris a tout a fait raison, le Runtime peut tres bien etre integre dans le programme. Sous Director, c'est pareil, soit tu utilises le Runtime Sockwave qui est externe, soit tu fais un programme qui contient le runtime et qui interprete un script, lui aussi integre dans le programme final.
Ca remet un peu en question ta definition de l'executable dont tu etais si certain...
Pour toi, Kris, c'est quoi un executable?
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par HURRICAN:
mais depuis la version 2 au moins, tout est compilé et librement distribuable, le runtime est peut être toujours présent, mais alors il est inclus dans chaque compilation, ce qui me semblerait bizarre ... Pourquoi laisser un bout qui ne sert à rien ?<HR></BLOCKQUOTE>

Qui te dit qu'il ne sert à rien !!!
Pourquoi répéter le code qui fait peut-etre des dizaines de lignes à chaque fois que l'on a besoin ?
Le runtime est toujours nécessaire à RB sinon il devrait adapter les fonctions à chaque cas précis ce qui est impossible.
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par SuperCed:
Pour toi, Kris, c'est quoi un executable?<HR></BLOCKQUOTE>

Un executable, c'est une application.
Pour être plus précis: C'est tout fichiers qui contient le code nécéssaire pour se lancer de manière autonome après un doubleclick sur son icône.
Bref, c'est l'inverse d'un document.

Pour revenir sur mon exemple d'avant:
- Une pile HyperCard est un document.
- L'application HyperCard est un executable.
- Une pile autonome (avec runtime intégré) est un executable.
 
C'est bien ce qu'il me semblait mais on m'a dit le contraire sur ce forum...
Merci pour ces eclaircissements.