Développer en java

Pharmacos

Membre expert
Club iGen
8 Mars 2006
7 760
874
Par ci par là
Bonsoir à tous,

Je voulais me mettre au java ce soir.....drole d'idée :)
J'ai télécharger Smultron et j'ai fait un HelloWorld compilé par mon terminal ;)

Classe non ?

Sérieusement : faut il que j'installe quelque chose de plus ?
est ce que quelqu'un pourrait me donner un code d'une application simple que je pourrais analyser pour comprendre un peu le fonctionnement de tout ça "via" le terminal !

Parce que je n'ai aucune idée du comment on fait une fenêtre des boutons et tout et tout (parce que bon le terminal n'est pas un IDE) ;) Je n'ai pas trouvé de tuto très convaincant !!

En vous remerciant ;)
Pharmacos
 
Le terminal est très bien pour comprendre la mécanique de compilation, les classpath et l'utilisation de librairies externes. Une fois que tu as compris, tu as le droit de passer sur une IDE (Eclipse, NetBeans ou IntelliJ), c'est quand même plus sympa pour coder.
Pour la partie graphique, ça utilise Swing ou AWT et tu trouveras sûrement des tutoriels sur le net comme par exemple ici.
 
  • J’aime
Réactions: Pharmacos
Hello !

Je me souviens avoir installé Eclipse un jour (il y a forfor longtemps) et j'avais eu des problèmes pour installer VE et tout le tralala nécessaire.

Sinon est il possible de tout coder dans le terminal ? Est ce de la folie ?

Merci ntx ;)
 
Sinon est il possible de tout coder dans le terminal ? Est ce de la folie ?
C'est tout à fait possible, moyennant l'utilisation d'outils comme ant, un outil comparable à make, qui simplifiera la compilation quand ton projet prendra de l'importance, ou encore comme maven. Je ne l'ai pas fait pour du Java, mais pendant des années j'ai bossé sur du C et du C++ uniquement dans un terminal Unix et avec emacs, et sur des projets assez énormes. Ca ne pose aucun problème, les IDE n'apportent que du confort, mais il est vrai que les IDE pour Java sont plutôt bien mieux foutues que celles pour le C/C++. Notamment elles t'indiquent les erreurs de syntaxe et les futures erreurs de "compilation" en temps réel, et elles gèrent un historique des modifications faites dans tes fichiers, bien utile quand on tâtonne un peu. Donc une fois que tu maîtrises la mécanique de génération d'un jar, il n'y a pas de raison de se priver de tels outils.
 
Well well

Je vais me renseigner sur tout ça :)
Petite question supplémentaire : JBuilder tu connais ? Apparemment un produit de Borland (j'utilise Delphi 7 donc je connais un peu le style borland) :)
 
Well well

Je vais me renseigner sur tout ça :)
Petite question supplémentaire : JBuilder tu connais ? Apparemment un produit de Borland (j'utilise Delphi 7 donc je connais un peu le style borland) :)

JBuilder j'avais du utiliser un moment... Ça m'a franchement pas convaincu. Replie toi sur Eclipse, c'est un must. Mais par contre, développer des applications avec interfaces graphiques en Java, euuuuhhhhh, mauvaise idée.
 
Java a été a la base créé pour être une solution multi-plateforme... Avec comme résultat une certaine lourdeur dans les applications... Notamment au niveau de tout ce qui est interface utilisateur... C'est une vraie galère à programmer et à homogénéiser sur chaque plate-forme... Franchement, c'est pas très souple java comme truc...
 
Il est trop tard pour travailler cousin, va dormir... :rateau:
 
  • J’aime
Réactions: Pharmacos
Pourquoi mauvais idée ??
Moi, je ne trouve pas que ce soit une mauvaise idée.
C'est le projet global (pas juste l'interface) qui doit être analysé pour faire le choix d'un langage.
Si c'est pour piloter une fusée en temps réel ou développer un jeu d'action, alors c'est Java qui est un mauvais choix, mais à cause de la nature-même du programme. :cool:
 
