Pas de problème (pb), que du PowerBuilder (PB) ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 14-08-2013 15:02:55

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Les languages "modernes"

Les languages "modernes", j'en connais beaucoup qui se prétendent modernes mais je n'en connais qu'un, PB.

Sérieux, j'ai essayé un peu Ruby et Python dernièrement et j'hallucine de voir que ces languages prétendument modernes et tournés vers la simplicité de coding souffrent du même symptôme que Java ou d'autres languages "récents" c'est à dire on fait certaines choses comme les anciens languages, pas parceque c'est bien, pas parceque il y a une vraie bonne raison de le faire comme ça à l'époque actuelle mais uniquement parceque on ne veut pas changer les habitudes des programmeurs qui utilisaient les languages précédents.

Trois exemples que je trouve très frappants :

Le n° de départ des tableaux.
- Stoppez qqun dans la rue et demandez lui de compter jusqu'a 100, combien de personnes vont commencer à compter à partir de 0 ? aucune, si les tableaux commencent à 0 au lieu de 1 c'est pour des raisons historiques d'économie de mémoire datant de l'époque où chaque bit comptait, continuer à se faire ch... avec ça maintenant c'est nier que c'est l'ordinateur qui travaille pour l'homme et dire "non, c'est à toi de t'adapter à la machine", à la limite je veux bien mais qu'on ne prétende pas après faire un language moderne facilitant l'écriture du code

Le language case-sensitive
- Si dans une lettre je vous parle de ma voiture comme ceci : "Ma voiture est bleue, ma voiture est petite, ma Voiture roule à l'essence " tout le monde aura compris que je parle d'UNE voiture, la mienne, qui est bleue, petite et roule à l'essence, il faudrait être fou pour se dire que je ne parle pas de la même voiture en ce qui concerne la couleur juste parceque j'ai mis une majuscule à voiture dans ce cas là. et pourtant on se retrouve avec des languages ou "true" n'est pas valide, il faut écrire "True"
Ceci est aussi du à des raisons historiques d'économie de mémoire/puissance de calcul, il est plus facile pour un compilateur/intérpréteur de tester uniquement "True"
Donc encore une fois c'est demander à l'homme de faire le boulot de la machine, sans compter que ça permets des joyeusetés du genre avoir une fonction f_fct_delete() à ne pas confondre bien sûr avec f_fct_Delete() qui ne fait pas du tout la même chose, comme le nom l'indique...

le ; comme terminateur d'instruction
pareil, inutile, uniquement utilisé par les languages paresseux qui veulent que vous bossiez à leur place.

bref quand je vois ça je me dis que PB c'est considéré comme ringard par bcp de gens mais au moins PB a eu le mérite d'oser le changement pour aller vers plus de facilité, ce qui moi me parait plus intelligent que de continuer à faire comme avant "paske on a toujours fait comme ça"


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#2 14-08-2013 16:43:06

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Les languages "modernes"

Juste pour commenter ce point, mais je pense que c'est un peu une histoire de goût ou de débat du vendredi (et comme je suis en congé ce soir... )

rincevent a écrit:

Le n° de départ des tableaux.
- Stoppez qqun dans la rue et demandez lui de compter jusqu'a 100, combien de personnes vont commencer à compter à partir de 0 ? aucune, si les tableaux commencent à 0 au lieu de 1 c'est pour des raisons historiques d'économie de mémoire datant de l'époque où chaque bit comptait, continuer à se faire ch... avec ça maintenant c'est nier que c'est l'ordinateur qui travaille pour l'homme et dire "non, c'est à toi de t'adapter à la machine", à la limite je veux bien mais qu'on ne prétende pas après faire un language moderne facilitant l'écriture du code

Je serai tenté de te dire "ça dépend" du programmeur et de son historique : dans une vie précédente, j'ai fait de la programmation d'automates et de l'assembleur (l'asm je joue encore un peu avec).

Lorsque tu es assez proche de la machine et de sa mémoire, il est logique de considérer un tableau à une adresse, et chaque cellule en fonction de son offset depuis cette adresse. Du coup la première case c'est celle qui est à addr + 0, la seconde est à l'addresse addr + 1, la troisième à addr + 2... du coup tab[0] semble tout à fait logique pour accéder à la première cellule comme le fait C, C++ et quelques autres.

Au contraire, pour quelqu'un n'ayant pas eu cette expérience, il est logique de commencer à compter à 1.

