Uma linguagem de programação de código fechado pode sobreviver? [fechadas]

12

Um amigo escreveu uma linguagem de programação. Possui uma sintaxe remanescente do SGML. Ele escreveu um intérprete para ele e um IDE. Ele e seus colegas o usam internamente como um idioma do servidor. Também pode ser usado para escrever ferramentas de linha de comando.

Ele quer disponibilizá-lo ao público, na expectativa de que as pessoas comprem uma licença para usá-lo. Ele deseja manter o código que expressa a implementação da linguagem para si mesmo, pois há bastante propriedade intelectual ligada a ela.

Eu continuo dizendo a ele que o dia das linguagens de programação de código fechado se foi. Eu digo: "Olhe para todos os principais idiomas: a grande maioria é de código aberto. Você também precisará de código aberto se quiser que alguém de fora da empresa preste atenção ao que você criou".

Estou lhe dando um bom conselho ou ainda há espaço para idiomas proprietários pelos quais você paga?

MAIS TARDE

Den perguntou: "... você também poderia explicar como um idioma pode ser de código fechado?"

Eu disse: "@Den você faz uma boa observação. O que meu amigo quer evitar, suponho, é a situação em que a Microsoft cria uma linguagem semelhante a Java, chama J ++ e entra em litígio com a Sun sobre seu Java-ness. Como você protege uma sintaxe e uma metodologia de programação de serem invadidas por uma empresa cuja implementação poderia colocá-lo fora do negócio? "

bugmagnet
fonte
Você está dando a ele um bom conselho.
Basile Starynkevitch
14
Não é uma questão de código fechado, é uma questão de dinheiro - ninguém paga por linguagens de programação.
Pharap
8
Se o idioma for bom o suficiente para valer o dinheiro, as pessoas estarão dispostas a pagar. Aposto que o idioma não é bom o suficiente para valer qualquer quantia de dinheiro, especialmente em comparação com alternativas gratuitas.
user253751
1
Duvido que seu amigo possa ter direitos autorais sobre o idioma real - veja a decisão da UE sobre o SAS .
Colin Pickard
7
"ninguém paga por linguagens de programação" - exceto em indústrias especializadas ou casos de uso. O que vem à mente é o Wolfram ( wolfram.com/language ). Uma lista de idiomas pagos destacaria outros casos de uso em que o custo vale a pena.
Freiheit

Respostas:

10

A resposta é sim e não. Depende das motivações comerciais de clientes em potencial e dos atributos do idioma e dos problemas que ele resolve.

Não, o mundo não precisa de outra linguagem de computação de uso geral criada por um indivíduo ou uma equipe pequena. Quando Perl, Python, Ruby, Java e Javascript foram criados, havia um vazio a preencher, as linguagens proprietárias eram caras e a barreira à entrada era baixa. Rebol é aquele que começou pago e agora é gratuito. Veja C # e Go para ver quanto é mais difícil agora e quão maiores são as equipes, mesmo para idiomas mais ou menos gratuitos.

Mas sim, o mundo precisa muito de idiomas de nicho para preencher toda uma gama de funções específicas e pagará bem por elas. Não posso citar exemplos, porque nem você nem eu ouvimos falar da maioria deles, mas eles estão sendo usados ​​rotineiramente em situações altamente especializadas e ganham dinheiro com seus criadores. Resolva um problema e você será pago.

Então, para seu amigo ganhar dinheiro, ele precisa de uma ou mais das três coisas.

  1. Um nicho técnico identificável para o qual seu idioma é a melhor solução disponível, de preferência com uma barreira razoavelmente alta à entrada para desacelerar os concorrentes.
  2. Um segmento de cliente identificável com um problema que seu idioma pode resolver, bem como a capacidade de pagar para que ele seja resolvido.
  3. Um corpo de código, documentação, tutoriais e habilidades pré-escritos que permitirão que os clientes trabalhem imediatamente e comecem a resolver problemas imediatamente.

Os problemas mencionados na dependência de pequenas empresas não são exclusivos das linguagens de programação e são facilmente resolvidos por meios comerciais.

