Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Programmer sur Mac

79 réponses
Avatar
gktz
Bonjour,

À propos de rien, je me suis demandé l'autre soir si je serais capable
d'apprendre un langage de programmation, histoire de développer quelque
chose sur un Mac.
C'est une question purement académique pour le moment, vu que le seul
langage dont j'ai vaguement tâté est le basic, il y a plus de 20 ans. :)

Dans l'absolu, j'imagine que je pourrai commencer quelque chose, mais je
me suis rendu compte que je ne saurais pas quoi faire: à vue de nez, il
existe déjà des programmes pour plus ou moins tout ce que je voudrais
faire avec un ordinateur, et ils fonctionnent suffisament bien pour que
je n'aie pas à les réinventer.

Parmi ceux qui développent ici, et surtout ceux qui le font pour
eux-même plus que pour leur travail, que faites-vous? Accepteriez-vous
de me/nous donner une idée du genre de programmes que vous écrivez?

Merci d'avance!


Greg

--
Another kind of North

[No ficus = no spam]

9 réponses

4 5 6 7 8
Avatar
Wykaaa
Le 22/05/10 16:58, Greg Kretz a écrit :
Wykaaa wrote:

L'avantage de Java c'est qu'il est multiplateforme et que mes
applications fonctionnent sous Windows, Mac OS, Linux, BSD, Solaris, ou
tout autre environnement qui a un support Java (en clair une JVM : Java
Virtual Machine).



L'idée est intéressante, ça ouvre des perspectives.
Par contre, je me trompe ou Java n'a pas toujours bonne réputation?
(Je ne sais plus trop ce qui m'a donné cette impression)



C'est quoi une bonne ou mauvaise réputation pour un langage ?
On dit vraiment n'importe quoi à propos de Java.
C'est comme pour Python, il y a les "violemment" pour et les
"violemment" contre.
Je ne comprends pas pourquoi certains langages attisent autant les
querelles.
Au final tout dépend de ce que l'on veut faire, sur quelle plate-forme,
avec lequel on se sent le plus à l'aise, etc.
Mais il semble, qu'en ce bas monde, le dogmatisme l'emporte sur le
pragmatisme...


Je précise que je fais ceci pour mon plaisir et qu'il n'y a aucun but
commercial. Je suis retraité.



Impec. C'est tout à fait mon état d'esprit. :)
(même si bon, il faudra attendre encore un chouille pour la retraite)


Greg



Voilà. Donc le dogmatisme, dans ce cadre, on s'en fiche un peu ;-)
Avatar
NicolasAlex.Michel.remove
Greg Kretz wrote:

Wykaaa wrote:

> L'avantage de Java c'est qu'il est multiplateforme et que mes
> applications fonctionnent sous Windows, Mac OS, Linux, BSD, Solaris, ou
> tout autre environnement qui a un support Java (en clair une JVM : Java
> Virtual Machine).

L'idée est intéressante, ça ouvre des perspectives.
Par contre, je me trompe ou Java n'a pas toujours bonne réputation?



La reputation que je connais, et que je colporte parce que j'ai pu
la vérifier occasionnellement, c'est que le résultat est souvent lent.

Un certain dev m'a dit qu'il est possible d'écrire un code qui pulse.
C'est peut-être vrais, mais de base passer par une machine virtuelle
pour exécuter du code, forcément ça peut pas aller aussi vite que en
dirrect.

--
Nicolas Michel
Avatar
gktz
Wykaaa wrote:

Le 22/05/10 16:58, Greg Kretz a écrit :

> Par contre, je me trompe ou Java n'a pas toujours bonne réputation?
> (Je ne sais plus trop ce qui m'a donné cette impression)

C'est quoi une bonne ou mauvaise réputation pour un langage ?



Sais pas, ou plutôt pas assez, c'est pourquoi je demande aux érudits.

J'ai retrouvé qui m'avait donné cette impression: le type en question a
fait la même tête que quand je lui avais demandé si c'était une bonne
idée de faire mes pages html sous Word. :)
(Véridique. Depuis je fais avec autre chose)


