Quel language pour une appli de gestion qui sera commercialisé..
Résolu
YoucefLM
-
YoucefLM -
YoucefLM -
Bonjour,,
je veux créer une application/bdd pour une gestion commerciale, je compte intégrer aussi l'impression le tactile et le code barre , j'ai déjà utiliser le c++ et Qt que j'aime beaucoup , un ami (et aussi internet )dit que java est aussi bien pour ce genre de choses: facile , intuitive ... ,
mais le problème c'est que je ne veux pas que le client ai des problèmes avec la machine virtuelle ou qu'ils sens que l'application n'est pas robuste (des messages d'exceptions ou des craches tout les 5 minutes) , peut être que c'est un "stereotype" car je ne connais pas vraiment le langage.
un autre problème est que d'après les rumeurs il est beaucoup plus facile de craquer du byte-code que code machine ...
merci pour votre temps.
je veux créer une application/bdd pour une gestion commerciale, je compte intégrer aussi l'impression le tactile et le code barre , j'ai déjà utiliser le c++ et Qt que j'aime beaucoup , un ami (et aussi internet )dit que java est aussi bien pour ce genre de choses: facile , intuitive ... ,
mais le problème c'est que je ne veux pas que le client ai des problèmes avec la machine virtuelle ou qu'ils sens que l'application n'est pas robuste (des messages d'exceptions ou des craches tout les 5 minutes) , peut être que c'est un "stereotype" car je ne connais pas vraiment le langage.
un autre problème est que d'après les rumeurs il est beaucoup plus facile de craquer du byte-code que code machine ...
merci pour votre temps.
A voir également:
- Quel language pour une appli de gestion qui sera commercialisé..
- Appli miroir - Guide
- Comment desinstaller une appli sur pc - Guide
- Logiciel gestion locative gratuit excel - Télécharger - Comptabilité & Facturation
- Gestion de fichiers - Télécharger - Gestion de fichiers
- Logiciel gestion photo gratuit - Guide
2 réponses
Salut, en général l'"industrie" code en C++, que ça soit jeux ou applis. QT est parfois utilisé -- cette librairie dispose d'une licence commerciale ('suffit juste de l'utiliser en librairie dynamique (.so, .dll), et t'es tranquille) -- est est bien robuste et bien portable entre les plateformes.
D'autres applis se servent d'autres librairies tels que wxWidgets, bien que ça soit rare (c'est portable aussi).
"le client ai des problèmes avec la machine virtuelle": VM ou pas VM, c'est ton code qui fournira les bugs. La VM est infaillible. (Théoriquement; mais c'est ce qu'il faut se dire).
Le Java c'est bien coté dans l'industrie, notamment sur les terminaux tactiles ou mobiles, c'est plutôt léger et ne requiert aucun changement de code selon la plateforme visée. Par contre, c'est pas le top niveau performance: le C++ est, dans beaucoup de cas, 2 voire 3 fois plus rapide, mais en général c'est pas ce qu'on cherche.
"d'après les rumeurs [...]": je fait partie de ceux dont ta "rumeur" parle. Oui, le bytecode Java c'est 40000 fois plus simple à bidouiller que de l'assembleur venu d'un compilateur C++ (expérience perso d'ingénieure inverse sur des programmes de test; j'ai vraiment du temps à perdre, moi...). Si ça t'inquiète vraiment, tu peux obfusquer ton programme Java, ou faire du C++.
D'autres applis se servent d'autres librairies tels que wxWidgets, bien que ça soit rare (c'est portable aussi).
"le client ai des problèmes avec la machine virtuelle": VM ou pas VM, c'est ton code qui fournira les bugs. La VM est infaillible. (Théoriquement; mais c'est ce qu'il faut se dire).
Le Java c'est bien coté dans l'industrie, notamment sur les terminaux tactiles ou mobiles, c'est plutôt léger et ne requiert aucun changement de code selon la plateforme visée. Par contre, c'est pas le top niveau performance: le C++ est, dans beaucoup de cas, 2 voire 3 fois plus rapide, mais en général c'est pas ce qu'on cherche.
"d'après les rumeurs [...]": je fait partie de ceux dont ta "rumeur" parle. Oui, le bytecode Java c'est 40000 fois plus simple à bidouiller que de l'assembleur venu d'un compilateur C++ (expérience perso d'ingénieure inverse sur des programmes de test; j'ai vraiment du temps à perdre, moi...). Si ça t'inquiète vraiment, tu peux obfusquer ton programme Java, ou faire du C++.
Bonjour,
Je trouve en effet aucuns avantages à utiliser C++ dans ton cas. En effet Java a les avantages de te proposer des librairies pour gérer ta base de donnée.
De plus Java est multi-plateforme, c'est à dire que quelqu'un pourra utiliser l'application que ce soit sur un mac, sur linux ou sur un Windows tant que la machine virtuelle.
Pour les messages d'exceptions c'est très simple, si il y a un message d'exception c'est que le code (fait par le développeur) a généré une exception et que le développeur ne l'a pas capturée. Si il y a des problèmes la seule personne à blâmer est donc le développeur et en aucun cas la machine virtuelle. De plus il y a aussi des exception en C++ sauf que là c'est pire si elles ne sont pas capturées alors il n'y a pas de message d'erreur, on a juste un magnifique message : "l'application a cessé de fonctionner".
Tant que le développeur fait correctement son travail l'application sera robuste et ce quel que soit le langage.
Pour ce qui est de la partie "craquer" (ce mot est tellement vague que je ne sais pas exactement de quoi tu as peur : reverse-engineering ?), si le client à le programme sur ça machine on n'en a un peu rien à faire de ce qu'il fait du bytecode tant qu'il a payé.
Bonne soirée,
Je trouve en effet aucuns avantages à utiliser C++ dans ton cas. En effet Java a les avantages de te proposer des librairies pour gérer ta base de donnée.
De plus Java est multi-plateforme, c'est à dire que quelqu'un pourra utiliser l'application que ce soit sur un mac, sur linux ou sur un Windows tant que la machine virtuelle.
Pour les messages d'exceptions c'est très simple, si il y a un message d'exception c'est que le code (fait par le développeur) a généré une exception et que le développeur ne l'a pas capturée. Si il y a des problèmes la seule personne à blâmer est donc le développeur et en aucun cas la machine virtuelle. De plus il y a aussi des exception en C++ sauf que là c'est pire si elles ne sont pas capturées alors il n'y a pas de message d'erreur, on a juste un magnifique message : "l'application a cessé de fonctionner".
Tant que le développeur fait correctement son travail l'application sera robuste et ce quel que soit le langage.
Pour ce qui est de la partie "craquer" (ce mot est tellement vague que je ne sais pas exactement de quoi tu as peur : reverse-engineering ?), si le client à le programme sur ça machine on n'en a un peu rien à faire de ce qu'il fait du bytecode tant qu'il a payé.
Bonne soirée,
merci pour ta réponse, et ta raison pour le reverse-engineering , la (future :p ) application sera (j'espère) largement distribuer dans mon pays qui ne protégè pas les droits d'auteur , et je ne veux pas que quelqu'un casse la protection ( que je compte construire ) du logiciel et le ré-commercialise, donc cette protection est très importante dans mon cas... c'est la raison pour la quelle je me renseigne pour ne pas faire de faute grave dans le choix du langage avant que sa soit trop tard , j'aimerai avoir plus de précisions sur cracking / reverse engineering java, car internet donne l'impression que c'est un jeu d'enfants. merci encore :)
Oui c'est plutôt simple, c'est tout ce que je peux dire. Il existe des solutions pour décompiler du bytecode il me semble. Alors que pour le C++ c'est beaucoup plus compliqué.
Je pense à mon avis que ce n'est pas un facteur qu'il faut évaluer. En effet je pense que c'est mieux de prendre le lamgage que tu connais le mieux et qui va te permettre de faire un produit que tu pourra vendre plutôt de prendre un langage que tu ne connais pas bien ce uqui va donenr au final un produit qui sera de mauvaise qualité.
Je pense à mon avis que ce n'est pas un facteur qu'il faut évaluer. En effet je pense que c'est mieux de prendre le lamgage que tu connais le mieux et qui va te permettre de faire un produit que tu pourra vendre plutôt de prendre un langage que tu ne connais pas bien ce uqui va donenr au final un produit qui sera de mauvaise qualité.
donc selon vous, si la sécurité est importante pour moi je doit choisir le c++ , surtout avec le "packaging" et les autres techniques du genre ... l'obfuscation java n'a pas du tout l'air convaincante. que pensez vous des langages dot NET ? c'est probablement un mauvais choix car mono plateforme.