Kotlin 1.2 est disponible : cette nouvelle version permet de partager le code entre la JVM et JavaScript
Et améliore de 25 % les temps de compilation

Le , par Michael Guilloux, Chroniqueur Actualités
L'équipe JetBrains vient de publier une nouvelle version majeure de son langage de programmation Kotlin : la version 1.2. Rappelons-le, Kotlin est un langage de programmation orienté objet et fonctionnel, avec un typage statique qui permet de compiler pour la Machine virtuelle Java (JVM) et JavaScript. Il est également un langage de choix pour le développement Android. Sa première version officielle, Kotlin 1.0, a été publiée en février 2016 et la version 1.1 en mars dernier.

Kotlin 1.2 est donc la deuxième version majeure pour cette année, et est présenté par l'équipe JetBrains comme une grande avancée vers son objectif de permettre l’utilisation de Kotlin dans tous les composants d’une application moderne. « Avec Kotlin 1.1, nous avons fourni le support officiel de JavaScript comme cible de déploiement, permettant ainsi de compiler Kotlin en JS pour une exécution dans le navigateur », expliquent les développeurs du langage. « Avec Kotlin 1.2, nous ajoutons la possibilité de partager le code entre la JVM et JavaScript. Vous pouvez désormais écrire une seule fois la logique métier de votre application et la réutiliser dans toutes les couches de votre application — le backend, un navigateur frontend et une application mobile Android. » L'équipe JetBrains dit également travailler sur des bibliothèques favorisant la réutilisation du code, comme une bibliothèque cross-platform de sérialisation.

La principale nouveauté dans Kotlin concerne donc les projets multiplateformes, mais il y a aussi des gains de performance pour la compilation, ainsi que d’autres améliorations du langage et de la bibliothèque standard.

Projets multiplateformes

Un projet multiplateforme vous permet de construire plusieurs couches de votre application — backend, frontend et App Android — depuis la même base de code. Ce type de projet contient à la fois des modules communs, qui contiennent du code indépendant de la plateforme, et des modules plateforme, qui contiennent le code spécifique à une plateforme (JVM ou JS) et qui peuvent utiliser des bibliothèques de cette plateforme. Kotlin 1.2 vous permet donc d'appeler du code plateforme depuis un module commun.


Comme cela a été également mentionné précédemment, JetBrains travaille sur une série de bibliothèques communes pour vous permettre de déplacer plus de code vers des modules communs. Il s’agit notamment de :

  • kotlin.test, qui est inclus par défaut dans Kotlin 1.2 et vous permet d’écrire vos tests une seule fois et de les exécuter à la fois dans la JVM et en JS ;
  • kotlinx.html, qui supporte un rendu isomorphique — le même code produit du HTML en backend et en frontend ;
  • kotlinx.serialization, qui permet de sérialiser facilement vos objets Kotlin entre les différentes couches de votre application, en utilisant JSON ou ProtoBuf comme format de sérialisation.

Il est important de préciser que les projets multiplateformes sont actuellement disponibles en tant que fonctionnalité expérimentale. Cela veut dire que la fonctionnalité peut être utilisée, mais il est possible que sa conception soit modifiée dans la prochaine version de Kotlin. Dans ce cas, JetBrains assure qu’il fournira aux développeurs des outils de migration.

Performances de compilation

Kotlin 1.2 vient avec des optimisations pour les performances du compilateur. JetBrains dit avoir amélioré les temps de compilation de 25 % par rapport à Kotlin 1.1, et prévoit d’autres améliorations significatives qui seront introduites dans les mises à jour Kotlin 1.2.x.

Autres améliorations du langage et de la bibliothèque standard

JetBrains a également réalisé des améliorations ciblées du langage et de la bibliothèque standard. Il s'agit entre autres de :

  • une syntaxe plus concise pour transmettre plusieurs paramètres à une annotation (array literals) ;
  • le support de lateinit sur les propriétés top-level et les variables locales, ainsi que la vérification de l’initialisation effective d’une variable lateinit ;
  • des smart casts plus évolués et une amélioration de l’inférence de type dans certains cas ;
  • la compatibilité de la bibliothèque standard avec les restrictions de séparation de package introduites par Java 9 ;
  • un nouveau package kotlin.math dans la bibliothèque standard ;
  • de nouvelles fonctions dans la bibliothèque standard pour travailler avec les séquences et les collections, comprenant notamment une série de fonctions pour séparer une collection ou une séquence en plusieurs groupes de taille définie.

