Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#51 Le 09/03/2016, à 10:30

pires57

Re : Conseils pour commencer la programmation

Quel sont les domaines sur lesquels je doit porter mon attention afin de très bien connaitre le fonctionnement de linux en plus de la programmation ?

Commences déjà par lire des bouquins, comprends comment fonctionne ton système (appel système, gestion des droits, protocoles, commande utiles .... ) la théorie c'est la base de la pratique, si tu n'as pas la théorie tu ne pourras jamais avoir un bon niveau technique.


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#52 Le 09/03/2016, à 10:56

Rufus T. Firefly

Re : Conseils pour commencer la programmation

HP a écrit :
Rufus T. Firefly a écrit :

Comme il faut bien commencer par quelque chose, lance-toi par exemple dans bash. Ça permet de faire des tas de trucs et surtout de se rendre bien compte en quoi ça consiste, […]

La programmation en bash… non, mais lol quoi ! Autant faire du python, du ruby, ou même du Perl… si le but est d'avoir du "haut niveau" et/ou un langage de script. Sinon, C ou C++ pour du compilé. Mais pour faire de la programmation, le mieux reste d'utiliser de "vrais" langage de programmation.

Des "vrais" langages de programmation ? Tu veux dire ceux qui produisent des résultats dont le moindre exige un core i7 et 8 Go de ram pour tourner ? lol
J'ai écrit mon premier programme là-dessus : https://fr.wikipedia.org/wiki/Programma_101
Calculer un sinus en utilisant un développement limité...
C'est possible et mieux que ça, on apprend même des choses utiles...

Dernière modification par Rufus T. Firefly (Le 09/03/2016, à 10:58)


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#53 Le 09/03/2016, à 12:44

Nasman

Re : Conseils pour commencer la programmation

Rufus T. Firefly a écrit :

Calculer un sinus en utilisant un développement limité...
C'est possible et mieux que ça, on apprend même des choses utiles...

Aujourd'hui tu peux utiliser une instruction en assembleur pour cela, idem pour les logarithmes.


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne

#54 Le 09/03/2016, à 12:49

Rufus T. Firefly

Re : Conseils pour commencer la programmation

Nasman a écrit :
Rufus T. Firefly a écrit :

Calculer un sinus en utilisant un développement limité...
C'est possible et mieux que ça, on apprend même des choses utiles...

Aujourd'hui tu peux utiliser une instruction en assembleur pour cela, idem pour les logarithmes.

Mais peut-être pas sur un processeur risc... wink

Et alors quoi ? On utilise la bibliothèque mathématique d'un "vrai" langage, on calcule le sinus avec 15 chiffres après la virgule, tout ça pour obtenir un résultat qu'on a toutes les chances de tronquer (par exemple à 1280x1024, la taille en pixels de l'écran). Mon grand-père était architecte et utilisait une règle à calcul... Ses baraques sont toujours debout, presqu'un siècle après... Aujourd'hui, il ferait ça avec 15 chiffres après la virgule et aurait besoin d'un core i7 et de 16 Go de ram ! lol

Dernière modification par Rufus T. Firefly (Le 09/03/2016, à 13:17)


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#55 Le 09/03/2016, à 12:51

HP

Re : Conseils pour commencer la programmation

Rufus T. Firefly a écrit :

Des "vrais" langages de programmation ? Tu veux dire ceux qui produisent des résultats dont le moindre exige un core i7 et 8 Go de ram pour tourner ? lol

Ruby, Python ou Perl réclament un core iN pour tourner ? big_smile


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#56 Le 09/03/2016, à 13:15

Rufus T. Firefly

Re : Conseils pour commencer la programmation

HP a écrit :
Rufus T. Firefly a écrit :

Des "vrais" langages de programmation ? Tu veux dire ceux qui produisent des résultats dont le moindre exige un core i7 et 8 Go de ram pour tourner ? lol

Ruby, Python ou Perl réclament un core iN pour tourner ? big_smile

Mais on s'en fout complètement du langage, c'est ça que je veux dire ! C'est juste utile pour des exemples concrets de programmes. Mais tu peux faire des tours de Hanoï en bash (ou en n'importe quoi d'autre : http://www.kernelthread.com/projects/hanoi/ )... lol

#! /bin/bash

E_SANSPARAM=66    # Aucun paramètre passé au script.
E_MAUVAISPARAM=67 # Nombre illégal de disques.
Deplacements=     # Variable globale contenant le nombre de déplacements.
                  # Modification du script original.

fait_hanoi() {   # Fonction récursive.
    case $1 in
    0)
        ;;
    *)
        fait_hanoi "$(($1-1))" $2 $4 $3
        echo move $2 "-->" $3
        ((Deplacements++))  # Modification du script original.
        fait_hanoi "$(($1-1))" $4 $3 $2
        ;;
    esac
}

case $# in
    1) case $(($1>0)) in     # Il doit y avoir au moins un disque.
       1) # Instruction case imbriquée.
          fait_hanoi $1 1 3 2
          echo "Nombre total de déplacements = $Deplacements"
          exit 0;
          ;;
       *)
          echo "$0: valeur illégale pour le nombre de disques";
          exit $E_MAUVAISPARAM;
          ;;
       esac
       ;;
    *)
       echo "usage: $0 N"
       echo "       où \"N\" est le nombre de disques."
       exit $E_SANSPARAM;
       ;;
esac

et ici, une version en sed (la commande sed habituelle !)

#! /usr/bin/sed -f
#
# The Towers Of Hanoi
# sed
# Copyright (C) 2001 Amit Singh. All Rights Reserved.
# http://hanoi.kernelthread.com
#
# usage: 
#   echo xx* | sed -f hanoi.sed
# use N 'x's for N disks, for example:
#   echo xxx | sed -f hanoi.sed will solve for 3 disks
#

:M
s/^xx*$/:n:3:2:1:&:/g
t B
a\
usage: echo xx* | sed -f hanoi.sed. For example, xxx represents 3 disks.
d
:B
/^:$/ { d;q; }
h;s/^:[yn]:\([123]\):[123]:\([123]\):x*:.*/\2 --> \1/g;x
/^:y:[123]:[123]:[123]:x*:.*$/b ~0
/^:n:[123]:[123]:[123]:x:.*/b 1
s/:n:\([123]\):\([123]\):\([123]\):x\(x*\):\(.*\)/:n:\2:\1:\3:\4:y:\1:\2:\3:x\4:\5/g
b B 
:1
x;p;x
s/^:n:[123]:[123]:[123]:x:\(.*\)/:\1/g
b B
:~0
x;p;x
s/^:y:\([123]\):\([123]\):\([123]\):x\(x*\):\(.*\)$/:n:\1:\3:\2:\4:\5/g
b B
:E

Dernière modification par Rufus T. Firefly (Le 09/03/2016, à 13:27)


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#57 Le 09/03/2016, à 20:38

Yazlinux

Re : Conseils pour commencer la programmation

Bonsoir messieurs ,

Nam, je doit porter plus d'attention à codeacademy , tu as raison.

Me concernant j'ai fait un cours dessus , puis ne comprenant pas trop comment agir seul ,  ainsi que mon emploi du temps pas très adapté ces derniers mois m'on un peu éloigner du domaine informatique.

Pour autant ma motivation est plus grande.

Franchement j'aimerais beaucoup savoir moi aussi travailler avec un terminal , programmer quoi !

Parcontre je ne comprend pas trop ce que viennent faire les mathématiques , est-ce nécessaire d'avoir un bon niveau en maths ?


Alors concernant le langage , après vos recommandations , j'ai finit par choisir python.

Je vais voir ce que sa donne.

Après je sait que sa peut vous paraître prétentieux , mais à moyen terme , c'est à dire 5 ans , j'aimerais être apte à travailler comme un pro avec ces différents langage mais aussi "maitriser" l'environnement linux et mac os mais surtout linux.

Concrètement quelqu'un peut-il m’établir un "plan" de formation en me disant par quoi commencer , que faire par la suite , sur 5 ans afin que je puisse déjà visualiser un peu , mon plan de formation et avoir les idées un peu plus claire ?

Merci messieurs.


Vos témoignages perso sont les bienvenues .


Yazlinux

neutral

Hors ligne

#58 Le 09/03/2016, à 21:06

Arioch91

Re : Conseils pour commencer la programmation

Pour donner mon vécu personnel en guise d'exemple.

J'ai commencé à m'intéresser à la programmation fin des années 90.

Au départ, c'était en Visual Basic mais j'ai vite abandonné car ce n'était pas ce type de programmation là qui me branchait. Passer autant de temps à régler l'emplacement d'un bouton ou d'une case à cocher, bof.

Alors, en parallèle avec ma découverte de Linux, j'ai commencé par apprendre les bases du C via LE bouquin de référence, celui de Kernighan & Ritchie. Mais j'ai vite déchanté car je partais de rien et ça me semblait vraiment compliqué (notamment, bien comprendre la notion des pointeurs).

Au boulot, un programmeur écrivait des programmes Perl et il m'a incité à me lancer dans l'apprentissage de ce langage.

Plus de 15 ans après, je l'en remercie énormément !

Perl m'a permis dès le départ de m'ouvrir à toutes mes envies. En Perl, on peut quasiment tout faire !

J'ai fait des pages HTML ou des fichiers Excel contenant des infos tirées de bases de données ou bien de fichiers texte. J'ai passé 3 années de ma vie à écrire les 50.000 et quelques lignes de codes pour un jeu lancé en 2005 et qui existe toujours en 2016.

Au boulot, Perl est LE langage qui me sert de roue de secours dans bien des situations et il ne se passe pas une semaine sans que j'aie recours à lui pour me sortir d'une situation bien chiante (je manipule énormément de données).

Vu comme ça, j'ai l'air d'insister sur le côté pratique de Perl tongue

Oui, mais je parle de Perl 5 !

Depuis, Perl 6 est arrivé et son absence totale de compatibilité avec l'ancien Perl fait que je ne conseillerais pas Perl en tant que langage. Ni le 5, ni le 6. A mon grand regret.

Au boulot, j'essaie tant bien que mal d'apprendre PHP mais je déteste ce langage. Mes supérieurs veulent que je décroche de Perl au profit de PHP pour tout et n'importe quoi. Y compris la manipulation de fichiers. Mais quand PHP plante avec un joli "out of memory" alors qu'il lisait un malheureux fichier de 30 Mo (qu'est-ce que c'est de nos jours, 30 Mo ?) alors qu'il devait s'en bouffer au total deux de 130 Mo chacun, je fais un p'tit signe à mon Perl adoré pour qu'il rapplique. Et lui, les 260 Mo, il se les bouffe tranquille, sans râler et il en redemande. Et en plus, pour ce genre de choses, il va nettement plus vite !

A côté de ça, un collègue avance largement plus que moi en PHP et il arrive à faire des choses magnifiques, visuellement comme techniquement parlant. Mais ce qui me gêne avec PHP, c'est que seul, bof quoi. Là, il fait du PHP mais il lui colle du Jquery et autres Boostrap pour faire exactement ce qu'il a envie. C'est là que le bât blesse avec PHP. Seul, c'est limité alors pour débuter, ça ne me parait pas être l'idéal.

A surveiller, mais je te conseillerais bien Ruby.


8 Go RAM - SSD 120 Go + SATA 1 To - Ubuntu 14.04 LTS

Hors ligne

#59 Le 09/03/2016, à 21:18

Yazlinux

Re : Conseils pour commencer la programmation

Merci pour ton témognage Arioch91 ,

C'est un joli témoignage.

Y a t-il un nombre determinant si on est bon ou mauvais developpeur ?

Combien de lignes de codes écrit un developpeur par jour , par an ?


Une question auquel je n'ai pas eu de réponse , et que je n'ai sans doute pas poser .

Comment s'organisent les developpeur , quand il s'agit de programme necessitant 5-10 millions de lignes de codes ?

Je pense à des os , ou autre programme complexe .

Dernière modification par Yazlinux (Le 09/03/2016, à 21:20)

Hors ligne

#60 Le 09/03/2016, à 21:26

Arioch91

Re : Conseils pour commencer la programmation

Y a t-il un nombre determinant si on est bon ou mauvais developpeur ?

Un nombre déterminant ?

Pas compris hmm

Combien de lignes de codes écrit un developpeur par jour , par an ?

Tout dépend du contexte. Quand je dois écrire un script Perl qui doit retrouver 15.000 référence dans un gros fichier, en une 20aine de lignes c'est fait mais avant tout, il m'a fallu réfléchir à ce que je voulais faire exactement. Mais là, c'est du free lance.

Au sein d'une équipe de développeur, si un collègue te demande de déployer la nouvelle classe objet PHP qu'il vient de finir dans tes différents projets, tu vas passer beaucoup de temps à écrire quelques lignes de ci de là pour raccrocher les wagons.

Enfin bref, ça ne se quantifie pas ces choses là.

Comment s'organise les developpeur , quand il s'agit de programme necessitant 5-10 millions de lignes de codes ?

Un programme aussi gros, on n'a pas ça au boulot mais notre équipe de développeurs PHP sont 4. L'un bosse sur l'implémentation d'un moteur de recherche, un second bosse sur l'optimisation des index de plusieurs bases de données. Un autre développe des classes objets en PHP, soit en partant de rien, soit en faisant de l'héritage de classe (un dérivé de quelque chose existant si tu préfères).

Bref, tout dépend du contexte et du nombre de développeurs.


8 Go RAM - SSD 120 Go + SATA 1 To - Ubuntu 14.04 LTS

Hors ligne

#61 Le 09/03/2016, à 21:29

Yazlinux

Re : Conseils pour commencer la programmation

Par rapport à la première question c’était surtout pour savoir si un développeur passe toute sa journée sur son ordi , j'ai un peu l'image du geek fanatique pour qui la seule pose c'est aller dormir  et j'aimerais savoir ce qu'il en est en réalité.

Hors ligne

#62 Le 09/03/2016, à 21:35

Arioch91

Re : Conseils pour commencer la programmation

Durant les 3 ans où j'ai travaillé mon projet, il y a eu beaucoup d'alternances entre coder, réfléchir au résultat souhaité, tester, débugger.

Dans les phases de codage pur, je codais 2h tous les soirs et largement plus les week end. Mes vacances, je les consacrais à développer.

Mais y a forcément des moments où tu as besoin de dire STOP ! Faire une pause est salvatrice bien souvent.

Réfléchir, coder, tester, débugger sont des phases qui reviennent souvent. Pour ne pas dire obligatoirement.

Mais oui, en gros tu as de grandes chances de passer une majorité de tes journées derrière ton ordi wink


8 Go RAM - SSD 120 Go + SATA 1 To - Ubuntu 14.04 LTS

Hors ligne

#63 Le 09/03/2016, à 21:46

Rufus T. Firefly

Re : Conseils pour commencer la programmation

Arioch91 a écrit :

Mais quand PHP plante avec un joli "out of memory" alors qu'il lisait un malheureux fichier de 30 Mo (qu'est-ce que c'est de nos jours, 30 Mo ?)...

Je me souviens avoir eu un truc de ce genre avec un algorithme de Dijkstra sur plusieurs dizaines de milliers de sommets (bd mysql)... Pourquoi php ? Ça servait sur un site et j'avais la flemme de faire le traitement à part. Comme quoi, le choix d'un langage, parfois, tient à peu de choses...
Ça a peut-être un rapport avec ça, dans php.ini (ici la valeur par défaut)

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M

La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#64 Le 10/03/2016, à 13:28

Arioch91

Re : Conseils pour commencer la programmation

Le pire, c'est que mon script PHP qui m'affichait un joli "out of memory", c'était un script lancé depuis mon poste en local sans passer par un serveur Apache ni retour sur page web.

Ca m'a bien calmé.

Depuis, j'ai vu un collègue obligé de passer par MySql pour stocker temporairement des données de plusieurs bases et/ou tables car charger l'ensemble en mémoire faisait planter son script, là où Perl rassemblait tranquillement toutes les données dans un hachage.

Oui, comme tu dis, le choix d'un langage tient à peu de choses parfois...


8 Go RAM - SSD 120 Go + SATA 1 To - Ubuntu 14.04 LTS

Hors ligne

#65 Le 14/03/2016, à 19:06

Yazlinux

Re : Conseils pour commencer la programmation

Bonjour ,

Quelqu'un utilise t-il des algorithmes quand il/elle code , fait de la programmation  ?

On en a pas parlé et j'aimerais savoir si connaitre des algorithmes , maths , sciences est un impératif dans la programmation ?

Qu'en pensez vous ?

Hors ligne

#66 Le 14/03/2016, à 19:34

Rufus T. Firefly

Re : Conseils pour commencer la programmation

Rien !

Ça fait 6 mois que tu poses des questions. Depuis, as-tu lu le moindre bouquin sur la programmation en général (donc pas des choses genre C++ pour les Nuls), ou même la moindre page wikipédia là-dessus ?
Je n'ai vraiment pas l'impression !


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#67 Le 14/03/2016, à 22:43

nam1962

Re : Conseils pour commencer la programmation

