Question

J'ai commencé à programmer en Basic sur le ZX81 , puis BASICA , GW-BASIC et QBasic . Je suis passé à C (Ah, Turbo C 3.1, je vous connaissais à peine ...)

Lorsque j'ai commencé à utiliser des microcontrôleurs, j'ai régressé avec le Stamp BASIC de Parallax. Cependant, BASIC est / était génial parce que c'était si facile à comprendre et si difficile de faire une erreur. Je suis passé à l’assemblage et à C finalement parce que j’avais besoin de l’énergie supplémentaire (vitesse, capacité, ressources, etc.), mais je sais que si la barre était beaucoup plus haute, beaucoup de gens ne se lanceraient jamais dans la programmation de microcontrôleurs.

Je continue à avoir envie de créer mon propre interpréteur BASIC sur puce, mais je me demande s’il est nécessaire d’utiliser BASIC maintenant que Lua et Python sont facilement intégrables et tout aussi abordables que BASIC.

  • Quels sont, le cas échéant, les avantages de BASIC par rapport aux autres langues?
  • Pourquoi est-ce toujours là?
  • Si je décide de créer une carte de microcontrôleur à usage général avec un interpréteur, existe-t-il une raison de créer une version de BASIC?

Beaucoup d’autres langues sont considérées comme mortes, mais BASIC ne cesse de s’accrocher.

Était-ce utile?

La solution

En tant qu’architecture, la principale revendication de BASIC est qu’il est possible de rendre les interprètes BASIC très petits - quelques Ko seulement. À l’époque de DG Nova, c’était une victoire, car vous pouviez utiliser des systèmes tels que Business BASIC pour créer une application multi-utilisateurs sur une machine disposant de 64K de RAM (voire moins).

BASIC (VB en particulier) est un système hérité et dispose d’une base de code importante. On peut dire que VB est vraiment un langage (certains diraient un fin sur COM) qui a une syntaxe semblable à celle de BASIC. Ces jours-ci, je vois peu de raisons de garder la langue en dehors de la familiarité des gens avec elle et de maintenir la base de code existante. Je ne recommanderais certainement pas de nouveaux développements (notez que VB.Net n’est pas vraiment BASIC mais qu’il a simplement une syntaxe semblable à celle de VB. Le système de types n’est pas cassé de la même manière que les VB.)

Ce qui manque dans le monde de l'informatique, c'est un langage pertinent qui est facile à apprendre et à bricoler et qui partage les idées dans le développement d'applications grand public. J'ai grandi à l'époque des machines 8 bits, et la barrière d'accès à la programmation sur ces systèmes était très faible. L’architecture des machines était très simple et vous pouviez apprendre à programmer et à écrire des applications plus ou moins pertinentes sur ces machines très facilement.

Les architectures modernes sont beaucoup plus complexes et ont une plus grande bosse à apprendre. Vous pouvez voir des gens pontifier sur le fait que les enfants ne peuvent pas apprendre à programmer aussi facilement qu’ils le pouvaient à l’époque des ordinateurs BASIC et 8 bits, et j’estime que cet argument a du mérite. Il reste un trou qui rend la programmation un peu plus difficile à pénétrer. Les langues de jeu ne sont pas très utiles ici - pour que la programmation soit attrayante, il faut pouvoir aspirer à construire quelque chose de pertinent pour la langue que vous apprenez.

Cela pose le problème d’une langue facile à apprendre pour les enfants tout en leur permettant d’écrire des programmes pertinents (ou même des jeux) qu’ils pourraient réellement souhaiter. Il doit également être largement perçu comme pertinent.

La chose la plus proche à laquelle je puisse penser est Python. Ce n’est pas le seul exemple d’un langage de ce type, mais c’est celui qui suscite le plus de partages d’esprit - et (OMI) une perception de pertinence est nécessaire pour jouer dans ce créneau. C’est également l’une des langues les plus faciles à apprendre que j’ai expérimentée (sur les 30 ou plus que j’ai utilisées au fil des ans).

Autres conseils

