Affichage des articles dont le libellé est Langage. Afficher tous les articles
Affichage des articles dont le libellé est Langage. Afficher tous les articles

mardi 14 juin 2022

Le no-code est-il une bonne idée ?

Je tombe de plus en plus sur ce terme de no-code alors je me doute qu'il s'agit de ne pas coder mais voyons un peu ce que cela implique. Croyez-vous que cela soit une bonne idée le no-code ?

Alors comment créer sans passer des heures à coder, c'est le marketing du no-code. Le no-code est-il vraiment une bonne idée.

Digidop - 10 meilleures plateformes de création de site web nocode

Posons les bases, le code à quoi sert-il ? Et quand avons nous besoin d'écrire du code ou de développer ?

Le code est un langage intermédiaire entre le processeur et le codeur. Le codeur ou développeur écrit du code qui sera compilé ou interprété pour être exécuté par le processeur. En effet c'est un peu abstrait, c'est l'informatique.

Alors depuis que je fais de l'informatique j'entends parler d'atelier de génie logiciel et c'est bien à ça que me fait penser ce concept de no-code. Vous n'écrivez pas de code mais vous utilisez un atelier souvent graphique pour faire des schémas, des dessins qui sont en suite traduit en code ou compilé, on y revient.

Car on revient toujours, finalement au code, le no-code c'est utiliser un outil graphique intermédiaire pour générer du code car le code c'est le SEUL langage que comprend la machine.

Pour la création de site web ... C'est sûr que pour organiser des pages web par exemple positionner des images sur la page, un outil graphique c'est plus sympathique à utiliser que les balises html. Mais au bout d'un moment celui qui utilise les balises html sera très rapide également.

La puissance du no-code

Dans le cadre d'outil no-code qui permette de glisser déposer (drag and drop) des fonctionnalités pour par exemple les ordonnancer sur un graphique, on est dans l'efficacité du no-code qui permet de générer très vite de grosses fonctionnalités très puissantes.

Quel est l'inconvénient majeur du no-code ?

Il faut que votre outil graphique, celui qui vous permet de décrire graphiquement de que vous souhaitez créer, soit "assez fin" ... Que tout soit prévu pour aller dans la finesse de ce que vous souhaitez créer. Sinon quoi ... et bien sinon, vous allez devoir entrer dans la tripaille de votre outil graphique et comprendre pourquoi il ne génère pas ce que vous souhaitez.

Double inconvénient, vous avez appris à maîtriser votre outil no-code et vous devez maintenant apprendre le code qu'il génère il n'est alors plus du tout question de no-code.

Les idioties classiques sur le no-code

Sur le JDN pourtant sérieux, je lis : "Il permet d'abord aux équipes business de créer elles-mêmes leurs applications sans avoir à recourir à des développeurs."

Là on est dans la caricature, si l'équipe business peut développer le produit alors pourquoi pas le client final qui n'a alors plus besoin de vous, c'est le coup de la balle dans le pied.

"Promesse d'une programmation sans saisir une ligne de code grâce à des outils graphiques gommant la complexité des langages de programmation."

C'est complètement idiot, vous programmez sans programmer ... ce n'est pas le langage la complexité, il permet au contraire d'appréhender la complexité de l'application.

Les langages de programmation modernes, ne sont pas complexes et se lisent très bien. Si vous avez des difficultés à programmer, vous aurez des difficultés à dessiner. Le dessin va plus vite mais toutes les questions de fonctionnement de votre produit restes les mêmes à formuler différemment.

"Nul besoin d'être développeur pour les utiliser. Il sera néanmoins nécessaire de disposer de compétences basiques en navigation, en ergonomie et en graphisme."

Ben alors si vous avez toutes ces compétences, vous pouvez certainement vous passer des outils no-code.

Quels sont les outils du no-code

L'outil que je vois revenir le plus souvent c'est Airtable :

