Page 1 of 2

@mdr1 Pourquoi je n'aime pas le système de variables

Unread postPosted: 08 Jun 2013, 11:06
by Persalteas
Plutôt que d'en parler sur le chat surchargé en ce moment, autant en faire un topic :)

Je disais donc que pour les capacités du Basic Nspire, je trouvais étrange et pas très intuitif d'avoir changé le système de variables, avec des variables locales et d'autres pas, surtout qu'il n'y a pas de menu mémoire ou controler et supprimer ces variables.

ça crée un fossé entre le programmeur Basic z80 et le programmeur Basic Nspire, d'où le mal que les débutants ont à s'adapter.

Re: @mdr1 Pourquoi je n'aime pas le système de variables

Unread postPosted: 08 Jun 2013, 11:10
by Excale
Il y a un menu pour les variables: menu 1 xx (dans un widget de calculs).
(ou menu 3 xx dans l'éditeur de programmes)

Re: @mdr1 Pourquoi je n'aime pas le système de variables

Unread postPosted: 08 Jun 2013, 11:11
by mdr1
En d'autres termes, tu n'as pas compris qu'une TI-Nspire et une TI-z80 n'avaient de toute façon rien à voir. En revanche, tout comme sur les TI-z80, il y a un menu mémoire pour détruire les classeurs et dossiers, mais les variables n'ont rien à voir là-dedans vu qu'elles sont internes aux classeurs.

Quand aux variables locales, je ne comprends pas ce que tu as contre, c'est le strict minimum dès que l'on veut faire de la programmation récursive, il est donc bien normal d'en disposer sur une calculatrice à 320*240 pixels à 65536 couleurs, plus de 100Mo de mémoire d'archive, plus de 50Mo de mémoire vive et un processeur pouvant aller jusqu'à au moins 220MHz.

Re: @mdr1 Pourquoi je n'aime pas le système de variables

Unread postPosted: 08 Jun 2013, 11:47
by Adriweb
C'est le même fossé entre le Basic z80 et le Basic 68k

Re: @mdr1 Pourquoi je n'aime pas le système de variables

Unread postPosted: 08 Jun 2013, 13:00
by Persalteas
En d'autres termes, tu n'as pas compris qu'une TI-Nspire et une TI-z80 n'avaient de toute façon rien à voir.

Parfaitement compris. Mais je signalais juste que quand on prend pas la peine de changer le nom du langage, on a le droit de faire un effort pour un minimum de compatibilité...

En revanche, tout comme sur les TI-z80, il y a un menu mémoire pour détruire les classeurs et dossiers, mais les variables n'ont rien à voir là-dedans vu qu'elles sont internes aux classeurs.

Voilà, c'est bien ça que je reproche - non pas le fait d'avoir des variables locales, très bien, mais le fait qu'elles ne soient pas accessibles.

Il y a un menu pour les variables: menu 1 xx (dans un widget de calculs).
(ou menu 3 xx dans l'éditeur de programmes)

Ah, exact... Enfin, le menu, il permet de rappeler la valeur d'une variable, pour la supprimer faut taper manuellement son nom après DelVar...
Et si moi, après un an de Nspire, je ne l'avais pas remarqué (j'ai pourtant lu le mode d'emploi, j'ai du zapper ça), ça rejoint ma critique: difficile pour un débutant sur Nspire de s'y habituer.

Je ne critique pas le mode d'utilisation des variables sur Nspire - Au bout de quelques manipulations on finit par comprendre et s'en souvenir - Je critique le fait que ce soit pas intuitif par rapport au Basic z80, et je comprends les débutants sur Nspire qui n'osent pas s'y remettre.

Re: @mdr1 Pourquoi je n'aime pas le système de variables

Unread postPosted: 08 Jun 2013, 13:03
by Adriweb
Persalteas wrote:Je ne critique pas le mode d'utilisation des variables sur Nspire - Au bout de quelques manipulations on finit par comprendre et s'en souvenir - Je critique le fait que ce soit pas intuitif par rapport au Basic z80, et je comprends les débutants sur Nspire qui n'osent pas s'y remettre.



Je pense que ca serait pire dans l'autre sens (utilisateur Nspire qui passe, même temporairement, sur z80)

Re: @mdr1 Pourquoi je n'aime pas le système de variables

Unread postPosted: 08 Jun 2013, 13:15
by Persalteas
Certes, ce serait pire... Malheureusement, c'est plutôt dans le sens z80>Nspire que les choses se passent...

Re: @mdr1 Pourquoi je n'aime pas le système de variables

Unread postPosted: 08 Jun 2013, 16:15
by Bisam
S'il y avait un système à critiquer, ce serait plutôt celui des z80 !
Le fait de ne pas pouvoir créer de variables locales est un vrai handicap.
Le fait de ne pas pouvoir créer de fonctions en est un également.
En fait, bien que le TI-Basic pour z80 ait été créé près de 20 après le BASIC pour ordinateur, il en conserve bien des défauts... et ces défauts ont été conservés pour la raison que tu évoquais : la compatibilité (rétrograde).

La seule chose que l'on peut reprocher au Basic Nspire (en plus de l'impossibilité d'accéder à l'écran graphique, qui est volontaire) est de ne pas pouvoir agir sur des variables par "effets de bord", c'est-à-dire modifier des variables passées en argument (comme on peut le faire par exemple en C, en passant l'adresse des variables plutôt que leur valeur).

Re: @mdr1 Pourquoi je n'aime pas le système de variables

Unread postPosted: 08 Jun 2013, 16:21
by mdr1
Bisam wrote:La seule chose que l'on peut reprocher au Basic Nspire (en plus de l'impossibilité d'accéder à l'écran graphique, qui est volontaire) est de ne pas pouvoir agir sur des variables par "effets de bord", c'est-à-dire modifier des variables passées en argument (comme on peut le faire par exemple en C, en passant l'adresse des variables plutôt que leur valeur).

Si, on peut, mais que pour les procédures, pas pour les fonctions.

Re: @mdr1 Pourquoi je n'aime pas le système de variables

Unread postPosted: 08 Jun 2013, 18:20
by Levak
mdr1 wrote:
Bisam wrote:La seule chose que l'on peut reprocher au Basic Nspire (en plus de l'impossibilité d'accéder à l'écran graphique, qui est volontaire) est de ne pas pouvoir agir sur des variables par "effets de bord", c'est-à-dire modifier des variables passées en argument (comme on peut le faire par exemple en C, en passant l'adresse des variables plutôt que leur valeur).

Si, on peut, mais que pour les procédures, pas pour les fonctions.

La différence étant qu'une fonction peut être utilisée en tant que courbe dans l'application géométrie, et si il y avait des effets de bords, il suffirait qu'on ait deux fonctions tracées pour générer des accès concurrents.
En effet, les programmes peuvent modifier des variables à l'extérieur de leur scope, et c'est d'ailleurs une très bonne pratique de locailser les variables dans des programmes pour ne pas "polluer" le classeur. Aussi, tu parles de pointeurs, l'équivalent en Nspire-Basic, ce sont les chaines d'indirections : tata:="toto" : #tata := 1 (toto a pour valeur 1). On peut donc faire des arbres en Nspire-Basic, également un allocateur de mémoire (type sbrk). Après, les performances, on pourra toujours en parler, le Nspire-Basic est plus fait pour être l'interface entre les maths/CAS et l'algorithmique.