Il y a actuellement 648 visiteurs
Vendredi 22 Novembre 2024
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

Fabienne

Avatar de l'utilisateur
Visiteur Confirmé
Visiteur Confirmé
Nom d'utilisateur:
Fabienne
Localisation:
Essaouira / Clermont-Ferrand
Âge:
44
Emploi:
Médecin urgentiste
Centres d'intérêt:
Programmation Science-fiction Moto & VTT
Groupes:

Contacter Fabienne

Statistiques de l’utilisateur

Inscription:
12 Aoû 2023 08:36
Dernière visite:
29 Déc 2023 17:52
Messages:
13 (0.00% de tous les messages / 0.03 messages par jour)
Forum le plus actif:
Forum Programmation, Web & Ftp
(8 Messages / 61.54% des messages de l'utilisateur)
Sujet le plus actif:
[Java] Programmation fonctionnelle
(4 Messages / 30.77% des messages de l'utilisateur)

Signature

Primum non nocere.

Les derniers messages de Fabienne

Message [Java] Programmation fonctionnelle
Avec Java 8, une discrète (r)évolution s'est opérée, avec l'arrivée des functors et des expressions lambda, qui permettent (enfin) une programmation plus ou moins fonctionnelle. Qu'est-ce qu'un functor ? Rien de plus qu'une fonction encapsulée dans un objet ! Quel intérêt ? Avant Java 8, il était impossible de passer une fonction en paramètre à une autre fonction. Depuis Java 8, c'est possible (et facile) parce qu'un functor est un objet ! Prenons un exemple simple, on va définir un functor qui multiplie un entier par 2, et on va le passer en argument à la fonction bien connue println (voir code ci-dessous).

Les interfaces des functors sont dans le package java.util.function, ne pas oublier l'import !
La définition de mult2 (i -> i * 2) est ce qu'on appelle une expression lambda. Noter qu'on n'a pas besoin de préciser le type de i, parce qu'il peut être inféré à partir de celui de mult2 !

Code: Tout sélectionner
package functordemo1;

import java.util.function.Function;

public class FunctorDemo1
{
   public static Function<Integer, Integer> mult2 = i -> i * 2;
   public static void main(String[] args)
   {
      System.out.println(mult2.apply(3));
   }
}

Message IDE Java pour Android
J'ai longtemps cherché un IDE digne de ce nom pour pouvoir m'entraîner à programmer en Java sur ma7 tablette Android. Après en avoir testé pas loin d'une dizaine, tous aussi nuls les uns que les autres, j'ai enfin trouvé la perle rare : Igneous, disponible sur Google Play Store !

Image

Message Initiation au langage J
Dans ce sujet, je propose aux amateurs de curiosités exotiques une aventure dans le monde enchanté du J, un langage aussi méconnu qu'il est atypique. Développé à partir du début des années 90 par Kenneth Iverson et Roger Hui, sa vocation première est de permettre des calculs complexes sur des structures numériques (listes, tableaux multidimensionnels, etc), à la manière de l'antédiluvien APL, dont il s'inspire largement. Bien qu'il permette aussi de manipuler du texte, il n'est vraiment pas conçu pour ça !

Le J se distingue par une syntaxe très particulière (n'utilisant pas de mots clés) et un vocabulaire issu de la grammaire littéraire, ce qui est plutôt inhabituel pour un langage informatique. Pour vous donner l'eau à la bouche (ou vous faire fuir en courant) voici un morceau de code typique :
Code: Tout sélectionner
NB. fonction qui calcule les y premiers termes de la suite de Fibonacci
fibonacci =: 3 : 0
fibo =. 3 : 'y , +/ _2 {. y'
(fibo ^: (y - 2)) 0 1
)

Vous êtes encore là ?
Dans ce cas, vous allez vite vous prendre au jeu, et vous aurez certainement envie de "jouer" un peu vous-mêmes avec J ! Pour cela, deux solutions s'offrent à vous :
• Télécharger et installer J à partir du site JSoftware (disponible pour Windows, Linux, Mac, iOS, Android et Raspberry)
• Utiliser dans votre navigateur la version en ligne J Playground (qui ne nécessite aucune installation)

Pour commencer, rien de mieux qu'un peu d'arithmétique de base :
Code: Tout sélectionner
   2 + 3  NB. addition
5
   2 - 3  NB. soustraction
_1
   2 * 3  NB. multiplication
6
   2 % 3  NB. division décimale
0.666667
   2 ^ 3  NB. puissance
8
   2 | 3  NB. reste de la division euclidienne
1
   2 + 3 * 4 - 6 % 2
5

On peut déjà noter plusieurs choses :
• Tout ce qui suit NB. sur une ligne de code est considéré comme du commentaire
• La notation particulière des nombres négatifs : par exemple _1 et pas -1 !
• La notation particulière de la division : % et pas / comme dans la plupart des autres langages !
• L'absence de "priorités arithmétiques" : l'évaluation se fait toujours de droite à gauche, quels que soient les opérateurs !

A suivre...
↓ épisode suivant ↓



.: Nous contacter :: Flux RSS :: Données personnelles :.