Si PB devrait être classé dans un type de langage , je le classerais dans un "toy langage" , une sorte de jouet. Rien de dénigrant la dessus, c'est juste que PB n'est pas vraiment portable , le compilo est fermé , c'est payant , transpile uniquement avec fasm.
Evidement c'est un boulot de dingue , fait avant tout par un passionné et une équipe de passionné.
Quand à Python puisque c'est le sujet , ca marche partout , sur PC , sur Raspberry PI , même sur arduino !
J'ai vu aussi que l'un d'entre vous à galéré avec le JSON en PB , voici en python :
import json
monjson = '{ "name":"ar-s", "poids":70, "pays":"France"}'
resultat = json.loads(monjson)
print(resultat["name"])
d'une simplicité extrême faisant passé PB pour un langage complexe
Il y a des tonnes de libs aussi pour faire des UI ( qt , wxwigdet , etc... )
et concernant la vitesse d’exécution , python peut faire du JIT , aussi rapide que du C++
Pour l'utilisation de plusieurs cœurs , il me semble que Python à aussi une lib pour cela.
Je le répète , car on m'a déjà fait la réflexion , je ne dénigre pas PB , je l'utilise tout le temps quand j'ai besoin de programmé un truc vite fait.
c'est juste une question d'habitude. et pour ceux qui vendent des produits finis, les clients n'ont pas à savoir comment c'est fait , avec quel langage.
Et pour les curieux , Godot Engine , moteur de jeu , utilise GDScript en interne , très inspiré de python. ce qui rend le dev de jeux super cool.
Les plus :
- L'indentation obligatoire : sérieusement si ça vous pose problème trouvez un éditeur qui gère correctement le tab indent - space align et vous n'aurez plus aucun problème
- Le prix :
- L'interpréteur en ligne de commande : pratique pour tester des trucs.
- L'absence de ";" à la fin de chaque instruction (comme avec PB en fait)
- La déclaration de tableaux "en ligne" dans le code source (genre monTableau = [1,2,3,4])
)
Les point neutres
:
- La programmation objet : j'ai été obligé de m'y mettre à cause de cette bouse de Java. Alors un peu plus ou un peu moins...
Les moins:
- La syntaxe pour les boucles for : du même avis qu'Ar-S.
- La gestion des threads : grâce à GIL je vous présente le seul langage multi-thread qui est incapable d'utiliser plusieurs cœurs...
- La vitesse d'exécution : Clairement on sens que ça reste un langage interprété
- L'utilisation mémoire : comme c'est de l'interprété, il ne faut pas s'attendre à des miracles... (même s'il y a largement pire)
Pour l'instant c'est tout ce que j'ai en tête
]]>Nous allons comparer ces points:
1. La simplicité de la syntaxe. Tous les 2 sont simples mais je préfère Purebasic qui est beaucoup plus simple à ce niveau (+1 pour PB)
2. la taille de l'exécutable. Purebasic produit un exécutable très très léger, une taille insignifiante par rapport à PY (+1 pour PB)
3. la rapidité et la souplesse: point à égalité je pense. Ils sont rapides et souples tous les deux (+1 pour PY et +1 pour PB)
4. la gestion BDD: C'est un domaine qui favorise Python car il est d'ailleurs recommandé pour les big data et la gestion des grandes entreprises. ( +1 pour PY)
5. Les possibilités complémentaires (API, ASM): pour ça, Pb offre de grandes possibilités d'appel et d'accès, PY je n'en sais rien (je dois terminer le tuto en PYTHON )
Il y a aussi le côté installation qui est très simple et rapide pour PB. Purebasic est portable et s'exécute donc sur n'importe quelle machine sans la présence d'autres fichiers DLL et autres. C'est un avantage important...
J'ai peut être oublié certains points importants.. c'est sûr...
]]>Je viens de passer ma soirée à m'initier à Python. Pour le moment je m'amuse bien. C'est vraiment ressemblant.
J'aime beaucoup la façon dont on gère les "listes" tout comme le fait que ce soit python qui gère les types des variables.
[== Python ==]
a = "papa"
b = 1
print(a,"aime beaucoup boire",b,"binouse")
Je ne suis pas fan de la syntaxe "for"
[== python==]
for i in range(1,10001):
alors qu'en PB on a notre bon vieux
[== PureBasic ==]
for i = 1 to 10000
C'est tout de même bien plus simple
Point for de PB, il se branle de la case des commandes... Print PRInT et prinT sera interprété alors que Python va couiner..
Bref, je vais poursuivre mon initiation par curiosité.
Tout le reste sincèrement et sans mauvaise foi....ben ça a fait pschiiiit !!! comme aurait dit chichi, et j'étais pressé de terminer ce que j'avais à faire pour revenir à PB
Alors je dis pas que j'ai tout vu....surement loin de là, mais souvent je me demande comment un truc aussi exceptionnel peut sortir d'un cerveau humain
Tu te rends compte, notre FREDO, un matin il s'est levé, s'est gratté la couille gauche (ou droite en fait j'en sais rien ) et il s'est dit au beau milieu de 2 tartines jambon beurre : "Tiens si je faisais un traducteur Basic/ASM ? ce serait sympa"
Comme ça...comme moi je me dirais, tiens....si j'allais pisser un coup
Toute proportions gardées, quand tu penses qu'une grande partie des GAFAM a été créée de la même manière
Alors si ça..ça te donnes pas l'envie de te gratter les couilles le matin ....
Sinon regarde erosys 2 codes au même resultat:
[== Python ==]
nom = 'Pierre'
age = 20
phrase = '{} a {} ans'.format(nom, age)
print(phrase)
phrase = "{} ans, c'est l'age de {}".format(age, nom)
print(phrase)
[== PureBasic ==]
nom.s = "Pierre"
age = 20
phrase.s = nom +" a " + str(age) +"ans"
Debug phrase
phrase.s = str(age) + " ans, c'est l'age de " + nom
Debug phrase
Dans cet exemple, je préfère tout de même purebasic mais tu vois que la similitude est grande.
Un autre point for de PB.. L'IDE
Le fait de pouvoir utiliser l'ide, la coloration syntaxique, la compilation en une installation.. ça n'a pas de prix.
Les plus
Il est reconnu chez les PRO et très répandu
Des tonnes de tutos, de codes, d'extensions et de programmeur à la manière du C/C++
Pour ceux qui aiment la POO, il peut coder objet
Gratuité
Les moins enfin pour moi
C'est un langage script interprété, donc pas de vrai EXE possible, sauf une bidouille intégrant le compilateur dans le pseudo exe
Cette daube d'indentation obligatoire dont j'ai parlé
Py c'est un langage qui a eu une grosse croissance ces dernières années et la communauté est très active. On trouve des ressources opensource énormes.
Pour le domaine pro, toutes les grosses boites utilisent PY.
Donc l'apprentissage de python est une valeur sûr...
Alors PB dans tout ça ?
Perso je pense que PB te permet de développer plus facilement des applis type Bureautique avec GUI. Sa puissance n'est pas du tout à sous estimer. Gestion de BDD, facilité de code, rapidité d’exécution.. La puissance de PB c'est aussi la créativité.
Tu n'a pas de commande native pour ceci cela, tu peux souvent la créer toi même et la réutiliser. Le plus délicat selon moi est de "te vendre" ou de "vendre tes produits" en stipulant que c'est fait en PB car trop méconnu dans le domaine pro. Mais si ça passe tu peux être très productif.
Je terminerai par : PB ou Python, la syntaxe est très ressemblante. Tu pourras toujours t'initier au 2. Mais vois surtout quels sont tes projets de dev afin de choisir les bons outils.
J'ai commencé Py il y a (vraiment) peu de temps, je n'ai pas assez de recule pour développer plus.
si le temps est une règle, il y a une réponse dont la vieillesse de publication est environ deux fois la vieillesse de la publication de la musique suivante sur le forum :
Lien direct : https://www.youtube.com/embed/F4yqjY4DdX8
.
(+) Python est plus répandu
(-) Il faut connaître les dépendances utilisées.