IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation système Discussion :

Est-ce bien une question de choix de langage ? En tout cas, je n'arrive pas à choisir


Sujet :

Programmation système

  1. #1
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 958
    Points : 2 077
    Points
    2 077
    Par défaut Est-ce bien une question de choix de langage ? En tout cas, je n'arrive pas à choisir
    Bonjour

    Je développe en C sur microcontrôleur avec éclipse, c'est nickel et un monde à part puisque les machines ont des ressources très limitées.
    Je développe aussi des application PC avec Visual studio en C# winforms, j'en suis très content pour faire des applications sur PC windows, Visual studio est d'une productivité impressionnante.
    Je suis par ailleurs utilisateur d'outils en PHP (divers CMS) et je me débrouille en HTML +CSS

    Depuis 1 an je réfléchis à comment évoluer et je ne trouve pas solution :
    1> besoin de développer des petits services web Saas (afficher des données et des dashboard, calculs statistiques, formulaires simples )
    2> besoin de développer des petites applis sur tablette et smatphone Android (principalement de l'affichage de données avec courbes et graphiques et communication via l'USB OST et ethernet/wifi avec FTP et TCP en TLS)
    3> toujours le besoin de faire des applis puissantes pour desktop (calculs et statistiques, base de données NoSQL ou mySQL, graphiques, USB et Ethernet avec FTP et TCP en TLS)
    Les affichages, calculs et communications à gérer sont identiques sur toutes ces plateformes donc si le code n'est pas à refaire ce n'est pas plus mal.

    Pour les services webs, je sais faire avec C# et visual studio mais la techno n’étant pas la même j'ai presque tout à réapprendre et surtout les solutions d’hébergement sont rares et hors de prix, pas du tout adaptées aux petits services que j'ai à mettre en place. Typiquement j'ai besoin de pouvoir faire tourner mes services soit sur des NAS genre synology, soit sur des hébergement mutualisés.
    Pour le mobile j'ai eu le bonheur de voir Xamarin arriver ; j'y croyais jusqu'à essayer (et ne pas y arriver facilement) et chercher des librairies de graphiques. Quand j'ai vu les tarifs des components sur le site de Xamarin (entre 800 et >1k€ la lib de graphiques 2D ) j'ai été bien refroidi. Et si j'en lisais que du bien il y a 1 an, Xamarin souffre de commentaires pas si chaleureux que ça aujourd'hui.

    Pour le dev sur tablette et smartphone j'ai tenté d'acheter des tablettes Windows mais c'est hors de prix et comme personne n'en utilise c'est null à l'usage et comme personne a des téléphone windows la diffusion ne peut se faire qu'en fournissant le matériel (que personne ne sait utiliser). Moi même qui suis un pro windows depuis toujours je trouve l'ergonomie mobile de windows nullissime alors ça n'aide pas.

    L'alternative serait de changer de langages mais mes recherches ont bien du mal à aboutir :
    A)> piste Xamarin pas forcément géniale et qui répond pas aux services webs où la solution .NET est pas adaptée.
    B)> la piste java, dit mutiplateforme. J'avais essayé il y a plusieurs années avant de choisir C# bien plus productif avec visual studio. J'ai réessayé cette semaine et même diagnostic en pire ; c# a beaucoup évolué en bien et j'ai eu l'impression de refaire le même essai de Java qu'il y a plusieurs années. En plus en Java je n'ai trouvé que des librairies de graphique qui faisaient très vieillottes. Est ce que je me trompe pour les "vieilles" libs ? est ce que la lourdeur du dev Java est le prix à payer pour avoir le multiplateforme ?
    C)> La piste NodeJs pour faire tourner des services web et peut être faire du Android avec Cordova ? On peut même faire du nodejs avec Visual Studio 2017. J'arrive à le faire tourner sur PC et sur serveur NAS mais ça semble bien difficile sur hébergement mutualisé et pour Android j'ai rien compris à Cordova. Bref NodeJs ne semble pas bien adapté à mes petites services et applis USB/Ethernet, ils parlent surtout de développements webs et de fortes charges...
    D)> La piste python multiplateforme, avec des lib qui semble pas trop vieillottes et la possibilité de faire les services webs, voir du web avec Django, de l'appli PC et du Android. Mon soucis est que passer de Visual studio à Eclipse me donne l'impression de revenir à l'âge de pierre (bien que je l'utilise avec grand bonheur en embarqué en C ) je redoute que Python soit trés trés trés trés inférieur à C# en terme de productivité et de potentiel ??? De plus Python me fait peur pour 2 choses ; le typage dynamique qui est à mes yeux une usine à bugs (comme en VB), et l'indentation qui est elle aussi une source de bugs (un bloc bien défini entre {} est sans équivoque, structurant et bien plus lisible).

    Toi qui a lu jusque là bravo et merci infiniment !

    Changement de langage or not changement de langage ?
    Tout sentiment, avis ou argument peut m’être d'une grande aide, je suis figé dans la confusion là.

    Merci par avance

  2. #2
    Membre émérite
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 472
    Points : 2 999
    Points
    2 999
    Par défaut
    Citation Envoyé par petitours Voir le message
    Mon soucis est que passer de Visual studio à Eclipse me donne l'impression de revenir à l'âge de pierre
    C'est a dire?

  3. #3
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 958
    Points : 2 077
    Points
    2 077
    Par défaut
    Bonjour

    Je n'ai jamais cherché à nommer les différences que je ressens quand je passe de la programmation de mes microcontrôleurs avec éclipse au dev d'appli PC avec Visual Studio mais la différence ressentie est grande.
    Je tenterais comme critères :
    > l'intellisense, non seulement on gagne du temps et de on code "les yeux fermés" mais en plus on arrive à découvrir des nouvelles méthodes avec ! juste génial.
    > l'intégration. Eclipse c'est un un énorme basard de plugins, de liens et de briques à faire fonctionner ensembles. Comprendre eclipse et ses paramétrages est un objectif à part entière. Quand ça marche ça va, quand il faut changer quelque chose ou qu'une mise à jour d'un des bouts crée un soucis c'est juste l'enfer (dur souvenir de 3 jours de panne en plein coup de bourre à cause de 2 caractères dans une commande pour GCC changés par une mise à jour ). Je sais que pour certains c'est un avantage mais pour moi qui ne voit l'ide que comme un outil c'est gênant et une source d'inquiétude à chaque mise à jour de java, d'un plugin ou autre.
    >le debuggage, avec VS on sait ou ça coince et pourquoi avec beaucoup de détails. Le MSDN qui s'ouvre direct sur F1 est super bien fait aussi

    Après je peux me tromper et ce n'est pas le critère principal ; développer sur PC avec éclipse que je connais déjà ne peut que renforcer le principe de base "le meilleur outil est celui que l'on connait le mieux"!
    Bref ce serait dommage que cet aspect de ma question parte en troll, ça finirait de me mettre la tête dans le sable...

  4. #4
    Membre émérite
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 472
    Points : 2 999
    Points
    2 999
    Par défaut
    Citation Envoyé par petitours Voir le message
    > l'intellisense, non seulement on gagne du temps et de on code "les yeux fermés" mais en plus on arrive à découvrir des nouvelles méthodes avec ! juste génial.
    Tu as ca aussi dans Eclipse avec Java, C++ et autre. A mon avis, si tu ne l'as pas, c'est que soit tu as installe le mauvais package d'Eclipse IDE, soit que tu n'as pas installe le plugin qu'il te faut.
    Pour le reste, je ne connais pas assez Eclipse CDT pour me prononcer. Ceci dit, juste verifie que tu as bien une version recente d'Eclipse IDE, les choses changent vite et dans le bon sens.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Etudiant presque sérieux
    Inscrit en
    Novembre 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Etudiant presque sérieux
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Novembre 2015
    Messages : 15
    Points : 32
    Points
    32
    Par défaut
    Bonjour,

    Je ne suis pas un expert du dev loin de là et j'ai un peu de mal a comprendre ta préoccupation, ce qui t'embête c'est le fait de devoir utiliser un langage différents à chaque fois que tu fait quelque chose de différent ?
    Parce que du haut de ma faible expérience, ce que j'ai toujours entendu dire c'est que chaque langage a son utilisation et que on ne trouvera jamais de langage qui fait tout bien.

    Désolé si je suis à coté de la plaque dans ma réponse

  6. #6
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 958
    Points : 2 077
    Points
    2 077
    Par défaut
    Bonjour

    Il n'y a pas de doute que pour une application complexe dans tel ou tel domaine on a besoin du langage (et des outils) ad hoc. Mais, pour qui a besoin de développer des choses simples et ou basiques dans plusieurs domaines, utiliser le même langage et le même ide pour tout est très intéressant, voir indispensable pour ne pas péter une durite en apprentissage ou en changement de syntaxe voir de paradigme.
    La meilleure solution est certainement dans le meilleur compromis...

    Ma question initiale reste d'actualité, à peine éclaircie de mon coté malgré pas mal de tests.
    >Je n'accroche toujours pas avec java mais ça ne l'élimine pas pour autant...
    >NodeJs est bluffant sur les quelques essais que j'ai fait mais son paradigme et la techno sont très nouveaux pour moi.
    >Python a une syntaxe que je qualifierais d'aussi peu robuste que VB, de déteste, mais ce qu'il permet est super intéressant.
    Coté ide j'ai toujours aussi peur d’éclipse et des ses 464554 plugins qui cohabitent et se mettent à jours mais je le connais bien et sur microcontrôleur je n'ai que ça et ce n'est pas prêt de s’arrêter...

    En septembre j'attaque un nouveau projet et donc en aout il faut que je tranche ! Tout élément pour me poser les bonnes questions peut m’être très précieux d'ici là.

  7. #7
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par petitours Voir le message
    Bonjour

    >Python a une syntaxe que je qualifierais d'aussi peu robuste que VB, de déteste, mais ce qu'il permet est super intéressant.

    En septembre j'attaque un nouveau projet et donc en aout il faut que je tranche ! Tout élément pour me poser les bonnes questions peut m’être très précieux d'ici là.
    Tu parles de quel VB ? (VB6, VBA, VB.net) Parce que ce sont, malgré les noms et les apparences, des produits différents.

    Et puis, on peut programmer en python à partir de Visual Studio



    Et puis ta syntaxe "peu robuste " de VB est en gros équivalente à celle de C#. Il y a bien quelques objets qui diffèrent entre les deux, mais c'est le même Framework. Les différences sont exclusivement, ou presque, "cosmétiques".

    Le FileINfo de C#, c'est le FileInfo de VB.net etc...

    le typage dynamique qui est à mes yeux une usine à bugs (comme en VB),
    Tu parles à travers ton chapeau. Il suffit de modifier quelques paramètres dans Visual Studio, ou de quelques lignes de code pour éliminer le typage dynamique dans VB.net et même en partie du moins dans VB6 et VBA.

    Et puis, si tu vas faire un tour su Visual Studio Marketplace, tu vas trouver des extensions qui permettent d'utiliser VS pour un paquet d'autres langages ou de technologies.

    Je ne suis vraiment pas sûr que tu aies fait tes devoirs correctement avant d'ouvrir ton sujet, parce que ce que tu dis de VB, ce n'est que du perroquettage de vieux ragots qui étaient peut-être vrais, il y a 20 ans. Mais le VB d'aujourd'hui n'a plus rien à envier aux autres langages. (Même que VB2017 est plus restrictif que VB2003 ou VB 2005.) Si tu descends VB avec des menteries pour être bien vu, cela peut marcher avec certains, mais tes menteries, me font douter de tout le reste...

  8. #8
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 958
    Points : 2 077
    Points
    2 077
    Par défaut
    Bonjour

    Merci de me secouer, c'est dans le fond le besoin exprimé dans mon post initial ! J'ai exprimé mes à priori sur les ide et langages non pas pour troller mais bien pour être recadré si je me trompe ou orienté vers ce qui apparaitrait comme plus adapté à mon cas. Je ne parle pas dans mon chapeau mais je parle en toute transparence, encombré de tous mes à priori et regards incomplets voir faux sur toutes ces technos.

    L'histoire du typage dynamique c'est en rapport avec VB6, essayé au siècle dernier (2003 ? 2004 ?), et VBA surtout que j'utilise très régulièrement avec Excel et Access. VB.net je n'ai jamais regardé, C# étant de loin plus appréciable pour faire du .net à mes yeux ( présence des ; et des {} pour la lisibilité, moins de verbage et pas "VB" (6 et A) dont il n'est pas bon d'avoir gardé le nom...)

    Je ne l'ai pas précisé dans mon post initial mais mon questionnement sur les langages (et donc ide) est aussi influencé par mon besoin de plus en plus pressant de quitter les solutions windows ; Je suis pro windows (depuis win95) mais je suis d'une part très déçu par la dernière version de windows (un crime contre l'ergonomie ou tout ce qui se faisait en 1 clic se fait maintenant en 4) et d'autre part j'observe comme tout le monde que Microsoft est marginal sur les technos web dominées par linux et largué sur tout ce qui est tactile et mobile avec la mort des windowsphone en référence.
    Certes Microsoft tend à faire une chose inédite en s'ouvrant ; en introduisant nativement linux dans windows 10 et en intégrant de nombreux langages multiplateforme dans visual studio mais cela a 2 effets :
    1) le dev microsoft était intéressant par ce qu'il offrait une solution de dev très intégrée mais cela se dilue au travers des 5000 technos plus ou moins compatibles qui se développent maintenant. Cela devient un métier rien que de savoir quelle branche suivre et qui fait quoi.
    2) c'est tellement contraire à la politique microsoft du "je suis microsoft et j'écrase les autres" que j'imagine un avenir assez proche avec beaucoup beaucoup moins de microsoft omniprésent et beaucoup plus de linux (omniprésent aujourd'hui sur le web et de plus en plus impérieux sur le mobile me semble t-il). Il y a 4 ans j'avais regardé s'il était possible d'abandonner windows/office et la réponse était clairement non ; aujourd'hui la réponse n'est plus du tout clairement non.
    Je compte donc me mettre à linux (zéro expérience à ce jour) et abandonner .net (windows forms) qui m'a couté beaucoup d'énergie en apprentissage et que j'apprécie pour sa productivité mais qui n'est pas multiplateforme...

    Merci encore pour vos remarques

  9. #9
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 958
    Points : 2 077
    Points
    2 077
    Par défaut
    Bonjour

    Je me suis orienté sur le python finalment, l'avenir dira ce que ca donne...
    D'un coté besoin d'apprendre GNU/linux, de l'autre un nouveau langage de prog + ses capacités pour les maths et l'analyse de donnée + le coté multiplateforme + trés riche communauté.
    tant pis pour l'indentation et le typage dynamique :-(, j'arriverai bien à m'y faire !

    Merci

  10. #10
    Membre extrêmement actif
    Avatar de Madmac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    1 696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 696
    Points : 1 420
    Points
    1 420
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par petitours Voir le message
    Bonjour

    Merci de me secouer, c'est dans le fond le besoin exprimé dans mon post initial ! J'ai exprimé mes à priori sur les ide et langages non pas pour troller mais bien pour être recadré si je me trompe ou orienté vers ce qui apparaitrait comme plus adapté à mon cas. Je ne parle pas dans mon chapeau mais je parle en toute transparence, encombré de tous mes à priori et regards incomplets voir faux sur toutes ces technos.

    L'histoire du typage dynamique c'est en rapport avec VB6, essayé au siècle dernier (2003 ? 2004 ?), et VBA surtout que j'utilise très régulièrement avec Excel et Access. VB.net je n'ai jamais regardé, C# étant de loin plus appréciable pour faire du .net à mes yeux ( présence des ; et des {} pour la lisibilité, moins de verbage et pas "VB" (6 et A) dont il n'est pas bon d'avoir gardé le nom...)

    Je ne l'ai pas précisé dans mon post initial mais mon questionnement sur les langages (et donc ide) est aussi influencé par mon besoin de plus en plus pressant de quitter les solutions windows ; Je suis pro windows (depuis win95) mais je suis d'une part très déçu par la dernière version de windows (un crime contre l'ergonomie ou tout ce qui se faisait en 1 clic se fait maintenant en 4) et d'autre part j'observe comme tout le monde que Microsoft est marginal sur les technos web dominées par linux et largué sur tout ce qui est tactile et mobile avec la mort des windowsphone en référence.
    Certes Microsoft tend à faire une chose inédite en s'ouvrant ; en introduisant nativement linux dans windows 10 et en intégrant de nombreux langages multiplateforme dans visual studio mais cela a 2 effets :
    1) le dev microsoft était intéressant par ce qu'il offrait une solution de dev très intégrée mais cela se dilue au travers des 5000 technos plus ou moins compatibles qui se développent maintenant. Cela devient un métier rien que de savoir quelle branche suivre et qui fait quoi.
    2) c'est tellement contraire à la politique microsoft du "je suis microsoft et j'écrase les autres" que j'imagine un avenir assez proche avec beaucoup beaucoup moins de microsoft omniprésent et beaucoup plus de linux (omniprésent aujourd'hui sur le web et de plus en plus impérieux sur le mobile me semble t-il). Il y a 4 ans j'avais regardé s'il était possible d'abandonner windows/office et la réponse était clairement non ; aujourd'hui la réponse n'est plus du tout clairement non.
    Je compte donc me mettre à linux (zéro expérience à ce jour) et abandonner .net (windows forms) qui m'a couté beaucoup d'énergie en apprentissage et que j'apprécie pour sa productivité mais qui n'est pas multiplateforme...

    Merci encore pour vos remarques
    C'est une erreur très répandue de croire que les langages dynamiquement typés sont moins solidement typés. L'astuce pour solidement typée une valeur est du lui assisté une valeur par défaut.


    x = 0

    # x est maintenant de type Real. Et je ne peux pas lui passé autre chose que des valeurs Real. Même la valeur 0.1 sera refusé
    Par contre, tu as la flexibilité de représenter un Struct sous la forme d'un tableau.


    person1 = [ 'Commandant', 'Shepard' , 28 ]
    Evidemment pour les gens qui n'ont jamais utilisé un langage comme le LISP, cela semble inimaginable. Mais c'est une flexibilité que tout programmeur doit posséder.

    Pour ce que tu recherche Ruby et Sinatra peuvent te permettre de faire des applications pour Android. Mais à moins de vouloir faire du bénévolat, je n'utiliserais pas un langage interprété pour le web. (trop facile de voler l'idée). Avec un langage compilé, Ils devront faire l'effort de refaire le programme. Et dans ce cas-là, je regarderais de ce coté:

    https://crystal-lang.org/
    http://kemalcr.com/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/03/2014, 17h46
  2. modéliser une question à multiples choix
    Par pifpafpoof dans le forum UML
    Réponses: 3
    Dernier message: 09/12/2011, 09h51
  3. Réponses: 8
    Dernier message: 10/02/2009, 00h04
  4. Réponses: 4
    Dernier message: 07/09/2006, 15h41
  5. Réponses: 18
    Dernier message: 04/04/2006, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo