7
votes

Comment les concepts mathématiques peuvent-ils m'aider dans le développement Web?

J'ai vu des programmeurs "lutter contre" avec des problèmes mathématiques vraiment complexes dans leurs codes, en particulier dans les domaines de la programmation de gibier, de la programmation physique, de la programmation graphique, etc. Je suis un développeur Web, et je me demande s'il y a des mathématiques concepts là-bas que je peux utiliser pour la programmation Web. J'ai démarré une programmation Web un an et il y a 2 mois, et tout ce que j'ai traité était une analyse complexe des systèmes, des requêtes de base de données, des conceptions d'interface utilisateur, des structures de données simples, une manipulation complexe des données et une interprétation (regexes, analyse, etc.) mais je n'ai pas (encore) a trouvé un besoin de mathématiques complexes.

Pour répéter la question, existe-t-il des concepts mathématiques qui peuvent tirer parti de mes compétences en développement Web? S'il y a, quels scénarios sont-ils venus comme un avantage ou indispensable?


1 commentaires

J'ai pris quelques classes de mathématiques au-delà des exigences requises et, en tant que programmeur généraliste, je n'ai pas vraiment dû appliquer cette connaissance. Dommage ... Il y a des questions similaires, telles que ce que les concepts de mathématiques aident à la programmation. Ils disent que la théorie définie, de De-Morgan Laws, Karnaugh Map de l'aide.


7 Réponses :


1
votes

Théorie de la queue est un concept mathématique qui concerne la manière dont votre serveur Web peut gérer des demandes, à la recherche de à votre taux de demande entrant et combien de temps chaque demande prend pour servir.


0 commentaires

1
votes

Les fonctionnalités spécifiques du domaine peuvent ne pas nécessiter de solides compétences en mathématiques, peu importe la plate-forme utilisée pour la livrer.

Par exemple, construire des systèmes de recommandation basés sur le Web qui fondent ses recommandations sur ce que d'autres personnes ayant des préférences similaires nécessiteraient des compétences en mathématiques décentes.

Un autre exemple pertinent est la détection de la fraude.


0 commentaires

0
votes

avec silverlight et HTML5 (c.-à-d. Tags en toile et SVG) Les graphiques sont sur une hausse constante et la ligne entre Web et bureau seront probablement difficiles à distinguer dans un proche avenir.

Cela ressemble à une grande occasion d'utiliser certaines de ces compétences en mathématiques. Les compétences Web seront toujours nécessaires car un serveur sera impliqué à un moment donné dans le processus.


0 commentaires

1
votes

Il n'y a aucune raison pour que vous ne puissiez pas utiliser vos cellules cérébrales mathématiques aujourd'hui dans une application Web. Vous mentionnez le jeu, la physique et les graphiques comme si celles-ci sont exclusives de programmation Web. Ils ne sont pas. Il existe également quelques jeux en ligne mis en œuvre comme des applications Web aujourd'hui, par exemple, qui nécessitent des mathématiques non triviales (en Flash, Silverlight ou même JavaScript) pour obtenir les pixels au bon endroit à l'écran, y compris les projections 3D et les transformations. Ajoutez la toile de HTML 5 au mélange et les choses deviennent vraiment intéressantes.

La mentalité de programmation Web est souvent préoccupée par les configurations de serveurs, les bases de données et les performances de cache, mais la construction de l'interface utilisateur Web fait également partie de la programmation Web. Dès que vous êtes responsable de la mise en place de pixels devant l'utilisateur (plus que du texte), vous aurez besoin de maths. Si ces pixels doivent bouger, vous aurez besoin de mathématiques.


0 commentaires

1
votes

La semaine dernière, j'ai optimisé un numéro d'assurance sociale Valider la fonction (Algorithme Luhn) en JavaScript et a été capable de le casser dans une doublure. Trouver une solution impliquait une preuve algébrique que je n'aurais pas pu faire sans mathématiques plus élevées.

Je pense que le plus grand avantage est celui de pensant comme un mathématicien lors du codage.


0 commentaires

0
votes

La programmation Web est (ou au moins devrait être) principalement Programmation fonctionnelle , qui est vraiment pensée mathématique.


3 commentaires

Je n'ai pas acheté ça. Pratiquement tout ce que JavaScript côté client implique des effets secondaires. Évidemment, ils sont des effets prévus dans la pratique, mais toujours des effets secondaires dans la théorie de la programmation fonctionnelle. La page est mutable. Comme je tape, en ce moment, la page Web que je cherche, c'est muter devant moi. Bien sûr, vous pouvez indiquer des monads de style Haskell, mais c'est juste un moyen de réinventer la programmation impérative.


Dans tous les cas, faire-ci-ensuite-do-do-cela - même en tant que "composition fonctionnelle utilisant un opérateur associatif obéissant aux règles d'une algèbre monadique" est encore juste à faire-ceci-do-cela - l'appelant "pensée mathématique "Semble étrange, comme si les gens normaux ne peuvent pas faire face à des idées telles que" liaison "deux actions dans une séquence. Pour cela et des raisons similaires, je n'aime pas vraiment "la programmation fonctionnelle" comme "pensée mathématique" plus que tout autre type de programmation.


@Steve: Je suis d'accord avec le côté du client, même si le CPS est largement utilisé pour les demandes asynchrones. Pour le côté serveur, il s'agit toujours de "transformer quelque chose en quelque chose d'autre" (DB Query -> HTML), qui est l'essence de la FP.



1
votes

Il y a une très belle Présentation et Book à venir par Gregory Meredith sur Monadic Motifs de conception pour le web. (Il y a aussi une série de conférences vidéo sur ce sujet par Gregory Meredith lui-même sur canal9 à la suite de la prochaine mois.) Cela ne devient probablement pas plus mathy que les monades ou la théorie de la catégorie (qui est là où les monades viennent de) en général.

Un autre exemple sympa est le fait que la programmation interactive (et en particulier le modèle de conception d'itérateur) et la programmation réactive (et en particulier le modèle de conception de sujet / observateur) sont des duals théoriques de la catégorie-théoriques de l'autre. En outre, il s'avère que le modèle de conception d'itérateur peut être mis en œuvre comme une instance de la liste MONAAD et le modèle de conception sujet / observateur peut être mis en œuvre comme une instance de la continuation de la monade. Comme les deux sont des monades, cela signifie essentiellement que vous pouvez traiter les deux en utilisant les mêmes outils .

En d'autres termes, vous pouvez traiter avec les flux d'événements (qui sont généralement jugés difficiles à traiter) de la même manière que vous le faites avec collections (que tout le monde sait déjà comment tout le monde sait déjà comment faire). Par exemple, dans .NET, cela signifie que vous pouvez "interroger" des flux d'événement à l'aide de Linq, car vraiment Linq n'est rien que des compromis monad habillés comme des requêtes SQL afin que les programmeurs d'entreprise ne soient pas effrayés par de gros mots tels que "monad" .

et, bien sûr, la programmation Web est tout sur la programmation réactive. Le navigateur incendie constamment des événements à vous que vous devez réagir. Et tous les éléments d'E / S asynchrones (base de données, fichier, vous le nommez) consistent à tirer sur la demande de votre demande d'E / S, puis en attente d'un événement d'achèvement.


0 commentaires