Kotlin : une adoption croissante dans la communauté des développeurs et éditeurs

Comme nous l’avons déjà mentionné, Kotlin est maintenant un langage officiel pour le développement Android, avec un support inclus dans Android Studio 3.0. Comme conséquence, JetBrains note que Kotlin est déjà utilisé dans plus de 17 % des projets sous Android Studio 3.0, y compris dans des applications des startups les plus actives et des entreprises du Fortune 500.

Du côté serveur, il faut également noter que Spring Framework 5.0 a été publié avec de nombreuses fonctionnalités de support de Kotlin, et le framework événementiel pour la JVM Vert.x supporte Kotlin depuis la publication de la version 3.4.0. Par ailleurs, Gradle est désormais fourni avec le support d’un DSL Kotlin, et le projet Gradle Kotlin DSL s’approche rapidement de la publication de sa version 1.0.

JetBrains explique que depuis la sortie de Kotlin 1.1 en mars de cette année, l’adoption du langage a connu une croissance très importante dans le monde. L'intérêt croissant pour Kotlin s'est confirmé récemment à la première conférence internationale KotlinConf qui a réuni environ 1200 participants à San Francisco les 2 et 3 novembre.

Kotlin 1.2 étant disponible, vous pouvez l'essayer en ligne à l'adresse try.kotlinlang.org ou directement dans vos IDE :
  • sous Maven, Gradle et npm : utilisez 1.2.0 comme numéro de version pour le compilateur et la bibliothèque standard ;
  • sous IntelliJ IDEA : utilisez la version 2017.3 qui contient Kotlin 1.2. Pour les versions précédentes, installez ou mettez à jour le plugin Kotlin plugin à la version 1.2 ;
  • sous Android Studio : installez ou mettez à jour le plugin depuis Plugin Manager ;
  • sous Eclipse : installez le plugin en utilisant Marketplace.

Il faut noter que le compilateur en ligne de commande peut être téléchargé depuis la page GitHub sur les notes de version. En ce qui concerne la compatibilité, avec Kotlin 1.2, le langage et la bibliothèque standard assurent la compatibilité ascendante. Cela veut dire que ce qui compilait et s’exécutait dans les versions 1.0 et 1.1 devrait continuer à fonctionner avec la version 1.2. Pour aider les équipes de grande taille à effectuer la mise à jour de leur code progressivement, l'équipe JetBrains fournit aussi des options de compilateur qui désactivent les nouvelles fonctionnalités.

Sources : Blog JetBrains, Nouveautés dans Kotlin 1.2

Et vous ?

Utilisez-vous Kotlin ? Si oui, avec quel IDE ?
Que pensez-vous des nouveautés de Kotlin 1.2 ?
Qu’attendez-vous encore du langage ?

Voir aussi :

Android Studio 3.0 est disponible avec le support de Kotlin, plus de fonctionnalités Java 8 et bien plus
Développement Android : Kotlin gagnerait du terrain au détriment de Java, et Realm prédit qu'il sera le plus utilisé fin 2018
Classement Tiobe : Kotlin, le langage pour JVM entre dans le top 50, et pourrait connaître la même ascension rapide que Swift, selon certains


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de ilapasle25 ilapasle25 - Inactif https://www.developpez.com
le 29/11/2017 à 21:19
Je connais pas Kotline mais j'ai pas envie connaitre. Java marche et marchera toujours bien, pourquoi changer ?
Avatar de nhugodot nhugodot - Membre du Club https://www.developpez.com
le 08/12/2017 à 8:26
Kotlin, sans e, merci.

Qu'un langage puisse tourner sur 2 VM différentes, Java et ES (arrêtons de parler de JS svp...), wow! On a aujourd'hui 3 "terminaux" cibles, le web, Android et iOS, et on aimerait effectivement n'avoir qu'un code...: ES pour les SPA utilisant WebView mais plus lent que du natif, PWA (Ionic 3...) bientôt si Apple enfin ne fait pas d'abus de quasi monopole, WebAssembly (WASM) idem si Apple veut bien, ES avec React Native ou NativeScript ou mieux, C# avec MS Xamarin, hybrides quasi natifs, ou ce nouveau Kotlin pour Web et Android. (Quid de Dart sur framework Flutter pour Android et iOS?). Ca commence à faire beaucoup de solution et de types d'hybridations, un tableau serait utile pour éclaircir le présent et futur proches...
Et le futur d'Android, c'est FuschiaOS avec les langages C, C++, Rust, Go, Python et Swift supportés, mais pas ES ni Java, soit justement... pas Kotlin, pourtant désormais supporté officiellement par Google pour son Android actuel!!! Allez comprendre...

