O que é Mono e por que pode ser perigoso?

Mono é o nome de um projeto open source iniciado pela Ximian e atualmente promovido pela Novell (após a aquisição da Ximian) para criar um grupo de ferramentas gratuitas, baseadas em GNU / Linux e compatíveis com .NET conforme especificado pela ECMA. Por que é odiado por muitos usuários GNU / Linux?

O que é Mono?

Não, não tem nada a ver com a Ilha dos Macacos. Mono é a implementação gratuita do CLI (Common Language Infrastructure) e C # (ambos criados pela Microsoft), de acordo com as especificações enviadas ao ECMA para sua padronização. Esta implementação é de código aberto.

Mono inclui a CLI, que contém a máquina virtual responsável por carregar as classes, o compilador jit (Just-in-time) e o coletor de lixo; tudo isso escrito do zero de acordo com as especificações ecma-334.

Mono também inclui um compilador C #, que paradoxalmente é escrito em C # e, como a CLI, este compilador segue as especificações ecma-335.

Adicionalmente Mono possui um catálogo de bibliotecas compatível com as bibliotecas .Net Framework, mas também possui uma série de bibliotecas que não existem no Microsoft .Net Framework; como GTK # que permite a criação de interfaces gráficas nativas do kit de ferramentas GTK +, Mono.LDAP, Mono.Posix, etc.

Origem do Mono

O Mono foi concebido por Miguel De Icaza, sendo o projecto então patrocinado pela sua empresa Ximian; Atualmente Novell é o patrocinador do projeto Mono, desde que a Novell adquiriu a Ximian.

A motivação para a criação do Mono se deve à busca por ferramentas que auxiliem na rápida criação de aplicações no ambiente Linux.

Plataformas mono suportadas

Mono atualmente é executado em plataformas x86, PPC, SPARC e S390 em 32 bits; e x86-64 e SPARC em 64 bits; sendo possível criar e executar aplicações nos sistemas operacionais: Linux, Windows, OSX, BSD e Solaris.

O mono é compatível com o .Net Framework?

Um dos objetivos do Mono é atingir um alto grau de compatibilidade com a API 1.1, embora já haja muito trabalho de compatibilidade com a API 2.0 do .Net Framework.

Isso é para garantir que um binário compilado no Windows com o .Net Framework possa ser executado em qualquer uma das plataformas Mono sem a necessidade de recompilar o binário e que, por sua vez, possa fazer uso das bibliotecas Mono -Ej: System compatíveis. Dados, System.Xml, etc -.

As bibliotecas fornecidas pelo Mono são 100% compatíveis com sua contraparte do .Net Framework. A última versão 2.6.1. inclui, entre outros recursos importantes:

  • O CLI
  • O compilador C #
  • ADO.NET
  • ASP.NET
  • Webservices
  • System
  • janelas

Sendo este último - WindowsForms - aquele que requer mais trabalho para ser concluído em sua totalidade. Porém deve-se destacar que o projeto não contempla a criação de bibliotecas compatíveis para Enterprise Services.

Que tipo de aplicativo posso criar atualmente com o Mono?

Bem, é possível criar aplicativos do tipo Web e Webservices com o uso do módulo mod_mono que permite ao servidor Web Apache servir páginas ASP.NET (aspx) e Web Services (asmx).

Também é possível criar aplicativos que acessam bancos de dados como Microsoft SQL, Oracle, Postgresql, etc.

Do lado dos aplicativos de interface gráfica, a sugestão é a utilização do GTK #, pois o kit de ferramentas no qual se baseia (GTK +), permite que aplicativos gráficos sejam executados em ambientes Linux, Windows e OSX sem alterações; Essa sugestão torna-se importante, pois a implementação compatível com Windows Forms no Mono ainda não foi concluída.

Existe um requisito para que meu aplicativo seja compatível com Mono e .Net Framework, ou seja, portátil?