"Ses fonctionnalités no-code permettent aux professionnels sans connaissances techniques d'exploiter la puissance des bases de données relationnelles pour optimiser les workflows."

Pour raisons marketing, dans cette phrase, on mélange plusieurs concepts incompatibles : Professionnels et sans connaissances techniques

Bon courage pour écrire ou dessiner quoi que ce soit dans les SBDR sans connaissances techniques ?! Vous trouverez pléthore d'arguments marketing sur le site de Airtable en faveur du no-code. 

Vous souhaitez manipuler des données dans les SGBDR de façon graphique, je vous propose Talend.

D'ailleurs la tendance du no-code est bien dans les bases de données, il est vrai que rendre graphique le SQL c'est une bonne idée.

Je compléterai avec d'autres outils du no-code.

Conclusion

Le no-code est une mode marketing afin de promouvoir certains outils soit disant plus "facile" pour l'utilisateur. Mais en matière de programmation, la panacée n'a jamais existé.

Il faut utiliser l'outil avec lequel vous êtes le plus efficace et garder de l'agilité dans votre esprit pour toujours évoluer vers de nouvelles solutions et ne pas hésiter à changer d'outil.

mercredi 14 avril 2021

C'est quoi le langage Lua ?

Il faudrait le prononcer en Portugais Loouuua et en Français on pourrait utiliser un mot que l'on connait presque Luna pour dire Lune. Il s'agit d'un langage de script conçu pour être embarqué par des applications afin d'étendre leurs fonctionnalités.

L'interpréteur Lua est écrit en Langage C ANSI strict ce qui permet de le compiler et de l'utiliser sur une grande variété de plateformes. Il est compact en mémoire ne prenant que quelques dizaines de kilos octets.

Free Software Lua - Give credits

J'ai eu le privilège de découvrir Lua par l'utilisation qu'un collègue ingénieux en à faite, grâce à l'application ExtraPutty qui embarque cet interpréteur de scripts. Ce collègue ingénieux à étendu l'application ExtraPutty par un script Lua qui a permit de faire des choses que je ne soupçonnait pas.

ExtraPutty embedde Lua scripting language

Voilà, vous connaissez Putty pour dialoguer avec des équipements embarqués c'est un bon début mais vous serez limité, ExtraPutty vous permettra de sortir des limitations de Putty et avec Lua pour compléter vous avez un système ouvert et pratique pour échanger avec vos systèmes enfouis.

Have fun!


jeudi 15 octobre 2020

C'est quoi l'outil Jupyter Notebook ?

Tous ces outils, ils ont vraiment des noms parfois ! Comment se distinguer avec un nom comme Jupyter Notebook. Au départ cela ne doit pas être facile. Jupiter c'est un dieu Grec qui gouverne la terre et le ciel, Notebook pour moi c'est un petit ordinateur portable Macintosh. Donc Jupyter Notebook, ça devrait être un petit ordinateur portable avec lequel je peux gouverner le ciel et la terre.

Alors Juptyter Notebook c'est quoi ? C'est un projet Open Source une application Web qui permet de partager des documents qui contiennent du code, des équations, des visualisations et du texte narratif. S'utilise pour : le nettoyage et la transformation des données, la simulation numérique, la modélisation statistique, la visualisation des données, l'apprentissage automatique et bien plus encore ...

Et bien "Jupyter Notebook" est encore un de ces terme derrière lequel se cache un monde complexe. Je me demande la différence ou comment il se positionne par rapport à Talend par exemple.

jupyter notebook
jupyter notebook

Sur le site, très vite on trouve de quoi installer l'outil. C'est même le premier menu qui tombe sous mon clique.

jupyter - Install

Des scripts d'installation ... 

Je trouve toujours cette démarche un peu curieuse de vouloir faire tomber l'utilisateur dans l'adhésion de l'outil et son utilisation, je ne sais pas encore ce que c'est, ni même si j'en ais besoin.

Du coup, je me tourne vers la documentation :

jupyter - Project Documentation

