Javascript a-t-il évolué au-delà de ce pour quoi il était initialement conçu?

10

J'ai parlé à un ami de l'objectif de Javascript, quand et comment l'utiliser, etc. Il a cité ceci:

JavaScript a été conçu pour ajouter de l'interactivité aux pages HTML

[...]

JavaScript offre aux concepteurs HTML un outil de programmation

  • Les auteurs HTML ne sont normalement pas des programmeurs, mais JavaScript est un langage de script avec une syntaxe très simple! Presque n'importe qui peut mettre de petits "extraits" de code dans ses pages HTML. JavaScript peut réagir aux événements.
  • Un JavaScript peut être configuré pour s'exécuter lorsque quelque chose se produit, comme lorsqu'une page a fini de se charger ou lorsqu'un utilisateur clique sur un élément HTML JavaScript peut lire et écrire des éléments HTML
  • Un JavaScript peut lire et modifier le contenu d'un élément HTML JavaScript peut être utilisé pour valider des données
  • Un JavaScript peut être utilisé pour valider les données du formulaire avant de les soumettre à un serveur. Cela évite au serveur un traitement supplémentaire
  • JavaScript peut être utilisé pour détecter le navigateur du visiteur - Un JavaScript peut être utilisé pour détecter le navigateur du visiteur et, selon le navigateur, charger une autre page spécialement conçue pour ce navigateur.
  • JavaScript peut être utilisé pour créer des cookies - Un JavaScript peut être utilisé pour stocker et récupérer des informations sur l'ordinateur du visiteur.

Cependant, il semble que Javascript s'habitue à faire beaucoup plus que ces jours-ci. Mon ami plaide également contre l'utilisation de la fonctionnalité OOP de Javascript, affirmant que "vous ne devriez pas traiter des données, simplement valider". Javascript est-il vraiment limité à la validation des données et à la création de graphiques flashy sur une page Web?

Il continue en affirmant "vous ne devriez pas essayer d'accéder aux bases de données via javascript" et dit également "en général, vous ne voulez pas faire votre gros travail en javascript". Je ne peux pas dire que je suis d'accord avec son opinion, mais j'aimerais avoir plus de commentaires à ce sujet.

Donc, ma question: Javascript est-il passé de la définition ci-dessus à quelque chose de plus puissant, la façon dont nous l'utilisons a-t-elle changé, ou ai-je tout simplement tort? Bien que je réalise que c'est une question subjective, je ne peux pas trouver plus d'informations à ce sujet, donc quelques liens seraient bons, si rien d'autre. Je ne cherche pas un débat, juste une réponse.

Elliot Bonneville
la source
Je me demandais aussi "qui" le pousse à faire ça et pourquoi?
NoChance
1
Je placerais le matériel source pour ce que votre ami a compris à propos de JavaScript vers 1998.
Erik Reppen

Réponses:

21

Les gens qui pensent que JavaScript n'est pas un langage de programmation sont des gens qui ne devraient pas respecter l'opinion sur JavaScript.

JavaScript est un langage qui s'est développé organiquement inspiré par la sémantique de Scheme et la syntaxe de Java. Son objectif d'origine n'était pas général, mais il est maintenant devenu ainsi.

JavaScript en tant que langage est adapté à n'importe quelle tâche s'il est adapté. Jetez un œil à des exemples comme node.js où JavaScript a accès à un environnement hôte composé de fonctionnalités d'E / S qui lui permettent d'être utilisé pour la programmation côté serveur générique

Mon ami plaide également contre l'utilisation de la fonctionnalité OOP de Javascript, affirmant que "vous ne devriez pas traiter des données, simplement valider". Javascript est-il vraiment limité à la validation des données et à la création de graphiques flashy sur une page Web?

Non, JavaScript est un langage de programmation, si vous souhaitez représenter les structures de données, les algorithmes et la logique, utilisez les outils proposés par le langage. Plus précisément, les fonctions et prototypes de première classe sont des outils puissants.

Il continue en affirmant "vous ne devriez pas essayer d'accéder aux bases de données via javascript" et dit également "en général, vous ne voulez pas faire votre gros travail en javascript". Je ne peux pas dire que je suis d'accord avec son opinion, mais j'aimerais avoir plus de commentaires à ce sujet.

Faux, Dans le navigateur, nous avons une base de données appelée indexedDB à laquelle nous accédons avec JavaScript. C'est une base de données intégrée directement dans le navigateur et si vous voulez l'utiliser (et vous devriez), vous utilisez JavaScript.

Notez également que mongodb et couchdb vous permettent d'utiliser javascript pour exécuter directement des requêtes adhoc sur la base de données.

Quant au levage de charges lourdes, il a en partie raison. Si vous faites du levage lourd, vous devriez le faire en C ou en erlang. Bien que le terme «levage de charges lourdes» soit vague, par exemple, je ne coderais ni ne décoderais des vidéos en JavaScript, je ne ferais pas de traitement d'image en JavaScript (utilisez C). Je ne voudrais pas de calcul de nombre en JavaScript (utilisez fortran).

Javascript a-t-il évolué de la définition ci-dessus à quelque chose de plus puissant, la façon dont nous l'utilisons a changé, ou ai-je tout simplement tort

JavaScript a été écrit sur une période de 2 semaines juste pour insérer des fonctionnalités de script mineur dans HTML. Depuis lors, il a considérablement augmenté. Depuis ES3 (1999), il s'agit d'un puissant langage de programmation à usage général.

Raynos
la source
C'est ce que je pensais aussi. Maintenant, je dois juste comprendre comment transmettre cela à mon ami.
Elliot Bonneville
@ElliotBonneville Puis-je suggérer un grand cluebat en mousse ?
Hahaha, oui vous le pouvez. :) C'est hilarant.
Elliot Bonneville
"puissant langage de programmation à usage général" qui regorge de pièges qui y resteront pour toujours en raison de la compatibilité descendante: codeproject.com/Articles/182416/…
Den
@Den oui, il a des problèmes, mais il en va de même pour C, C ++, PHP et Java.
Raynos
9

La vision de votre ami est effectivement très obsolète, et manque tout ce qui s'est passé depuis que Google a publié GMail.

Maintenant, cela signifie-t-il que Javascript s'est développé au-delà de ce pour quoi il était initialement conçu? Sorte de. Mais n'oubliez pas que la conception a changé entre-temps et changera à l'avenir en fonction des nouveaux besoins des développeurs. Ceci est également valable pour d'autres langues populaires. Par exemple, lorsque la première version de C # a été publiée, personne ne s'attendrait à autoriser le code dynamique dans la conception. Le DLR est maintenant disponible pendant quelques années.

Arseni Mourzenko
la source
2

La langue dépasse toujours ce que nous pensions au début. Parlez à n'importe qui au début du C (ou du C ++), est-ce que quelqu'un pensait que le langage se retrouve presque partout maintenant. Je ne pense pas.

Chaque langue gagne à être apprise / pousser plus loin.

Je suis d'accord que Javascript était / était encore une langue sous-estimée, votre ami n'est pas le seul. Le problème n'est pas de penser que le langage X ou Y est mauvais / inutile, le problème est de garder cette idée pour toujours. En informatique / informatique, tout change rapidement, et cela changera encore beaucoup à l'avenir.

C'est pourquoi il est important de continuer à apprendre / penser hors des sentiers battus ...

Nettogrof
la source
Je ne pense pas que beaucoup de gens pourraient raisonnablement dire que JavaScript est encore un langage sous-estimé. En fait, je pense que c'est la langue la plus populaire au monde.
Jim G.