Na verdade, não há nenhum específico, contanto que seja um aplicativo baseado em CLI; embora haja alguns pontos que devem ser levados em consideração:

  1. O Linux diferencia maiúsculas de minúsculas em nomes de arquivos e diretórios; por isso é necessário ter consistência com os nomes que usamos.
  2. O separador de caminho é diferente no Windows () e no Linux (/), portanto, é recomendável usar o API Path.DirectoryPathSeparator, para obter o separador correto ao executar a aplicação.
  3. Se forem utilizadas bibliotecas não CLI (por exemplo: biblioteca em C, C ++ etc.), usando p / Invoke, certifique-se de que a biblioteca exista nos diferentes ambientes onde o aplicativo será executado.
  4. Não use tecnologias que existam apenas em um determinado ambiente (Ex: Registro no Windows ou GConf no Linux -Gnome-); ou fornecer uma solução que permita que o aplicativo opere corretamente no ambiente em que está sendo executado.
  5. Aplicativos baseados em Windows Forms e que são muito complexos podem não funcionar no momento, porque o Windows Forms em Mono não está completo.

Quais ferramentas de desenvolvimento existem no Mono?

Bem, é possível no Windows desenvolver um aplicativo usando o Visual Studio. No lado do Linux, existe MonoDevelop, um IDE baseado em SharpDevelop.

MonoDevelop permite gerenciamento de projeto, coloração de sintaxe, autocompletar código, compilar e executar o aplicativo a partir do mesmo IDE.
Por meio de adições (suplementos), a funcionalidade foi estendida para, por exemplo:

  • Conecte-se a bancos de dados do IDE
  • A inclusão de um depurador que permite, como o Visual Studio, executar o código linha por linha e revisar os valores das variáveis.

Atualmente, há trabalho para integrar um designer de formulário, embora esse designer esteja focado na criação de formulários para GTK # e não para Windows Forms.

Aplicativos feitos para Mono.

Há um bom número de aplicativos desenvolvidos para Linux em Mono, para se ter uma ideia, aqui estão 2 listagens com esses aplicativos:

Destas aplicações pendentes são:

  • MonoDevelop: É um IDE para programar programas Mono no Linux. O IDE é feito em C #.
  • Ponto F: Programa para catalogar fotografias, além de poder fazer algumas modificações digitais nas fotos.
  • Beagle: Ferramenta que indexa e pesquisa informações entre vários tipos diferentes de documentos no Linux.
  • Menina moleque: Programa para armazenar notas vinculadas por palavras-chave.
  • muine: É um reprodutor de áudio baseado no GStreamer.
  • PyMusique: Programa que fornece uma interface gráfica para acesso e compra de música com o serviço iTunes da Apple.
  • MonoUML: É um editor para fazer diagramas com o padrão UML.
  • Gnome faz: Iniciador de aplicativos rápido e eficaz.
  • Docky: Dock para sua área de trabalho.
  • Banshee: Media player baseado no Gstreamer.

Monkey e licenças

Mono é a implementação de código aberto do .Net Framework da Microsoft, com base em padrões lançados para ECMA; Por ser uma implementação baseada em um produto Microsoft, o uso do Mono no Linux tem causado polêmica - entre usuários e desenvolvedores Linux - o argumento é que o Mono pode infringir patentes da Microsoft, o que pode se tornar um processo contra Macaco.

De acordo com o página do projeto Mono, desde que a CLI e o compilador C # sigam os padrões aceitos pela ECMA, essas 2 peças são seguras, em relação às bibliotecas específicas do Mono, não correm risco; mas a implementação das bibliotecas relacionadas ao ASP.NET, ADO.NET e Windows Forms são sensíveis a infringir alguma patente da Microsoft - embora no momento não haja conhecimento de que seja esse o caso -; Por este motivo, o projeto Mono sugere 3 opções para o último caso:

  • Reimplemente a funcionalidade - para evitar a patente -, tentando manter a API compatível.
  • Elimine coisas que não podem ser reimplementadas.
  • Procure elementos que possam anular a patente.

De acordo com a Wikipedia, a implementação do Mono desses componentes .NET não sujeitos a ECMA pois sua padronização levantou algumas preocupações sobre a possível violação de patentes de software durante a vida do projeto. Em particular, desenvolveu-se a discussão sobre se a Microsoft poderia ou não destruir o projeto mono por meio de ações judiciais sobre as patentes infringidas.

Atualmente, há um debate animado sobre a (in) conveniência de aceitar e usar o Mono na comunidade de desenvolvedores de GNU / Linux. O principal argumento contra o Mono é que ele não está isento de patentes de software e existe o risco de a Microsoft exigir licenças para usar C # / CLI.

Por outro lado, o projeto Gnome está desenvolvendo uma linguagem alternativa, Vala, criado especificamente para desenvolver aplicativos para Gnome, mas livre de ameaças potenciais da Microsoft.