Bonjour,

Pour tout avouer, je dois "re" programmer (améliorer) mon logiciel de chimie thérapeutique (logiciel PC :)) et je me disais que je pourrais reprogrammer ça en un nouveau langage me permettant de l'utiliser sur plusieurs plateformes (mac et windows).

Et donc au final d'apprendre un nouveau langage :)

Voila voila
@++
Pharmacos
 
Le problème des interfaces Java c'est la réactivité de l'interface. Même pour des programmes peu exigeants en performances chaque fois que tu cliques faut un moment, pas forcément très long mais pas négligeable non plus pour que ça réagisse. C'est pas un langage compilé, c'est une machine virtuelle, donc les performances n'ont rien à voir, et tout particulièrement pour ce qui concerne les interfaces. De même c'est à proscrire si tu veux économiser l'espace mémoire (pour traiter des images par exemple). Aujourd'hui là où c'est très utilisé c'est pour de la programmation côté serveur, grâce à la richesse du langage, de tout ce qui a été développé autour et ses performances qui sont bien supérieures quand même à tous les langages de script (php, ruby, ...) et sa structure objet un peu rigide qui évite de faire n'importe quoi.

Si ton but c'est juste de faire un logiciel multiplateforme, penche toi plutôt sur le c++ et QT par exemple, qui permet de compiler un même programme à la fois pour Linux, Windows ou Mac OS X. Ou encore tu peux développer le programme sous forme d'application web.
 
Bonsoir,

les interfaces java ont quand mm sacrément évolué avec java5 et encore plus avec java6(SwingWorker), et SwingLabs.
https://javadesktop.dev.java.net/
Les lenteurs (horribles et désastreuses on est d'accord!) qu'on avait sous java 1.4 ne sont vraiment plus d'actualité.

Sinon, quitte à apprendre de la nouveauté, pourquoi ne pas faire ton noyau d'appli en java et coupler cela avec une interface en javaFX (ou flex ou gwt..)
http://www.sun.com/software/javafx/index.jsp
 
Les interfaces Java ne sont pas forcément moches : il est possible de faire des interfaces qui utilisent les widgets du système d'exploitation, et pas ceux tout moches de Java. De nombreuses applications sont faites en Java et on ne le sait même pas. Et depuis java 1.5 il n'y a plus vraiment de problèmes de lenteurs. Mais je conçois que Swing c'est chiant à utiliser.
Et ce n'est pas vrai que Java n'est pas un langage compilé. C'est quand même compilé, même s'il y a une machine virtuelle.

Concernant le développement, il faut vraiment être masochiste pour compiler en lignes de commandes, et pour programmer dans un éditeur de texte simple. Ce serait comme faire un personnage en 3D dans OpenGL en donnant chaque point à la main, alors que des logiciels de CAO comme 3DSMax existent.
Avec Eclipse, on est vraiment assisté pour tout, c'est très puissant. Et puis il y a des centaines de modules à ajouter pour divers fonctionnalités.
On peut tout faire avec Eclipse : Des validateurs RelaxNG au kit de développement Android, en passant par C++. Souvent je me dis que sans Eclipse (ou équivalent), je serais vraiment bon à rien. Le Java c'est vite prise de tête si on n'est pas aidé pour les try catch, les import, les classpath etc.

En tout cas Pharmacos, j'espère que Java n'est pas ton premier langage de programmation, et que t'as un minimum de bagage en informatique. Avant de commencer par un langage haut niveau comme Java, je pense qu'il est préférable de passer par quelque chose de plus simple.
Et puis en même temps qu'on apprend à programmer en Java, je pense qu'il faut apprendre les bases de l'approche orientée objet, sinon on est vite perdu avec les classes, les objets, les interfaces, etc.