Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#26 22-10-2018 17:43:11

MoxSite
Membre
Distrib. : Debian Buster (Testing+SID)
Noyau : Linux 4.18.0-1-amd64
(G)UI : Gnome 3.30
Inscription : 28-07-2015

Re : Un langage proche de Python (facile) pour tout faire ?

Maximilien LIX a écrit :

Ouais, tu peux très bien déclarer un pointeur dans une structure qui pointe sur une fonction assez facilement en Go (histoire de créer une "méthode"), mais la notion d'héritage sur les struct est pas vraiment intuitive je trouve smile


Voici un exemple d'héritage que j'utilise pour un petit CMS orienté MVC :


// ArticlesController implémente ControllerCore.
type ArticlesController struct {
  ControllerCore

  // Les paramètres internes
  maxWidth         uint
  maxHeight        uint
  mimeTypes        string
  resizedMaxWidth  uint
  resizedMaxHeight uint
  thumbMaxWidth    uint
  thumbMaxHeight   uint
  maxFileSize      int64
}

// Init s'exécute avant le PretDispatch.
func (c *ArticlesController) Init(action string, ctrlName string, w http.ResponseWriter, r *http.Request) {
  c.ActionName = action
  c.ControllerName = ctrlName
  c.TplName = ctrlName
  c.ResponseWriter = w
  c.Request = r

  // Les paramètres internes
  c.maxWidth = 7000
  c.maxHeight = 7000
  c.mimeTypes = "image/jpeg"
  c.resizedMaxWidth = 710
  c.resizedMaxHeight = 350
  c.thumbMaxWidth = 200
  c.thumbMaxHeight = 200
  c.maxFileSize = 6291456
}
 



C'est bien plus qu'un simple pointeur :-). Le code ci-dessus fait exactement la même chose qu'une classe en PHP ou Python.


Debian Stretch sur mes serveurs. Buster (Testing+SID) sur mon PC. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

#27 22-10-2018 18:00:59

MoxSite
Membre
Distrib. : Debian Buster (Testing+SID)
Noyau : Linux 4.18.0-1-amd64
(G)UI : Gnome 3.30
Inscription : 28-07-2015

Re : Un langage proche de Python (facile) pour tout faire ?

enicar a écrit :

Un langage général qui compile en natif, pas trop dur à apprendre : ocaml.
En plus avec le typage fort qui est inféré automatiquement à la compilation
c'est vraiment agréable. L'avantage par rapport à l'haskell (que je préfère) est
qu'il est plus rapide à apprendre et tu peux aussi faire de la programmation
impérative, et tu as aussi de la programmation orienté objet (il existe bien
un Ohaskell, mais déjà haskell est très marginal en France, alors…).
Évidemment, il y a aussi le côté fonctionnel de ocaml qui peut être déroutant au début
mais rien n'oblige de faire de la programmation fonctionnelle en ocaml (personnellement
je trouverais très triste de ne pas faire de programmation fonctionnelle… mais c'est une histoire
de goût, et aussi, pas mal d'algo s'exprime avec plus d'élégance qu'en programmation impérative).

Après il y a go qui a le vent en poupe, ou rust, mais je ne pourrais pas t'en parler puisque je ne les ai
jamais pratiqué. Rust est plus orienté bas niveau semble-t-il et go est plus généraliste et
ça compile vite (ocaml aussi d'ailleurs…).


Franchement je ne changerai pour rien au monde. Je suis tombé amoureux de Go lol. Ce que j'aime aussi dans un langage c'est sa syntexe, celle de go elle est sexy je trouve, pas beaucoup de mots clé et énormément de potentiel. Par exemple avec Go pour stocker des sessions (données) en mémoire, c'est un jeu d'enfant. Il permet aussi de faire de la programmation bas niveau il me semble.

On peut aussi l'utiliser pour faire des programmes avec une interface graphique en utilisant GTK ou Qt, comme celui-ci par exemple :
https://github.com/therecipe/qt

La force de Go c'est aussi son équipe de développement, il ne faut pas oublier que dernier Go il y a Google pour assurer son évolution, c'est une valeur sûre pour moi. Il y a aussi go 2.0 en préparation et l'équipe semble prendre en considération les demandes des utilisateurs qui veulent une programmation générique simple et une gestion des erreurs plus intuitive.

Pour Rust, j'ai voulu essayé un jour, je le trouve compliqué et pas assez sexy big_smile.


Debian Stretch sur mes serveurs. Buster (Testing+SID) sur mon PC. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

#28 22-10-2018 19:28:02

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Un langage proche de Python (facile) pour tout faire ?

Un jour je prendrai le temps d'apprendre le go au moins pour ma culture,
mais je préfère les langages fonctionnels de très loin.
Je me souviens avoir été ébahi par scheme (c'est comme le lisp avec
pleins de parenthèses), qui permet de faire de la programmation fonctionnelle.
C'est l'orientation qui était donné par le livre dans lequel j'ai appris
(Programmer avec scheme - de la pratique à la théorie). Et ça a été une
véritable découvert à l'époque.

La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#29 22-10-2018 22:38:34

Maximilien LIX
Membre
Distrib. : Archlinux
(G)UI : GNOME
Inscription : 17-12-2013
Site Web

Re : Un langage proche de Python (facile) pour tout faire ?

EDIT: message supprimé

Dernière modification par Maximilien LIX (10-01-2019 23:45:27)

Hors ligne

Pied de page des forums