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

x86 32-bits / 64-bits Assembleur Discussion :

Trouver un travail


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut Trouver un travail
    Un topique plutôt atypique, mais je me demandais si il y avait des domaines particuliers en informatique où on rechercherait des personnes ayants des connaissances spéciales en assembleur, voir même, ne connaissant que ça (en coding).

    En language de prog, en dehors de l'asm, je connais le C, mais à un niveau amateur, bien loin de mon niveau d'asm, ce qui est plutôt anormal car habituellement c'est l'inverse..

    Je ne suis pas trop au courant des choses qui se codent purement en asm, en dehors des bios, et encore, plus maintenant avec l'uefi.

    Mais je suppose que ça existe ce genre d'emploi ?

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 372
    Points : 23 628
    Points
    23 628
    Par défaut
    Ça existe mais c'est extrêmement rare à trouver. Même à l'époque où je ne pratiquais moi-même que cela et le BASIC, avant même d'avoir vu le C, ce n'était pas légion.

    Aujourd'hui, c'est surtout dans l'embarqué et sur les plateformes exotiques qu'on va trouver ce genre de chose, pour pouvoir faire des amorces embrayant vers des programmes écrits avec les langages de plus haut niveau, et pour piloter les périphériques. L'écriture de drivers implique encore un minimum d'assembleur mais même là, c'est de moins en moins vrai.

    L'ennui, c'est que l'activité est pratiquement exclusivement réservée à des ingénieurs de haut niveau travaillant sur un projet plus global, donc difficile d'accès. Par contre, en tant que développeur, tu dois pouvoir te permettre d'en glisser quelques lignes si l'employeur n'est pas trop contraignant. Par cela, j'entends que si tu es officiellement développeur au sein d'une équipe de pairs dans ta compagnie, le cadre sera posé et défini dès le départ, mais si tu travailles pour une entreprise dont l'informatique n'est pas le cœur du métier, alors il y a des chances pour qu'on te fiche la paix et que l'on ne veuille pas savoir comment ça fonctionne.

    Je n'ai plus vu d'offres récentes pour faire de l'assembleur sur PC, ni pour développer exclusivement en assembleur quelque soit la plateforme, et pouvoir en vivre. Je n'ai plus cherché depuis un certain temps, cela dit.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Je me doutais que c'était rare, mais pas à point là, surtout à l'époque.

    L'ennui, c'est que l'activité est pratiquement exclusivement réservée à des ingénieurs de haut niveau travaillant sur un projet plus global
    Ca confirme carrément ce que j'ai vu en faisant des recherches d'emploi.
    Pas ici, mais aux Etat-Unis.
    En gros ils réclamaient des connaissances en asm, en C, mais aussi en génie électrique, et d'autres choses.

    Je viens de le retrouver:
    http://www.timesjobs.com/candidate/P...mit&target=p2n

    Bon c'est pas bien grave étant donné que c'est pas ma formation initiale qui est le réseau, mais ça m'aurait intéressé de mettre un pied dans le coding grâce à ça.
    Ce qui est certain c'est qu'il faut que je me mette vraiment au C car même en temps que passion je perd un temps incroyable à chaque fois qu'il y a des exemples expliqués en C.

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 372
    Points : 23 628
    Points
    23 628
    Par défaut
    Citation Envoyé par n5Rzn1D9dC Voir le message
    Ce qui est certain c'est qu'il faut que je me mette vraiment au C car même en temps que passion je perd un temps incroyable à chaque fois qu'il y a des exemples expliqués en C.
    Et encore, même là, ça commence à vieillir un peu après un marché brillant qui a quand même duré une quarantaine d'année. Mais il reste encore relativement aisé de trouver un emploi de développeur C, surtout comparé à l'assembleur exclusif. C'est aussi ce qu'il faut viser car c'est pour ainsi dire la seule catégorie de codeurs qui s'intéresse toujours au langage machine et qui, donc, a une petite idée de la manière dont tout cela fonctionne, pour troller un peu.

    Je te suggère donc effectivement de te mettre au C car, d'une part, c'est la base de tout le système UNIX (ce sont les mêmes concepteurs) et parce que, d'autre part, même l'UEFI qui doit remplacer le BIOS utilise désormais une ABI calquée sur celle du C et plus sur les antiques interruptions du 8086 (ce qui n'est pas une mauvaise chose, par contre).

    Le C étant par nature un langage « un cran au dessus de l'assembleur », même si c'est très différent, et conçu pour produire des exécutables autonomes, c'est aussi avec lui que tu accéderas par exemple à la programmation de micro-contrôleurs et, in fine, réintroduire un peu d'assembleur dans tes projets.

    C'est aussi faisable avec le C++ dans une certaine mesure (le langage fonctionne comme le C au niveau technique mais l'approche intellectuelle est complètement différente), par contre ce n'est pas envisageable avec les langages interprétés (PHP, etc.) ni même les langages à bytecode comme le Java. La JVM et les outils de premier niveau utilisent bien le langage machine mais sont écrits en C. Et l'interface JNI permettant d'étendre le langage quand quelque chose est indisponible et non développable en environnement fermé (par exemple, récupérer les droits spécifiques à UNIX depuis un programme Java) est écrite en C également.

    Naturellement, tout ce qui est écrit en C ou d'autres langages est théoriquement accessible depuis l'assembleur mais au prix d'une grande complexité. Si c'est pour écrire un programme assembleur exclusivement constitué de « INVOKE », ça ne vaut pas le coup.

    Par contre, le C est presque trivial pour quelqu'un qui a déjà de l'assembleur derrière lui. Personnellement, j'en ai appris la plupart seul en 15 jours avec un bon livre. Le premier programme que j'avais réalisé était conçu à partir de zéro et consistait à tracer des histogrammes en 3D isométriques à l'aide de la SVGAlib, tout en économisant les tracés et en évitant de repasser deux fois sur la même ligne (comme si je voulais envoyer ces instructions à une table traçante). Tu ne devrais donc pas avoir d'ennui à t'y mettre et à utiliser les deux langages en parallèle par la suite.

    Évidemment, si on veut devenir un expert (et éviter de prendre les mauvaises habitudes), il vaut mieux choisir les bons ouvrages et garder la norme sous le coude. Évidemment, ça prend un peu plus de temps.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Au départ j'avais commencé avec le C, via cette doc : Cours de C/C++

    Sans en avoir cherché d'autre.
    En faite, je suis allé directement sur le site de ce mec car j'avais déjà utilisé son tuto pour Linux lorsque j'ai voulu m'y mettre à l'époque, et je me souvenais qu'il y avait également une doc sur le C/C++ sur son site.
    Par contre je ne sais pas ce que ça vaut.
    Surtout le faite qu'il mélange C et C++ dans le même cours.
    Puis je suis pas sur mais son cours me semble plus être un tuto qu'autre chose.
    D'ailleurs quand je suis retourné sur son site plusieurs années après et que j'ai revu la partie Linux, je me suis dit "ah oué, c'était vraiment les bases des bases"..
    Quand je pense que j'avais tout imprimé à l'époque.. Au final j'ai tout jetté car totalement inutile maintenant.

    Puis j'ai lâché le C pour me mettre directement à l'asm, pour justement ce que tu dis et ce que j'avais entendu par ci et par là, qu'une fois qu'on connait l'asm on peut rapidement passer au C et même à d'autres langages. Je me suis dit "autant apprendre le plus difficile en premier", même si au final c'est plutôt étrange, car quand je lis un code C, je suis obligé de le coder en asm dans ma tête pour le comprendre. Mais ça devrait me passer avec le temps.

    Je remarque qu'il y a énormément de job pour java, depuis pas mal de temps d'ailleurs, car même si je n'ai jamais travaillé dans la prog, je regarde les offres de temps en temps.
    Pour ça qu'à l'origine j'avais prévu de faire asm > C > java.
    Mais après on arrive toujours au même problème des employeurs qui recherchent quelqu'un qui sait "tout" faire ^
    D'ailleurs il y a des vidéos ironiques sur le sujet sur Youtube.

    Je l'ai retrouvé:


    edit:
    Naturellement, tout ce qui est écrit en C ou d'autres langages est théoriquement accessible depuis l'assembleur mais au prix d'une grande complexité. Si c'est pour écrire un programme assembleur exclusivement constitué de « INVOKE », ça ne vaut pas le coup.
    Oui je suis d'accord.
    C'est pour ça qu'au fil du temps j'ai commencé à developper mes propres outils en asm (par exemple printf, sprintf), mais ça prend un certain temps. Mais la plupart du temps, il s'agit de codes purement asm. Pour ça que ça me dérangeait de devoir faire un import pour un simple "printf" ou "sprintf".

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825
    Par défaut
    Citation Envoyé par n5Rzn1D9dC Voir le message
    Je remarque qu'il y a énormément de job pour java, depuis pas mal de temps d'ailleurs, car même si je n'ai jamais travaillé dans la prog, je regarde les offres de temps en temps.
    Pour ça qu'à l'origine j'avais prévu de faire asm > C > java.
    tu as raison mais les offres portent surtout sur java/JEE est rarement sur java seul.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Ok, il faudra que je me documente sur ça, car pour l'instant tout ce qui est lié à Java est très obscure pour moi.

  8. #8
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 372
    Points : 23 628
    Points
    23 628
    Par défaut
    Personnellement, je suis assez fan du cours de Casteyde. Je m'étais même fendu d'un petit SMS surtaxé pour m'offrir la seconde version, pas beaucoup plus développée mais qui valait bien un petit soutien à l'auteur.

    Il a été longtemps référencé ici également, mais il y a toujours eu deux écoles : l'approche C/C++ et le fait d'apprendre directement le C++ en pensant comme tel. C'est notamment l'opinion de Bruce Eckel et c'est ce dernier courant de pensée qui a fini par l'emporter dans la rubrique C++. Comme on y trouve quelques intégristes, ça ne m'a pas spécialement tenté d'essayer d'y imposer mon point de vue. Il en reste que ce cours est propre, accessible et bien structuré. Ce qui est commun au C et au C++ occupe les chapitres 1 à 8 autant que je me souvienne, le reste est exclusivement C++. Donc, tu ne risqueras pas de faire d'amalgame gênant.

    Je me suis dit "autant apprendre le plus difficile en premier", même si au final c'est plutôt étrange, car quand je lis un code C, je suis obligé de le coder en asm dans ma tête pour le comprendre. Mais ça devrait me passer avec le temps.
    En fait, il y a deux avantages certains à procéder comme cela :
    1. Le fait de voir les langages dans l'ordre de leur apparition. C'est beaucoup plus facile et on comprend les raisons des évolutions de chacun d'eux vers le suivant. Apprendre directement le dernier puis remonter progressivement à la source au fur et à mesure que l'on gagne en compétences, c'est faire un cursus à la « mémento » ;
    2. C'est le seul langage, à mon avis, qui permette de voir réellement comment fonctionne un ordinateur dans les faits et un des rares qui apporte certains schémas de pensées qui changent un peu de la programmation impérative habituelle. Par exemple, la gestion des conditions, en effectuant une opération arithmétique ou logique quelle qu'elle soit et en examinant ensuite les flags dans leur globalité.


    Par contre, je maintiens que c'était plus intéressant avec les huit bits des années 1980. Déjà, il y avait beaucoup d'architectures différentes sur le marché, ce qui permettait rapidement de voir ce qui était commun à l'assembleur en général et ce qui était propre à un modèle. Ensuite, le jeu d'instruction était réduit à l'essentiel sans en faire un RISC. On voyait donc les fondamentaux et on pouvait assimiler le jeu entier dans un temps raisonnable.

    Je l'ai retrouvé:
    Merci pour cette vidéo, car c'est une des rares dans lesquelles je me retrouve encore. J'ai vu à peu près toutes ces technologies excepté le .net/C#.

  9. #9
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Mon boulot n'a rien à voir avec l'informatique (conception de la partie mécanique de machines industrielles),
    mais je suis très souvent en contact avec des automaticiens (normal, faut bien piloter mes bécanes )
    Et bien je peux vous dire que la pratique de la programmation assembleur permet de mieux appréhender
    certains aspects de l'automatisme.
    Je suis très souvent amené à aider les programmeur, surtout dans la gestion des combinatoires

    Par contre, je ne sais pas comment ça se passe dans le milieu info, mais
    les diplômes sont obligatoires dans mon boulot
    Moi je me suis arrêté à un bac mécanique, puis apprentissage "sur le tas" (avec mon paternel comme prof).
    Et j'ai eu plusieurs réalisations qui me sont passées sous le nez car :
    - je ne suis pas ingénieur
    - je ne suis pas dans un bureau d'études
    Bon, après je gagne quand-même des sous en faisant des réparations/modifs sur ces machines mais c'est frustrant

    Aujourd'hui je contourne le problème en spécifiant que si le résultat n'est pas à la hauteur
    de leurs attentes ils ne seront pas facturés. (pour le coup j'ai plutôt intérêt à être sûr de moi )

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Bon ba ça me rassure ce que tu dis sur son cours.

    Il en reste que ce cours est propre, accessible et bien structuré
    A l'époque j'avais également eu cet avis sur son cours Linux.
    Je m'étais dit "avec ça je devrais pouvoir m'en sortir" ^
    Et j'avais tout imprimé. Ca faisait il me semble deux gros classeurs.
    Ca m'a été très utile, surtout lorsque je n'avais pas internet.
    Au final j'avais aussi acheté la version payante. Pour Linux ou pour le C, je ne me rappel plus, je vais devoir chercher dans mes archives.
    Je vais donc continuer avec sa doc.

    C'est le seul langage, à mon avis, qui permette de voir réellement comment fonctionne un ordinateur dans les faits et un des rares qui apporte certains schémas de pensées qui changent un peu de la programmation impérative habituelle. Par exemple, la gestion des conditions, en effectuant une opération arithmétique ou logique quelle qu'elle soit et en examinant ensuite les flags dans leur globalité.
    Oui et personnellement, j'ai un peu tendance à voir les autres langages comme des simples framework de l'asm.
    Je pense par exemple aux gens derrières chaque langage qui font de façon à ce que les compilo fonctionnent et supportent chaque processeur.

    Par contre, je ne sais pas comment ça se passe dans le milieu info, mais
    les diplômes sont obligatoires dans mon boulot
    L'informatique c'est un peu particulier.
    Je ne sais pas pour les autres domaines, mais pour mon domaine d'origine, le réseau, on ne m'a jamais ennuyé pour les diplômes.
    J'ai tout appris tout seul, et la seule fois où j'ai voulu passer un diplôme niveau bac+2, juste histoire d'avoir un niveau bac+2, et bien j'ai fini le programme de l'année en 5 mois, et encore, en prenant grave mon temps (jeux en réseau plusieurs heures par jour).
    Au final je n'ai pas pu passer le diplôme car je n'avais pas fait les stages qui étaient obligatoires.
    C'était vraiment une perte de temps absolue de m'être inscrit à cette formation.
    Il n'y a que le prof et un ami geek qui comprennaient quelque chose à ce que je racontais : /
    L'ennuie total quoi, car le prof était obligé de suivre le programme pour les autres.

  11. #11
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 372
    Points : 23 628
    Points
    23 628
    Par défaut
    Citation Envoyé par Forthman Voir le message
    Par contre, je ne sais pas comment ça se passe dans le milieu info, mais les diplômes sont obligatoires dans mon boulot
    Moi je me suis arrêté à un bac mécanique, puis apprentissage "sur le tas" (avec mon paternel comme prof). Et j'ai eu plusieurs réalisations qui me sont passées sous le nez car :
    - je ne suis pas ingénieur
    - je ne suis pas dans un bureau d'études
    Bon, après je gagne quand-même des sous en faisant des réparations/modifs sur ces machines mais c'est frustrant
    Ce sont des profils comme le tien qui ont le plus de valeur au final ! :-) Cela dit, si tu souhaites devenir ingénieur sur le tard, il existe des FIP (formations d'ingénieur en partenariat) adaptées aux adultes et qui permettent de faire cela en même temps que le travail. C'est une forme d'alternance mais avec des demi-semaines plutôt que des périodes de deux mois. C'est intéressant parce qu'on ne décroche jamais de l'un ou de l'autre. Moi j'ai réussi à faire financer la mienne (très onéreuse pour un particulier) par le Fongecif fin 2005 (bon je n'ai pas pu la finir à cause de raisons professionnelles en parallèle mais c'est un autre problème).

  12. #12
    Membre du Club
    Femme Profil pro
    Étudiante
    Inscrit en
    Février 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiante

    Informations forums :
    Inscription : Février 2014
    Messages : 31
    Points : 52
    Points
    52
    Par défaut
    moi aussi j'ai commencé par l'assembleur avant d'apprendre le C grâce à l'excellent livre de M. NEBRA je te le recommande car ce sera hyper facile pour toi sachant que la seule difficulté du livre c'est les pointeurs mais ça c'est une partie de rigolade quand tu connait l'assembleur (en une 50 aines d'heures c réglé on va dire).
    Surtout partant de là tu pourra ensuite enchainer avec le bouquin C++ du même auteur, plus difficile enfin je veut ++ difficile mais encore une fois y a pas mieux comme bouquin d'initiation selon moi qui suis un vrai rat de bibliothèque. Puis tu enchaines sur le bouquin de Claude Delannoy pour le Java (ou celui d'Anne TASSO).
    ça semble le minimum du minimum à connaitre en 2014 mais se serait plus normal de connaitre également le C#, et surtout visée l'expertise soit .NET soit JEE qui sont les + convoitée sur le marché de l'emploi (mais ça prend des années, surtout le JEE c l'enfer ) associées aux compétences base de données : SQL & PHP..
    très demandé également avec l’importance du web aujourd’hui les connaissances script : Python/Perl, HTML & CSS
    Voilà en bref si tu reste juste sur assembleur et C/C++ tu passes à coter de 95% des offres d'emplois vu la concurrence actuelle en informatique pur et surtout le développement du offshoring , et encore pour les 5% restant des offres orientées info indus tu te fera piétiner par les ingé ou univ bac +5 en génie électronique embarquée / noyau temps réel

Discussions similaires

  1. Réponses: 8
    Dernier message: 02/05/2008, 16h42
  2. Trouver du travail avec une Licence de physique ?
    Par mouad.oca dans le forum Emploi
    Réponses: 2
    Dernier message: 25/10/2007, 21h04
  3. Mes chances de trouver du travail
    Par m14w dans le forum Emploi
    Réponses: 38
    Dernier message: 12/09/2007, 16h31
  4. Réponses: 5
    Dernier message: 11/09/2007, 13h51
  5. Mais où est Charlie? Enfin où trouver du travail?
    Par sniperseb dans le forum Emploi
    Réponses: 25
    Dernier message: 30/01/2006, 12h39

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