On sera in fine drivé par le chaînon faible, comme JS/ES a fini sur les serveurs (Node) à défaut des langages sérieux serveurs sur le navigateur: Apple iOS et son "Swift et rien que Swift" (et un peu de ES mais juste pour vous faire plaisir et surtout pas d'ombre à ma vache à lait Ap'Store et sa com° de 30% + 99€/an...). C'est d'ailleurs bien pour ça que Google a annoncé le support de Swift pour Fuschia... mais pas de Kotlin. Et puisque Swift est désormais open-source, pourquoi pas l'enrichir (le forker?) pour qu'il sache faire du web (sur WebAssembly) et sur Android? On peut rêver...

En 2000, on s'était pris à rêver à ne plus coder en windows et peut-être mac mais tout en web, maintenant on doit coder en web, android, ios, et peut-être en windows et en macos... un rêve s'est perdu en route...
Avatar de SurferIX SurferIX - Membre chevronné https://www.developpez.com
le 08/12/2017 à 15:01
Citation Envoyé par nhugodot Voir le message
Kotlin, sans e, merci. (...)
En 2000, on s'était pris à rêver à ne plus coder en windows et peut-être mac mais tout en web, maintenant on doit coder en web, android, ios, et peut-être en windows et en macos... un rêve s'est perdu en route...
Merci beaucoup pour toutes ces informations, très utiles. Cela confirme que rester dans des langages bétons comme C / C++ est plutôt pérenne...

De mon côté, je reste sur Unity / C# pour Linux, Windows, Android, iOS et même PS4, pour des applis professionnelles avec un bon UI. Oui je sais c'est lourd, une appli Unity plein de RAM juste pour afficher 4 combobox et 6 checkboxes + 2 boutons, mais en termes de cross-compilation + fonctionnement 100% identique sur tous les supports, c'est simple : il n'y a rien de mieux, tout court. En plus C# est vraiment un langage excellent.
Côté Web, même chose pour la rentabilité : rien n'arrive à la cheville de Django / Python.

Mais je supporte Kotlin à ma façon : je paie une souscription PyCharm à Jetbrains depuis trois ans déjà !
Avatar de nhugodot nhugodot - Membre du Club https://www.developpez.com
le 08/12/2017 à 15:40
Citation Envoyé par SurferIX Voir le message
Merci beaucoup pour toutes ces informations, très utiles. Cela confirme que rester dans des langages bétons comme C / C++ est plutôt pérenne...
En plus C# est vraiment un langage excellent.
Côté Web, même chose pour la rentabilité : rien n'arrive à la cheville de Django / Python.
De rien!

C#, oui, si on aime l'héritage C, la syntaxe, etc. (j'aime pas... rien à faire...), mais chapeau à MS. Et ils font le même coup avec TypeScript: reprendre un langage vieux (voire pourri) et en faire un truc nettoyé, propre, puissant, agréable, ... (ils avaient déjà fait ça avec DOS... devenu Windows 95, puis NT, ils savent faire...)
Je préfère la lignée Lisp et Smalltalk: resp. Elixir (voire Clojure) et Pharo.

Python/Django, vraiment le plus productif?
J'ai essayé l'an dernier...
Et puis devant faire des apps mobiles, rien à faire, on doit se taper swift/java, ou ES (React Native, ou NativeScript, ou Ionic 3 que je vais tester... Au moins c'est sur Angular donc TypeScript... dommage, Google utilise ce dernier en Dart que j'aurais préféré, ils disent avoir eu +20% de productivité, alors pourquoi passer à TypeScript? Parce qu'encore une fois les dev corporate venant de C, C++, Java, C# veulent un truc qui les dépayse pas, normal... Donc va pour TS... Google ne s'embarrasse pas de cet héritage, lui qui avait démarré en Python ainsi que Youtube d'ailleurs, ils ont remplacé C++ par Go et JS par Dart...). Bref, on s'est tapé React Native, pas pour les enfants... (le bazar React vs la cathédrale Angular).
A priori, le plus productif est Pharo, pas Python, Seaside, pas Django, et en plus y'a un smalltalk client JS: Amber, plus avancé que le Python transpilé en JS, Transcript par exemple (y'en a 3 au moins...):
https://medium.com/smalltalk-talk/a-...9ab#.pfbyjfuq5
https://medium.com/@richardeng/i-gue...t-2e166eff88bf
Elm et Clojure ont aussi un expérience de dev "wow"...

Mais je suis tout ouïe pour découvrir enfin du vrai dev productif! (fatigué de réinventer des roues... ), web et apps (webapps mobiles ou natives stp)? Grand merci!
ps: je cherche un CTO pour ma start-up, projet excitant, un bon, si intéressé... https://fr.linkedin.com/in/nicolashugodot/fr !
Avatar de SurferIX SurferIX - Membre chevronné https://www.developpez.com
le 08/12/2017 à 15:58
Citation Envoyé par nhugodot Voir le message
A priori, le plus productif est Pharo, pas Python, Seaside, pas Django, et en plus y'a un smalltalk client JS: Amber, plus avancé que le Python transpilé en JS, Transcript par exemple (y'en a 3 au moins...):
https://medium.com/smalltalk-talk/a-...9ab#.pfbyjfuq5
https://medium.com/@richardeng/i-gue...t-2e166eff88bf
Elm et Clojure ont aussi un expérience de dev "wow"...
Quand je parle de productivité, voici, après une dizaine de sites Web 100% custom vendus, en Php puis en Django, dont deux ont une bonne fréquentation, ce que j'ai retiré de mon expérience : on passe le plus de temps à déboguer côté serveur et client que tout le reste.
En gros :
Temps (création + développement) < (maintenance + évolutions + déboguage).

En Django, on peut mettre des points d'arrêt partout, le déboguage est d'une facilité et d'une rapidité déconcertante. Mieux : ce qui n'est toujours pas le cas en Symfony, tu peux mettre des points d'arrêt dans le templating (! oui !) et voir uniquement les variables du template ! En termes de déboguage ce sont des heures / journées entières de gagnées. J'en suis à un ratio de 1/5 globalement : ce que je faisais en 5 jours en (Php création du site + correction de bogues + évolutions) je le fais en un jour en Django (Php création du site + correction de bogues + évolutions). C'est ça que j'appelle "la meilleure productivité".

Hier soir, j'ai débogué + corrigé en quelque lignes + quelques minutes, quelque chose dont je sais par expérience, qui m'aurait pris des heures en Php.

Je ne parle pas de performances ou autres, je parle de faire rapidement des sites + corrections, afin que le client soit content. Si en smalltalk on peut faire des points d'arrêt n'importe où, et qu'il y a une gestion de templating + gestion des modèle aussi simple qu'en Django, je suis très intéressé. Si ce n'est pas le cas alors on ne peut pas arriver au même niveau de rapidité de développement. A l'inverse s'il a tout ça je m'y pencherai volontiers ASAP.
Avatar de dukoid dukoid - Membre chevronné https://www.developpez.com
le 12/12/2017 à 6:26
Citation Envoyé par SurferIX Voir le message
Quand je parle de productivité, voici, après une dizaine de sites Web 100% custom vendus, en Php puis en Django, dont deux ont une bonne fréquentation, ce que j'ai retiré de mon expérience : on passe le plus de temps à déboguer côté serveur et client que tout le reste.
En gros :
Temps (création + développement) < (maintenance + évolutions + déboguage).

En Django, on peut mettre des points d'arrêt partout, le déboguage est d'une facilité et d'une rapidité déconcertante. Mieux : ce qui n'est toujours pas le cas en Symfony, tu peux mettre des points d'arrêt dans le templating (! oui !) et voir uniquement les variables du template ! En termes de déboguage ce sont des heures / journées entières de gagnées. J'en suis à un ratio de 1/5 globalement : ce que je faisais en 5 jours en (Php création du site + correction de bogues + évolutions) je le fais en un jour en Django (Php création du site + correction de bogues + évolutions). C'est ça que j'appelle "la meilleure productivité".

Hier soir, j'ai débogué + corrigé en quelque lignes + quelques minutes, quelque chose dont je sais par expérience, qui m'aurait pris des heures en Php.

Je ne parle pas de performances ou autres, je parle de faire rapidement des sites + corrections, afin que le client soit content. Si en smalltalk on peut faire des points d'arrêt n'importe où, et qu'il y a une gestion de templating + gestion des modèle aussi simple qu'en Django, je suis très intéressé. Si ce n'est pas le cas alors on ne peut pas arriver au même niveau de rapidité de développement. A l'inverse s'il a tout ça je m'y pencherai volontiers ASAP.

on a bien compris que Monsieur SurferIX est un extrémiste Django python. qu'il a des œillères qui l’empêche de voir autre chose...

On a bien compris la tactique qui consiste à faire du PHP bashing à la moindre occasion.. avec des arguments qui tourne : un coup ça se porte sur la performance, un autre coup sur le deboguage, un autre coup sur le langage, un autre coup sur l'installation..... même si c'est faux, même si c'est du à son incompétence.

Monsieur surferIX manie subtilement et sournoisement les mots pour faire en sorte d'avoir toujours raison.

sur indeed :
1443 offres d'emploi ou est cité Symfony
203 offres d'emploi ou est cité Django

sur monster.fr :
77 offres d'emploi Symfony
9 offres d'emploi Django
Avatar de SurferIX SurferIX - Membre chevronné https://www.developpez.com
le 12/12/2017 à 12:39
Citation Envoyé par dukoid Voir le message
sur indeed :
1443 offres d'emploi ou est cité Symfony
203 offres d'emploi ou est cité Django

sur monster.fr :
77 offres d'emploi Symfony
9 offres d'emploi Django
Je te remercie pour ce commentaire très constructif (et surtout très à la pointe ), et je te laisse dans ton cercle Php, tant mieux, reste-y !
T'es super bien en France on dirait, car ici on est un ratio extrêmement opposé, mais c'est vrai que la Silicon Valley n'est remplie que de crétins ! Au fait tu viens quand avec moi en amphi ? Je t'attends toujours pour ta présentation et tes réponses Symfony
Au moins je serai comme tous les développeurs Django en France : mieux payé que ceux en Php (donc que toi (67K€ contre 51K€)) . A moins qu'ici aussi ils racontent n'importe quoi.
(Ecris aussi à geekpress pour l'insulter, c'est encore un de ceux que tu dois considérer comme extrémiste )

Oh j'oubliais ! Stackoverflow aussi n'est rempli que d'extrémistes, regarde ici il y a 3 mois, contacte les et insulte les s'il te plaît, car regarde où ils voient Python et où ils voient Php fin 2018 :



Pour le reste, relis ce que tu écris, car les fautes d'orthographes sont comme Php : on n'a que des warnings, ça brûle les yeux, mais on continue quand même

Il n'empêche que j'attends une réponse de @nhugodot car, (lui), il paraît ouvert, et a amené des choses vraiment constructives... des propositions très intéressantes.
Avatar de Spartacusply Spartacusply - Membre expert https://www.developpez.com
le 12/12/2017 à 14:48
Salut,

https://w3techs.com/technologies/ove...g_language/all

A+

Moralité : on peut faire dire aux chiffres n'importe quoi, c'est pas demain la veille que Python va remplacer PHP, j'espère que tu peux au moins reconnaître ça sans trop avoir l'impression de t'écarteler...
Avatar de _skip _skip - Expert éminent https://www.developpez.com
le 12/12/2017 à 14:54
Citation Envoyé par nhugodot Voir le message
Au moins c'est sur Angular donc TypeScript... dommage, Google utilise ce dernier en Dart que j'aurais préféré, ils disent avoir eu +20% de productivité, alors pourquoi passer à TypeScript? Parce qu'encore une fois les dev corporate venant de C, C++, Java, C# veulent un truc qui les dépayse pas, normal... Donc va pour TS... Google ne s'embarrasse pas de cet héritage, lui qui avait démarré en Python ainsi que Youtube d'ailleurs, ils ont remplacé C++ par Go et JS par Dart...). Bref, on s'est tapé React Native, pas pour les enfants... (le bazar React vs la cathédrale Angular).
Ce n'est pas qu'une question d'habitude ou de dépaysement. Le succès (si on peut dire) de typescript vient aussi de son interopérabilité avec javascript qui est complète. Si tu choisis de coder en TS tu ne te prives aucunement de l'écosystème javascript. Tu ne fais que rendre ton code plus typé, et plus facile à maintenir. Dans un monde où on se sert beaucoup de libs existantes, ça compte énormément de pas passer par des couches interops foireuses et de finir le derrière entre deux chaises.

C'est aussi ce qui, je pense pourrait faire fonctionner kotlin. C'est un meilleur java avec une très bonne interop.
Avatar de nhugodot nhugodot - Membre du Club https://www.developpez.com
le 12/12/2017 à 15:51
Citation Envoyé par _skip Voir le message
Ce n'est pas qu'une question d'habitude ou de dépaysement. Le succès (si on peut dire) de typescript vient aussi de son interopérabilité avec javascript qui est complète. Si tu choisis de coder en TS tu ne te prives aucunement de l'écosystème javascript. Tu ne fais que rendre ton code plus typé, et plus facile à maintenir. Dans un monde où on se sert beaucoup de libs existantes, ça compte énormément de pas passer par des couches interops foireuses et de finir le derrière entre deux chaises.

