PXL le retro-gaming facile: Essayez-le
Yildiz-Engine an open-source modular game engine: Website
Yildiz-Online a 3D MMORTS in alpha: Facebook page / Youtube page
Je développe des programmes "sur mesure" pour aider nos roboticiens à la mise au point, et aux modifications si nécessaire (changement de base 3D, ré-écriture de certaines instructions et de paramètres, etc...), de dizaines de trajectoires, de plusieurs dizaines de robots (à 99% des KUKA, FANUC et ABB, où chacun à son langage spécifique) sur des chaînes de production d'usines automobile principalement, mais pas que.
Je développe aussi des macros pour accélérer et simplifier le boulot de mes collègues du bureau d'étude sur leur logiciels de CFAO, mais aussi le reste.
Tout ça, je le fais le plus possible en C#, un peu de VB.Net parfois, du VBA (à cause des softs de CFAO), sans compter les langages de chaque marque de robot comme dit plus haut... Tiens d'ailleurs, les nouvelles générations de chez KUKA vont être programmable en Java, ça me fera l'occasion d'en refaire!
L'homme sage apprend de ses erreurs, l'homme plus sage apprend des erreurs des autres. - Confucius -
Ma (petite...) chaine Youtube : https://www.youtube.com/channel/UCy-...P2tH5UwOtLaYKw
Si vous avez quelques minutes, passez donc voir mon site http://www.photospicsandco.fr/
Envie de tee-shirts (et goodies!) originaux et sympa ? Visitez mon site... http://www.zazzle.com/shkyo30
Le but de ce topic n'était pas à la base de comparer celui qui a la plus grosse...
PXL le retro-gaming facile: Essayez-le
Yildiz-Engine an open-source modular game engine: Website
Yildiz-Online a 3D MMORTS in alpha: Facebook page / Youtube page
Le but de ce forum de voir l'importance de JAVA sur ce qu'on peut faire avec et la on va bien ce qu'on peut faire.
Sinon si on parle java professionnel moi je fais des batchs en java Spring Batch et de la gestion de document avec filenet...
De toute façon les deux langages que je trouves les meilleurs et c mon avis c C++ et java.
Je voudrait entièrement refaire mon moteur en C++ pour juste comparer les perfs mais c trop de boulot....
Le sujet d'origine est la demande des employeurs en tel ou tel langage. Pas vraiment le goût de tel ou tel développeur, encore moins la comparaison des technos entre elles.
En tant que développeur Java (principalement) je suis évidemment satisfait de la forte demande pour ce langage.
Bonne remarque! En fait, je me suis posé la question il y a 3-4 ans si je devais me mettre à Java plus en profondeur, mais à l'époque la demande dans ma branche était plus que moyenne, d'où mon choix du C#
Ceci dit comme je le disais plus haut vu qu'un constructeur de robot est en train d'y passer, les choses vont peut-être aller dans ce sens-là, si j'en ai besoin je me remettrais à Java, ça ne dérangerai pas!
L'homme sage apprend de ses erreurs, l'homme plus sage apprend des erreurs des autres. - Confucius -
Ma (petite...) chaine Youtube : https://www.youtube.com/channel/UCy-...P2tH5UwOtLaYKw
Si vous avez quelques minutes, passez donc voir mon site http://www.photospicsandco.fr/
Envie de tee-shirts (et goodies!) originaux et sympa ? Visitez mon site... http://www.zazzle.com/shkyo30
La brique lego NXT pour faire robot simple peut etre programmer en java http://www.lejos.org/
Euh... Je n'ai rien contre les légos mais quand je parle de robots, je parle de ça:
http://www.fanuc.eu/fr/fr/robots
http://www.abb.com/product/fr/9AAC100735.aspx
http://www.kuka-robotics.com/fr/prod...strial_robots/
pour ne citer que les principaux fabricants...
L'homme sage apprend de ses erreurs, l'homme plus sage apprend des erreurs des autres. - Confucius -
Ma (petite...) chaine Youtube : https://www.youtube.com/channel/UCy-...P2tH5UwOtLaYKw
Si vous avez quelques minutes, passez donc voir mon site http://www.photospicsandco.fr/
Envie de tee-shirts (et goodies!) originaux et sympa ? Visitez mon site... http://www.zazzle.com/shkyo30
Pas besoin, chaque fabricant (ou presque) a son propre soft de simulation 3D où tu peux construire ta future cellule robot en virtuelle pour faire les principaux tests en programmation hors-ligne, les mises au point finales se faisant toujours sur site, mais là ce n'est plus mon taf, roboticien sur ligne de prod, c'est un autre boulot à part entière!
Et pour manipuler plusieurs marques de robots dans la même simulation 3D, pour les bureaux d'études qui ont des moyens financiers costauds, il y a Delmia de Dassault Systems et Process Simulate de Siemens.
OK on s'éloigne de nouveau du Java, mais c'était juste pour être précis...
L'homme sage apprend de ses erreurs, l'homme plus sage apprend des erreurs des autres. - Confucius -
Ma (petite...) chaine Youtube : https://www.youtube.com/channel/UCy-...P2tH5UwOtLaYKw
Si vous avez quelques minutes, passez donc voir mon site http://www.photospicsandco.fr/
Envie de tee-shirts (et goodies!) originaux et sympa ? Visitez mon site... http://www.zazzle.com/shkyo30
Je peux avec votre permission dire Que Java reste un langage présent partout , car moi quand je fais la programmation mobile ou web le java est bien présent . sinon je fais de c#, php et du c++
Fely Kanku Developpeur .Net et analyste programmeur
[en rapport a python qui ne prendra jamais la place de Java]
Parce que python/php/ruby et assimilés sont inadaptés pour écrire des systèmes distribués.
C'est pas possible d'écrire ça dans un langage qui ne supporte pas de concurrence/multithreading/parallélisme et les performances sont catastrophiques dès qu'il y a un minimum de traitement à faire (sans lib dédiée).
=> L'équivalent de Cassandra ou ElasticSearch en python c'est tout simplement pas possible .
Java règne en maitre dans les systèmes distribués et il n'y a pas d'alternative (hors C# qui est exactement la meme chose, sachant les sociétés qui sont là dedans sont rarement des shops Microsoft).
Le seul langage historique qui a les capacités pour faire ça c'est C++ mais c'est bien trop hardcore de développer en C++
(récemment, il y a une nouvelle alternative en Go, qui est en train de gratter des parts de marchés importantes lentement mais surement -dans la limite du marché de niche que constitue les systèmes distribués- ).
Associer UML et larges specs c'est une erreur. Associer "large" à "spec" étant le coeur du probleme.
Un petit document de quelques pages avec un paragraphe qui explique le but du projet, un diagramme de cas d'utilisation, une liste de fonctionnalités, un diagramme de déploiement et voilà.
UML reviendra 1 mois plus tard pour sortir les diagrammes de séquences et on a fait le tour. (très très important d'avoir des diagrammes de séquences dans la doc).
Tout ça pour dire que UML s'intègre parfaitement dans une démarche agile + continous delivery + extreme programming
Python supporte aussi bien le parallélisme que Java, je t'invite à regarder la bibliothèque threading et MultiProcessing.C'est pas possible d'écrire ça dans un langage qui ne supporte pas de concurrence/multithreading/parallélisme et les performances sont catastrophiques dès qu'il y a un minimum de traitement à faire (sans lib dédiée).
Pour le partage en mémoire, de même je t'invite à regarder la class Array, Ctypes et Marshall.
Python est très utilisé dans le calcule scientifique massivement parallèle justement ! Pourquoi on l'utilise dans les supercalculateurs à ton avis ?
Je sais de quoi je parle car c'est quand même mon domaine de travail.
C'est des SGBD, je vois pas le rapport avec Python, python supporte parfaitement Cassandra au passage, ElasticSearch je sais pas mais je pense que oui.=> L'équivalent de Cassandra ou ElasticSearch en python c'est tout simplement pas possible .
Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
3)le temps de comprendre toutes les exigences, le projet est terminé
4)le temps de terminer le projet, les exigences ont changé
Et le serment de non-allégiance :
Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.
n'importe quoi => https://wiki.python.org/moin/GlobalInterpreterLock
"In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threads from executing Python bytecodes at once. This lock is necessary mainly because CPython's memory management is not thread-safe."
L'interpréteur python est incapable d’exécuter deux morceaux de codes python en parallèle. Si tu lances 2 threads avec la classe "threading", elles ne seront jamais "running" sur deux cores différents même temps.
multiprocessing est un hack qui crée des sous processus pour exécuter des taches (a raison d'un processus par coeur typiquement). Séparer le traitement en plusieurs processus c'est l'enfer et ca vient avec une infinité de contraintes et d'emmerdes par rapport a simplement utiliser des threads (e.g. en Java).
Python n'execute pas grand chose dans les supercalculateurs. C'est un simple wrapper facile à utiliser par des gens qui ne sont pas formés au métier de programmeur. Tout les calculs sont exécutés par des librairies écrites dans d'autres langages qui sont parallélisées et adaptées pour du calcul.
Rahhh. Le rapport c'est que ce sont des base de données écrites en Java.C'est des SGBD, je vois pas le rapport avec Python, python supporte parfaitement Cassandra au passage, ElasticSearch je sais pas mais je pense que oui.
C'est pas possible d'écrire ces bases de données en Python.
Les processeurs d'aujourd'hui on 2 threads/core, et je trouve que la différence threading/multiprocessing est pertinente.L'interpréteur python est incapable d’exécuter deux morceaux de codes python en parallèle. Si tu lances 2 threads avec la classe "threading", elles ne seront jamais "running" sur deux cores différents même temps.
Il y'a les mêmes contraintes qu'en Java à savoir qu'il est difficile de partager des objets en mémoires, et faut faire attention à ce qu'il soit thread-safe. Sinon, comme en python, il vas cloner l'objet en mémoire au lieu d'utiliser son instance.multiprocessing est un hack qui crée des sous processus pour exécuter des taches (a raison d'un processus par coeur typiquement). Séparer le traitement en plusieurs processus c'est l'enfer et ca vient avec une infinité de contraintes et d'emmerdes par rapport a simplement utiliser des threads (e.g. en Java).
tes threads en Java sont pas compatibles avec certaines bibliothèques comme en python.
Si tu veut faire du parallélisme "propre" faut utiliser des langages adapté, je pense notamment à Rust.
En java tout comme en python, c'est des hack dégueulasse fait dans des langages non adapté à la base.
Oui c'est le principe même de Python, codé en utilisant des libs en C/C++/Fortran. D'un autre coté on utilise des libs dans n'importe quels langage aujourd'hui.Python n'execute pas grand chose dans les supercalculateurs. C'est un simple wrapper facile à utiliser par des gens qui ne sont pas formés au métier de programmeur. Tout les calculs sont exécutés par des librairies écrites dans d'autres langages qui sont parallélisées et adaptées pour du calcul.
Oui et y'a qu'en Python que ces outils existe, enfin ils n'ont pas d'équivalent aussi complet ailleurs.Tout les calculs sont exécutés par des librairies écrites dans d'autres langages qui sont parallélisées et adaptées pour du calcul.
Les SSII qui proposent de travailler sur Java pour augmenter les budgets de développement sont plusieurs pour un même poste.
Par contre les éditeurs qui utilisent Delphi recrutent réellement eux.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager