Langage/logiciel : choix

Discutez d'informatique ici !
Yayaj
Membre Naturel
Messages: 69
Enregistré le: 13 Aoû 2015, 18:17

Langage/logiciel : choix

par Yayaj » 13 Aoû 2015, 19:29

Bonjour !

Voulant reprendre mes études et connaissant un peu la programmation (C/C++ en console), j'aimerais m'amuser à développer. Des programmes/langages qui pourraient m'aider par la suite.

J'ai vu dans certaines licences les langages C/C++, python, java et le logiciel scilab. On m'a aussi parlé de Sage.
Que devrais-je choisir ?

Merci par avance de vos conseils et arguments !

Yayaj



Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 14 Aoû 2015, 01:02

Bonjour,

Si tu connais déjà un peu le C / C++ tu devrais continuer à développer tes compétences dans un de ces deux langages (tout dépend de ce que tu souhaites faire). Car ce ne sont pas les mêmes langages et les mêmes façons de développer.

Si tu souhaites apprendre un bon langage pour faire des scripts, le python est un bon choix, il est simple à mettre en place et simple et la doc est très bien faite.

C'est plutôt ce que tu comptes faire qui va t'orienter vers tel ou tel langage / logiciel.
Apprendre à utiliser scilab et faire du C++ ou du python n'ont pas les mêmes objectifs.

As-tu déjà des idées de projet ou de développement que tu souhaites faire ?

Après si tu essayes un peu chaque langage du pourra rapidement voir ce qui te plait ou non dans ces langages et potentiellement te guider sur le langage qui te plait le plus.

Yayaj
Membre Naturel
Messages: 69
Enregistré le: 13 Aoû 2015, 18:17

par Yayaj » 14 Aoû 2015, 11:00

As-tu déjà des idées de projet ou de développement que tu souhaites faire ?
Pour le moment, pas vraiment. Connaissant peu les langages et la création de GUI (je n'ai fait les C et C++ qu'en console), je ne puis mesurer les difficultés et donc les possibilités à ma portée.
Tout ce que je sais, c'est pouvoir m'amuser à programmer et faire des mathématiques en même temps...

En ce moment, j'essaie de m'initier à python pour me donner un petit avis...

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 14 Aoû 2015, 14:50

Yayaj a écrit:Pour le moment, pas vraiment. Connaissant peu les langages et la création de GUI (je n'ai fait les C et C++ qu'en console), je ne puis mesurer les difficultés et donc les possibilités à ma portée.
Tout ce que je sais, c'est pouvoir m'amuser à programmer et faire des mathématiques en même temps...

En ce moment, j'essaie de m'initier à python pour me donner un petit avis...


Le python est vraiment un langage adapté pour commencer. On arrive très rapidement à faire des choses très sympa.

Il y a un site que je trouve vraiment interessant pour bosser l'algo tout en apprenant un langage (et tu peux le faire en python).

http://www.france-ioi.org/index.php?sLanguage=fr

Tu pourrais également essayer de regarder quelques cours en traitements du signal / traitements des images, tu pourras trouver ton bonheur tant du côté mathématique (fourier, laplace, matrice, ...) que du côté programmation.

Par exmple tu pourrais faire un programme qui, en entrée prend un fichier audio ou image et en sortie génére un fichier audio ou une image filtré (faisable en scilab sans trop de difficulté).

Yayaj
Membre Naturel
Messages: 69
Enregistré le: 13 Aoû 2015, 18:17

par Yayaj » 14 Aoû 2015, 14:58

Merci pour ce lien.
En fait, je penche assez pour python et j'ai trouvé un tutoriel intéressant ici. Je vais d'abord me faire une idée sur python puis peut-être sur C++ (ou C ?) avant de me lancer vraiment.

Attention, je ne clos pas la discussion, au contraire ! Si d'autres personnes ont des arguments à proposer, qu'elles n'hésitent pas ! :lol3:

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 14 Aoû 2015, 15:06

Pour allier mathématique et informatique le C++ est le langage qui est le plus utilisé (dans le cas où on cherche principalement la performance et la vitesse).

Concentre toi principalement sur le C++, quand tu voudras commencer à regarder du côté C / C++, plutôt que sur le C.

Si tu as déjà compris le principe des structures / pointeurs en C, rien ne sert de poursuivre dans ce langage, le C++ te sera sûrement d'une meilleure aide dans la suite (lib boost par exemple).

Yayaj
Membre Naturel
Messages: 69
Enregistré le: 13 Aoû 2015, 18:17

par Yayaj » 14 Aoû 2015, 18:24

Pour le C++, connais-tu de bonnes références ?

On m'a dit que celui du SdZ n'est pas super et ceux de developpez.com ne sont pas récents...
J'ai vu ce livre qui a eu du succès mais aussi des critiques négatives...

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 14 Aoû 2015, 22:48

Personnellement j'avais commencé avec le sdz (openclassroom maintenant) mais c'est vrai que le tuto est plutôt moyen.

Je me suis tourné plutôt vers celui-ci (en anglais par contre):
http://www.cplusplus.com/doc/tutorial/ que je trouve pas mal complet et assez clair.

Si tu as des difficultés dans certains points du langage, tu peux essayer de regarder sur d'autres sites (par exemple sur le sdz ou developpez.com) afin d'avoir une explication différente.

Yayaj
Membre Naturel
Messages: 69
Enregistré le: 13 Aoû 2015, 18:17

par Yayaj » 14 Aoû 2015, 22:57

Je vois de plus en plus de personnes (sur d'autres forums, math ou info) me conseiller python.

Un peu plus facile à aborder (je n'ai pas dit hyper facile), j'ai vu qu'il proposait des bibliothèques de mathématiques et j'ai trouvé plusieurs tutoriels sympas dont celui-ci , contrairement au C++ où ils ne sont pas récents...

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 14 Aoû 2015, 23:09

L'apprentissage du python est beaucoup plus facile que le C++ et c'est un bon langage pour commencer.

Quand tu seras beaucoup plus avancée dans l'apprentissage de ce langage et que tu souhaiteras améliorer les temps de traitement de tes programmes (pas avant un bon moment je pense ^^), il sera toujours temps de te tourner vers des solutions plus rapide pour ce que tu souhaites faire. (Peut-être que ce ne sera jamais le cas et la question ne se posera plus =))

De toute manière une fois que tu es assez à l'aise avec un langage, changer de langage ne pose pas de gros problème, et il suffira surtout de bien assimiler et comprendre les nouvelles notions qui n'étaient pas forcément présentes sur le langage appris au départ.

bolza
Membre Relatif
Messages: 449
Enregistré le: 04 Juin 2015, 11:15

par bolza » 15 Aoû 2015, 00:36

Bonjour,

A ne pas oublier les langages fonctionnels.
Je pense à Ocaml par exemple.
Apprendre Ocaml peut être très bien pour avoir de bonne bases en programmations.

On peut programmer en fonctionnel
On peut programmer en impératif
Et on peut faire aussi de la programmation objet.

Donc c'est un langage avec lequel on peut voir tous les aspect de programmation.

Après tu remarquera, que le passage d'un langage à un autre c'est surtout des histoires de syntaxes
Par exemple un programme écrite en pseudo code, si on l'écrit en C ou en python,
ce qui va principalement changer c'est la syntaxe, l'algorithme qu'il y a derrière va rester principalement le même.
Donc si tu sais programmer dans un langage impératif quelconque,
tu saura programmer assez rapidement dans n'importe quel autre langage impératif.
De même pour les langages fonctionnel et en programmation objet.

Car finalement les vrai concept de programmation, on peut les écrire en pseudo code.
Ensuite adapter un pseudo code dans un lagage particulier, comme je le disais c'est juste de la syntaxe.

(C'est moins vrai quand on commence à vouloir optimiser son code, car pour optimiser un code
on va chercher à exploiter les particularités du langage.)

Donc finalement pour commencer, il vaut mieux que tu commence avec un langage dans lequel tu es à l'aise,
ensuite si tu as besoin de programmer dans un autre langage,
il te faudra simplement un temps d'adaptation à la syntaxe du nouveau langage.

Je conseil Ocaml parce que ce que comme je l'ai signalé, il permet de voir tous les styles de programmation.

Après ne me demandez surtout pas lequel est le mieux entre impératif ou fonctionnel,
chacun a ses avantages, chacun a ses défauts, mais connaître les deux je pense peux être bénéfique :)

Et bien sûr Ocaml est documenté ;)

Voilà je vous ai présenté un choix supplémentaire :)

Je ne sais pas si l'enseignement de langage fonctionnel est aussi répandu
que les langages impératifs, mais sachez que ça existe :)

Bon courage :)

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 15 Aoû 2015, 01:06

J'avais pensé à proposer l'Ocaml mais je trouve la syntaxe moins clair que celle de python. Par contre je suis à 100% d'accord avec toi, c'est un excellent langage.

L'Ocaml est un langage que je proposerais plutôt à une personne qui connait déjà bien les fondamentaux / notions de bases d'un autre langage pour que la seule difficulté soit l'assimilation de la syntaxe de ce langage qui ne ressemble pas vraiment à la syntaxe des langages plus connu (C / c++ / java / python / ...)

Mais cela peut-être intéressant de faire un tour sur ce site : https://ocaml.org/learn/tutorials/index.fr.html

Micki28
Membre Relatif
Messages: 377
Enregistré le: 01 Aoû 2007, 19:51

par Micki28 » 15 Aoû 2015, 11:58

Bonjour,

Avez vous des liens sympas pour lier les mathématiques ou la physique avec l'informatique?

Des bons exemples de simulations numériques en C++ ou python.

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 19:42

par Rockleader » 18 Aoû 2015, 00:09

ampholyte a écrit:J'avais pensé à proposer l'Ocaml mais je trouve la syntaxe moins clair que celle de python. Par contre je suis à 100% d'accord avec toi, c'est un excellent langage.

L'Ocaml est un langage que je proposerais plutôt à une personne qui connait déjà bien les fondamentaux / notions de bases d'un autre langage pour que la seule difficulté soit l'assimilation de la syntaxe de ce langage qui ne ressemble pas vraiment à la syntaxe des langages plus connu (C / c++ / java / python / ...)

Mais cela peut-être intéressant de faire un tour sur ce site : https://ocaml.org/learn/tutorials/index.fr.html


Cette année mon prof m'a traité d'hérétique quand je lui ai demandé pourquoi on ne faisait que du fonctionnel en Ocaml :ptdr: mais c'était une bonne expérience, ça permet de voir que tout peut être fait en fonctionnel :zen:

Sinon pour en avoir mangé toute l'année dernière c'est vrai que le plus dur c'est la syntaxe des plus bizarres quand on est passé par ada / c / java...


Micki; mon prof de physique/chimie de lycée (ancien prof universitaire) faisait pleins de trucs comme ça pour passer le temps....je vais essayer de retrouver son site.
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

Amateuras
Messages: 8
Enregistré le: 05 Aoû 2015, 00:30

par Amateuras » 24 Aoû 2015, 02:20

Un langage interprété est lent à démarrer, plus consommateur de mémoire et requiert une application.
Python en outre plus lent à l'exécution que d'autres langages interprétés, nécessitera des bibliothèques

Amateuras
Messages: 8
Enregistré le: 05 Aoû 2015, 00:30

par Amateuras » 24 Aoû 2015, 02:28

Un langage interprété est lent à démarrer, plus consommateur de mémoires et requiert une application;

Python, en outre plus lent à l'exécution que d'autres langages interprétés, aura besoin de bibliothèques

Amateuras
Messages: 8
Enregistré le: 05 Aoû 2015, 00:30

par Amateuras » 24 Aoû 2015, 03:14

Un langage interprété est lent à démarrer, plus consommateur de mémoire et requiert une application.

Python en outre plus lent à l'exécution que d'autres langages interprétés, aura besoin de bibliothèques

danyL
Membre Rationnel
Messages: 681
Enregistré le: 03 Jan 2015, 14:29

par danyL » 24 Aoû 2015, 11:40

Amateuras a écrit:Un langage interprété est lent à démarrer, plus consommateur de mémoire et requiert une application.

Python en outre plus lent à l'exécution que d'autres langages interprétés, aura besoin de bibliothèques

je ne connais pas trop python mais il me semble qu'il peut se compiler (.pyc) ?
ou alors ce n'est pas efficace question rapidité ?

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 24 Aoû 2015, 13:32

danyL a écrit:je ne connais pas trop python mais il me semble qu'il peut se compiler (.pyc) ?
ou alors ce n'est pas efficace question rapidité ?


En effet le langage python a la particuliarité d'être un langage qui peut être interprété ou compilé (la compilation n'améliore pas la rapidité du programme mais uniquement sa portabilité => pas besoin d'interpreteur Python).

Amateuras
Messages: 8
Enregistré le: 05 Aoû 2015, 00:30

par Amateuras » 25 Aoû 2015, 09:59

ampholyte a écrit:En effet le langage python a la particularité d'être un langage qui peut être interprété ou compilé (la compilation n'améliore pas la rapidité du programme mais uniquement sa portabilité => pas besoin d'interpréteur Python).


C & C ++ sont compilés en un code machine qui est lisible directement donc sont rapides. Java est compilé pour une forme intermédiaire qui est optimisée et fonctionne sur un compilateur JIT qui optimise davantage le bytecode donc est moins rapide. Python est le langage le plus lent car il doit être compilé depuis la source en code machine à la volée, alors que le programme se lance. Le compromis entre les deux est que le programmeur peut en général écrire un programme Python plus vite qu'il peut écrire un programme Java et plus vite qu'il peut écrire un programme en C & C ++ ...

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite