2009-08-22 9 views
0

J'ai besoin de générer plusieurs bases de données SQL, j'ai donc besoin de script/programme pour les générer automatiquement en SQL et générer des fichiers sur le serveur jboss. Notre serveur client fonctionne sous Linux, mais je développe sur Windows machine. Dois-je créer un script avec un script Linux ou écrire un programme Java qui pourrait faire la même chose?Dois-je créer Linux Shell Script ou un programme Java?

+0

Est-ce les tables que vous générez? –

Répondre

3

Un script shell sera généralement beaucoup plus facile et rapide à développer. Ecrivez une application Java si vous avez besoin d'une application robuste prête à l'emploi. Ce n'est pas le cas ici, alors rendez votre vie facile.

1

À moins que ce soit très simple, il est beaucoup moins pénible de le faire en Java. Donc je pense que vous devriez écrire un programme Java. Mais avez-vous envisagé de l'écrire en Perl ou Python?

Ces sont des langages de script très puissants et le programme qui en résulte peut être beaucoup plus court et/ou plus concis qu'un programme Java correspondant .

+0

+1 pour Perl - vaut probablement la peine d'y jeter un coup d'oeil avec SQL :: Translator – Quentin

0

J'utilise souvent des scripts shell pour des tâches ponctuelles comme la génération de grands ensembles de données de test.

0

Les langages de script shell Linux sont faciles et rapides à développer pour des choses simples. Ils sont très faciles à maintenir car ils sont en pur texte, interprétés par le shell.

Ils sont pénibles à utiliser pour quelque chose de plus complexe que quelques douzaines de lignes de code. Ce ne sont pas des langages de programmation appropriés. Si vous avez une substitution de texte ou un calcul de tailles, il devient difficile d'écrire.

Si vous ne créez que des répertoires et des copies de fichiers, utilisez un script shell.

Les programmes Java sont difficiles à développer car ils nécessitent une compilation (et peut-être un IDE complet). Ils sont difficiles à maintenir parce qu'ils sont compilés. Vous pouvez utiliser des propriétés pour améliorer la maintenabilité, mais c'est beaucoup plus de programmation.

Les programmes Java sont parfaits pour les tâches complexes. Si vous avez beaucoup de substitution de texte, ou de calcul, Java fonctionne mieux. Java est une langue appropriée avec beaucoup de fonctionnalités pour faire beaucoup de choses.

Vous avez un terrain d'entente: la flexibilité des scripts, la sophistication d'un langage de programmation complet. Des outils tels que Groovy ou Python sont des langages "dynamiques" - ils sont très faciles à écrire et à maintenir - mais ils sont aussi des langages de programmation complets, pas seulement le shell.

Si votre script implique une manipulation de texte ou un calcul, vous pouvez envisager Groovy ou Python à la place du shell ou de Java.

0

Méfiez-vous de ce que vous construisez, car il durera beaucoup plus longtemps que vous ne le pensez.

Si l'effort pour le coder dans les deux sens est à peu près égal, alors codez-le dans la langue la plus utilisée par votre organisation. Une chose que je vois encore et encore chez les compagnons est le "wow, je peux le coder en utilisant la nouvelle technologie brillante (ou ancienne) BZUP12G avec Frammoplatzes". Cela rend un mauvais service au reste de l'équipe de développement, qui doit maintenant apprendre BZUP12G avec Frammoplatzes afin de modifier ce qui a été construit. Travailler pour maintenir l'ensemble de base de technologies sur lequel votre application est construite à un ensemble raisonnablement petit est une très bonne idée.

Questions connexes