Java
C#
C++
C
Visual Basic .NET
Visual Basic 6 (et antérieurs)
VBA (Office)
Delphi
Python
Perl
ADA
Pascal
Ruby
BASIC
WinDev
PowerBuilder
Cobol
Fortran
Langages fonctionnels (OCaml, Haskell, F#, Scheme, Erlang...)
Objective-C
Autres (précisez)
Sans opinion
Pas de solution, pas de probleme
Une réponse utile (ou +1) ->
Une réponse inutile ou pas d'accord -> et expliquer pourquoi
Une réponse à votre question
Justement, quand j'étais en cours, on touchais à tout, manipulais des concepts plus que des langages, avec des commentaires style "là vous aurez plus de facilité pour faire ça ou ça".
Il n'y a que notre prof de programmation fonctionnelle et symbolique qui disait "Le LISP, il n'y a que ça de vrai ! Vous pouvez tout faire vite et bien, et rapide, et sûr, et...."
En fait, je n'ai pas trollé puisque si tu avais inclus les lignes suivantes tu aurais inclus ma remarque sur les implémentations. Merci de prendre en compte le bémol du point en question.
Cela étant dit, ces implémentations ne sont pas aussi prévisibles que du C ou du C++, même si c'est "largement mieux". Pour en avoir utilisé je vois bien qu'il y a une différence dans la prévisibilité.
Que ce soit il y a 10 ans ou aujourd'hui, on a toujours des contraintes difficiles dans certains domaines. Dire que c'est un fait d'il y a 10 ans n'a pas de valeur à mon sens.
En particulier :
Si tu me donnes un exemple d'application temps réél qui tourne en Java, je m'inclinerai avec plaisir. (sans sous entendu ambigu )Par exemple, ça permettrait de découvrir que java a un GC temps réel, qui ne cause pas de latence gênante pour pour les applications en question (hé non, tous les GC ne sont pas des "stop the world"...).
Parceque jusqu'ici toutes les applications que je connais qui ont utilisé cette implémentation n'atteignent pas le but escompté. Peut être que je me trompe, mais je suis pret à apprendre.
Et je n'ai jamais dit que Java était "plus lent" que quoi que ce soit.
Ce n'est pas une question de grosse ou de petite application, mais plutot de prévision de comportement hardware et de facilité d'expression. En fait, que ce soit dans le jeu ou autre, on peut ou pas utiliser l'un ou l'autre selon le contexte (plateforme cible + compétences à disposition) et le temps qu'on a.JAVA: Facile d'accès mais pas très optimale pour de grosses application.
C++: Difficile d'accès mais optimale pour les grosses applications ou jeux.
C'est ce qui rends ce genre de discussion prétexte à troll : sans contexte donné, tout ce qu'on raconte n'as pas de sens. Quand on a le nez fourré longtemps dans un language qui nous permet d'avancer dans le problème que l'on résouds tous les jours, on a tendance à penser qu'on pourrait se servir du même language pour résoudre tous les problèmes.
Ce qui est manifestement faux.
Et c'est tant mieux!
Il n'y a que notre prof de programmation fonctionnelle et symbolique qui disait "Le LISP, il n'y a que ça de vrai ! Vous pouvez tout faire vite et bien, et rapide, et sûr, et...."
Les fanboys ne sont pas crédibles, quel que soit leur niveau d'expertise. Il n'y a que les polyglotes pour comprendre ça.
Donc il y a pas de cas d'utilisation pour un langage plus qu'un autre?
Par exemple, on peut dire que php est voué au développement web.
Pour java et c++ y a pas une sorte de usecase?
Pas de solution, pas de probleme
Une réponse utile (ou +1) ->
Une réponse inutile ou pas d'accord -> et expliquer pourquoi
Une réponse à votre question
Qui dit "language de programmation généraliste", dit "tente de résoudre des problèmes généraux".
Au final, c'est juste qu'il y a des domaines qui ne peuvent pas être atteints par l'implémentation de certains languages.
En fait, le plus dur pour un programmeur, c'est peut être d'arriver à comprendre pourquoi un language aurait une tendance ou pas à l'aider à résoudre un problème particulier, ou une catégorie de problème. Ca requiert beaucoup d'expérience (que je ne prétends pas avoir).
Savoir pourquoi on choisit un language en particulier pour résoudre un problème particulier est une première étape vers heu... la sagesse?
Enfin bref, le contexte est plus fort que tout.
Bah. On entend la même chose au sujet de la difficulté à gérer la mémoire en C++. Alors que la vraie difficulté est de trouver des cours à la page qui montrent comment la chose peut devenir aisée.
Sinon je rejoins le point qui a été dit : il est plus facile de lancer une horde de développeurs peu formés/consciencieux dans des langages où ils pourront débroussailler rapidement les trucs à réaliser, et envoyer les pompiers à la fin pour régler les problèmes de logique et de perf pour les cas d'utilisation qui sont critiques pour le client. Le C++ est assez peu adapté à cela. Et je ne serai pas surpris que de la migration C++->Java, on assiste de plus en plus à Java->Python pour exactement la même raison.
@Alain, je suis principalement un développeur C++, et je vois très bien l'intérêt du runtime. C'est pour moi un des plus grandes force de l'écosystème Java. C'est le langage (Java) même que je n'aime pas pour diverses raisons liées à son bridage.
Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
J'aime le langage java surtout pour son côté verbeux. Quand je reprends du code, j'ai l'impression que tout est clair.
Quand je tombe sur du C++ et que je vois des fonctions du style :
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y = number; i = * ( long * ) &y; i = 0x5f3759df - ( i >> 1 ); // what the fuck? y = * ( float * ) &i; y = y * ( threehalfs - ( x2 * y * y ) );
Ça me déprime... Après je sais que je ne fais pas l'effort de me mettre au C/C++ mais comme me l'a toujours appris mon prof d'info : "Un bon informaticien est con et fainéant!".
Par contre sa phrase date de 10 ans, faudra peut être que je revoie sa théorie
Moi quand je vois un code comme ça, la première chose que je me demande, c'est "à quoi servent toutes ces variables ?"
Ça ou alors je me demande où sont passés les commentaires...
Mais si tu veux du vrai code verbeux, il faut travailler en VBx
Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Public Shared Function UneFonction(ByVal parametre As Integer, ByRef parametreParReference) As Boolean Dim maVariable As Boolean For i As Integer = 0 To 10 Next 'ou Next i si on veut faire encore plus verbeux :D UneFonction = True ' Ou Return True End Function
Je trouve que tu peux pas faire plus explicite... c'est même trop... D'ailleurs j'aime pas VBx
Personnellement je trouve les langage à haut niveau moins explicite que les langages bas-niveau.
J'ai certainement cette vision la car j'ai commencé par le bas niveau pour remonter vers les hautes sphère des langages
Pas de solution, pas de probleme
Une réponse utile (ou +1) ->
Une réponse inutile ou pas d'accord -> et expliquer pourquoi
Une réponse à votre question
Quelle connerie... Déjà ce code c'est plus du C que du C++ et ca n'a rien d'un code "habituel". On trouve pas ca à tout les coin de rue.
Si vous aviez un peu de culture vous auriez reconnu la fast inverse sqrt de Carmack.
Et tout les langages permettent d'écrire quelque chose d'illisible, mais seul le C permet d'avoir des fonctions aussi rapides.
Ici le problème n'est pas le language mais un mix entre la qualité du développement (pauvre puisqu'on ne capte rien) et le niveau d'abstraction (a priori très bas, proche de la machine). - en réalité c'est le niveau d'abstraction qui rends la lecture difficile, parceque ce code marche et est efficace et est nécessairement optimizé
Tu pourrais écrire quelque chose de similaire en Java à ce que je sache, sauf pour ce qui manipule des pointeurs évidemment.
Dans tous les cas, ce n'est pas une raison pour basher un language en particulier parcequ'on a vu du code difficile à lire écrit dans ce language.
Une fois initié aux voies de Python, j'ai été très surpris de voir un développeur écrire du Python comme si il faisait du C bas niveau. Très difficile à lire et très très très verbeux pour pas grand chose.
Ca marchait. Si Python permet a un développeur d'écrire du mauvais code, est-ce que Python est en faute?
Pas de solution, pas de probleme
Une réponse utile (ou +1) ->
Une réponse inutile ou pas d'accord -> et expliquer pourquoi
Une réponse à votre question
C'est au propriétaire de penser à changer les pneus.
Ou d'adapter sa conduite à son handicap.
Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
3)le temps de comprendre toutes les exigences, le projet est terminé
4)le temps de terminer le projet, les exigences ont changé
Et le serment de non-allégiance :
Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.
Pas de solution, pas de probleme
Une réponse utile (ou +1) ->
Une réponse inutile ou pas d'accord -> et expliquer pourquoi
Une réponse à votre question
Pour donner un contre-exemple extrême (et "fun") : certains languages sont fait pour rendre le programmeur totalement improductif. Par exemple BrainFuck, Malebolge ou encore Goto++ (voir le top de cette liste avec des exemples : http://99-bottles-of-beer.net/toplist_esoteric.html )
Hi !
Vous avez dit langage préféré !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager