dans le genre, j'ai lu quelque part qu'un joueur de wow consomme autant d'électricité qu'un habitant du Pérou. ![]()
dans code::blocks, il y a une option de compilation pour GCC, -s, définie par "strips all symbols from library"... elle diminue drastiquement la taille des exécutables, mais quelqu'un sait ce qu'elle fait exactement?
" définie par "strips all symbols from library" "
A tout hasard je dirais que ça ne fournit pas les symboles de debug.
j'y ai pensé, mais ils ne parlent pas de debug dans leur très courte description... ![]()
Ca fait la meme chose que "strip".
Lors de la compilation, les fonctions sont expose dans la table des symboles des fichiers objets. Ainsi, tu n'as pas besoin de connaitre l'adresse d'une fonction pour pouvoir l'utiliser, tu as juste beson de connaitre son nom. Lors du linkage, tu va chercher le nom des fonctions dont tu as besoin dans la table des symboles de chaque objet pour transformer les symboles en appel de fonction avec une vraie adresse.
Cependant, le linker conserve la table des symboles pour plein de raison (debuggage, linkage dynamique, generer un dump de pile, ...) strip retire la table des symboles du programme. Dans plein de cas elle ne sert a rien.
Notons, que l'on peut dire directement au compilateur de ne pas generer de symbole pour certaines fonction avec le mots cle static en C et en C++. Une fonction static n'est accessible que depuis le fichier courant. Ainsi, le compilateur sait que tu n'en utilisera pas l'adresse, il peu inliner l'appel de fonction et ne pas generer de symbol.
Cependant, j'ai essayer de stripper quelques gros code recement et je n'ai jamais vu de changement radical de performance. Bien que la taille puisse diminuer.
merci pour l'info, godrik. c'était justement la diminution de la taille de l'exécutable qui m'intéressait... parce qu'elle est plutôt impressionnante, on peut gagner quelque chose comme 70%. je voulais être certain que ça n'aille pas provoquer des effets de bords indésirables... genre, rendre le programme dépendant de librairies externes installées avec le compilateur, et que les autres ne possèdent pas.
Yo yo souhaitant devenir programmeur en web, auriez vous des conseils pour un jeune de 20 ans ?
J'ai abandonné l'école très tôt pour me faire de l'argent aux USA, je fais une remise à niveau scientifique pour acquérir le niveau bac (c'est plutôt facile je trouve mais ça me fait perdre du temps)
Ne souhaitant pas évoluer en France à moyen terme, j'aurais besoin plutôt d'avis de professionnels de la programmation pour me conseiller sur les bons choix à prendre, je lis pas mal les sites comme developpez.net qui sont des références.
Et je me forme surtout par rapport au php, j'aime pas trop mal python
Bah le meilleur choix pour le développement web déjà, c'est Java/J2EE ou à la limite Python, mais pas PHP...
php c'est bien si tu veux apprendre en autodidacte et faire des petits sites sympathiques.
Les gros projets ça reste du Java/J2EE.
Parmi le développement, ce qui payent le plus a l'heure actuelle, c'est le développement web. Et parmi les langages recherché, dans l'ordre cela donne ça :
1)Java/J2EE
2).net
3)Python
4)PHP
Déjà pour une question d'ancienneté. Java est plus performant. PHP est un langage procédurale à la base, qui ne connait le modèle objet que depuis peu.
De plus, PHP est facile à prendre en main, et 9 développeur PHP sur 10 sont des autodidactes. Qui dit autodidacte dit coder n'importe comment sans respecter les différentes règles basiques de la programmation (nom de variables, structure de données, penser à la maintenance et à l'évolution du code...)
Java est bien plus dur à apprendre tout seul et nécessite un "mentor". Du coup, le développeur Java/J2EE connote un code plus "mature" et plus "propre".
Les gros projets (par exemple site des banques) sont tous en Java.
En PHP t'as le site du pizzaiolo de ta rue.
Je caricature, mais globalement c'est ça.
Laisse tomber le PHP pour te mettre aux servlets et aux JSP ![]()
Mais quel ramassis de conneries, sérieusement...
Dans l'agence où je travail, ce sont des sites à plusieurs 10K€ qu'on développe, il suffit d'appuyer son développement sur des outils reconnus et le langage derrière, on s'en cogne. A savoir qu'on est spécialiste Symfony et qu'on fait du CMS sur-mesure. On a rien à envier aux autres agences qui proposent des services similaires, même s'ils écrivent leur code en .net ou autre.
"Qui dit autodidacte dit coder n'importe comment sans respecter les différentes règles basiques de la programmation (nom de variables, structure de données, penser à la maintenance et à l'évolution du code...)" et puis quoi encore ? Je suis auto-didacte et certainement plus à même de suivre des règles, des conventions que les moutons qui ne sont pas foutu de faire autre chose qu'écouter un prof. Quand on est développeur, c'est avant tout par passion et on est loin de tout apprendre le cul sur une chaise devant un tableau. Conclusion, un bon développeur apprend beaucoup seul (avec la doc et aussi l'expérience des autres).
Je sais pertinemment que PHP est loin d'être ZE langage, mais quand on l'utilise bien, il est très performant lui aussi et avant de critiquer un langage, il faut remettre en cause l'interface chaise/clavier.
Enfin, la notoriété d'un langage ne résume en rien sa qualité.
Juste pour troller, Facebook, ce n'est pas en Java, les services Google non plus...par contre, l'un des deux est écrit en PHP.
deepblue Voir le profil de deepblue
Posté le 13 septembre 2011 à 11:42:29 Avertir un administrateur
Je sais pertinemment que PHP est loin d'être ZE langage, mais quand on l'utilise bien, il est très performant lui aussi et avant de critiquer un langage, il faut remettre en cause l'interface chaise/clavier.
Ai-je dis le contraire? J'ai parlé de la connotation d'un langage par rapport à un autre.
Avant de venir au clash, apprendre la définition du terme "connoter" serai pas mal.
De plus effectivement tu peux faire de très bon codes PHP et de très mauvais code JAVA. (D'ailleurs ai-je dis le contraire? Non encore une fois tu comprends de travers).
JAVA est plus performant que PHP c'est un fait et tu le dis toi même. (Que "PHP n'est pas ZE langage" comme tu dis)
"Peu être performant si bien utilisé".
Wè bah comme tous les langages... Peu y'avoir des projets merdiques en JAVA et surpuissant en PHP certes. Cela dit...
"Parlez de la notoriété d'un langage ne fait en rien sa qualité".
Wè bah regarde les offres d'emplois, l'ordre des langages les plus recherché c'est celui que j'ai mis dans mon poste au dessus. Quitte à programmer autant le faire dans le langage ou y'a le plus d'offres..
"je suis auto-didacte et certainement plus à même de suivre des règles, des conventions que les moutons qui ne sont pas foutu de faire autre chose qu'écouter un prof. "
Tu veux une médaille? Sérieux "je suis autodidacte et je code proprement" donc tous les autodidactes code mieux que ceux qui ont appris en suivant des professionnels?
C'est bien, tant mieux pour toi. C'est pas le cas de la majorité qui apprendre au collège sur le siteduzéro et qui après en post-bac s'en tamponne des cours car ils savent déjà faire. J'aime l'argument idiot...
"Je suis une fille et je conduis mieux que 90% des mecs".
Donc dire "les garçons conduisent mieux que les filles" est faux? (c'est du troll hein^^)
Qu'est-ce que ça peu m'énerver les gens qui comprennent les messages à moitié et qui viennent troller...
Bref pour conclure je vais résumer ton message en te citant : "Mais quel ramassis de conneries, sérieusement... "
Et tiens, j'ai oublié de repondre à ton troll final.
Facebook est codé en PHP wè. Tu peux me rappeler à quoi devait servir Facebook à la base, ainsi que son budget?
Ha oui, c'était un petit truc qui devait servir à répertorier les étudiants de Harvard.
Bref un petit truc (site du pizzaiolo du coin) qui, part un concours de circonstances c'est retrouvé énorme.
Maintenant les trucs énormes, (Banques/assurrances) ils sont codés en quoi à ton avis?
Java est ce qu'il y'a de plus prisés c'est un fait. Mais bon. Monsieur bosse dans une boite qui aime le PHP donc PHP est le meilleur langage du monde.
Je pense que le point de deepblue est que le langage n'a rien a voir avec la qualite du code qui est ecrit. Si c'est kevin 8 ans qui ecrit son site en J2EE, bah ca va etre moche et impossible a maintenir.
Les problemes de performance et de maintenabilite sont premierement un probleme de competence des developpeurs et ensuite un probleme de technologie.
La connotation des langages ont s'en fout completement. C++ est conotter avec "impossible a maintenir et a debugger", alors que quand les developpeurs sont competents, ca ne pose pas de probleme. De la meme facon Java est repute "super facil a maintenir avec des lapins roses qui dancent tout nue sur la plage". Et quand tu te recuperes un bon gros morceau de java epais code a 3H du matin, bah c'est impossible a comprendre.
Ce qui est important c'est d'avoir une "code base" (quel est le terme francais) bien ecrite et bien documentee.
C'est aussi stratégique comme choix. Pour tout ce qui est site de contenu, CMS, ECommerce et autre, PHP va très bien et est très fourni dans ce domaine.
Il a aussi l'avantage d'être facile à mettre en oeuvre et peu coûteux à héberger, contrairement à java et spécialement j2ee.
Je déteste PHP, ce langage me fout proprement la gerbe mais de là à dire que c'est juste bon à faire le site du club de pétanque du coin, faut quand même pas exagérer.
Pour moi, celui qui choisit java pour faire un site de contenu, il s'emmerdera beaucoup plus que nécessaire. En revanche, s'il veut une grosse application web, ça peut se justifier mais le prix sera pas le même.
Godrik, je n'ai jamais dis qu'un langage donnai un code plus propre qu'un autre. Ca c'est ce qu'a compris Deepblue...
J'ai parlé de la connotation de ces 2 langages. Apèrs bien évidemment, tu peux avoir de très bon code PHP, et de très mauvais code Java^^
Ca n'empêche que c'est un fait, Java est connoté plus positivement que PHP, et de surcroit dans le développement web, il y'a plus d'offres d'emploies Java que PHP.
La connotation n'est absolument quelque chose qu'il faut "laissez tomber"
Je m'explique, soit la situation suivante :
Nous avons ici quelqu'un qui souhaite du développement web, qui commence et qui demande des conseils.
De fait, je me pose la question suivante :
POURQUOI dans cette situation, ne pas lui conseiller de faire du Java plutôt que du PHP?
Quitte à apprendre un langage autant apprendre celui qui a la meilleur réputation et qui réponds le plus à la demande non?
Je veux dire, admettons que PHP soit aussi performant que Java théoriquement.
Dans les faits, Java est connoté plus positivement, et permet de répondre à plus d'offres d'emploi.
Par conséquent, un développeur qui débute et qui veux faire du développement web, le meilleur des conseils, c'est de lui dire d'apprendre le Java plutôt que PHP. Quittes à switch plus tard si un boulot qui lui plait doit se faire en PHP.
Car, PHP est facile a prendre en main. Et passer de Java/J2EE à PHP ça se fait relativement facilement. De PHP à Java/J2EE, ça me semble quand même bien plus dur.
Skip, bien évidemment quand je dis PHP pour le site du pizzaiolo du coin, c'est un troll et une caricature
Mais oui, PHP est plus facile, plus attrayant et peux très bien faire l'affaire. Ca n'empèche que Java reste la rolls royce du développement web.
Sérieusement, je ne vois absolument pas en quoi il est "judicieux" quand on part de rien et qu'on veut faire du développement web de commencer par faire du PHP.
C'est sur que c'est bien de savoir qu'il n'y a pas que PHP dans la vie. Mais en meme temps, le developpement web ce n'est pas que des langages cote serveurs. C'est aussi tout un tas de technologies cote clients et des protocoles reseaux. Ces choses la sont independantes de la technologie qui est utilisee cote serveur. Et finalement, que le backend soit en java, en php, en perl, en RoR ou en C n'importe pas tant que ca.
Apres avoir plus d'une corde a son arc est ce qui fait un bon developpeur.
Exacte.
Ça n'empêche que (je me répète) mais pour commencer, c'est beaucoup plus judicieux de se lancer dans le Java/J2EE plutôt que dans le PHP.
Si tu maitrises Java, tu swithes assez rapidement et facilement vers PHP, qui est plus facile à prendre en main. L'inverse, c'est plus dur.
On ne parle pas ici du cas de développeur expérimenté qui se demande si java est mieux que PHP.
Mais dans le cas de quelqu'un qui souhaite vers du développement web, et qui demande par ou commencer.
Ce à quoi je réponds : "commence par le Java/J2EE"
Tu trouveras un emploie plus facilement, et tu pourras apprendre facilement le php plus tard".
Les langages c'est comme les goûts et les couleurs vous savez. ^^
Perso oui je code en PHP parce que je l'ai effectivemment appris en premier et que jusqu'a présent on ne m'a pas demandé de trucs impossible à faire en PHP.
Après je suis content quand même de l'exemple Facebook, pas dans le sens "PHP est le meilleur" mais plutôt pour bien montrer qu'un langage consideré comme merdique par certains etc peut finalement se révéler potable, après si vous n'aimez pas on va pas vous blâmer c'est votre droit, pareil pour le gars qui code en procédural ou l'autre en objet, la programmation c'est avant toute chose une bonne part de logique, et si on vous fout une logique que vous ne comprenez et maîtrisez pas, ça se fera ressentir que se soit PHP ou Java ou autre.
Sinon au niveau de PHP son "avantage" qui se transforme vite en inconvénient pour ma part; beaucoup trop permissif, combien de sites se font pirater parce qu'un gars peut injecter du code là où il devrait y avoir un chiffre, bien sûr on peux le faire mais si on était obligé, ça éviterai beaucoup de soucis par la suite, et le bon développeur vérifiera toujours ses variables de toute façon (exemple à la con peut être mais c'est du moins ce que j'ai pu remarqué). Donc oui tu auras du très bon comme du n'importe quoi.
Et même au sein du même langage tu as encore X possibilités, CMS, frameworks etc.
Mais...
Ce que vous vous comprenez pas, c'est que le débat n'est pas de savoir si PHP est merdique ou non!
Le débat il est la, un gars débute dans le développement web et demande des conseils. Le meilleur conseil a lui donné c'est de commencer par Java/J2EE.
Bref, je vais répondre a ton message :
"Les langages c'est comme les goûts et les couleurs vous savez. ^^ "
Bin en l'occurrence non. Suffit d regarder les offres d'emplois, Java a clairement l'avantage. C'est pas que PHP soit mauvais, c'est qu'on rechercher plus de développeur Java que de développeur PHP pour faire du web. (Et même PHP est en plus, dérriere .net et python dans le développement web).
"Après je suis content quand même de l'exemple Facebook, pas dans le sens "PHP est le meilleur" mais plutôt pour bien montrer qu'un langage consideré comme merdique par certains etc peut finalement se révéler potable,"
Oui c'est la preuve que c'est possible de faire des gros trucs, je ne dis pas le contraire. Cependant, n'oubliez pas que facebook , s'est un gros trucs suite à un concours de circonstances. A la base, ca devait rester un petit truc interne à Harvard. Google il me semble que c'est du .net, tout ce qui est banque/assurance c'est du java.
"Sinon au niveau de PHP son "avantage" qui se transforme vite en inconvénient pour ma part; beaucoup trop permissif, combien de sites se font pirater parce qu'un gars peut injecter du code là où il devrait y avoir un chiffre"
C'est pourquoi il y'a bien plus d'offres Java,.net ou Python que PHP.
En meme temps, on recrute tout le monde et n'importe qui pour faire du java/j2ee... J'ai arrete de compter le nombre de pote a moi qui n'ont jamais fait de programmation avant qui ont ete recrute et "forme" a java en 2 semaines...
Perso, je pense que ce qui est important est de comprendre les principes sous jacent a ce que l'on fait et que la technologie en particulier n'est pas importante. Une fois que tu as compris ce qui doit passer sur les canaux, tu plug la technologie d'abstraction a la mode et roule ma poule...
C'est bien plus compliqué que ça...