[Cela peut sembler plus négatif qu’il ne l’est réellement. Je ne dis pas que Basic est la racine de tous les maux, d'autres l'ont dit . Je dis que c'est un héritage que nous pouvons nous permettre de laisser.]

"parce que c'était si facile à comprendre et si difficile de faire une erreur" . C’est certainement discutable. J'ai eu de mauvaises expériences avec des bases totalement opaques. Trucs professionnels - produits commerciaux - code parfaitement affreux. A dû abandonner et décliner le travail.

"Quels sont les avantages, le cas échéant, de Basic par rapport aux autres langues?" Aucun, vraiment.

"Pourquoi existe-t-il toujours?" Deux raisons: (1) Microsoft, (2) tous les départements informatiques qui ont commencé à utiliser VB et qui disposent maintenant de millions de lignes de code hérité VB.

"De nombreuses autres langues sont considérées comme mortes ..." . Basic est présente aux côtés de COBOL, PL / I et RPG en tant qu’héritages qui ont parfois un coût plus élevé que la valeur. Mais à cause du message "si ce n’est pas cassé, ne le corrigez pas" politique d’informatique lourde, ils sont assis, aspirant des ressources qui pourraient facilement les remplacer par quelque chose de plus petit, plus simple et moins coûteux à entretenir. Sauf qu'il n'a pas "échoué". - c’est tout simplement excessivement cher.

30 ans COBOL est une situation horrible à retravailler. À partir de 2016, nous examinerons MS Basic, âgé de 30 ans, que nous ne pouvons tout simplement pas comprendre, nous ne voulons pas vivre sans, et nous ne pouvons pas décider du remplacement.

"mais Basic reste accroché à" "Il semble que certaines personnes adorent Basic. D'autres y voient encore une autre langue mal conçue; ses avantages sont d'être sur le marché tôt et d'être appuyés par d'énormes fournisseurs (IBM, au début). Une conception médiocre et une commercialisation précoce ne nous laissent qu'un héritage dont nous allons souffrir pendant des décennies.

J'ai toujours mon manuel Dartmouth Basic de 1965. Je ne souhaite pas le bon vieux temps.

Pourquoi ne pas essayer Jumentum et voir comment cela fonctionne pour vous?

http://jumentum.sourceforge.net/

c'est un BASIC open source pour les micrcontrôleurs

Le projet elua concerne également les microcontrôleurs

http://elua.berlios.de/

BASIC persiste, en particulier dans l’implémentation STAMP, car il est de niveau inférieur à la plupart des autres langages de programmation très faciles à apprendre. Pour la plupart des implémentations BASIC intégrées, les instructions BASIC sont mappées directement sur des instructions machine simples ou sur des groupes d'instructions, avec très peu de temps système. Les mêmes programmes écrits en " niveau supérieur " Des langages comme Lua ou Python fonctionneraient beaucoup plus lentement sur ces mêmes microcontrôleurs.

PS: les variantes BASIC telles que PBASIC ont très peu en commun avec, par exemple, Visual BASIC, malgré la similitude de dénomination. Ils ont divergé de manière très différente.

Bonne question ...

En gros (sic!), je n’ai pas de réponse. Je dirais simplement que Lua est très facile à apprendre, probablement aussi simple que le Basic (qui était aussi une de mes premières langues, j’utilisais des dialectes sur de nombreux ordinateurs 8 bits ...), mais il est plus puissant (permettant à OO ou fonctionnels et même les mélanger) et plus stricte (pas de goto ...).

Je ne connais pas bien Python, mais d'après ce que j'ai lu, il est aussi simple, puissant et strict que Lua.

En outre, les deux sont "standardisés". de facto, c'est à dire. il n’existe pas de dialectes (à côté des différentes versions), contrairement à Basic qui comporte de nombreuses variantes.

Les deux ordinateurs ont également été conçus avec soin, de manière efficace et (surtout) sans ébats. Si vous créez votre propre interpréteur, vous devez soit prendre une machine virtuelle existante et générer son code-octet à partir de la source Basic, soit créer le vôtre. Bien sûr, des choses amusantes, mais qui prennent beaucoup de temps et sont sujettes aux bugs ...

Je laisserais donc simplement Basic prendre une belle retraite ... :-P

PS: Pourquoi s’accroche-t-il? Peut-être que Microsoft n'est pas étranger à cela ... (VB, VBA, VBScript ...)
Il existe également de nombreux dialectes (RealBasic, DarkBasic, etc.), avec un public cible.

Au risque de ressembler à deux vieux joueurs assis sur des chaises berçantes, permettez-moi de dire à contrecœur que "les enfants d'aujourd'hui n'apprécient pas le BASIC" et puis, paradoxalement, dites: "Ils ne savent pas à quel point ils l’ont bien".

La plus grande force de BASIC était toujours sa compréhensibilité. C’était quelque chose que les gens pouvaient obtenir . Cela a longtemps été ignoré par les universitaires et les développeurs de langage.

Lorsque vous parlez de vouloir implémenter BASIC, je suppose que vous ne parlez pas de BASE numéroté, mais d’un formulaire structuré. Le problème, c’est que dès que vous commencez à vous lancer dans une programmation structurée - des fonctions, "pourquoi ne peux-je pas seulement aller à cet endroit?", Etc., les avantages, le cas échéant, BASIC aurait dépassé, par exemple, Python.

De plus, une des raisons pour lesquelles BASIC était si facile à comprendre " était qu'à cette époque les bibliothèques n'étaient pas aussi importantes qu'elles le sont aujourd'hui. Les bibliothèques impliquent une programmation structurée sinon orientée objet. Vous vous retrouvez donc dans une situation où un langage de script dynamique plus moderne convient parfaitement. la réalité de ce que les gens font mieux aujourd'hui.

Si la vraie question est "eh bien, je souhaite implémenter un interprète et cela revient donc à un retour sur investissement". cela devient alors un problème de grammaire réellement facile à mettre en œuvre. Je dirais que BASIC ne présente pas non plus autant d'avantages à cet égard (à moins que vous ne ne reveniez jamais aux numéros de ligne et à une grammaire très limitée).

En bref, je ne pense pas que vous devriez investir vos efforts dans un interprète BASIC.

Eh bien, ces personnes semblent penser que non seulement la technologie de base a toujours sa place dans l’espace mobile, mais aussi qu’elles peuvent en tirer des revenus:

http://www.nsbasic.com/symbian/

J'ai aussi commencé sur une ZX81. Mais comme le dit Tony Hoare , programmer en BASIC revient à essayer de le faire longue division en chiffres romains.

  

Beaucoup d’autres langues sont   considéré comme mort, mais basique ne fait que garder   accroché.

Malheureusement oui. Je blâme Bill Gates pour cela ... BASIC était sur une civière avec un prêtre disant les derniers sacrements, puis MS l’a rapporté comme une variole.

J'avais l'habitude de programmer en BASIC dans les jours QBasic. QBASIC avait des sous-programmes, des fonctions, des structures (ils s'appelaient autrefois types), et je suppose que c'est tout. Maintenant, cela semble limité par rapport à toutes les fonctionnalités de Python - OO, lambdas, métaclasses, générateurs, listes de compréhension, pour ne citer que quelques-unes de mes pensées. Mais cette simplicité, je pense, est une force de BASIC. Si vous recherchez un langage simple à intégrer, je parierais que QBasic sera plus rapide et plus facile à comprendre. Et une langue de procédure est probablement plus que suffisante pour la plupart des applications de type intégration / script.

Je dirais que la raison la plus importante pour laquelle BASIC existe toujours est Visual Basic. Pendant longtemps dans les années 90, VB était le seul moyen d'écrire des codes d'interface graphique, COM et DB pour Windows sans tomber dans l'un des tarpits C ++ Turing. [Peut-être que Delphi était une bonne option aussi, mais malheureusement, il n’est jamais devenu aussi populaire que VB]. Je pense que c’est à cause de tout ce code VB et VBA qui est toujours utilisé et maintenu que BASIC n’est toujours pas mort.

Cela dit, je dirais qu’il est assez logique d’écrire un interpréteur BASIC (peut-être même un compilateur utilisant LLVM ou quelque chose de similaire) pour BASIC aujourd’hui. Vous obtiendrez un langage propre, simple, facile à utiliser et rapide si vous implémentez quelque chose qui ressemble à QBasic. Vous n'aurez pas à résoudre de problèmes de conception de la langue et le mieux, c'est que les gens vont déjà connaître votre langue.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top