C'est aussi ce qui, je pense pourrait faire fonctionner kotlin. C'est un meilleur java avec une très bonne interop.
Merci Skip, commentaire autrement plus intéressant que l'humanoïde dissocié et son PHP...

Oui, TS est génial car garde toute la compatibilité avec l'existant: codes JS, codeurs JS et C++/Java/C#... , .. Google a été très pragmatique sur ce coup là, en faisant une évolution et pas une révolution. Et on peut utiliser TS avec Angular (donc Ionic et NativeScript) mais AUSSI avec React et VueJS etc.

Kotlin tournant sur VM JS et Java, je me demande quelle killer stratégie on peut bien y trouver pour faire quelque chose de génial que Java ou JS ne saurait pas faire... : tourner sur backend java et sur front end (JS, forcément... tant que WebAssembly n'est pas partout), profiter des deux écosystèmes et richesses de librairies?
Avatar de SurferIX SurferIX - Membre chevronné https://www.developpez.com
le 12/12/2017 à 16:03
Citation Envoyé par Spartacusply Voir le message
Salut,
https://w3techs.com/technologies/ove...g_language/all
A+
Moralité : on peut faire dire aux chiffres n'importe quoi, c'est pas demain la veille que Python va remplacer PHP, j'espère que tu peux au moins reconnaître ça sans trop avoir l'impression de t'écarteler...
Je reconnaîtrai volontiers que c'est pas demain la veille que Python va remplacer PHP en France... uniquement si tu reconnais que Python remplace déjà Php dans presque tous les autres pays depuis ~2 ans. Mais comme je sais que tu ne le reconnaîtras jamais, je t'avoue : je reconnais déjà ces deux faits et je pense sincèrement que c'est pas demain la veille que Python va remplacer PHP en France uniquement (sachant que j'ai déjà remplacé deux de mes projets Php par la même chose en Python pour des raisons de maintenabilité = des raisons de coût, mais pour ça, il faut avoir une entreprise et pas être en CDI pour comprendre que c'est pas que de l'idéologie, mais des chiffres concrets).

J'ai tellement l'impression de parler à une mentalité de Mac Addict que je sais que quoi que je dise, tu n'y croiras jamais.
Mais aussi l'impression que tu ne sais vraiment pas que de mon côté j'ai toujours été à fond Php. J'ai même écrit un très gros framework sur lequel j'ai fait mon mémoire d'ingénieur, et sur lequel plusieurs entreprises on travaillé pendant plusieurs années, largement fait avant Symfony, puis ré-écrit au fil des ans complètement 3 fois.



J'imagine que pour JavaScript, je suis sûr que tu sais ce que j'ai fait sur TM en scripting...

Bref. C'est tellement hors sujet et dans des attaques aussi personnelles qu'inutiles que je ne répondrai plus à tes provocations stérilse, envoie moi un PM si tu veux être invité en amphi pour justifier du bien fondé de Symfony 3 et de sa stack trace pour déboguer...
Avatar de dukoid dukoid - Membre chevronné https://www.developpez.com
le 12/12/2017 à 16:19
toujours est il que :

sur indeed :
1443 offres d'emploi ou est cité Symfony
203 offres d'emploi ou est cité Django

sur monster.fr :
77 offres d'emploi Symfony
9 offres d'emploi Django

alors peut être que tu ne comprends pas les nombres :

9 est très très inférieur à 77 .

CONCLUSION :
pour trouver un taf il vaut mieux apprendre PHP que python !
Avatar de nhugodot nhugodot - Membre du Club https://www.developpez.com
le 12/12/2017 à 16:19
Citation Envoyé par Spartacusply Voir le message
Salut,

https://w3techs.com/technologies/ove...g_language/all

A+

Moralité : on peut faire dire aux chiffres n'importe quoi, c'est pas demain la veille que Python va remplacer PHP, j'espère que tu peux au moins reconnaître ça sans trop avoir l'impression de t'écarteler...
Euh... non, là, tu donne les chiffres du nombre de serveurs web actuels, pas des devs en cours. Avec le passif, et surtout wordpress (et Joomla, et Drupal), rien que ce dernier représente déjà 75% des sites de la planète. Mais une page PHP de blog qui a 10 ans n'est pas très représentatif de la tendance...

Google et Youtube ont été codés en Python; l'IA TensorFlow, c'est du python. Et on ne fait pas de blockchain avec du PHP, ni d'IA, et je n'ai jamais entendu parler d'OS en PHP, de PHPscript pour le navigateur, pour les IoT, PHP ne tourne ni sur iOS ni sur Android ni sur le futur FuschiaOS, et j'en passe...

Bref, de meilleurs indicateurs sur l'usage ACTUEL des langages: https://www.tiobe.com/tiobe-index/ (Python 4e, PHP 9e et en très grosse chute!), même JS est passé devant (merci Node, 10x plus rapide): https://en.wikipedia.org/wiki/Progra...pular_websites , même Facebook utilise Python dans son backend mais ni Google ni Youtube n'utilisent PHP... etc.

A part des bricolos qui ne sont pas des vrais hackers niveau ingénieurs, y'a plus personne de sérieux qui fasse du PHP... En France c'est Java, aux USA c'était Ruby, JS/ES/TS maintenant, et on passe aux langages fonctionnels svp, merci...!

ps: tiens donc, Python a donné Ruby qui a donné Rails qui a inspiré Symfony... : https://upload.wikimedia.org/wikiped...nttimeline.png

ps2: deux amis normaliens, un CEO et un CTO de startup web, embauchent des compétences Clojure: "pourquoi" ai je bêtement demandé... "parce que ça filtre les mauvais (PHP, Ruby, JS...) et ceux qui viennent nous voir, par plaisir d'enfin utiliser des vrais langages, sont mêmes prêts à baisser leur salaire. Moins cher et bien meilleurs. Malins.

ps3: j'ai eu en horreur le C++ (j'avais même demandé à faire plutôt du Le Lisp, Ada, Eiffel, Pascal... aaaah Pascal...!), c'est la même chose avec PHP vs Python. Mais Pharo (le smalltalk 2017)...:
https://medium.com/smalltalk-talk/ph...t-1eff6240c60b :
The Killer Advantage
According to Namcook Analytics (Table 16), Smalltalk is one of the most productive programming languages in the world (measured by “economic productivity” in terms of number of work hours to deliver 1,000 function points):
C — 26,273
Fortran — 22,394
JavaScript — 15,929
Forth — 14,636
Haxe — 14,636
Lisp — 14,636
C++ — 12,697
Go — 12,697
Java — 12,697
PHP — 12,697
Python — 12,697
C# — 12,309
Dart — 11,620
F# — 11,312
Ruby — 11,312
Erlang — 10,758
Elixir — 9,845
Haskell — 9,845
Julia — 9,465
Perl — 9,465
Delphi — 8,289
Objective-C — 7,848
Visual Basic — 7,848
Eiffel — 7,156
Smalltalk — 6,879