On dit vraiment n'importe quoi à propos de Java.
C'est comme pour Python, il y a les "violemment" pour et les
"violemment" contre.
Je ne comprends pas pourquoi certains langages attisent autant les
querelles.
Au final tout dépend de ce que l'on veut faire, sur quelle plate-forme,
avec lequel on se sent le plus à l'aise, etc.



En plein, et les réponses obtenues m'aident beaucoup à me faire une
idée.


Mais il semble, qu'en ce bas monde, le dogmatisme l'emporte sur le
pragmatisme...



Ne m'en parle pas: on frôle la crise cardiaque quand je me branche sur
le réseau du travail depuis la maison. Merci Citrix, maintenant j'ai
Outlook et tout le toutim en direct, on dirait vraiment du Windows. :)


Greg
--
Another kind of North

[No ficus = no spam]
Avatar
gktz
Nicolas Michel wrote:

Greg Kretz wrote:

> Par contre, je me trompe ou Java n'a pas toujours bonne réputation?

La reputation que je connais, et que je colporte parce que j'ai pu
la vérifier occasionnellement, c'est que le résultat est souvent lent.



Bon à savoir, merci.


Greg

--
Another kind of North

[No ficus = no spam]
Avatar
Wykaaa
Nicolas Michel a écrit :
Greg Kretz wrote:

Wykaaa wrote:

L'avantage de Java c'est qu'il est multiplateforme et que mes
applications fonctionnent sous Windows, Mac OS, Linux, BSD, Solaris, ou
tout autre environnement qui a un support Java (en clair une JVM : Java
Virtual Machine).


L'idée est intéressante, ça ouvre des perspectives.
Par contre, je me trompe ou Java n'a pas toujours bonne réputation?



La reputation que je connais, et que je colporte parce que j'ai pu
la vérifier occasionnellement, c'est que le résultat est souvent lent.

Un certain dev m'a dit qu'il est possible d'écrire un code qui pulse.
C'est peut-être vrais, mais de base passer par une machine virtuelle
pour exécuter du code, forcément ça peut pas aller aussi vite que en
dirrect.



Je ne veux pas entrer dans les querelles de langage mais juste faire
part de mon expérience ou d'expériences que j'ai côtoyées.
Java est utilisé dans certaines applications militaires et la lenteur
est prohibée. Par exemple, la mise à jour de toutes les positions, sur
une carte d'état-major informatisée, des véhicules en temps réel sur un
"théâtre d'opérations" à partir des messages qu'ils envoient (ce qu'on
appelle la COP : Common Operational Picture). Voir ici :
http://classic.eads.net/1024/fr/businet/defence/dcs/solutions/c4i/joint_c3i/jocop/jocop%20Copy.html
Ce que j'ai constaté, c'est qu'il y a des façons de programmer en Java
qui font que ça va être très lent et d'autres qui font que c'est aussi
rapide que du C++ (aussi beaucoup utilisé dans les applications
militaires).Mon avis personnel c'est que la réputation de lenteur de
Java date de ses débuts et qu'aujourd'hui, je vois des programmes Java
qui "tournent" aussi vite que dans d'autres langages.
Les techniques de machines virtuelles (pas seulement Java mais d'autres
aussi comme pour Lisp) se sont grandement améliorées depuis quelques années.
J'ai vu du code qui "pulsait grave" en Java, mais il faut des
programmeurs expérimentés (par exemple, pour les animations, technique
de "double buffering"). Aujourd'hui, beaucoup de jeunes programmeurs ne
savent même pas ce qui se passe quand on fait un new et n'ont qu'une
vague idée de ce qu'est un ramasse-miette, alors évidemment, ça va être
très lent...
Je ne sais pas à quoi c'est dû. L'enseignement ? la paresse ?
Quoi qu'il en soit, je persiste à penser, mais je suis peut-être un
"vieux croûton", qu'on ne peut pas programmer, même et surtout dans des
langages de haut niveau, sans avoir de connaissances sur ce qu'est
réellement un processeur, sa mémoire, etc. bref ce qu'est un ordinateur.

Une phrase que j'ai beaucoup répétée en formation à la programmation
c'est que ce n'est pas parce qu'on connaît tous les mots du dictionnaire
qu'on sait écrire des romans. C'est pareil pour la programmation...
Avatar
Wykaaa
Et pour illustrer un peu plus ce que je disais précédemment (sur
l'utilisation de Java dans le domaine militaire) :
http://netbeans.dzone.com/news/war-fighter-netbeans-platform

Et ça, ça vaut ce que ça vaut... :
http://blog.dhananjaynene.com/2008/07/performance-comparison-c-java-python-ruby-jython-jruby-groovy/
Avatar
Franck
On 05/06/2010 17:43, Wykaaa wrote:
Quoi qu'il en soit, je persiste à penser, mais je suis peut-être un
"vieux croûton", qu'on ne peut pas programmer, même et surtout dans des
langages de haut niveau, sans avoir de connaissances sur ce qu'est
réellement un processeur, sa mémoire, etc. bref ce qu'est un ordina teur.



Je suis d'accord sur ce point, mais malheureusement (j'ai régulièreme nt
des stagiaires bac+2 ou bac+5 en informatique) dans la majorité des cas
le fonctionnement "interne"/"bas niveau" d'un ordinateur est à peine
abordé voir totalement ignoré (notamment pour les bac+2).

Comme ils ne font que du Java/C# ou autre langage où la gestion mémoi re
est "transparente", ils n'ont par exemple pas la moindre idée de commen t
fonctionnent malloc/free en C... Alors que la réimplémentation de ce
genre de fonction a fait partie d'un de mes premiers TP de C à l'époq ue
(c'était en 1994).

Et ne parlons même pas de la programmation en assembleur ;)
Avatar
Erwan David
Franck <franck+ écrivait :


Comme ils ne font que du Java/C# ou autre langage où la gestion mémoire
est "transparente", ils n'ont par exemple pas la moindre idée de comment
fonctionnent malloc/free en C... Alors que la réimplémentation de ce
genre de fonction a fait partie d'un de mes premiers TP de C à l'époque
(c'était en 1994).



Alors que même dans ces langages, il y a de la gestion mémoire à
faire. Bien sûr on ne désalloue pas explicitement, mais il faut bien
prendre l'habitude de déréférencer les objets qui ne sont plus utilisés,
que le système puisse les libérer... Il est très facile de faire une
fuite mémoire en Java...

--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
Avatar
Paul Gaborit
À (at) Mon, 07 Jun 2010 09:52:08 +0200,
Erwan David écrivait (wrote):

Franck <franck+ écrivait :


Comme ils ne font que du Java/C# ou autre langage où la gestion mémoire
est "transparente", ils n'ont par exemple pas la moindre idée de comment
fonctionnent malloc/free en C... Alors que la réimplémentation de ce
genre de fonction a fait partie d'un de mes premiers TP de C à l'époque
(c'était en 1994).



Alors que même dans ces langages, il y a de la gestion mémoire à
faire. Bien sûr on ne désalloue pas explicitement, mais il faut bien
prendre l'habitude de déréférencer les objets qui ne sont plus utilisés,
que le système puisse les libérer... Il est très facile de faire une
fuite mémoire en Java...



Même sans fuite mémoire, il est souvent plus efficace d'appeler soi-même
le ramasse-miettes au bon moment plutôt que d'attendre qu'il se
déclenche tout seul au mauvais moment. Selon l'usage, on peut aussi
tester différentes stratégies d'allocation de la JVM.

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/&gt;
4 5 6 7 8