+1, j'ai moi aussi demandé si tu avais suivi le moindre Mooc qui t'a été indiqué, j'ai vu la réponse...

Reviens sur le fil une fois que tu auras bossé.
...tout le reste est juste inutile.


[ Modéré ]

Hors ligne

#68 Le 14/03/2016, à 23:22

pires57

Re : Conseils pour commencer la programmation

La programmation c'est rien de plus que de l'algorithmique transformer en fonction du langage utilisé.  Ta question est un non sens et tu n'as pas la moindre base depuis 6 mois. A ce rythme là tu ne sera jamais capable de créer une application. Arrête de poser des questions, lis des bouquins et passe à la pratique!


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#69 Le 14/03/2016, à 23:37

Rufus T. Firefly

Re : Conseils pour commencer la programmation

Je viens de trouver un article très sympa sur la machine de Turing accompagné d'un simulateur
(on va lui faire peur... tongue )

Dernière modification par Rufus T. Firefly (Le 14/03/2016, à 23:43)


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#70 Le 15/03/2016, à 18:46

Yazlinux

Re : Conseils pour commencer la programmation

Bonjour ,

Effectivement , je vais voir ce que sa donne quelques temps avant de revenir sur le fil .

Je vous remercie pour vos réponses.

Hors ligne

#71 Le 16/03/2016, à 23:44

grim7reaper

Re : Conseils pour commencer la programmation

Nasman a écrit :
Rufus T. Firefly a écrit :

Calculer un sinus en utilisant un développement limité...
C'est possible et mieux que ça, on apprend même des choses utiles...

Aujourd'hui tu peux utiliser une instruction en assembleur pour cela, idem pour les logarithmes.

Ou la fonction de ta bibliothèque standard.
Ton instruction assembleur ne sera pas forcément plus rapide qu’une implémentation logicielle : voir ce message de la ML gcc pour un bon exemple.

Hors ligne

#72 Le 29/03/2016, à 20:37

msg21

Re : Conseils pour commencer la programmation

Pour les débutants il y a le site : openclassroom; avant il s appelait : le site des zéros :

https://openclassrooms.com/courses?q=programmation

Dernière modification par msg21 (Le 30/03/2016, à 11:43)

Hors ligne

#73 Le 24/04/2016, à 17:01

Olivier_Dev

Re : Conseils pour commencer la programmation

Bonjour
Tiens j aurais posé la même question il y à dix an smile
Pour être franc je n'ai pas lu tout les posts mais vais simplement expliquer en quelques lignes mon parcours si cela peut t inspirer.
J'ai eu il y a 10 ans le même projet que toi, avec beaucoup de questions et beaucoup de réponses car les technologies informatiques sont nombreuses.
Tellement nombreuses que l on ne sait pas par où commencer.
Aujourd'hui je suis dev full stack et avec spécialisation systèmes linux et base de données relationnelles.
Bref un beau charabia.

La programmation n est pas une fin en soi, c'est la traduction d un besoin en langage machine c'est la première chose à comprendre.
Dans ton cas il te faut comprendre de quoi est constitué la machine de destination, ce que tu va lui demander et si elle en est capable.
Ensuite tu va imaginer ton programme ton le langage le plus courant, le français.
Si le discours que tu as imaginer est cohérent tu vas le traduire.
La question se posera alors dans quel langage dois je traduire mon besoin et avec quels technologies.
A ce stade tu apprendra un langage ainsi que son ecosystem.
Tu te confrontera également au versionning, aux good practices, à l utilité des tests.
Tu comprendra aussi l intérêt des frameworks, librairie, et surtout qu un dev passe beaucoup de temps à lire de la documentation.

Personnellement j'ai apris les bases sur la tar et fait un an de formation en informatique de gestion.
Ce qui m'a permis de comprendre les fondamentaux du métier et la modélisation des données.

Bon courage

Hors ligne

#74 Le 24/04/2016, à 18:00

nam1962

Re : Conseils pour commencer la programmation

Tiens, j'ai regardé les talents qui pourraient m'aider pour ma startup. Les langages et framework qui seraient efficaces dans ce cadre son à priori Python, Go, Meteor.js et Html5.


[ Modéré ]

Hors ligne

#75 Le 25/04/2016, à 00:14

Olivier_Dev

Re : Conseils pour commencer la programmation

Efficaces pour qu'elles usages ?

Hors ligne