Et Kotlin?
Avatar de Spartacusply Spartacusply - Membre expert https://www.developpez.com
le 12/12/2017 à 16:29
J'ai tellement l'impression de parler à une mentalité de Mac Addict que je sais que quoi que je dise, tu n'y croiras jamais.
J'ai même écrit un très gros framework sur lequel j'ai fait mon mémoire d'ingénieur, et sur lequel plusieurs entreprises on travaillé pendant plusieurs années, largement fait avant Symfony, puis ré-écrit au fil des ans complètement 3 fois.
J'imagine que pour JavaScript, je suis sûr que tu sais ce que j'ai fait sur TM en scripting...
Ah non absolument pas,je suis au contraire très ouvert à l'ensemble des technologies, aussi bien anciennes que nouvelles sinon je serai jamais passé à Angular/NodeJS et serait resté bien au chaud avec mon Symfony/Jquery. Et si j'avais le temps et la disponibilité, je me jetterai aussi bien volontiers dans l'univers Python qui m'a tout à fait l'air d'être également un univers palpitant (rien d'ironique là dedans !).

C'est probablement ton côté hautain, sûr de toi, de "j'ai tout vu, tout fait" assez insupportable qui au lieu de m'attirer vers Python me fait totalement l'effet inverse et me donne au contraire l'envie de m'en éloigner autant que possible (dans l'hypothèse que je n'écoute que toi, ce qui fort heureusement n'est pas le cas)

Bref, maintenant que tu as le fond, essaye de bosser la forme ça devrait apporter davantage de résultats.
Avatar de nhugodot nhugodot - Membre du Club https://www.developpez.com
le 12/12/2017 à 16:32
Citation Envoyé par dukoid Voir le message
toujours est il que :

sur indeed :
1443 offres d'emploi ou est cité Symfony
203 offres d'emploi ou est cité Django

sur monster.fr :
77 offres d'emploi Symfony
9 offres d'emploi Django

alors peut être que tu ne comprends pas les nombres :

9 est très très inférieur à 77 .

CONCLUSION :
pour trouver un taf il vaut mieux apprendre PHP que python !
  • Symfony est d'origine française, pas Django. "NIH"? (syndrome Not Invented Here?)
  • Et personne n'a parlé de chercher du travail avec Django. Entre un poste de CEO et un job de plombier, y'a aussi plus d'offres d'emploi pour plombier...
  • 1er résultat de ma recherche "Symfony vs Django": https://openclassrooms.com/forum/suj...fony-vs-django boum, enfoncé Symfony...


Rapidité? ah ben flûte: http://blog.websitesframeworks.com/w...03/davis11.png
Ah ben vraiment flûte même: perdre 3% de clients et être lent à ce point...: http://static.alrond.com/siege.gif

La messe est dite: quand on fait sa pub sur PHP, on sait à qui on a affaire... (pas un ingénieur... un vrai)
Avatar de nhugodot nhugodot - Membre du Club https://www.developpez.com
le 12/12/2017 à 16:36
Citation Envoyé par dukoid Voir le message
toujours est il que :

CONCLUSION :
pour trouver un taf il vaut mieux apprendre PHP que python !
Con-clusion:
pour trouver un BON taf, faut savoir faire de l'IA et du Big Data: j'attend toujours les outils en PHP pour ça... PHP, pour faire des plugins wordpress ou combler des trous de sites pourris qui ont 15 ans, bof... mais merci d'être là pour y répondre on a besoin de tout le monde... Y'a juste une différence entre garagiste pour réparer des vielles bécanes et ingénieur pour fabriquer les nouvelles...
Avatar de dukoid dukoid - Membre chevronné https://www.developpez.com
le 12/12/2017 à 16:39
oui mais ;

sur indeed :
1443 offres d'emploi ou est cité Symfony
203 offres d'emploi ou est cité Django

sur monster.fr :
77 offres d'emploi Symfony
9 offres d'emploi Django

sur keljob:
194 offres d'emploi ou est cité Symfony
1 offre d'emploi ou est cité Django

boum enfoncé django !
Avatar de nhugodot nhugodot - Membre du Club https://www.developpez.com
le 12/12/2017 à 17:03
Salut SurferIX et merci pour ton appréciation... je ne suis plus codeur mais me passionne néanmoins pour les belles choses, simples et efficaces, les architectures, et déçu par le "reinvent the wheel" pour la 100000 fois pour faire un bouton ou un bout de chat dans une app, cherche constamment "quel est le plus productif des outils de dev.. désespérant, quand même... on revient à ... Smalltalk. Tout ça pour ça.

Tout est là: https://medium.com/@richardeng , le mossieur est encore plus désillusionné que moi mais encore plus compétent néanmoins. Pharo, bébé d'un directeur de recherche de l'INRIA de Lille, est le futur, le SmallTalk du 21e siècle. Quelques trucs top dedans: tout est dans un seul fichier, même l'état, rechargeable après un reboot donc on retrouve l'endroit ou on était (une app iOS ou Android me fait pleurer: en pause hop elle dégage et en rallumant son phone... faut tout recharger... ). Syntaxe hyper claire, une autre façon de travailler. Etc.

Mais Pharo ne fait pas Android et iOS, Dart/Flutter si et est le futur de Android: FuschiaOS: et surtout https://hackernoon.com/why-native-ap...r-e97361a1c073
Dart>TS>ES>JS... J'ai pas encore trouvé mieux, je vais sans doute m'y mettre... Comme Pharo, le fait qu'on se passe parfaitement d'outil à la Gulp Grunt et autres acronymes vulgaires veut tout simplement dire que c'est propre, dès le départ. Le bazar JS React etc. c'est du bricolage, de génie mais du bricolage. "AMHA"...

(Ah, Elm, aussi, mais non pas OO mais fonctionnel, est à essayer absolument aussi; idem, pas besoin de pléthore d'outils compliqués, expérience de dev géniale. Clojure aussi avec son IDE interactif "REPL" que les amateurs louent aux nues... Go est un C++ facile aussi. Tout est là, je compile mes lectures ici: https://docs.google.com/document/d/1...h.te2c3nnwu1w7
à toi d'y participer!
Contacter le responsable de la rubrique Accueil