Eu queria saber se há uma receita grande e direta no lançamento de uma linguagem de programação como Java ou C #?
Vender IDEs, licenciar sua marca para livros ou obter prestígio empresarial parece um benefício marginal aos meus olhos em comparação com o esforço que sem dúvida o desenvolvimento levou (eu poderia estar errado, é claro).
Respostas:
De um modo geral, não há dinheiro no desenvolvimento de linguagens de programação.
O C # certamente ganha dinheiro com a Microsoft, mas está essencialmente ganhando dinheiro indiretamente, promovendo a estrutura .NET e outras tecnologias da Microsoft.
fonte
É altamente improvável que alguém ganhe dinheiro com linguagens de programação, pela simples razão de que a maioria dos projetos de linguagens de programação falha miseravelmente - a linguagem acaba sendo usada por seu designer (e às vezes nem por eles) e por mais ninguém. Para cada C # ou Java, existem milhares de idiomas que não foram a lugar nenhum.
No entanto, o design da linguagem é divertido, então as pessoas continuam se desconectando. E se você tiver sorte, poderá ganhar bastante dinheiro. Por exemplo, o livro de Stroustrup, a linguagem de programação C ++, vendeu 500 mil cópias na época em que a 3ª edição foi lançada, o que significa que eu acho que as vendas agora devem ultrapassar um milhão. Meu terceiro ed. me custou 27,95 libras esterlinas e, mesmo permitindo cortes nos editores e varejistas, você pode ver que ele deve ter feito uma boa alteração!
fonte
Certas linguagens proprietárias voltadas para domínios específicos acabam sendo grandes negócios de "estilo de vida", como MATLAB ( MathWorks ) e Mathematica ( Wolfram Research ). Pode-se também comercializar uma linguagem como middleware, como a Kx Systems fez com q / kdb + (eles a vendem como um banco de dados e não como uma linguagem).
Um modelo de negócios alternativo é fornecer hospedagem, como o Heroku faz para o Ruby on Rails . ( 37A Signals efetivamente cedeu esse negócio por não persegui-lo.)
E, como já foi dito, um idioma pode ser usado como líder de perdas para prender os desenvolvedores de aplicativos a uma plataforma específica, como o C # fez para o .NET.
Em relação a consultoria ou livros, esses são modelos de receita bastante limitados; a consultoria requer muita mão de obra para ser dimensionada, e os livros têm um ponto de saturação. Melhores modelos são licenças de hospedagem ou corporativas.
fonte
Então , digamos que você queira ganhar a vida escrevendo o próximo idioma popular. Suponha que "ganhar a vida" significa o equivalente a um salário razoável em um emprego de período integral (qualquer emprego - não necessariamente técnico). Se você realmente ama o que faz, provavelmente aceitará um pouco menos, por exemplo, US $ 12,50 por hora , ou US $ 2000 / mês .
Enquanto trabalha em um trabalho estável, você libera sua primeira versão e cria uma instalação para doações. Em seguida, você se envolve em desenvolvimento e marketing contínuos, em um grau proporcional ao número de usuários do seu idioma. Vamos estimar de forma conservadora que 1% de seus usuários doarão e cada um deles doará uma média de US $ 1 / ano .
Isso significa que, para obter seu salário de US $ 2.000 / mês , você precisa ter 2.000 usuários doadores para cada um dos 12 meses do ano. São 2,4 milhões de usuários no total. Vamos agora assumir que leva 10 anos para que um idioma se torne tão popular: portanto, você deve adquirir uma média de 240.000 usuários por ano ou 20.000 usuários por mês .
Se você trabalha o equivalente a tempo integral ( 160 horas / mês ), sua estratégia de promoção e qualidade de implementação devem ser suficientes para obter uma média de 125 usuários por hora . E isso é usuários repetidos, é claro: se 20% das pessoas que experimentam seu idioma se tornam usuários repetidos, você realmente precisa de uma taxa de conversão de 625 pessoas / hora .
Mesmo que todas as pessoas que você convença convença diretamente mais quatro pessoas a experimentar o seu idioma - e por uma questão de simplicidade, supondo que elas não tentem convencer os outros -, você ainda estará de volta ao 125. número de usuários / hora .
Agora, isso pode parecer totalmente irracional, mas acredite ou não, ainda pode funcionar: digamos que sua estratégia de marketing produz um crescimento aproximadamente linear ao longo dos 10 anos em que seu idioma está ganhando terreno e depois nos platôs. Isso significa que, no início, você estará convertendo uma média de 0 usuários / hora e, 10 anos depois, estará conquistando 250 usuários . (Novamente, a cada hora . Perspectiva, aqui.)
É um aumento médio de 25 usuários por hora por ano : no final de cada ano, você está convertendo mais 25 pessoas por hora - ou mais 4000 pessoas por mês - do que no início do ano.
Então, revisitemos a estimativa de 2,4 milhões de usuários : é possível ganhar tantos usuários em 10 anos ? Se aceitarmos as estatísticas (inerentemente defeituosas, mas utilizáveis) oferecidas pelo Langpop como precisas, obteremos as seguintes informações sobre os 7 principais idiomas atualmente em tendência na pesquisa do Yahoo. Se um resultado for aceito como representante de um usuário (eu sei, tenha paciência comigo), esses números indicarão o número médio aproximado arredondado de usuários ganhos por ano desde que o idioma apareceu pela primeira vez.
Isso coloca as coisas de volta no campo da possibilidade: se você criar uma linguagem tão popular quanto, por exemplo, Python, em 20 anos terá usuários suficientes para fazer com que seu desenvolvimento e suporte (e marketing!) trabalho a tempo.
Torne um tão popular quanto o C # e você pode fazê-lo em 10 . Legal!
... Exceto, é claro, que colocar dessa maneira banaliza a tarefa muito improvável e difícil que está tornando uma linguagem tão popular. Mas, ei, se você tem uma boa ideia e consegue chegar ao topo por conta própria, sem as contribuições de outros desenvolvedores que aceitariam uma parte do seu dinheiro da doação, então você é um gênio, e você merece.
fonte
Para elaborar o que o @Peter disse: é muito comum o software ser criado para suportar outra coisa. Praticamente tudo o que é distribuído gratuitamente é usado para promover outra coisa, seja publicidade, plataforma, dispositivo ou serviço.
No caso das linguagens de programação, trata-se de promover uma plataforma, atraindo desenvolvedores. Se você atrai desenvolvedores, obtém mais softwares escritos para sua plataforma, e isso torna a plataforma mais forte. A maneira como você atrai desenvolvedores é fornecendo a eles ferramentas impressionantes, e o idioma é uma dessas ferramentas. De fato, um dos cartões mais fortes da Microsoft em sua árdua batalha para recuperar seu lugar no mercado de smartphones são suas ferramentas de desenvolvedor. "É fácil recriar os aplicativos que você criou para iPhone e Android para Windows Phone 7", "é fácil criar aplicativos escritos para Windows Phone 7 prontos para outras telas", etc. etc.
Além disso, às vezes você está apenas criando uma linguagem de programação para seu próprio uso, porque precisa da ferramenta.
fonte
Você pode obter um pouco mais de lucro com o desenvolvimento de "pequenas" linguagens específicas do domínio. Não de vendê-los, no entanto. Existem algumas DSLs que vendem com lucro, mas muitos mais sucessos de código aberto e ainda mais falhas (abertas e fechadas).
Onde você pode lucrar é com os ganhos de produtividade que pode obter deles. Existe um tipo de paradigma de desenvolvimento baseado em torno dessa ideia.
As vantagens e desvantagens são semelhantes à programação baseada em modelo em C ++, mas mais ainda. Por exemplo, uma DSL requer mais trabalho inicial do que uma biblioteca normal, mas pode oferecer muito mais flexibilidade, robustez e "agilidade" depois de escrita. É improvável que você faça isso, a menos que o desempenho seja uma grande preocupação, caso contrário, é provavelmente mais fácil adiar o trabalho envolvido até o tempo de execução - por exemplo, use um mecanismo de verificação baseado em expressões regulares em tempo de execução em vez de um gerador de código de scanner.
"Agilidade" recebe citações assustadoras, porque o excesso de vontade de escrever uma DSL é uma violação clara dos princípios ágeis. Mesmo em um ambiente pesado de DSL, é extremamente improvável que você trabalhe no desenvolvimento de uma DSL como parte de sua rotina diária.
Um motivo para usar uma DSL pode ser codificar algumas regras de negócios (um tipo de especificação de sistema especializada) e gerar código que funcione com essas regras. Como a conversão das regras de negócios declarativas para o código resultante pode ser bastante sofisticada, grandes alterações no código gerado podem ser tratadas, fazendo alterações bastante diretas na especificação de regras de negócios. Por exemplo, o DSL pode gerar árvores de decisão ou rastrear dependências por meio de um dígrafo para garantir automaticamente que tudo que precisa ser reavaliado seja reavaliado e que não haja ciclos (planilha compilada).
Uma versão extrema disso pode ser o uso de uma linguagem lógica como o Prolog para alguma parte do seu sistema, embora isso seja apenas extremo em certo sentido - também é apenas a seleção de idiomas de cavalos para cursos em vez de um DSL do tipo construa seu próprio paradigma.
fonte
Desenvolver uma linguagem de programação e padronizá-la não é realmente feito com uma única pessoa. Mesmo Stroustrup é o inventor do C ++, existem muitos outros especialistas industriais participando em todo o mundo. É mais como um serviço voluntário. Pessoas que são realmente talentosas para escrever livros como Scott Mayers, ganhando dinheiro com isso. Outras pessoas estão trabalhando como consultores independentes ou consultores para grandes organizações.
O melhor exemplo é a padronização C ++ 0x. Está atrasado há anos. O motivo é porque os membros do comitê estão ocupados com o trabalho principal e difíceis de fazer um quorum para finalizar as especificações.
Empresas como a Microsoft Sun (Oracle) desenvolveram suas próprias linguagens de programação e ganhar dinheiro com o IDE e também fornecendo suporte contínuo por meio de suas plataformas. É mais como uma solução fechada para os problemas. Mas as coisas boas que essas linguagens de programação são padronizadas / aprovadas pela ISO ou por comitês semelhantes. Java parece estar vendendo seu IP para empresas por usar sua linguagem de programação. Recentemente, a Oracle processou o Google por infrações de IP em Java.
Em uma única frase, é mais como serviço voluntário do que um negócio para quem trabalha com padrões abertos.
fonte
Se você conseguir (presumo que você quer dizer um indivíduo e não uma empresa) criar uma linguagem de programação bem-sucedida, certamente estará no campo da possibilidade de ganhar uma vida decente vendendo livros, falando em conferências para não mencionar consultoria ou ser adquirido ou contratado . Você pode até ganhar dinheiro licenciando sua linguagem de programação para diferentes empresas, o que tornará menos provável que seja bem-sucedido.
Por outro lado, existem maneiras muito mais fáceis de ganhar dinheiro e a maioria das pessoas (empresas como a Sun e a Microsoft excluídas) o faz mais pelo desafio e, possivelmente, por créditos nerds.
As chances de uma pequena empresa / indivíduo criar uma linguagem de programação convencional são extremamente pequenas, provavelmente é mais fácil tentar preencher algum tipo de nicho. Por outro lado, certamente não é impossível fazê-lo e aqueles que dizem que eu não posso fazer isso são frequentemente interrompidos por aqueles que o fazem :)
fonte