J'ai commencé à apprendre Scheme pour le plaisir, et je me demandais si quelqu'un l'utilisait pour gagner sa vie en tant que langage de programmation de choix ... ou même en tant qu'outil supplémentaire pour l'arsenal de programmation? Si oui, à quoi l'utilisez-vous? Quel genre de problèmes résolvez-vous généralement avec?
Réponses
Trop de publicités?Il ya beaucoup de gens qui écrivent pour un vivant. Ils sont professeurs d'université, mais, pour la plupart dans le domaine des langages de programmation--il y en a plusieurs ici à l'Université d'Indiana, à l'instar de Kent Dybvig et Dan Friedman. Ils prototype de nouvelles idées dans le langage de programmation sémantique (et Dybvig vend également un Régime de compilateur).
Ce n'est pas un domaine qui a beaucoup de clients qui paient, donc techniquement, les professeurs sont payés parce qu'ils ont passées à l'université. Mais ils ont eu de la durée de publication de nouvelles idées dans les langages de programmation.
Il y a aussi quelques professeurs qui prônent l'utilisation du programme de l'enseignement de la langue, comme Matthias Felleisen et les autres derrière PLT Régime. Ils écrivent également pour un vivant.
Régime est idéal pour essayer une nouvelle langue de la sémantique, car il est très simple, puissant primitives et de la syntaxe uniforme vous permet de vous concentrer uniquement sur la sémantique. Si vous êtes à la conception d'un nouveau langage de programmation, le prototypage dans le Schéma pourrait être une première étape utile. Régime de ne pas obtenir de la manière de nouvelles idées, car il inclut donc quelques-uns de ses propres.
Oui certaines personnes utilisent le Système pour une vie. Par exemple, il y a parfois des ouvertures pour le Régime de programmeurs ici, à Montréal (http://theschemeway.blogspot.com/2009/03/scheme-job-openings-at-gamerizon.html). Recherche sur le site pour "emploi" pour plus d'Schéma d'emplois.
Dans mon expérience de la programmation en Scheme, moins de 1% de de la professionnelle de la programmation communautaire, au moins ici, à Montréal. J'ai vu le Schéma utilisé pour effectuer des systèmes embarqués de programmation, de haute précision de calcul numérique, programmation web, jeu de script, et plus encore.
ITA Software (les fabricants / exploitants d’un moteur de recherche de tarifs aériens alimentant Hotwired, etc.) écrit leur produit en Lisp.
En outre, AutoCAD peut être écrit dans Lisp.
Si Warren réponse n'a pas clued vous, la réponse est non. Pratiquement aucun n'est de faire une vie hors du Régime. (Paul Graham Yahoo Store est, à mon avis, l'exception qui confirme la règle -- vous pouvez coder un excellent produit en Lisp, mais il ya une raison pourquoi Graham est pratiquement la seule personne sur terre qui a devenir riche à le faire. Pensez à Harvard doctor et eu la chance incroyable de calendrier.)
Cependant, les gens là-bas dans le monde réel sont de faire une vie en faisant de la programmation fonctionnelle. Il y a des entreprises comme de Galois, Rue Jane, etc., qui se spécialisent dans les langages fonctionnels. Et une fois que vous avez appris un langage fonctionnel (Régime, OCaml, Haskell, etc.), autres langages fonctionnels sont beaucoup plus faciles à apprendre.
Je pense que la deuxième partie de votre question-quelles sont les questions que se Régime bien adapté à la résolution de -- est facilement possible d'y répondre. Le schéma est Turing-complet, ce qui signifie qu'il peut résoudre quoi que ce soit que tout autre langage de programmation peut. Il a quelques fonctionnalités intéressantes qui n'ont même pas fait en Common Lisp encore (la queue de la récursivité, notamment), mais il manque également de nombreuses fonctionnalités que CL a acquis au fil des années.
La version originale de la Yahoo! magasin a été écrit par Paul Graham en Common Lisp. Il l'a vendu pour beaucoup d'argent. (Mise à jour: seulement un morceau de la boutique, merci pour le commentaire détaillé par Laurence Gonsalves.)
Il est, cependant, l'un des rares, voire le seul succès bien connu de cas de Lisp dans le monde réel, et pour quelque raison que Yahoo a réécrit en C++.
Il y a un certain nombre de gratuit des programmes qui utilisent Lisp, mais peu de gens sont payés pour travailler sur eux, et ils ne sont pas spécifiquement Régime. gEDA est la gnu automatisation de la conception électronique et l'emballage est l'un des (encore une fois, rares) cas de succès pour la Ruse, la Gnu lisp, langage d'extension.
ELisp, ou Emacs lisp est peut-être la plus couramment déployés système lisp. Je ne sais pas combien les utilisateurs d'emacs en fait utiliser l'extension de la langue.