Divulgação: sou o autor de um sistema de linguagem de programação comercial (Powerflex) que ajudou muitas pessoas a criar negócios de software. Essa janela foi fechada quando a janela da Internet se abriu.

david.pfx
fonte
20

Um idioma não é de código aberto ou fechado como tal. Por exemplo, o G ++ é de código aberto, enquanto o MSVC ++ é de código fechado. O ISO C ++ também não é, é um padrão não proprietário não-livre.

Seu amigo pode lançar uma implementação não otimizada de código-fonte aberto e vender o compilador otimizador sofisticado. A interessante propriedade intelectual não será necessária para uma implementação direta.

Uma linguagem existente que funciona com este modelo é PHP / Zend Server

MSalters
fonte
17

O idioma dele faz algo pelo qual pessoas suficientes pagam?

Essa é realmente a única coisa que decide se um modelo de negócios funcionará. Você tem um grande mercado de usuários grandes o suficiente para não se preocupar com os custos de licenciamento? O idioma suporta dispositivos ou padrões que os clientes não podem viver e que nada mais suporta? É tão insanamente ótimo que os clientes poderão contratar os melhores e mais brilhantes programadores e obter enormes aumentos de produtividade apenas usando essa linguagem, e a gerência entende essa troca ?

Se qualquer um desses itens ou algo comparável for o caso, o modelo de negócios provavelmente funcionará. Caso contrário, provavelmente não funcionará: mais cedo ou mais tarde, alguém apresentará uma medida de corte de custos que envolve a mudança para uma alternativa mais barata.

Kilian Foth
fonte
3
Boas perguntas, mas, como é um novo idioma, a grande maioria dessas perguntas deve ser respondida de forma negativa. Um pouco como um jovem tentando conseguir um emprego: como você cumpre o requisito de ter experiência quando é jovem demais para ter um emprego?
Bugmagnet
1
Como sua resposta recebeu tantos votos positivos, você poderia também explicar como um idioma pode ser de código fechado ?
Den
@ Den você faz um bom ponto. O que meu amigo deseja evitar, suponho, é a situação em que a Microsoft cria uma linguagem semelhante a Java, a chama J ++ e entra em litígio com a Sun sobre seu Java-ness. Como você protege uma sintaxe e uma metodologia de programação de serem invadidas por uma empresa cuja implementação poderia colocá-lo fora do negócio?
Bugmagnet
14

Acredito que não, não há espaço para um novo idioma com uma implementação proprietária vendida por uma pequena empresa.

Primeiro, os desenvolvedores têm muitas outras implementações de linguagem gratuitas (pelo menos como "in beer" e frequentemente como "in speech"), e não se incomodam em tentar uma linguagem (cara).

Segundo, qualquer gerente objetaria imediatamente: o que aconteceria - à nossa base de código codificada no novo idioma - se a pequena empresa que fornecia a implementação do idioma falisse? Esse argumento provavelmente proibiria qualquer um de comprar a implementação da linguagem!

Por outro lado, uma implementação de linguagem de software livre pode ser avaliada de maneira grosseira pelos clientes, que sempre podem administrar seu serviço a outro provedor, se a empresa original que o escreveu falir.

Da perspectiva do cliente, o custo da adoção de um novo idioma não está na licença da implementação, mas nas habilidades necessárias para usá-lo.

E há muitas implementações de linguagem de software livre que quase não são utilizadas.

Basile Starynkevitch
fonte
5
Embora façam parte de pacotes maiores, as pessoas pagam pelo uso do Matlab, Maple, Mathematica e UnrealScript.
Trillian
7
Mas estes não são de uma pequena empresa desconhecida, e a empresa que os vendeu começou no século anterior.
Basile Starynkevitch
3
@Trillian: também apesar do Turing completo, os idiomas mencionados não são de uso geral, eles são feitos especialmente para uso em uma plataforma específica, uma plataforma de matemática e gráficos no primeiro e no último mecanismo de jogo. Essas plataformas são o que fez essas linguagens valerem o dinheiro e o aborrecimento de aprender uma nova linguagem para pessoas que precisavam das funcionalidades da plataforma. Indiscutivelmente, eles não estão vendendo apenas o idioma, mas uma plataforma inteira.
Lie Ryan
5

Um idioma não pode ser de código fechado. Seu compilador e bibliotecas de tempo de execução podem ser de código fechado. Uma gramática formal de um idioma pode ser mantida em segredo e ser legalmente protegida (NDAs, etc.) e as taxas cobradas pelo uso.

Seu amigo pode reivindicar propriedade intelectual ou patente, se o idioma for tão novo e inovador. Eu próprio tenho grandes dúvidas de que isso valeria o esforço.

Atualmente, a maioria das empresas escolhe primeiro as tecnologias disponíveis ao público, não importa quanto trabalho seja necessário para obter o mesmo efeito que uma abordagem de código fechado faria. Em seguida, se a sobrecarga for muito grande, eles vão para uma solução padrão do setor - linguagens proprietárias padronizadas (por exemplo, Matlab), com boa penetração e suporte.

Os idiomas internos geralmente são criados como DSLs (idiomas específicos do domínio) e hoje em dia o esforço é menor do que comprar um DSL de alguém e adaptá-lo. Além disso, as DSLs são muito específicas para o domínio do problema.

Agora, não desanime seu amigo de gerar receita com o idioma dele. Existem maneiras de fazer isso - vendendo-o para uma empresa grande e estabelecida, ou fazendo com que alguns investidores comprem a idéia e invistam nela -, mas seu principal problema na abordagem é que ele desenvolveu uma solução sem pesquisar o problema de desenvolvimento. E esse não é o problema que ele considera o problema, é o que seus clientes em potencial consideram o problema. Para que ele pudesse sair e conversar com esses colegas sem fornecer detalhes sobre sua solução e fazer com que esses caras pagassem - isso não é impossível, mas não muito provável.

TFuto
fonte
4
"Uma gramática formal de uma língua pode ser mantida em segredo" - como alguém seria capaz de usar uma língua sem conhecer sua gramática?
el.pescado
2
@ el.pascado: garantir que qualquer pessoa que queira usar a linguagem assine um NDA, é péssimo, mas alguns gerentes sem noção podem pensar que é uma boa idéia.
Lie Ryan
3

Eu mesmo tive essa discussão quando um de meus clientes considerou o desenvolvimento de aplicativos principais usando o ColdFusion. Pessoalmente, não consigo pensar em nenhum motivo para usar CF (e pagar por isso) quando posso usar PHP (e não pagar por isso). No entanto, a CF tem uma grande empresa por trás disso, que pacifica os OSS-fobiacs (lida com gerentes de TI suficientes e você acabará enfrentando alguns deles eventualmente) e é bom o suficiente para que desenvolvedores de fato prefiram.

No entanto, é claro que seu amigo precisa apresentar algo bom o suficiente e com o apoio suficiente por trás disso. Atualmente, o primeiro não é um truque comum com todas as plataformas de código aberto completamente maduras, e o segundo exige o apoio de uma parte pelo menos do tamanho, digamos, da Adobe.

Sem mencionar o fato de que até a CF tem uma participação marginal de mercado atualmente em comparação com a OSS.

Em resumo, se seu amigo é brilhante o suficiente para inventar algo que ofusca o PHP, Python e amigos e especialistas em negócios o suficiente para vendê-lo a um dos maiores e mais respeitáveis ​​players do mercado, a resposta é "talvez". Caso contrário, é um retumbante "não".

Frank van Wensveen
fonte
2

Eu acho que a resposta é um não definitivo neste caso. Ter um novo idioma direcionado por uma entidade pequena causa um alto risco de erros críticos ou recursos importantes ausentes.

Se esse idioma for proprietário, então, como usuário, você estará absolutamente ferrado se o idioma não evoluir na direção em que você precisa, no ritmo que precisa. Se o idioma for gratuito, você poderá jogar dinheiro ou mão-de-obra no problema (que pelo menos para empresas maiores é uma opção).

Seu amigo seria muito melhor vendendo serviços ou produtos complementares. Fornecer suporte, treinamento, consultoria. Seja pago por adicionar recursos solicitados especificamente. Forneça ferramentas (por exemplo, na forma de plugins comerciais para IDEs populares). Forneça algumas bibliotecas sob um modelo de licenciamento comercial (mas ainda com a fonte incluída sob restrições adequadas).

back2dos
fonte
1

Embora eu odeie desencorajar seu amigo, acho improvável que ele consiga convencer as pessoas a pagar por ferramentas de desenvolvimento atualmente, a menos que essa ferramenta ofereça um ganho incrivelmente grande em produtividade (como em "produz software de trabalho fazendo com que os gerentes pareçam vesgos) na tela enquanto pensa em bons pensamentos !!! "). Hoje em dia, para o bem ou para o mal, há muito pouco mercado para ferramentas de desenvolvimento "pay-for-play", pois a quantidade e a qualidade das ferramentas gratuitas são excelentes. (Linguagens de testemunha como Java, Ruby, Python, Clojure - IDEs como Eclipse e LightTable - bancos de dados como MySQL e PostgreSQL - a lista continua e continua e continua ...). Desejo-lhe boa sorte com este empreendimento.

Bob Jarvis - Restabelecer Monica
fonte
Quanto aos idiomas, você pode ter razão. Ainda há um mercado para ferramentas de desenvolvimento pagas. MS, Adobe, JetBrains, etc não estão exatamente sofrendo por dinheiro, a última vez que ouvi. Parece que há um argumento em algum lugar gratuito "lite" ou versões de teste.
cHao 23/07
1

Pode. Se for:

  • bom e / ou útil o suficiente
  • se for aplicável fácil o suficiente e
  • se não for muito caro

Na verdade - para iniciantes, ele deve ser muito forte nos 2 primeiros itens e com muito desconto em relação ao seu valor real.

Vejo a maioria das pessoas reclamando de gerentes do mal que não gostam de pagar muito por isso - você nunca disse que seu amigo está pedindo uma fortuna pela licença. E se ele pedir US $ 500 por ano e economizar algumas centenas de horas de trabalho por ano? Qualquer gerente inteligente iria pegá-lo.

userfuser
fonte
0

Isso depende de o idioma oferecer ou não algo engenhoso o suficiente para que eu (representando o cliente) esteja disposto a pagar por isso.

Como gerente de projeto, preciso levar em consideração:

  • O tempo necessário para aprender / dominar esse novo idioma.
  • O ganho de eficiência (tempo até a entrega) em comparação com outros idiomas. E isso supera o tempo para aprendê-lo?
  • Esse idioma resolve um problema que dificilmente pode ser resolvido com outros idiomas?
  • Esse idioma ainda será suportado em cinco anos, caso o cliente faça outra solicitação?

Os três primeiros pontos se aplicam a todos os idiomas e, especialmente, o primeiro é difícil de superar para cada novo idioma, porque preciso raciocinar o tempo de produtividade muito baixa com algo, e é melhor que seja bom.

O quarto ponto é o que se aplica apenas a idiomas de código fechado, como os que dependem de terceiros, que podem ou não existir daqui a cinco anos. Cinco anos antes, os aplicativos móveis não eram tão importantes como hoje. O idioma será adaptado à situação atual e permitirá que eu escreva aplicativos móveis também? Será compatível com os novos requisitos? Se houver esse requisito para o meu cliente, posso entrar em contato com o desenvolvedor desse idioma e registrar uma solicitação de atualização?

Se alguma dessas perguntas for respondida com "não", então pode ser o melhor idioma do mundo, não posso usá-lo. E se eu souber que existe uma única pessoa que inventou essa linguagem em seu "tempo livre" e agora trabalha como uma empresa de homens solteiros, ficaria muito desconfiada e preferiria não usar a linguagem, a menos que eu tenha promessas muito sólidas e a linguagem oferece algo que nenhuma outra me permite fazer.

TwoThe
fonte