Quelles technologies choisir ? - Divers - Programmation
Marsh Posté le 26-09-2005 à 15:02:22
Cette dernière ligne me laisse perplexe :
cypress a écrit : - indépendance relative aux fournisseurs |
Tu veux dire quoi par là ?
Marsh Posté le 26-09-2005 à 17:41:17
Simplement que je ne souhaite pas être totalement dépendant d'un éditeur qui me fera payer trop cher pour la maintenance de son outil de développement, et donc utiliser une technologie qui me limitera à me fournir uniquement chez lui
Marsh Posté le 26-09-2005 à 17:45:24
python
(maintenant, c'est cool ton truc, mais savoir ce que donnent 1500 utilisateurs sans les specs de la machine et la complexité de la BDD, hein...)
Marsh Posté le 26-09-2005 à 20:28:34
Je pense que la machine est un faux pb : les specs s'adapteront à la charge.
La base possède une centaine de tables, avec certaines qui possèdent des centaines de milliers de lignes.
Marsh Posté le 26-09-2005 à 20:40:15
Hmm. A mon avis faut taper dans du bon serveur, quand même.
Pour le langage de programmation, y a pas beaucoup d'information pour décider, là. Je pense que c'est essentiellement lié aux specs, et à mon avis les différences de perfs entre différents langages ne sera pas un critère, vu que la base de données freinera même un programme mal conçu en Java.
Marsh Posté le 28-09-2005 à 21:12:50
Je propose de mettre les pb matériels et base de données de côté pour se concentrer sur les aspects suivants : l'application est une application de gestion à forte sollicitation, critique donc en terme de fiabilité et de temps de réponse. J'ai un peu de mal à trouver un langage qui combine :
- structuration forte
- une facilité pour créer du mode caractère et du mode web
- des temps de réponse excellents (à bas l'interprété ou semi-interprété ?)
- pérénnité et liberté (à bas les 4GL ?)
Alors comme çà à vue d'oeil on peut penser à Java... mais je ne sais pas, j'ai toujours eu de la réticence fasse à la lourdeur de Java.
Effectivement on peut dire que les machines de maintenant permettent largement de maintenir de bonnes perfs, même avec un langage "lent".
Je me tâte...
Marsh Posté le 28-09-2005 à 21:21:10
cypress a écrit : - structuration forte |
Quel sens donnes tu à cette chose
Citation : - une facilité pour créer du mode caractère et du mode web |
Les CGI, ça rulz
Citation : - des temps de réponse excellents (à bas l'interprété ou semi-interprété ?) |
Les CGI en C, ça rulz
Citation : - pérénnité et liberté (à bas les 4GL ?) |
Ouais enfin là à part à te lancer dans le Windev/Webdev, t'es à peu près tranquille
Citation : Alors comme çà à vue d'oeil on peut penser à Java... mais je ne sais pas, j'ai toujours eu de la réticence fasse à la lourdeur de Java. |
Java, ça rime avec Caca
Marsh Posté le 28-09-2005 à 23:29:17
cypress a écrit : Je propose de mettre les pb matériels et base de données de côté pour se concentrer sur les aspects suivants : l'application est une application de gestion à forte sollicitation, critique donc en terme de fiabilité et de temps de réponse. J'ai un peu de mal à trouver un langage qui combine : |
Si tu veux un langage moderne (très expressif et sûr) et très rapide, tu as le choix entre Ocaml et D.
Tous les deux sont (bcp) plus rapides et légers que Java, et plus expressifs, tout en étant à peu près aussi sûrs (donc bcp plus que C++).
De plus, contrairement à C++ ils compilent extrêmement vite, ce qui améliore d'autant la productivité. Ocaml risque d'en rebuter plus d'un par sa syntaxe, tandis que D semble un choix plus sûr, étant une sorte de Java amélioré avec pointeurs. Par contre, une librairie minimale mais complète (comparable à celle de C/C++), pas vraiment d'API pour une interface graphique à part SDL et OpenGL (faut tout faire soi-même), mais interfaçage possible avec des libs C, et de toute façon, ça ne fait pas partie de tes prérequis. Point important cependant : D n'existe à ma connaissance que sous PC à base x86 (Linux et windows), bien que le front-end gcc puisse a priori être compilé pour d'autres plateformes.
Bref, avec un langage tel que D, pour un projet de taille supérieure à 5 années-hommes de dev ou plus, je ne vois pas très bien l'intérêt d'utiliser Java.
Enfin, dernier point, si la base de données est mal conçue, c'est elle qui va limiter les perfs.
Marsh Posté le 28-09-2005 à 23:36:24
Il y a le SML aussi, qui - comme OCaml est un langage de la famille ML
(avec la même syntaxe pouvant rebuter néamoins)
Marsh Posté le 29-09-2005 à 09:05:05
putain mais mort de rire les gars...
ok super, il le fait en python, en D ou en O'caml...et là c le drame : un dev tombe malade, et il a besoin qu'une SSII lui file qqn dans la semaine...ben pour trouver un presta qui maitrise correctement ces langages, je vous souhaite bonne chance...
et l'intéret du Java par rapport au D ?
Réponse :
- y'a surement un rapport de 1 à 1000 entre le nombre de dev qui connaissent le D et ceux qui connaissent le java...
- Java y'a plus ou moins que ceux qui l'utilisent pas qui le critique...on a un projet avec une grosse charge et Java tient super bien...java c lent ct bon pour la 1.3 ...on a eu HotSpot et les optimisations 1.5 depuis
- si il a des besoins en connectivité vers d'autres environnements, tu me cites des AS qui gèrent le D qui permettent de déployer des connecteurs tout fait en moins de 5 minutes ? d'ailleurs tu me cites des AS qui gèrent le D (Apache + CGI n'est pas une réponse valable)
à part un pb purement technique y'a aussi le volume de gens compétents sur la techno, les retours d'exp à grande échelle, etc...et là vos choix, à part Python, se justifient plus vraiment...
je veux bien qu'on se foute de ma gueule avec mes avis d'experts, m'enfin là on vire dans le grand n'importe quoi qd meme dans vos replys...la solution techniquemetn la meilleure (et encore là ca se discute fortement) est pas toujours la meilleure solution
Marsh Posté le 29-09-2005 à 09:24:36
Jubijub a écrit : putain mais mort de rire les gars... |
T'as raison, autant s'en tenir aux standards de l'industrie, après tout tout le monde le fait ça peut pas être une erreur si?...
Pourquoi se faire chier à trouver des prestas à la con quand tu peux réussir à intéresser des gens de qualitaÿ avec des technos qu'ils apprécient
Marsh Posté le 29-09-2005 à 09:33:33
masklinn a écrit : Pourquoi se faire chier à trouver des prestas à la con quand tu peux réussir à intéresser des gens de qualitaÿ avec des technos qu'ils apprécient |
Jujijub il a raison sur un point, c'est que si t'as du turnover et que tu dois maintenir ton usine à gaz, ça risque d'être beaucoup moins drôle en D qu'en Java
Marsh Posté le 29-09-2005 à 09:36:26
Elmoricq a écrit : Jujijub il a raison sur un point, c'est que si t'as du turnover et que tu dois maintenir ton usine à gaz, ça risque d'être beaucoup moins drôle en D qu'en Java |
Ouais enfin si t'as du turnover et que tu te repose trop souvent sur des prestas, même en java tu risques d'avoir du bonheur à maintenir ton usine à gaz...
Non parce qu'il sera difficile de trouver des gens capables, mais parce que ce sera une vraie usine à gaz justement
Marsh Posté le 29-09-2005 à 09:38:47
Ouais mais tu peux maintenir l'illusion plus longtemps avec une technologie souvent employée, par rapport à un truc de barbus
Marsh Posté le 29-09-2005 à 09:56:01
Ouais enfin si t'as un truc de barbu avec des abstractions qui poutrent tu peux te démerder tout seul ou avec une petite core team, et choisir efficacement les mecs qui bossent chez toi en leur proposant des technos sexy.
En plus comme par ce moyen t'embauche de vrais barbus qui vont s'amuser à bosser pour toi au lieu de se branler avec les pages du "Great Buzzwords Dictionnary, 6th Edition" c'est franchement pas sûr que t'y perdes ( http://www.paulgraham.com/pypar.html )
Marsh Posté le 29-09-2005 à 11:11:30
mais lol...c clair que la tendance dans l'info c clairement l'embauche de gros barbus, c pas du tout l'externalisation...
tain et après c moi "l'expert", mais foutage de gueule quoi...
en plus tu sous entend que hors des langages de barbus point de fun...je réfute, on peut concevoir du propre dans tous les langages...et je t'arrance un meeting avec nraynaud qd tu veux pour une démo de java propre, bien pensé, sur lesquels des barbus pourront s'amuser aussi...
Marsh Posté le 29-09-2005 à 11:25:22
Jubijub a écrit : mais lol...c clair que la tendance dans l'info c clairement l'embauche de gros barbus, c pas du tout l'externalisation... |
T'as strictement rien compris
Marsh Posté le 29-09-2005 à 11:33:09
j'avais poster un truc hier soir qui allait dans le sens de Jubijub mais le forum à foiré juste à ce moment et j'ai pas eut envie de retapper, on pourra rajouter les IDE pour D qui doivent être inexistant comparé à ce qu'il existe en C#/Java, on va pas parler des framework et nombreuses lib robustes et éprouvées sur lesquelles on peut s'appuyer. Alors le langage D il est surement top moumoute mais si c'est pour au final tout réinventer, voir aller tapper dans des lib écrite en C, c'est complètement fumant comme conseil, ça tiendra pas 2 secondes dans les mains d'un dicaydor ou d'un chef de projet avec la tête un minimum sur les épaules.
Marsh Posté le 29-09-2005 à 11:37:24
ben je plussois push
--> masklinn : attends : tu recommandes à un gars qui s'interroge des technos qui à mon sens se pretent pas du tout à cet usage...alors si ca c pas ce que tu dis, résume ton propos clairement
Marsh Posté le 29-09-2005 à 11:48:01
push a écrit : on pourra rajouter les IDE pour D qui doivent être inexistant comparé à ce qu'il existe en C#/Java |
Les IDEs, c'est un faux problème, les IDEs sont nécessaires en Java parce que le langage est devenu trop complexe pour faire quoi que ce soit sans
Jubijub a écrit : --> masklinn : attends : tu recommandes à un gars qui s'interroge des technos qui à mon sens se pretent pas du tout à cet usage...alors si ca c pas ce que tu dis, résume ton propos clairement |
Il veut une application lourde (un client/serveur complet, c'est ça qu'il demande à la base) avec interfaces web et ligne de commande (accessible en distant), lien BDD, 1500 utilisateurs permanent minimum, j'ai du mal à voir en quoi le D "ne se prête pas du tout à cet usage", ou le Python d'ailleurs, aux potentiels problèmes de montée en charge près (j'ai bien dit potentiel, ne connaissant pas la charge métier de l'appli Vs charge BDD)
Ce dont je te parlais, c'était du faux problème soulevé par ton hypothétique "si un dev tombe malade, comment je fais pour trouver un prestataire si j'utilise pas mon 'standard de l'industrie' de la décénie actuelle"
Marsh Posté le 29-09-2005 à 11:48:35
Désolé mais sur ce coup je suis d'accord avec push et Jubijub...
Python, D et compagnie ont beau etre des super langages... Pour le moment c'est a mon sens pas vraiment rentable pour une entreprise de s'y lancer... Perso je pencherais sans surprise vers Java... Qui a les reins solides et pas mal de lib a dispo ..
Marsh Posté le 29-09-2005 à 11:50:57
masklinn a écrit : Les IDEs, c'est un faux problème, les IDEs sont nécessaires en Java parce que le langage est devenu trop complexe pour faire quoi que ce soit sans |
Marsh Posté le 29-09-2005 à 11:56:04
N'hésite pas
Marsh Posté le 29-09-2005 à 12:17:00
pendant deux secondes j'ai cru qu'on était vendredi, mais non
Marsh Posté le 29-09-2005 à 13:46:11
masklinn a écrit : Les IDEs, c'est un faux problème, les IDEs sont nécessaires en Java parce que le langage est devenu trop complexe pour faire quoi que ce soit sans |
!!!
ou alors c devenu nécessaire parce que ca booste ta productivité par 10 (débuggage intégré, correction et analyse syntaxique à la volée, pilotage de ton serveur d'appli, gestion via interface de tous les fichiers de conf, refactoring poussé, etc....)
tain merde c pas vendredi, arrete de troller comme ca
masklinn a écrit :
|
désolé moi je vois pas le client lourd dans ses specs....par ailleurs tu me feras pas croire qu'en D ou en Python y'a autant de libs dédiées à cet usage qu'en java...sans parler de ce que te fournis par défaut un AS (multithreading, gestion des transactions, connectivités BDD, etc...)
et trouver du personnel compétent pour ton besoin immédiat crois moi c tout sauf un faux problème, et ca je le vis quotidiennement, sur un projet à 35.000 jours hommes qui est un des plus gros projets IT mené en france à l'heure actuelle...je te développe les pb sur demande si tu me crois pas
Marsh Posté le 29-09-2005 à 14:02:21
Jubijub a écrit : |
Non, et c'est justement là le problème.
Un IDE est nécessaire en java, et il ne booste pas la productivité par 10, parce que le java est devenu tellement complexe que sans IDE la productivité est de 0 ou approchant.
Mais l'IDE en tant que tel n'est pas nécessaire, c'est la complexité de ce qu'est devenu le java qui l'impose pour pouvoir faire quoi que ce soit
Tu vois, on en est arrivé à tel point que tu ne conçois même plus le fait de coder quoi que ce soit sans IDE pour t'assister
Marsh Posté le 29-09-2005 à 19:17:44
mais n'importe quoi...mais quel tissu de conneries
qq soit le langage orienté objet, faire clic droit extraire l'interface c qd meme 10x plus rapide que de refabriquer une interface d'après une classe donnée...faire une recherche par référence c super pratique, un ctrl + clic pour naviguer dans les méthodes c géant pour suivre un algo qui s'étend sur plusieurs classes...et idem pour plein de choses...et ca c pas spécifique à java...je présume que visual studio fait la même chose, et surement d'autres IDE pour d'autres langages...
également, tout ce qui est pilotage des environnement, déploiements automatisés, recompil auto, etc...ca n'a rien à voir avec java, pourtant c un gain de temps fabuleux...
t'a une vision hyper bornée des choses, et étonnemment aucun des lecteurs de ce topic ne semble etre d'accord avec toi, à part 1...ca indique pe des choses...
va expliquer à -- ou à Harko par ex qu'un IDE ca sert à rien...tain mais reviens dans la vrai vie...on peut aussi coder sous VIM en COBOL...c super productif...en encore VIM c trop évolué, je propose notepad, pour bien revenir aux racines, sans assistance sans rien...
Marsh Posté le 29-09-2005 à 21:11:02
Jubijub a écrit : qq soit le langage orienté objet, faire clic droit extraire l'interface c qd meme 10x plus rapide que de refabriquer une interface d'après une classe donnée |
On va s'arrêter là, pas la peine d'aller plus loin, et je répond simplement: duck typing
En dehors de ça, tu n'as encore rien compris, je n'ai jamais dit que les IDEs étaient inutiles.
J'ai dit qu'ils n'étaient pas essentiels, et ne devaient pas l'être. Or en Java ils le sont devenus, ta réaction montrant bien qu'il est totalement impensable pour toi de coder sans IDE
Que vas tu faire, nier la complexité du Java, nier le fait que non, un IDE n'est pas nécessaire dans tous les langages? Vas y, si ça peut t'amuser
Marsh Posté le 29-09-2005 à 22:37:26
( vim gère très bien la balade à travers les méthodes avec Cscope )
( voila j'ai posé mon Cacailloux à ce bel édifice de gens bien productifs )
Marsh Posté le 29-09-2005 à 23:41:13
Citation : mais n'importe quoi...mais quel tissu de conneries |
Mais trop ; il faut un retour vers le futur avec :
Terminaux : frontend en Qbasic (avec switchage mode graphique et souris / mode texte) avec derrière une gestion trop cool des ports com et lpt (injustement délaissés au profit de l'usb, de l'ethernet ou je ne sais quoi) pour communiquer avec le serveur.
Serveur unix : deuxième gestion trop cool de 1500 ports com ou lpt, et un bon gros tableau "base de données" en C (pour la rapidité).
Mais si vous préférez faire/dire de la merde, après c'est votre problème.
Marsh Posté le 29-09-2005 à 23:50:01
masklinn a écrit : On va s'arrêter là, pas la peine d'aller plus loin, et je répond simplement: duck typing |
super, tu ressors ton truc python que tu ressors à chaque fois...
alors à moi : sandboxing, security manager...(moi aussi je peux sortir des trucs)
et oui pour moi c impensable de coder sans IDE tellement ca te fait gagner de temps...du temps direct, et du temps indirect grace aux taches automatisées pour lesquelles tu ne cours pas le risque de faire une connerie (par ex en extrayant à la main une interface, tu peux tjs oublier un paramètre, ou te larder sur un type...si c l'IDE qui le fait lui ne se trompera pas, c des bugs en moins)
je sais pas t pe un codeur de génie, mais dans la vrai vie, les gens tatonnent avant de trouver une hierarchie d'objet qui soit convenable...et là le refactoring, la génération auto de get/set, c qd meme un temps fou de gagné...plus j'y pense moins je comprends qu'on puisse s'en passer (et pour moi utiliser vim ou Emacs avec des macros ou des scripts c un peu se recrer ce que fait un IDE, sauf que tu réinventes la roue)
Marsh Posté le 29-09-2005 à 23:59:09
Jubijub a écrit : super, tu ressors ton truc python que tu ressors à chaque fois... |
Raté, Ruby, et c'est la simple réponse à ta mention des interfaces
Citation : alors à moi : sandboxing, security manager...(moi aussi je peux sortir des trucs) |
Ce sont des options du langage/de la VM, pas de l'IDE
Citation : en extrayant à la main une interface, tu peux tjs oublier un paramètre, ou te larder sur un type... |
Sauf si t'as pas besoin d'interfaces
Citation : la génération auto de get/set |
Besoin spécifique au Java (même en C# il n'est techniquement pas nécessaire de créer 15 millions de getters/setters ne servant strictement à rien)
(et si tu penses que toute variable devrait être privée tant qu'on a pas besoin qu'elle soit publique - et non l'inverse - ceci pourrait t'intéresser)
Marsh Posté le 30-09-2005 à 10:20:39
masklinn a écrit : Raté, Ruby, et c'est la simple réponse à ta mention des interfaces
|
euh meme en Ruby, pour des projets assez gros, on utilise des IDE hein
Marsh Posté le 30-09-2005 à 10:38:53
Jubijub a écrit : reste avec tes langages élitistes |
Elitiste?
Alors maintenant c'est élitiste de conseiller des langages qui ne demandent pas 50Mo de VM et un IDE pour pouvoir faire quoi que ce soit avec?
Aux dernières nouvelles, c'est quand même TOI qui refuse qu'un langage autre que Java puisse être utilisé pour quoi que ce soit, et TOI qui refuses le fait que Java puisse avoir des défauts
souk a écrit : euh meme en Ruby, pour des projets assez gros, on utilise des IDE hein |
Comme je l'ai dit, on peut le faire parce que c'est plus pratique, mais ça n'est pas impératif (et il faut savoir ce que tu considères comme un IDE, un truc comme BBEdit ou JEdit est-il déjà un IDE pour toi?)
Marsh Posté le 30-09-2005 à 10:53:22
masklinn a écrit : |
non, des que le projet est gros tu as besoin de l'aide d'un ide pour t'y retrouver. En java non plus l'IDE n'est pas necessaire... certes je suis d'accord que la necessité d'un ide se fait ressentir plus rapidement en java qu'en Ruby, mais croire qu'on peut s'atteler à un truc conséquent sans IDE, meme en Ruby, c'est utopiste. BBEdit et JEdit ne sont pas des IDE à mon avis, ce sont des éditeurs de texte bien couillus, mais ce n'est que mon avis et ca n'a pas d'importance pour le sujet présent
Marsh Posté le 30-09-2005 à 18:41:19
masklinn a écrit : Elitiste? |
mais putain regarde avec quoi l'immense majorité du marché tourne pour ce genre de problématiques, et puis on revient en parler ? et si c pas Java, le reste sera majoritairement en ASP, ce qui revient au même
je veux bien qu'on trouve que java aie des défauts, mais encore faudrait-il identifier les bons : dire que c lent et que c tellement complexe qu'il faut un IDE c pas parler de ses défauts, c faire des trolls velus même plus droles tellement ils sont éculés...
exemple today : notre applis soutient en général 18000-20000 appels de services par jour (faire en gros *0.8 pour le nb d'appels SAP derrière, et *0.2 pour le nombre d'appels IMS, et là je compte pas les appels Oracle et LDAP)...pour le nombre hits à proprement parler, faire en gros *3...
aujourd'hui, et c pas fini, on a déjà eu plus de 57000 appels, soit presque x3 sur la charge nominale...ben Websphere a tenu, configuré avec une JVM avec 256mo de ram...et si on a eu une petite dégradation des perfs, c parce que le mainframe a eu des pb pour maintenir autant de transactions...et SAP a fait la gueule un peu aussi...
ben merde, tenir le x3 sans pertes de perfs, étant donné la complexité de l'archi et le nb d'environnements impliqués, moi j'appelle ca de la scalabilité...
là honnetement j'attends de voir si ton appli faite main en Ruby ou en Python tiendrait une charge pareille, avec tes connecteurs perso...
Marsh Posté le 30-09-2005 à 19:54:44
Jubijub a écrit :
|
Aux dernières nouvelles je n'ai pas parlé de la vitesse d'exécution de java dans ce thread
Et je ne vais sûrement pas dire que Java est lent par rapport à Python
Par contre dire que Java est devenu monstrueusement complexe, c'est la vérité nue, que tu l'acceptes ou non
Citation : mais putain regarde avec quoi l'immense majorité du marché tourne pour ce genre de problématiques, et puis on revient en parler ? et si c pas Java, le reste sera majoritairement en ASP, ce qui revient au même |
Quel intérêt, profondément, découvrir "le standard de l'industrie"? c'est bon je le connais, merci
Et c'est toujours pas parce qu'un langage est populaires chez les dissaïdors qu'il est spécialement bon
Marsh Posté le 01-10-2005 à 14:37:19
masklinn a écrit : Aux dernières nouvelles je n'ai pas parlé de la vitesse d'exécution de java dans ce thread |
c ton opinion, à moins que tu considères que ton avis est l'avis ultime qui doit servir de référence, ca ne reste que ton opinion, que je ne partage pas puisque mon exp perso démontre le contraire...
masklinn a écrit : |
le pb c qu'il est pas populaire que chez les décideurs...les techos l'aiment bien aussi....sur le projet sur lequel je bosse Java a été choisi par des architectes techniques, qui ont ensuite bossé sur le projet pour implémenter le squelette de l'appli...les décideurs en avaient rien à foutre
Marsh Posté le 26-09-2005 à 14:59:39
Bonjour,
Voilà si vous deviez développer une application possédant les caractéristiques suivantes (indépendamment des aspects coûts) :
- serveur sous OS Linux ou Unix
- sous base de données
- fortement multi-utilisateurs (jusqu'à 1500 utilisateurs en simultané)
- disposant d'une interface en mode caractère (via telnet ou SSH) et d'une interface web
- performance/rapidité
- indépendance relative aux fournisseurs
Vous choisiriez quoi comme technologies ?
Merci !
Message édité par cypress le 26-09-2005 à 15:01:01