Après certains langages permettent le choix de cette numérotation (cas de "option base" en vb), je n'ai jamais utilisé cette possibilité en PB, peut-être parce que cela n'est possible que pour les tableaux non dynamiques.

Pour le reste, les langages "case insensitive" comme PB ne me gênent pas mais je trouve que ça peut donner de mauvaises habitudes et faire un peu brouillon dans le code quand il y a plusieurs version d'un même identificateur (variable, nom de fonction, ...). Après c'est peut-être plus accessible au néophyte, encore une question d'expérience de programmation.

Et pour ce qui est du terminateur d'instruction... Ce qui est bien avec PB c'est qu'il existe tout en étant optionnel (ça permet de faire des choose-case compacts par exemple), par contre par exemple en C ça permet de faire des instructions multi-lignes sans se taper un '&' à la fin de chaque ligne...

Une histoire de goût, je vous dit


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#3 19-08-2013 14:10:31

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: Les languages "modernes"

en vitesse :

pour les tableaux qui commencent à 0/1
j'ai bien écrit "stoppez qqun dans la rue" pas "stoppez un programmeur" et encore moins "stoppez qqun qui a pratiqué l'asm"
De plus tu expliques pourquoi si on se mets à la place de la machine c'est logique alors que je dis justement qu'un langage moderne ne devrait pas te forcer à se mettre à sa place

Pour le case-sensitive je ne vois que des désavantages à ça, ça permets de faire d'énormes erreurs comme donné en exemple dans mon message intial, je n'ai pas compris ce que tu voulais dire par " je trouve que ça peut donner de mauvaises habitudes et faire un peu brouillon dans le code quand il y a plusieurs version d'un même identificateur"
à moins que ce ne soit justement pour approuver que permettre f_delete() et f_Delete() avec des fonctionnements différents est une aberration.

Pour le ;

pour un language de haut niveau il n'est pas nécessaire ni intéressant d'avoir plusieurs instructions par lignes, ça rends la lecture du code plus complexe.

Moi perso je ne suis pas d'accord pour dire que tout ça est une histoire de gout, je pense et j'essaye d'expliquer les raisons logiques du pourquoi.

une petite anecdote pour finir :