Autant de lecture et toujours pas d'explication, Jupyter c'est encore une de ces applications, un éco-système complexe que l'on peut pas appréhender en quelques phrases.

Digital Guide - IONOS - Jupyter Notebook
Ce site donne des éléments pour comprendre et installer et utiliser Jupyter Notebook

Voici quelques éléments pour élaborer une définition : Jupiter Notebook permet la création et le partage de documents Web au format JSON constitués d’une liste ordonnée de "cellules d’entrées" et de sorties et organisés en fonction des versions successives du document ...

Un gestionnaire de documentation ? Mais pas seulement ...

Le nom Jupyter rassemble le nom des trois langages : Julia Python et R

Je reste un peu sur ma faim ! Je reviendrais pour creuser, ou pas ...


mercredi 5 août 2020

C'est quoi le langage Go ?

Je connaissais le jeu de Go et j'adore c'est un jeu que je préfère aux échec car comme le dit Lao-tseu aux échecs vous ne pouvez être que gagnant ou perdant alors qu'au Go c'est bien plus subtile ... Il était important pour moi, en tant que programmeur, d'évoquer ici le Langage Go et d'en avoir une connaissance minimum.

Mais alors le langage Go ? C'est quoi ! Je travaille dans la programmation depuis toujours alors un nouveau langage c'est intéressant. Mais j'ai l'impression qu'aujourd'hui les grands acteurs du digital créent un langage à chaque fois qu'ils ont une problématique à résoudre. C'est un peu le sens de la vidéo que j'ai écouté sur le site et le problème qu'ils ont eu avec le C++.

Wikipédia - langage Go

C'est un langage créé par Google pour de la programmation système. Avec le Go Langage, la gestion de la mémoire est assurée par un ramasse-miettes ...

Exemple de langage Go dans GitHub avec la communauté open source Grafana, c'est 26% de Go Langage (Go Lang) :

https://github.com/grafana/grafana/search?l=go

Et le site officiel du Langage Go :

Site Officiel du langage Go

Pour les novices que nous sommes, une première page à lire attentivement sur le Langage de programmation en langage Go :

Go Effective Go
Et une remarque amusante, il me semble, sur les semicolons "{". Ils ont trouvé le moyen de vous obliger à la mettre en bout de ligne et non au commencement d'une nouvelle ligne. Sempiternelle guéguerre entre ceux qui écrivent "façon java"

if () {
}

et ceux qui écrivent "façon C"

if ()
{
}

En Go la "façon C" n'est pas autorisée, Amusant ! Non ?

En cherchant un peu plus, je trouve que le Go s'appelait Golang ... c'est Disney qui possède le nom de domaine go.com, Google n'a pas eu le choix que de changer de nom de domaine et de choisir un autre nom pour son langage le Go Lang.

Le langage Go est open source : golang/go

Et maintenant, j'aimerais trouver un IDE voir un compilateur pour le langage Go ...

Je trouve un éditeur pour le langage Go chez JetBrains : GoLand

JetBrains - IDE GoLand pour le langage Go
JetBrains - IDE GoLand pour le langage Go

Quelques Info sur cet IDE : GoLand documentation
Là j'ai l'impression que vous pouvez démarrer la programmation en Go.

Un petit conseil de curieux, chez JetBrains, il n'y a pas que le langage Go, ce site JetBrains est une mine d'or pour tous les outils de développement ...

Je trouve encore cette page sur le langage Go :

Je suis un dev - Comprendre le Go en 5 minutes
L'essentiel sur la genèse du langage Go, ses créateurs, leurs objectifs.

golandbot.com - Golang tutorials series
Quelques exemples et des tutoriels, ont est à la racine du Golang

https://youtu.be/cN_DpYBzKso
Une conférence d'un des trois créateurs Rob Pike sur le sujet : Concurrence n'est pas Parallélisme et donc la cause de la naissance du langage Go.