Minha recomendação

Atualmente, existem alguns programas realmente excelentes escritos em Mono. Você só pode pensar em F-Spot, Gnome Do ou Docky. Mas, por ter alternativas gratuitas que não apresentam todos esses problemas, prefiro não depender do Mono.
Sobre a recente decisão polêmica do Debian e do Ubuntu de incluir Mono em sua instalação padrão, ao contrário do Fedora que o removeu, apenas incluindo o popular aplicação Menina moleque, escrito em C #, Richard Stallman tem algumas palavras de sabedoria isso deve inspirar outras distros.

Depender do C # é perigoso, portanto, devemos desencorajar seu uso.
O problema não é exclusivo do Mono, qualquer implementação C # livre teria o mesmo problema. O perigo é que a Microsoft provavelmente está planejando forçar todas as implementações C # gratuitas fora da caixa um dia usando (suas) patentes de software. Este é um perigo sério e apenas os tolos o ignorariam até o dia em que realmente acontecesse. Precisamos tomar precauções para nos proteger.
Devemos organizar as coisas para contar com implementações C # livres o mínimo possível. Em outras palavras, devemos desencorajar as pessoas a escrever programas C #. Portanto, não devemos incluir implementações C # na instalação padrão de distribuições GNU / Linux, e devemos distribuir e recomendar aplicativos não C # em vez de aplicativos C # comparáveis ​​sempre que possível.

Desinstalar o Mono

Quero remover o mono da minha distribuição Ubuntu (e assim economizar muito espaço ocupado por suas dependências e que, no caso do Ubuntu, servem apenas para "suportar" 2 aplicativos instalados por padrão: F-Spot e Tomboy). Se você não usar nenhum desses dois, desinstale-os do Synaptic, bem como todos os pacotes que dizem Mono ou CLI.

Para desinstalar o Mono no Ubuntu, você também pode abrir o terminal e digitar:

sudo apt-get remove --purge mono-common libmono0 libgdiplus sudo rm -rf / usr / lib / mono

Alternativas para Mono

Como vimos, em primeiro lugar, se você é programador, não programe em C #. Existem inúmeras outras línguas, ainda melhores. Além disso, o Gnome lançou recentemente uma nova linguagem com uma funcionalidade semelhante ao Mono chamada Vala.
Acabei de excluir o Mono e com ele alguns dos meus programas favoritos foram excluídos ... quais programas alternativos existem para substituí-los:

Mais informações

Para obter mais informações sobre o projeto Mono, visite o site oficial em Inglês, além de monólogo que é um agregador para blogs de desenvolvedores Mono; ou em espanhol no site Mono Hispano, além do Blogs das pessoas que mantêm este site.
Não se esqueça de deixar seus comentários sobre Mono… =)


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Ariel dito

    Não acho que a Microsoft usará suas patentes contra Mono, Monodevelop, Xamarine no futuro. Além do mais, acredito que essas ferramentas de alguma forma facilitarão a expansão para outras plataformas que estão reivindicando seu lugar privilegiado no mundo do desenvolvimento de software em geral todos os dias. Eu acho que o Mono está fazendo um ótimo trabalho ao portar tecnologias C # e .NET para outras plataformas, o que os torna ricos em novas oportunidades tecnológicas no que diz respeito ao software. A Mono sabe o que significam as patentes e certamente está tomando todas as precauções para evitar infrações. Por outro lado, JAVA está assumindo sua posição de liderança com sua plataforma JAVA EE6, que para meu gosto vai além dos recursos oferecidos atualmente pelo Visual Studio. É por esta razão mais do que qualquer coisa que eu acho que a Microsoft achará conveniente portar seu C # para Linux, MacOSX, BSD, Solaris, Android, etc ... Por outro lado, eu não concordo em tomar isso de alguma forma posições fanáticas de dizer NÃO à Microsoft no Linux ou dizer Não ao Linux na Microsoft, acredito que a verdadeira evolução está na variedade e recusar a verdade é regressão.

  2.   Vamos usar Linux dito

    Até hoje nada mudou. Se você estiver interessado em executar seus programas em sistemas diferentes, recomendo Java ou python. Se você estiver familiarizado com a sintaxe c #, vala também é uma boa alternativa.
    Abraço! Paulo.

  3.   pablo dito

    Olá.

    Não faz muito tempo, decidi migrar a linguagem e escolhi C #, para poder usar o código e compilá-lo para uso em plataformas Linux e Windows.

    Agora, vendo este post me pergunto se me saí bem (digo isso a partir da escrita de Richard Stallman).

    Você poderia me dizer se essa situação mudou alguma coisa até agora?

    (Eu sei que esta postagem tem pelo menos 2 anos)

  4.   Sergio dito

    Como comentou o homônimo, não acho que a Microsoft deva limitar seus recursos de expansão; na verdade, ela não ganha a vida com isso. Eu os vejo até capazes de liberalizar a linguagem, já que ganham dinheiro com implementações, frameworks e IDEs.

    Estou começando a achar que o Sr. Stallman está um pouco velho para essas coisas hoje. Me diverti lendo sua citação e pensando, que enquanto a comunidade tinha os olhos fixos no C #, a Oracle entrou com seu primeiro processo contra o Android, que embora primo pobre, não deve ser esquecido que é Linux, por violação de patente pelo uso de … JAVA!

    Minha opinião é que não se pode permitir que a comunidade Linux, simplesmente por orgulho, feche os olhos para as alternativas e suas portas para um grande número de desenvolvedores de qualidade, empunhando o slogan "adapte-se ou dê meia-volta". Isoladamente, existe a morte, mesmo que seja lenta.

    Não vamos esquecer que uma linguagem de programação é um conceito muito diferente de um aplicativo, é um bem universal. Quem será capaz de censurar o inglês argumentando que é a língua do capitalismo?

    1.    Javier L. dito

      Eles falam sobre MS como se não conhecessem seus movimentos no nível de marketing, ou já esqueceram o incidente de 99 quando a MS modificou parte da plataforma JAVA para que o software escrito em seu próprio pacote não funcionasse em outro navegador que estava não no IE6, quando o mundo percebeu, processos judiciais choveram por toda parte, mas o mais importante, muito do software escrito teve que ser reimplementado. A MS é uma empresa que quer lucrar por todos os meios. Para quem está no software livre, não é conveniente usar ferramentas proprietárias se houver tantas ferramentas gratuitas disponíveis.

    2.    Jlboch dito

      Sergio, você é ingênuo quando se esquece que os gringos não fazem nada, absolutamente nada, ou fazem obras de caridade se não se certificam de que vão produzir milhões de dólares, mesmo depois do ato,
      O que os gringos mais amam neste mundo são drogas e dólares (nessa ordem)
      É por isso que eles têm dominado o mundo e os mercados com seu capitalismo: usando a lei do pau e a lei dos dólares, o verdadeiro DEUS dos gringos são os dólares, mesmo que os hipócritas quebrem seus seios nos templos protestantes ou nas igrejas. católico

      1.    AC máx. dito

        O Anti-Microsoft sempre será abundante para as supostas práticas monopolistas, e embora seja verdade que ao longo dos anos a Microsoft tem demonstrado comportamentos que não são muito agradáveis ​​para o usuário final, não vamos esquecer que é uma empresa de negócios e o que sempre farão fazer com seus produtos é negócio. Mas o mundo mudou, tornou-se globalizado e a Microsoft se recusou a aceitá-lo na época, mas não teve escolha, a integração do padrão Open-XML no MSOffice prova isso, foi até forçada a "compartilhar" código de sua plataforma forçada pelas regras antitruste e tinha que fazê-lo, o Net Framework e seus idiomas estão registrados no órgão europeu ECMA cujo objetivo é padronizar as Tecnologias de Informação, para o C # corresponde ao ECMA-334, para o CLI (que implementa Mono) ECMA-335 e o C ++ / CLI é ECMA-372, isso garante que essas linguagens e plataformas estejam disponíveis para o público em geral, para que a Microsoft não force nada no futuro com respeito para essas línguas. A tentativa da Anti-Microsoft de desestimular o uso da linguagem C # é absurda, é um jogo tão sujo quanto os denunciados pela Microsoft, a especificação da linguagem é aberta, existem outras linguagens e neste mundo o melhor é a concorrência que causa melhorias em todas as áreas, o programador por si próprio deve descobrir as diferentes linguagens e tecnologias e conhecer as suas características e será ele quem vai decidir por si com que ficar para realizar os seus desenvolvimentos.

  5.   Vamos usar Linux dito

    Boa contribuição. Obrigado!

  6.   Adrian dito

    Este Stalmann !! Veja os conspiradores da Microsoft debaixo da sua cama XD.

  7.   sergio dito

    Se levarmos em conta que a intenção da Microsoft com .net é ganhar terreno com o java, acho bom demais ter implementações do Linux para truncar suas possibilidades.

    minha opinião é que, se a microsoft não estivesse interessada nisso, não teria ajudado a criar esses padrões e teria protegido suas bibliotecas .net para evitar (ou pelo menos impedir) sua descompilação. E não que já estejamos na versão 4.0 se não me engano e todas as suas bibliotecas são descompiladas sem problemas e ainda não estão ofuscadas, o que melhoraria o desempenho da arquitetura.

    Também é verdade que a Microsoft sempre cobrou até pelo aplicativo mais burro e agora tem em seu repertório, por exemplo, versões gratuitas totalmente funcionais do visual studio para .net e sem restrições de licença e não é a única coisa (Truespace para exemplo também foi para o lado do grátis).

    Esta é uma batalha entre Java e .Net e, como em todas as guerras, qualquer aliado é bem-vindo.

    E a verdade é, gostemos ou não, que vivemos em um mundo cheio de licenças ... de fato, alguns portais destacam patentes "infringidas" em uma simples página da web e são tão comuns que nem sequer pensamos que pode ser patenteado algo tão extremamente simples. As patentes estão aí e, se alguém quiser demolir um projeto, é bem possível que acabem encontrando uma patente que está sendo infringida.

    Caso não tenha ficado claro, não pretendo iniciar aqui um conflito que busque saber se o Windows ou o Linux é melhor, eles são simplesmente diferentes e cada um tem suas vantagens e desvantagens, como todo o resto. Mas essa é outra história.

    Uma saudação.

  8.   e2fletcher dito

    Com a Microsoft, você nunca sabe.

  9.   Ken Torrealba dito

    Atenciosamente,

    Há algum tempo segui um tutorial, capítulo 1, sobre Mono, e parecia super fácil e mais natural que Java, gostei deste último. Infelizmente não consegui ler a próxima edição da revista.

    Pelo que entendi, C # é a evolução do J ++
    Aquela implementação problemática de Java que a Microsoft custou a ele um processo da Sun, que a Sun ganhou, já que a Microsoft tinha bibliotecas (pacote) que só podiam ser executadas no Windows, o que era o oposto do lema do Java «você escreve um vê, você executa quando e onde der ".

    Layout J ++ e C # de sucata da Microsoft

    Agora, os fatos são os seguintes: A Microsoft "doou" uma determinada parte do C # para tornar o Mono legal, de forma que essas seções não sofressem processos futuros, mas o que a Microsoft não doou se tiver uma boa chance de que a Microsoft exija de quem o usa , este é o caso, porque já aconteceu antes, com outro software, mas isso aconteceria se o Mono começar a roubar clientes, ou se uma empresa começar a ganhar dinheiro (muito) com o suporte e implementação da linguagem ou quiser atribuir como se fosse seu, embora muitos apenas o vejam evoluir.

    Por último, importa referir que Miguel de Izcasa tem frustrações por não poder trabalhar para a Microsoft, devido ao seu passaporte..., isso o fez criar software compatível com Windows desde Linux, para que aqueles percebessem "o que perderam"

  10.   kuk dito

    Eu não gosto disso 🙁

  11.   Desenvolvedores dito

    Eu acho que uma das razões para usar GNU / Linux é porque ele é open source e se começarmos a usar um software criado pela Microsoft estaríamos envolvidos em uma contradição, também por que você precisa de software Microsoft quando há uma grande comunidade no mundo de código aberto para apoiar uns aos outros (a origem do código aberto) e assim melhorar qualquer aplicativo de código-fonte não aberto, você não acha?

    Lembremos que inicialmente o .NET não era gratuito e se o lançou (a parte que lançou) foi porque os desenvolvedores não o utilizaram devido à sua aplicação limitada e com isso a Microsoft foi perdendo presença entre todos os desenvolvedores.

    Se o que queremos é que nossos aplicativos funcionem em plataformas diferentes, por que não usar Java ou Python? Os novos aplicativos criados pela Xamarin para desenvolver para ios ou android, é apenas uma forma de #monopolizar o desenvolvimento sob uma linguagem, pois como todos sabemos, é sempre melhor usar a língua nativa.

    Em relação a Richard Stallman, acho que ele é a pessoa com mais experiência em open source e por isso, pelo menos devemos parar para analisar um pouco os problemas que ele tem enfrentado, pois conhecer a história serve para evitar cometer os mesmos erros.

    Como todo mundo, os desenvolvedores têm que pagar contas (alimentação, saúde, etc.) e, portanto, precisamos obter um benefício econômico pelo nosso trabalho, mas temos diferentes formas de obtê-lo (felizmente), como doações, consultorias, desenvolvimentos baseados em código aberto etc. Devemos fazer uso de nossas habilidades e engenhosidade, porque este novo mundo "gira" como está graças a cada um dos desenvolvedores que existem e fazem tudo funcionar como deveria. Do meu ponto de vista, somos os alicerces da nova tecnologia e da nova sociedade e não as empresas.

    Não acredite nisto???

  12.   Adrian Fernandez dito

    Não acho que a M $ fará nada para capturar aqueles que violam as patentes C #. Ele não fez isso antes, ele não faz hoje, então dificilmente ele fará tão cedo. Por outro lado, Stallman é conhecido por sua persistente paranóia contra o que não é software livre (ele está até insatisfeito com o kernel do Linux), imaginando por 20 anos, um mundo de desenvolvedores perseguidos por M $.
    Em fim. Monodevelop é uma excelente ferramenta para trabalhar. E se alguém tem medo de usar C # pelo que você viu, ainda existe o Basic, que atualmente é tão capaz quanto o C # na maioria dos desenvolvimentos.

  13.   Daniel noriega dito

    Bom, também concordo com alguns comentários, sou Engenheiro Eletrônico mas estou sempre atento às novidades da programação e sempre procuro aprender uma linguagem por completo. O que tem sido muito difícil para mim é escolher qual linguagem aprender, eu uso C ++ mas não conheço as APIs então é quase nada, por isso procuro ver em qual API focar. Mas o que eu quero é a possibilidade de desenvolver código multiplataforma e obviamente a primeira coisa que se destaca é JDK ou .Net.

    Então eu vejo esse post e honestamente vejo que há muita paranóia. Não acho que a Microsoft vá processar a mono, acho que pelo contrário, a Microsoft ganha uma vantagem para que sua linguagem ganhe espaço entre os programadores ao se tornar uma linguagem que pode ser estendida a outras plataformas. Eu sou um usuário Linux, mas também sou um usuário Windows e adoro Linux, mas se há uma coisa que eu não apoio no Linux é que uma boa parte da comunidade é orgulhosa e obtusa e vive lutando todos os dias por tolices , insultando e menosprezando aqueles que eles conhecem menos.

  14.   Imagem de Jose Manuel Alcaraz placeholder dito

    Claro, não se dedique à adivinhação ... você acertou em cheio ... .net agora é de código aberto ... xD

  15.   Alexis dito

    ehhh como já disse muitas vezes ... eu cago no Richard Stallman ... ele expressa sua opinião e os fanboys pulam como se sua palavra fosse um mandamento sagrado ... embora a MS possa fazer uso de suas patentes no futuro, ela não é menos verdade que (pelo menos onde eu moro) as plataformas predominantes no nível corporativo são .NET e Java ... então, aprender a lidar com o Mono acabaria beneficiando uma possível carreira como desenvolvedor; Não é muito saudável para o mundo Linux esmagar qualquer alternativa diferente dos "ideais" do Sr. Stallman, pessoalmente eu uso o Mono para experimentação e aprendizado (já que nem instalo windows no meu pc, mas não posso impor no meu posto de trabalho) e não me sinto um pecador hahahaha saudações.

  16.   JOU dito

    Eu realmente não me importo se C # é um perigo ou se outra linguagem está aberta OU etc, contanto que se adapte a qualquer sistema operacional e seja lucrativo e produza dinheiro, tudo bem, atualmente sou um programador de camarões Linux que usa a linguagem Basic semelhante ao Windows Visual Basic e se eu vir que facilita a programação profissional fácil e se expande para várias plataformas, será bem-vindo.

  17.   Terror dito

    Senhores, como a Microsoft já comprou o Xamarin em 2016, o Mono tem um longo caminho a percorrer. Pare o fanatismo barato e comece a trabalhar em outras opções de programação. .NET é oficialmente portátil em plataformas não Windows desde 2014 (com a criação da DotNet Foundation) e a implementação de .NET em ambientes não Windows tem crescido pouco a pouco. Você não apenas pensa sobre os serviços de informações da Internet ou servidores Windows como antes, mas também sobre o Apache Web Server / Nginx com .NET. No meu caso: Eu projetei aplicativos ASP.NET MVC 4/5 no IIS e, em seguida, no Apache Web Server no Linux Ubuntu por um ano, e até agora, não tive problemas para executar um aplicativo ASP.NET MVC em dois plataformas da web.

    Aqui está minha contribuição, caso você esteja interessado em migrar aplicativos ASP.NET MVC para Apache / Ubuntu:

    1 Part:
    https://radioterrormexico.wordpress.com/2016/06/22/ejecutar-aplicaciones-asp-net-en-plataformas-no-windows-parte-13/

    2 Part:
    https://radioterrormexico.wordpress.com/2016/06/23/ejecutar-aplicaciones-asp-net-linux-ubuntu-server-parte-23/

    Exemplo de Github:
    https://github.com/boraolim/MonoServe-2016

  18.   Ameaçar dito

    Este debate tem um forte cheiro político ... hahahaaaa XD

  19.   Alemão A. COPERTINO dito

    Com o Java o mesmo aconteceria, se o Oracle estiver satisfeito, ele torna o java PAYABLE e sua propriedade e todos nós som. É muito subjetivo. E eu não acho que uma empresa ou o próprio Linux incentive esse tipo de desenvolvimento se no futuro ele será problemático para os usuários.-

  20.   Elvino está faltando dito

    Bem, em tempos de globalização e desglobalização, é bom lembrar certas manobras monopolistas de alguns
    ou comportamentos para manipular, não à toa Novel adquire Ximian, mas leia
    o que aconteceu com Mysql / Sun Microsystm e depois com Oracle sugando Sun e com ele Mysql para fazer desaparecer
    Demorou um pouco para Monty (criador de Mysql) perceber, mas ele refluiu seu projeto e deu à luz MariaDB e acabou sendo um pé no saco no Oracle
    mas o mesmo pode acontecer com Mono.
    Sou um programador Cobol, C, Java e Harbor Networking Multilanguage e, nessa ordem, em Aix, Linux e Windows
    Eu misturo aplicações por Socket, comunico aplicações entre diferentes linguagens e diferentes plataformas para um Banco

    Acho que se o projeto for grande, ou seja, vai incluir milhares de linhas de código, você tem que jogar pelo seguro para garantir seu crescimento / modificação e escalabilidade
    agora se o código for pequeno, eu não teria nenhum problema em fazê-lo em C #, se for bom, poderoso e realmente resolver os problemas para mim, tudo bem.
    lembranças

  21.   ferido dito

    .Net Core + C # = Futuro

  22.   Jesus Arc dito

    A nota estava indo bem até que apareceu o "se você é programador, não use C #" ... então eles perderam toda a credibilidade.

  23.   Jafé Granados dito

    Em 2020, já estava comprovado que nada do que foi dito neste post aconteceu. A Microsoft criou o .NET Core e o tornou gratuito. Agora com 3 plataformas com bibliotecas de base muito semelhantes, mas no final diferentes (já que foram criadas do zero), o próximo passo foi unificar as três em uma, e é exatamente isso que está sendo feito com o .NET 5 (sem a palavra "Core" ou "Framework") que, como foi dito, é uma nova plataforma, mas agora de código aberto, multiplataforma, e que pode ser usada para desenvolver aplicativos web, aplicativos desktop, aplicativos móveis, IoT, IA, nuvem, entre outros . Essa evolução se deve ao grande número de desenvolvedores que contribuíram graças ao fato de o .NET agora ser open source. Isso teve que acontecer porque como havia mais empresas e desenvolvedores usando .NET de forma aberta, a Microsoft abriu a possibilidade de vender seus serviços (principalmente na nuvem), que também não se limitam a usar .NET ou C #. A Microsoft não é estúpida, fechar seu software e iniciar processos judiciais era perigoso para eles. Mas hey, eu não sou casado com .NET ou qualquer outra linguagem. Mas vejo muito interessante o que está sendo feito nessa comunidade. Por ter o apoio de uma grande empresa, a comunidade livre pode crescer ainda mais rápido, especialmente porque existe a .NET Foundation que se encarrega de revisar os projetos open source existentes em .NET, o que garante que haja um pedido, processos depurados da própria Microsoft para a revisão dos referidos projetos.