Où je bosses on a des milliers de variables d'instances partout, chaque feneêtre qui a une DW a quasiment une variable d'instance pour chacune de ces colonnes (var d'inst à maintenir à une val correcte en cas de modifs dans la DW bien sûr...

La plupart des scripts travaillent plutôt sur base de ces variables que sur base de variables locales ou d'accès direct aux valeurs des DW's

Les fenêtres entières sont souvent passées en arguments à d'autres fenêtres/fonctions... qui manipulent aussi les var. d'instance de la fenêtre.

Un de nombreux problèmes que ça pose est que il est très difficile de comprendre où et quand est modifiée une valeur, ça peut être virtuellement n'importe où dans l'appli ( genre les vars qu'on utilise dans l'itemchanged au lieu de prendre des vars locales dont on est sûr qu'elles ne seront modifiés nulle part ailleurs on utilise des instances)

J'ai essayé d'expliquer 1000 fois pourquoi c'est pas bien de faire comme ça, pourquoi c'est dangereux, pourquoi c'est plus compliqué après pour maintenir le code etc, j'ai aussi de nombreuses fois essayé d'expliquer que ce n'était pas juste MON avis mais un consensus général, que c'était qqchose qu'on pouvait lire dans bcp de livres sur la programmation etc...

et en réponse en général j'obtiens

"nous on préfère faire comme ça"

alors oui si on va par là tout est histoire de goût...


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#4 19-08-2013 14:43:11

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: Les languages "modernes"

Arf... message apparu en double chez moi, voulu nettoyer, message efface 2 fois, je reposte :

Dadone a écrit:

Les languages "modernes", j'en connais beaucoup qui se prétendent modernes mais je n'en connais qu'un, PB.
Pour rebondir sur ce thème PB a de gros défaut qui n'en font pas un langage moderne.
Un vocabulaire aberrant qui confond tout et n'importe quoi,  une permissivité  totale, tout est déclaré publique par défaut, un passage de paramètre aberrant avec les "open withparm " l'absence de surcharge du constructor() afin de passer proprement les arguments, une redondance totale entre la classe datawindow et le datastore alors qu'il devrait hériter l'un de l'autre, la notion de fonction globale qui est une hérésie, la notion de routine globale idem, l'absence de construction de type énumérée, l'impossibilité de redéfinir les routines des classes locales  et au niveau IDE la contrainte d'héritage qui fait qu'on ne peut peu pas visualiser une classe et ses descendants.
Bref un produit pas très sérieux et qui date.
Je ne connais pas bien PB.net mais il me semble que c'est la seule issue pour sauver ce produit en améliorant les inconvénients listés.
A tout prendre de nos jours, je conseillerais .Net avec la datawindow .net mais ce n'est juste qu'un avis non validé par la pratique.


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#5 19-08-2013 14:45:41

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: Les languages "modernes"

En conclusion.
PowerBuilder ne vaut que par la classe datawindow, si je retrouve cette classe dans un autre environnement, il n'y a pas à hésiter...

BUG : Mes messages apparaissent également deux fois chez moi...puis cela disparait...

Dernière modification par Dadone (19-08-2013 14:46:58)

Hors ligne

 

#6 19-08-2013 14:53:08

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: Les languages "modernes"

C'est vrai qu'il y a quelques manques en PB mais de là à dire que ce n'est pas un produit sérieux c'est limite du Troll.

en tout cas un homme seul peut réaliser une appli PB en moins de temps qu'il ne faut à une armée de consultants Java pour choisir le(s) framework(s) à utiliser pour la persistance, pour le déployement, pour la compilation, pour la gestion multi-threadée du Mapping Objet relationnel des classes polymorphes abstraites servant de AbstractFactoryConstructor pour les créations de paradigmes virtuels en Just-In-Time...

enfin moi c'est l'expérience que j'en ai eu, et au final on a une appli qui sais même pas mettre à jour une ligne dans une table (en Java)

Je connais aussi personnellement des gens qui sont occupés à remettre en PB des applis bancaires qui étaient en PB, qu'on a déclarées pas sérieuses et datées et décidé de passer en JAVA, seulement vu que les nouvelles Appli Java n'ont jamais réussi à égaler les performances des applis PB ni même à être assez rapide pour traiter les volumes quotidiens ben on recommence en PB...

PB pour moi c'est un couteau, un très bon couteau très bien aiguisé, ce qui fait que quand on veut couper qqchose ( créer un programme type ERP on va dire) c'est très efficace
Par contre c'est pas fait pour serrer des écrous c'est sûr

JAVA c'est un couteau suisse, on sait tout faire avec, couper, serrer des écrous, plan,ter des agraphes etc., problème, quand on veut juste couper un truc tous les autres outils sont dans le chemin alors qu'on en a pas besoin, certains outils sont bizarrement liés et aucun des outils ne vaut un outil spécialisé (la grande lame d'un couteau suisse ne vaudra jamais un vrai couteau)

my 2 cents.


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#7 19-08-2013 15:44:39

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: Les languages "modernes"

rincevent a écrit:

C'est vrai qu'il y a quelques manques en PB mais de là à dire que ce n'est pas un produit sérieux c'est limite du Troll.

en tout cas un homme seul peut réaliser une appli PB en moins de temps qu'il ne faut à une armée de consultants Java pour choisir le(s) framework(s) à utiliser pour la persistance, pour le déployement, pour la compilation, pour la gestion multi-threadée du Mapping Objet relationnel des classes polymorphes abstraites servant de AbstractFactoryConstructor pour les créations de paradigmes virtuels en Just-In-Time...

Ce n'est pas, parce que PB est un produit qui date qu'il faut passer à Java...
Java c'est n'importe quoi, c'est fait pour gagner des sous aux SSII, c 'est tout.
Non, ce qui a de vraiment sérieux c'est .Net
Maintenant tu retires de PB la classe datawindow et tu conçois tes projets...t'ira pas plus vite qu'en .Net
PB ne vaut que par la classe Datawindow...
Si j'ai cette classe en .Net alors il n'y a pas photo...

Dernière modification par Dadone (19-08-2013 15:46:21)

Hors ligne

 

#8 19-08-2013 16:17:53

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: Les languages "modernes"

C'est vrai que la DW est LE principal avantage de PB. mais pas le seul et je mettrai en avant la simplicité de PB comme gros avantage (simplicité de la syntaxe et du language)

par contre .Net / Java c'est un peu chou vert et vert chou non ? en tout cas .NET a été laaargement inspiré de Java au niveau de pas mal de concepts


Sur base de ma toute petite expérience avec ces 2 langages J'aurai tendance à préférer .NET à Java juste parceque en .NET j'ai pas besoin de me demander quel outil / framework utiliser à chaque nouvelle tâche. Et aussi pour Visual Studio qui tue tout comme IDE là j'avoue.


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#9 20-08-2013 09:08:07

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: Les languages "modernes"

rincevent a écrit:

C'est vrai que la DW est LE principal avantage de PB. mais pas le seul et je mettrai en avant la simplicité de PB comme gros avantage (simplicité de la syntaxe et du language)

Je suis d'accord PB est simple mais cette simplicité fait qu'il est possible de faire n'importe quoi ce qui rend les projets non maintenable, le langage est trop permissif.

rincevent a écrit:

par contre .Net / Java c'est un peu chou vert et vert chou non ? en tout cas .NET a été laaargement inspiré de Java au niveau de pas mal de concepts

Alors là, non, Java est un langage de bas niveau qui nécessite un Framework dès que l'on souhaite faire de l'IHM (Java à l'origine c'est pour les automates).
Il n'existe pas de développeur Java mais des  "Java J2E", "Java Spring", "java + ..."
C'est un environnement ouvert donc les développeurs peuvent aller chercher tout et n'importe quoi sur le WEB.
L'IDE n'est pas orienté IHM, il n'existe pas d'interface graphique pour le développement de composants. Et non .Net ne c'est pas inspiré de Java.
En revanche .Net est un langage de haut niveau et très bien pensé car un des consultants pour sa création a été Bertrand Meyer (concepteur du langage Eiffel) un de plus grand spécialiste en programmation objet . L'IDE comme tu le soulignes est d'un haut niveau
D'ailleurs j'avais commencé un ouvrage (non terminé) qui faisait l'analogie entre PB et C# .Net. Tout est mieux pensé en C#  .Net ce qui normal puisque il arrive 10 ans après...

Hors ligne

 

#10 20-08-2013 12:44:38

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Les languages "modernes"

rincevent a écrit:

par contre .Net / Java c'est un peu chou vert et vert chou non ? en tout cas .NET a été laaargement inspiré de Java au niveau de pas mal de concepts

Oui pour la syntaxe de C# quasiment la même qu'en Java.


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#11 20-08-2013 13:05:04

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: Les languages "modernes"

100% d'accord avec le fait que PB est trop permissif et donc encourage un peu beaucoup le dév à l'arrache.


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#12 20-08-2013 14:19:12

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: Les languages "modernes"

erasorz a écrit:

rincevent a écrit:

par contre .Net / Java c'est un peu chou vert et vert chou non ? en tout cas .NET a été laaargement inspiré de Java au niveau de pas mal de concepts

Oui pour la syntaxe de C# quasiment la même qu'en Java.

Plus précisément, il existe deux courants principaux de langages.
Ceux dérivés du C :  C++, Java, C#,...
Ceux dérivés du Basic : qui ont donné dbase, Foxpro, PowerScript, VB, ...

rincevent a écrit:

PB est trop permissif et donc encourage un peu beaucoup le dév à l'arrache.

Comme le fait de déclarer des dizaines de variables d'instances toutes public de manière totalement inutiles...

Dernière modification par Dadone (20-08-2013 14:23:16)

Hors ligne

 

#13 20-08-2013 14:30:20

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: Les languages "modernes"

Dadone a écrit:

rincevent a écrit:

PB est trop permissif et donc encourage un peu beaucoup le dév à l'arrache.

Comme le fait de déclarer des dizaines de variables d'instances toutes public de manière totalement inutiles...

Exactement, je vois que tu as bien lu mon 1er message Par contre je pleure tous les jours quand je vois, ça, perso je ne code pas comme ça, je tenais quand même à le préciser


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#14 26-08-2013 21:13:33

elfeliz  
Bienfaiteur du site
Award: bf
Lieu: Liège, BE
Date d'inscription: 23-06-2009
Messages: 94
Pépites: 471
Banque: 0

Re: Les languages "modernes"

Mes 5 cents...

Quand on juge des capacités de PB à faire ceci ou cela, de ses lacunes quant à la religion OO actuelle (oui, c'est de la provoc' ...), n'oublie-t-on pas simplement qu'il n'est pas fait pour ça, qu'il ne s'est même jamais "retourné sur ça" ?
On s'interface avec une db, c'est tout.
Oracle forms, c'était de la belle ouvrage ? Nenni (comme on dit chez nous !) mais ça faisait le job.

Honnêtement, parfois, pour paraphraser un grand stratège,  je me dis que l'informatique est une chose trop sérieuse pour la laisser aux informaticiens.
Quand le gars qui dirige une salle de marché veut une application dans 8 jours, qu'il te file juste le login/password de la DB, tu fais comment avec java ? Et avec .Net ?
Tu lui parles de l'ornithologie comparée entre un hibernate et un odbc ?
Non, hein, tu prends PB.
Ou Delphi, ou Windev...

Le client dirige.
Et ce sera encore longtemps le cas.
Donc tant qu'ils seront serrés sur le timing, on le sera sur l'élégance de "nos bidouilles".

Le reste, c'est de la poésie

Alors, java les a attrapé, un peu sur un mal-entendu (comme disait un autre "stratège"...).
Mais au réveil, les clients sont pas fous et voient bien qu'elle vaut pas le détour, leur bombasse d'un soir

Pour le reste, les décisions se jouent au budget.
Parfois y'a du budget à jetter dans un projet java, parfois pas.
C'est .net l'avenir, car c'est ce qui se rapproche le plus de la logique PB :-)
Déjà que sqlserver était un rejetton de DB Sybase, normal qu'ils continuent à s'inspirer chez crosoft :-)

J'adore les discussion de venredi soir, moi


No prob, just Pb !

Hors ligne

 

#15 27-08-2013 14:36:19

RaccaR  
Membre
Date d'inscription: 13-08-2013
Messages: 14
Pépites: 49
Banque: 0

Re: Les languages "modernes"

Bonjour à tous,

Membre récent, je suis en train de monter avec un collègue le dossier technique d'un petit projet qui complète un existant développé en PB. L'analyse de l'aspect fonctionnel étant en cours, nous nous interrogeons sur la pertinence de choisir entre C# et JAVA pour une partie mettant en oeuvre des webservices car, même s'il a des qualités liées principalement au concept de datawindow, PB ne nous semble pas forcément le bon outil pour les webservices d'une part, et, d'autre part,nous ne souhaitons pas trop "toucher" à l'existant : côté PB, nous nous contenterons du minimum nécessaire pour mettre au point des interfaces et d'un petit complément de reporting.

Certains des membres de ce forum ont peut être eu à faire ce choix précisément (entre C# et JAVA) et pourraient gentiment nous faire part, même très brièvement, d'un retour d'expérience ?

Merci à vous.

Dernière modification par RaccaR (27-08-2013 14:44:34)

Hors ligne

 

#16 28-08-2013 07:26:12

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: Les languages "modernes"

Il y un début de réponse dans le poste du 20/08/2013.

Hors ligne

 

#17 28-08-2013 09:03:55

RaccaR  
Membre
Date d'inscription: 13-08-2013
Messages: 14
Pépites: 49
Banque: 0

Re: Les languages "modernes"

Dadone a écrit:

Il y un début de réponse dans le poste du 20/08/2013.

Revu merci.

Nous sommes deux et restons pour le moment sur deux avis partagés : l'un pour Java, l'autre pour C#.

Peut-être un choix judicieux se ferait-il sur l'outil le plus facile d'utilisation en développement (IDE) et qui nécessiterait le moins de composants à installer en production.

Hors ligne

 

#18 28-08-2013 09:16:32

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: Les languages "modernes"

RaccaR a écrit:

Dadone a écrit:

Il y un début de réponse dans le poste du 20/08/2013.

Revu merci.

Nous sommes deux et restons pour le moment sur deux avis partagés : l'un pour Java, l'autre pour C#.

Peut-être un choix judicieux se ferait-il sur l'outil le plus facile d'utilisation en développement (IDE) et qui nécessiterait le moins de composants à installer en production.

Il n'y a pas photo, C# c'est mieux si vous faites de l'IHM en mode client/serveur.
Il faut comprendre l'historique de Java. A l'origine c'est un langage pour les automates. Comme il était gratuit, le monde universitaire s'en ait emparé comme langage "école" et pour ses propres besoins. Mais ce n'était pas pour faire de l'IHM mais pour faire tout autre chose (réseau neuronaux, IA, analyse du langage, etc..).
Ensuite c'est la machine markéting qui a fait le reste (puisque l'université l'utilise alors c'est que c'est un bon langage, etc..) aidé par de puissantes SSII qui y voyaient une grande sources de profits (ils ont eut raison, un projet Java est en effet très couteux et donc rapporte gros, ...),  plus la touche "WEB" finale (machine virtuelle) pour convaincre les indécis que c'était LE LANGAGE.
Mais le monde de la gestion a des problématiques fort différentes du monde universitaire et Microsoft depuis le début a une vision globale des langages donc également adapté au monde industriel ou de gestion ou pour tout autres besoins
C'est pour cela que C# est en tout point supérieur à Java car dés le départ il était multi-cibles sans compter les moyens financiers gigantesques de MS qui lui ont permit de faire appel aux meilleurs spécialistes mondiaux des langages objets en interfaces événementielles. La contrepartie est que pour maitriser toutes les facettes de la programmation objet .Net faut un gros investissement personnel.

Dernière modification par Dadone (28-08-2013 09:29:14)

Hors ligne

 

#19 28-08-2013 10:05:02

RaccaR  
Membre
Date d'inscription: 13-08-2013
Messages: 14
Pépites: 49
Banque: 0

Re: Les languages "modernes"

Merci Dadone,

Vos précisions confortent mon point de vue personnel .

Dernière modification par RaccaR (28-08-2013 10:06:36)

Hors ligne

 

#20 28-08-2013 10:22:57

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: Les languages "modernes"

RaccaR a écrit:

Merci Dadone,

Vos précisions confortent mon point de vue personnel .

A mon humble avis vous ne trouverez  personne qui maitrise JAVA et C# .NET préférer Java dans un projet client/serveur.
Ceux qui préfèrent JAVA c'est qu'ils connaissent le langage et qu'il ne connaissent pas C# .NET ou qui maitrise nettement mieux Java que C#.
En aucun cas ce peut être un avis objectif....
Pour avoir étudié et développer (un peu) dans les deux et en tant que spécialiste de la programmation objet, je peux vous dire qu'il n'y a pas à hésiter.

Dernière modification par Dadone (28-08-2013 10:25:23)

Hors ligne

 

#21 28-08-2013 12:54:06

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: Les languages "modernes"

et la portabilité dans tout ça ?
Ce qui sera développer du C# .NET ne tournera que sur une plateforme microsoft (ok c'est l'a majorité ) sauf si vraiment le code n'utilise aucune lib spécialisée il est possible d'utiliser mono.
Par contre du code Java fonctionnera sur toutes les plateformes où une JVM existe (à part l'utilisation de cerftaines JNI qui reste exception ).
Je ne m'étends même pas sur le sujet des versions de librairies suivant le framework et les cas de mixtures à la noix ... ( D-HELL-HELL, SxS et cie)

Pour le reste je suis assez d'accord.


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#22 28-08-2013 13:21:48

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: Les languages "modernes"

perso je trouve que la portabilité c'est très surestimé, je ne connais pas de gros projet où on ne connait pas à l'avance la plateforme cible et je n'en connais pas non plus où on se dirait subitement "tiens demain on abandonne windows et on passe tout nos systèmes sur Linux"

Par contre l'enfer des versions en Java c'est l'enfer des versions des frameworks utilisés, et d'après ce que j'ai vu des frameworks à utiliser y en a plein et ils ont tous des incompatibilités entre eux ce qui fait qu'avant même d'espérer écrier une ligne de programme il y a 3 semaines de recherche à faire afin de savoir quelles versions installer pour que tout fonctionne ensemble.

P'tite blague trollesque pour finir : Dire que Java c'est bien parce que ça marche chez tout le monde, c'est comme dire que la sodomie c'est bien parce que ça fonctionne chez tout le monde


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#23 28-08-2013 13:44:46

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: Les languages "modernes"

rincevent a écrit:

perso je trouve que la portabilité c'est très surestimé, je ne connais pas de gros projet où on ne connait pas à l'avance la plateforme cible et je n'en connais pas non plus où on se dirait subitement "tiens demain on abandonne windows et on passe tout nos systèmes sur Linux"

C'est pas parce que tu ne connais  pas de gros projet qu'il n'y en a pas (je ne parle pas de SSII avec des projets clients spécifiques mais pustôt dans l'édition logiciel), le fait d'être multi-plateforme permet de toucher une clientèle plus grande (et c'est aussi un Buzz-argument) et peut aussi avoir un enjeux économique (déploiement de licence windows x nombre de postes client par exemple).

rincevent a écrit:

Par contre l'enfer des versions en Java c'est l'enfer des versions des frameworks utilisés, et d'après ce que j'ai vu des frameworks à utiliser y en a plein et ils ont tous des incompatibilités entre eux ce qui fait qu'avant même d'espérer écrier une ligne de programme il y a 3 semaines de recherche à faire afin de savoir quelles versions installer pour que tout fonctionne ensemble.

Merci maven et son système de dépendances ^^

rincevent a écrit:

P'tite blague trollesque pour finir : Dire que Java c'est bien parce que ça marche chez tout le monde, c'est comme dire que la sodomie c'est bien parce que ça fonctionne chez tout le monde

au moins le publique ciblé est large ...


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#24 28-08-2013 14:06:49

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: Les languages "modernes"

xlat a écrit:

C'est pas parce que tu ne connais  pas de gros projet qu'il n'y en a pas (je ne parle pas de SSII avec des projets clients spécifiques mais pustôt dans l'édition logiciel), le fait d'être multi-plateforme permet de toucher une clientèle plus grande (et c'est aussi un Buzz-argument) et peut aussi avoir un enjeux économique (déploiement de licence windows x nombre de postes client par exemple).

Certes, je me suis mal exprimé, disons simplement que si la cible est connue d'avance, ce qui est généralement le cas alors l'argument de la portabilité perds énormément de poids, pour ne pas dire tout.


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#25 28-08-2013 20:49:38

elfeliz  
Bienfaiteur du site
Award: bf
Lieu: Liège, BE
Date d'inscription: 23-06-2009
Messages: 94
Pépites: 471
Banque: 0

Re: Les languages "modernes"

Je me permets d'en remettre une couche, dans le sens de rincevent & dadone ... même si l'approche est peut-être différente.

Faites donc un comparatif en coût jour/homme d'un projet C#/Java... on ne citera pas PB.

OK, java propose une portabilité remarquable.
OK, la quasi gratuité en terme de licences (et au prix des licences Microsoft ou Sybase, ça fait poids...).
Mais comptez le budget en main d’œuvre (développement, analyse, gestion de projet) et on ne peut plus ne pas douter...
C'est lié à l'outil, sa raison d'être (dadone l'a bien résumée) et son côté "tout libre" qui génère en effet pléthore de frames, outils, versions et reversions...

Je reviens sur mon image : java devient vite un produit d'informaticiens qui se font plaisir. Et Sun nous l'a vendu magnifiquement (même gratuit ). Son usage demande une sacrée maitrise en terme d'architecture, d'encadrement, de gestion de projet...
(parfois je me dis que Sun a géré le coup comme avec ses solaris : chez nombre de clients, il bradait les prix sur serveurs + système d'exploitation, mais savait que le client reviendrait vers lui pour la maintenance, très spécialisée et bénéficiaire... et que les consultants mettraient le paquet pour obtenir des certifications ...)


Donc à mon idée : java sur du 3 tiers, pour des outils centraux, quasi génériques et très mutualisables, ça peut s'envisager si vous avez des cadors en la matière (idéalement des gens ayant migré vers du java après une riche expérience en langage "closed source", si je puis dire).
A ce moment là, le coût de fabrication sera lissé par la longueur d'utilisation... et le faible impact des licences.

Sur du client-serveur, ou des applications mouvantes (règlements changeant, adaptation permanente...),  oublions...
(de toute façon, qui dit "client" dit windows et avouons quand même qu'en terme d'interface (usage api, etc.), microsoft "reçoit à domicile"...)

Enfin, en terme de support, si Sun assurait assez bien en son temps, il est apparemment commun de dire qu'Oracle n'a pas le même entrain.
C'est le second effet kiss-cool de l'open source : toute la communauté veut en être, avoir son nom au générique, personne ne veut ranger la salle après la soirée :-)

Au passage, et pour sortir un peu du focus :  comme dit par dadone, le "lobbying java" a de solides racines dans le monde académique, pour des raisons de gratuité (les universités n'ont pas beaucoup de cashflow justifiable) et de budgets disons... souples (puisqu'elles ont par contre pas mal de doctorants à faire bosser).
C'est la même culture "in vitro" qui a généré les méthodologies "agile" ... mais c'est quand même une autre histoire

A +


No prob, just Pb !

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22