http://www.usingcsp.com/cspbook.pdf
Je mettrais ici aussi un lien vers le livre de Tony Hoare - Communicating Sequential Processes qui est certainement la raison pour laquelle le Go à vu  le jour. Dans une conf Rob Pike nous intime l'ordre,  si on ne l'a pas encore lu de cesser tout le reste et de rentrer chez soi le lire alors ...

Et puis l'avenir du Langage Go :
The Go Blog - Toward Go 2

Bon, ben voilà, je ne connaissais pas ce langage Go, je ne savais même pas que Docker est écrit en Go  ... comme quoi, on apprend toujours.

mardi 2 avril 2019

Comment traduire un logiciel développé en Java en langage C#.NET ?

C'est la question que l'on me pose aujourd'hui alors en tant que consultant, je vais trouver la réponse et cela ne m'a pas l'air si simple. Je connaissais un outil de transfert du langage Visual Basic en C# mais de Java en C# ... je ne vois pas encore alors creusons la question.

Pour aller du langage Visual Basic en C# : Telerik - Code Converter

Oui les bons mots clefs sont : Converter ou Translator et je trouve un site en ligne qui fait à peut prêt tout :

https://www.carlosag.net/tools/codetranslator/
Traduire d'un langage de programmation dans un autre C#, Java, VB.NET, TypeScript
En suite il y a des solutions payantes pour quelques centaines de dollars pourquoi se priver :


https://www.tangiblesoftwaresolutions.com/order/order-java-to-csharp.html
Translater du soft écrit en Java vers du C#
Et voilà, on a fait le tour de la question très rapidement en trouvant des outils en ligne gratuits qui peuvent permettre de prendre en main une partie automatique de la traduction et pour aller plus vite certainement avec un outil payant.

Quant à moi je crois que je apprendre le Java ;-)



lundi 7 janvier 2019

C'est quoi OpenCL ? Langage de programmation Open Computing Language.

Ce n'est pas tous les jours que l'on découvre un nouveau langage de programmation alors quant on me parle d'OpenCL, je m'empresse d'aller voir ce que c'est que ce nouveau langage de programmation.

Langage de programmation OpenCL
Le langage OpenCL c'est comme du C

OpenCL ou Open Computing Language, c'est la combinaison d'une API et d'un langage de programmation dérivé du C et comme son nom l'indique "open" c'est un standard ouvert, open source (quoi que Apple en dépose une marque ...). Ce langage informatique est conçu pour programmer des systèmes parallèles hétérogènes comprenant un CPU multi-cœur et un GPU, il est créé en juin 2008.

Le langage OpenCL est à l'intersection des mondes CPU parallèles et GPU programmables.

Initialement conçu par Apple pour collaborer avec AMD, Intel et Nvidia autrement dit tout le monde.
AMD décide de supporter OpenCL et DirectX 11

OpenCL 1.1 est publiée en juin 2010 par le Khronos Group

Xilinx

On retrouve OpenCL dans la programmation de Xilinx (FPGA) Circuit Logique Programmable associé à l'IDE Eclipse :

Xilinx - Familiar Embedded C/C++/OpenCL Application Development Experience

Xilinx - SoC

SDSoC Environment Demo

SoC : Single or Dual-core
MPSoC : Dual or Quad-core
RFSoC : Quad-core ARM

Les dernières news sur toutes ces technos concernant le Langage OpenCL :

LinuxGizmos - 16nm Zynq SoC mixes Cortex-A53, FPGA, Cortex-R5

Xilinx - Zynq UltraScale+ MPSoC Product Advantages


lundi 9 mars 2015

Développer en Langage C avec Eclipse et MinGW

Quelques notes sur l'utilisation de l'environnement MinGW (Minimalist GNU (système d'exploitation constitué de logiciels libres (GNU means "not for unix"))  for Windows). Et l'IDE Eclipse dont la release actuelle est Luna.

Installation d'Eclipse

Il n'y a pas d'installeur pour Eclipse ! Il suffit de dézipper l'archive dans un répertoire. Aussi lorsque la boite de dialogue suivant apparaît :

Démarrage d'Eclipse
Elle indique qu'Eclipse ne peut pas fonctionner sans le Java Development Kit (JDK) et que celui-ci n'a pas été trouvé, il ne vous reste plus qu'à l'installer ...

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Installation du Jave SE Development Kit
Pour moi ce n'a pas été la peine d'ajouter un chemin vers Java dans le path ... Eclipse s'est lancé tout seul comme un grand :

Eclipse Luna - Ecran d'accueil

Installation de MinGW

Allons directement sur le lien de sourceforge : MinGW - Minimalist GNU for Windows
Les dédales du site www.mingw.org sont impénétrables ...

Une fois le mingw-get-setup.exe télécharger les choses commencent, d'abord il va créer une arborescence dans : C:\MinGW\bin et puis envoyer un tas de messages d'alertes, d'erreurs, d'insultes, comme quoi il ne peut pas télécharger les packages ?! Ne pas s'affoler, trouver l'exe dans le répertoire C:\MinGW\bin\mingw-get.exe et relancer tranquillement l'exécutable : mingw-get.exe et l'installation recommence, faire les choix des packages à installer :

Exécutable de configuration de MinGW
C'est l'outil qu'il faut maîtriser pour configurer MinGW.

Mon premier projet MinGW GCC avec Eclipse

Lancer Eclipse : File->New :

Création d'un projet en Langage C avec Eclipse et MinGW
Eclipse création d'un projet en langage C avec MinGW comme compilateur
Evidemment, après, c'est l'erreur, ou l'horreur au choix !

Errors (1 item) - Program "g++" not found in PATH !

Errors : g++ not found in Path !

Sur le sujet, on pourra lire par exemple, la page suivante :
On y préconise entre autre, de faire un reset ... chaque fois que l'on trouve le bouton "Reset defaults", tout un programme.

Pourquoi cela ne fonctionne pas ?

Eclipse est un IDE multi-plateforme, capable d'adresser une multitude de chaînes de compilations.

Imaginez que vous développiez vous même votre compilateur, linker, débugger, vous pourriez l'utiliser avec Eclipse. Mais pour que cela fonctionne, il faut que le tout, Eclipse, MinGW, et tous les autres plugins soient installés correctement. Cela passe par le PATH de chacune des chaines de compilations mais toutes ne sont pas compatibles sur le même poste de développement. Par exemple 

D'abord vous allez découvrir que le projet MinGW est abandonné, même s'il semble vivre encore, une branche est en train de lui couper l'herbe sous le pied c'est MinGW-w64. Donc mingw-get-setup.exe l'installeur hyper compliqué impossible à maîtriser ne doit pas être utilisé ... !?? Lui succède mingw-w64-install.exe. Le problème : cela se ressemble trop.

Vous aurez perdu un temps fou à maîtriser tout cela mais ce ne sera pas totalement perdu car il faut maintenant recommencer avec MinGW-w64 (pour x86, win32 et win64 notez au passage).

Eclipse et MinGW enfin le début d'une solution propre

Utiliser MinGW-w64 au lieu de MinGW :

Comment configurer le Tout !

Installation d'Eclipse

Help->Install New Software->Working with Juno

Eclipse Management Packets

Installation de MinGW-w64

I use here the TDD gcc x64, a well done installer for MinGW64
Et là, je découvre enfin le Graal, un nouvel outils d'installation MinGW-w64 : TDD gss x64 ... je cours l'essayer ... Pour moi cela à fonctionné, mon programme à compilé du premier coup, l'installeur avait ajouté : C:\TDM-GCC-64\bin dans le path, j'ai pu lancer l'exécution en Debug

J'avais un nouveau template de MinGW :

Eclipse Template - MinGW-w64
Et quand j'ai créé mon projet :

MinGW-w34 configuré correctement pour une utilisation avec Eclipse
Au hasard de mes lectures, je trouve cette page :

Informations techniques sur l'installation de l'environnement MinGW 64. C'est un peu technique mais utile s'il on veut en savoir plus.

Error : Toolchain "MinGW GCC" is not detected

Toolchain "MinGW GCC" is not detected. Refer to "C/C++ Development User Guide", "Before you begin" how to install toolchains. 

Vous trouverez le page dans la documentation et là on vous dira d'installer correctement MinGW mais ce n'est pas MinGW-w64 !

Vous avez installé une version de MinGW-w64 par exemple dans : C:\Program Files (x86)\mingw-w64\i686-4.8.2-posix-dwarf-rt_v3-rev4, tout va bien mais il n'y a rien à faire ! MinGW-w64 n'est pas correctement supporté par Eclipse. Le souci c'est, si vous voulez utiliser par exemple MinGW-w64 i 686 v4.8.2 v3 rev 4, vous ne pourrez pas créer de nouveau projet : File->New->C++ Project MinGW GCC n'est pas présent dans la liste. Et pourtant votre projet fonctionne.

J'ai même recopier tout le contenu de C:\Program Files (x86)\mingw-w64\i686-4.8.2-posix-dwarf-rt_v3-rev4\mingw32 dans C:\MinGW cela n'a pas fonctionné ! Il est vrai que lorsque l'on regarde la page suivante qui nous explique l'algo d'Eclipse pour trouver MinGW on n'est pas surpris que cela ne fonctionne pas :

Astuce pour créer un nouveau projet MinGW-w64

Je n'ai rien trouvé de plus brillant, j'ai un MinGW (et non un MinGW-w64) d'installé dans C:\MinGW, je peux alors créer un nouveau projet et lorsque je souhaite utiliser la chaîne de développement MinGW-w64, je renomme le répertoire C:\MinGW en autre chose, tout simplement.

Et puis finalement, j'ai décoché la case "Show porject types and toolchains only if they are supported on the platform" :

Création d'un projet MinGW-w64 avec Eclipse
Et cela à fonctionné.

Cela vous aidé ? Nous ne sommes rémunéré que par la publicité alors n'hésitez pas à cliquer et n'oubliez pas,
Have Fun!

lundi 24 juin 2013

Langage Python - Tutoriaux

Un fois mon Python 3.3 shell d'installé, j'aimerais aller très vite, plus loin.

L'éditeur IDLE de fichiers .py

Dans la fenêtre Shell, si je déplace mon curseur vers des lignes déjà écrites et que je tape sur "Return" ou "Enter", je rappelle ce bloc de code dans le shell.

Sur le site de tutoriaux Python

http://docs.python.org/3/tutorial/controlflow.html

Je remarque une flèche en haut à droite de chaque boite de code :
Tutoriaux Python - Cacher le prompt et les sorties

Ainsi, je peux copier l'exemple de code suivant :
Tutoriaux Python - Copier-Coller directement

Directement dans la fenêtre Python Shell :
Tutoriaux Python - Exemple de code dans la fenêtre de Shell

On note au passage la jolie coloration syntaxique.

Pour exécuter ce code, Python interprète ce code bloc par bloc il faut donc copier-coller le premier bloc de code :
words = ['cat', 'window', 'defenestrate']

Puis le second :
for w in words:
    print(w, len(w))

Notez également le curseur, tapez deux "return" et après quelques essais, vous obtenez l'exécution de ce bout de code :
Tutoriaux Python - Exécution d'un exemple de deux blocs de code

Pour aller plus loin avec python, être au courant des dernières nouveautés en Python, je vous propose le site très bien fait et qui permet une prise en main rapide de ce langage étonnant qu'est Python, voici :

Python CheatSheet - The Zen Of  Python

Vous y trouverez une prise de main rapide de python avec VSCode et l'extension Poetry, c'est très intéressant.

Have fun!