Mono는 무엇이며 왜 위험 할 수 있습니까?

Mono는 Ximian이 시작한 오픈 소스 프로젝트의 이름이며 현재 Novell이 (Ximian 인수 후) GNU / Linux를 기반으로하고 ECMA가 지정한대로 .NET과 호환되는 무료 도구 그룹을 만들기 위해 추진하고 있습니다. 많은 GNU / Linux 사용자가 싫어합니까?

Mono는 무엇입니까?

아니요, 원숭이 섬과는 아무 관련이 없습니다. 모노 CLI (공용 언어 인프라) 및 C # (둘 다 Microsoft에서 생성)의 무료 구현입니다. ECMA 표준화를 위해. 이 구현은 오픈 소스입니다.

Mono에는 클래스로드를 담당하는 가상 머신, jit (Just-in-time) 컴파일러 및 가비지 수집기가 포함 된 CLI가 포함되어 있습니다. 이 모든 것은 사양에 따라 처음부터 작성되었습니다. ECMA-334.

Mono에는 역설적으로 C #으로 작성된 C # 컴파일러가 포함되어 있으며 CLI와 마찬가지로이 컴파일러는 사양을 따릅니다. ECMA-335.

또한 Mono에는 .Net Framework 라이브러리와 호환되는 라이브러리 카탈로그가 있지만 Microsoft의 .Net Framework에는없는 일련의 라이브러리도 있습니다. GTK + 툴킷, Mono.LDAP, Mono.Posix 등의 기본 그래픽 인터페이스를 생성 할 수있는 GTK # 등

모노의 기원

Mono는 Miguel De Icaza에 의해 구상되었으며 그 당시 그의 회사 Ximian이 후원 한 프로젝트였습니다. 현재 노벨 Novell이 Ximian을 인수 한 이후로 Mono 프로젝트의 후원자입니다.

Mono를 만드는 동기는 Linux 환경에서 응용 프로그램을 빠르게 생성하는 데 도움이되는 도구를 찾기 때문입니다.

Mono 지원 플랫폼

Mono는 현재 x86, PPC, SPARC 및 S390 플랫폼에서 32 비트로 실행됩니다. 86 비트의 x64-64 및 SPARC; Linux, Windows, OSX, BSD 및 Solaris와 같은 운영 체제에서 응용 프로그램을 만들고 실행할 수 있습니다.

Mono는 .Net Framework와 호환됩니까?

Mono의 목표 중 하나는 .Net Framework의 API 1.1과의 호환성에 대한 충분한 작업이 이미 있지만 API 2.0과의 높은 수준의 호환성을 달성하는 것입니다.

이는 Windows에서 .Net Framework를 사용하여 컴파일 된 바이너리가 바이너리를 다시 컴파일하지 않고도 Mono 플랫폼에서 실행될 수 있도록하고, 호환되는 Mono -Ej : 시스템 라이브러리를 사용할 수 있도록하기위한 것입니다. System.Xml 등-.

Mono에서 제공하는 라이브러리는 .Net Framework의 해당 라이브러리와 100 % 호환됩니다. 최신 버전 2.6.1. 다른 중요한 기능 중 포함 :

  • CLI
  • C # 컴파일러
  • ADO.NET
  • ASP.NET
  • 웹 서비스
  • 윈도우폼

후자는 WindowsForms입니다. 전체를 완료하려면 더 많은 작업이 필요합니다. 프로젝트가 Enterprise Services를위한 호환 가능한 라이브러리의 생성을 고려하지 않는다는 점에 유의해야합니다.

현재 Mono로 어떤 종류의 응용 프로그램을 만들 수 있습니까?

아파치 웹 서버가 ASP.NET (aspx) 및 웹 서비스 (asmx) 페이지를 제공 할 수 있도록하는 mod_mono 모듈을 사용하여 웹 유형의 응용 프로그램과 웹 서비스를 만들 수 있습니다.

또한 Microsoft SQL, Oracle, Postgresql 등과 같은 데이터베이스에 액세스하는 응용 프로그램을 만들 수도 있습니다.

그래픽 인터페이스 애플리케이션의 측면에서 제안하는 것은 GTK #을 사용하는 것입니다. 기반이되는 툴킷 (GTK +)은 그래픽 애플리케이션을 변경없이 Linux, Windows 및 OSX 환경에서 실행할 수 있도록합니다. Mono의 Windows Forms와 호환되는 구현이 아직 완료되지 않았기 때문에이 제안은 중요합니다.

내 응용 프로그램이 Mono 및 .Net Framework (예 : 휴대용)와 호환되어야하는 요구 사항이 있습니까?

CLI 기반 응용 프로그램 인 한 실제로는 특정 것이 없습니다. 고려해야 할 몇 가지 사항이 있습니다.

  1. Linux는 파일 및 디렉토리 이름에서 대소 문자를 구분합니다. 그래서 우리가 사용하는 이름과 일관성이 있어야합니다.
  2. 경로 구분 기호는 Windows ()에서 Linux (/)와 다르므로 API Path.DirectoryPathSeparator를 사용하여 응용 프로그램을 실행할 때 올바른 구분 기호를 얻는 것이 좋습니다.
  3. 비 CLI 라이브러리가 사용되는 경우 (예 : C의 라이브러리, C ++ 등) p / Invoke를 사용하여 라이브러리가 애플리케이션이 실행될 다른 환경에 있는지 확인하십시오.
  4. 특정 환경에만 존재하는 기술을 사용하지 마십시오 (예 : Windows의 레지스트리 또는 Linux의 GConf -Gnome-). 또는 애플리케이션이 실행중인 환경에서 올바르게 작동 할 수 있도록하는 솔루션을 제공합니다.
  5. Windows Forms에 기반하고 매우 복잡한 응용 프로그램은 Mono의 Windows Forms가 완전하지 않기 때문에 현재 작동하지 않을 수 있습니다.

Mono에는 어떤 개발 도구가 있습니까?

Windows에서 Visual Studio를 사용하여 응용 프로그램을 개발할 수 있습니다. Linux 측에는 모노디벨롭, SharpDevelop 기반 IDE.

MonoDevelop을 사용하면 프로젝트 관리, 구문 색상 지정, 자동 완성 코드, 동일한 IDE에서 응용 프로그램을 컴파일 및 실행할 수 있습니다.
추가 (추가 기능)를 통해 기능이 다음과 같이 확장되었습니다.

  • IDE에서 데이터베이스에 연결
  • Visual Studio와 같이 코드를 한 줄씩 실행하고 변수 값을 검토 할 수있는 디버거가 포함되어 있습니다.

현재 양식 디자이너를 통합하는 작업이 있지만이 디자이너는 Windows Forms가 아닌 GTK # 용 양식을 만드는 데 중점을 둡니다.

Mono 용으로 만들어진 애플리케이션.

Mono에서 Linux 용으로 개발 된 많은 응용 프로그램이 있습니다. 아이디어를 얻으려면 다음 두 가지 응용 프로그램 목록이 있습니다.

이러한 뛰어난 응용 분야는 다음과 같습니다.

  • MonoDevelop : Linux에서 Mono 프로그램을 프로그래밍하기위한 IDE입니다. IDE는 C #으로 만들어졌습니다.
  • F 스팟: 사진을 디지털로 수정할 수있을뿐만 아니라 사진을 분류하는 프로그램입니다.
  • 비글: Linux에서 다양한 문서 유형 중에서 정보를 색인화하고 검색하는 도구입니다.
  • 말괄량이: 키워드로 연결된 노트를 저장하는 프로그램입니다.
  • 무이네: GStreamer 기반의 오디오 플레이어입니다.
  • PyMusique : Apple의 iTunes 서비스로 음악을 구매할 수있는 그래픽 인터페이스를 제공하는 프로그램입니다.
  • MonoUML : UML 표준으로 다이어그램을 만드는 편집기입니다.
  • 그놈 할: 빠르고 효과적인 애플리케이션 실행기.
  • 도키: 데스크탑 용 Dock.
  • 반시: Gstreamer 기반 미디어 플레이어.

Monkey 및 라이선스

Mono는 ECMA에 릴리스 된 표준을 기반으로하는 Microsoft .Net Framework의 오픈 소스 구현입니다. 마이크로 소프트 제품을 기반으로 한 구현이기 때문에 리눅스에서 모노를 사용하는 것은 리눅스 사용자와 개발자들 사이에서 논쟁을 불러 일으켰다. 모노가 마이크로 소프트 특허를 침해 할 수 있다는 주장은 몽키에 대한 소송이 될 수있다.

에 따르면 페이지 Mono 프로젝트의 경우 CLI 및 C # 컴파일러가 ECMA에서 허용하는 표준을 준수하는 한이 두 부분은 Mono 특정 라이브러리와 관련하여 안전하며 위험이 없습니다. 그러나 ASP.NET, ADO.NET 및 Windows Forms와 관련된 라이브러리 구현은 일부 Microsoft 특허를 침해하는 데 민감합니다. 현재로서는 이것이 사실이라는 것을 알지 못합니다. 이러한 이유로 Mono 프로젝트는 후자의 경우 2 가지 옵션을 제안합니다.

  • 기능을 다시 구현하여-특허를 피하기 위해-API 호환성을 유지하십시오.
  • 다시 구현할 수없는 것은 제거하십시오.
  • 특허를 무효화 할 수있는 요소를 찾으십시오.

Wikipedia에 따르면 Mono의 .NET 구성 요소 구현은 ECMA 표준화로 인해 프로젝트 기간 동안 소프트웨어 특허 침해 가능성에 대한 우려가 제기되었습니다. 특히 마이크로 소프트가 침해 된 특허에 대한 소송을 통해 모노 프로젝트를 파괴 할 수 있는지에 대한 논의가 진행됐다.

현재 개발자 커뮤니티에서 Mono를 수락하고 사용하는 것에 대한 (in) 권고에 대한 활발한 토론이 있습니다. GNU / 리눅스. Mono에 대한 주요 주장은 소프트웨어 특허가 없으며 Microsoft가 C # / CLI를 사용하기 위해 라이선스를 요구할 위험이 있다는 것입니다.

반면에 프로젝트는 그놈 대체 언어를 개발하고 있습니다. 발라, 특별히 Gnome 용 응용 프로그램을 개발하기 위해 만들어졌지만 Microsoft의 잠재적 인 위협이 없습니다.

내 추천

현재 Mono로 작성된 정말 훌륭한 프로그램이 있습니다. F-Spot, Gnome Do 또는 Docky 만 생각할 수 있습니다. 그러나 이러한 모든 문제가없는 무료 대안을 가지고 있으므로 Mono에 의존하지 않는 것이 좋습니다.
최근 논란이되고있는 데비안과 우분투의 결정에 모노 기본 설치에서 제거 된 Fedora와 달리 인기있는 aplicación 말괄량이, C #로 작성된 Richard Stallman은 지혜의 몇 마디 다른 배포판에 영감을 줄 것입니다.

C #에 의존하는 것은 위험하므로 사용을 자제해야합니다.
이 문제는 Mono에 고유 한 것이 아니며 모든 무료 C # 구현에는 동일한 문제가 있습니다. 위험은 Microsoft가 소프트웨어 특허를 사용하여 언젠가 모든 무료 C # 구현을 강제로 사용할 계획이라는 것입니다. 이것은 심각한 위험이며 실제로 일어나는 날까지 바보들만이 그것을 무시할 것입니다. 우리는 자신을 보호하기 위해 예방 조치를 취해야합니다.
가능한 한 무료 C # 구현에 의존하도록 준비해야합니다. 즉, 우리는 사람들이 C # 프로그램을 작성하지 못하도록해야합니다. 따라서 우리는 GNU / Linux 배포판의 기본 설치에 C # 구현을 포함해서는 안되며 가능할 때마다 비슷한 C # 응용 프로그램 대신 C # 이외의 응용 프로그램을 배포하고 권장해야합니다.

Mono 제거

내 Ubuntu 배포판에서 mono를 제거하고 싶습니다 (따라서 종속성이 차지하는 많은 공간을 절약하고 Ubuntu의 경우 기본적으로 설치된 2 개의 응용 프로그램을 "지원"하는 것 외에는 아무것도 없습니다 : F-Spot). 및 Tomboy). 이 두 가지 중 하나를 사용하지 않는 경우 Synaptic 및 Mono 또는 CLI라고 표시된 모든 패키지에서 제거하십시오.

Ubuntu에서 Mono를 제거하려면 터미널을 열고 다음을 입력 할 수도 있습니다.

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

Mono의 대안

우리가 보았 듯이 우선 프로그래머라면 C #으로 프로그래밍하지 마십시오. 무수히 많은 다른 언어가 있습니다. 또한 Gnome은 최근 Vala라는 Mono와 유사한 기능을 가진 새로운 언어를 출시했습니다.
방금 Mono를 삭제하고 내가 좋아하는 쇼 중 일부가 삭제되었습니다. 대체 할 대체 쇼가 존재합니다.

추가 정보

Mono 프로젝트에 대한 자세한 내용은 공식 웹 사이트를 방문하십시오. 영어, 이외에 독백 Mono 개발자 블로그를위한 애그리 게이터입니다. 또는 Mono Hispano 사이트에서 스페인어로 블로그 이 사이트를 유지하는 사람들의.
Mono에 대한 귀하의 의견을 남기는 것을 잊지 마십시오… =)


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   아리엘

    나는 마이크로 소프트가 앞으로 Mono, Monodevelop, Xamarine에 대한 특허를 사용할 것이라고 생각하지 않습니다. 또한 이러한 도구를 사용하면 일반적으로 소프트웨어 개발 세계에서 매일 특권을 누리고있는 다른 플랫폼으로 쉽게 확장 할 수 있다고 생각합니다. Mono는 C # 및 .NET 기술을 다른 플랫폼으로 이식하는 데 큰 역할을하고 있다고 생각합니다. 이는 소프트에 관한 한 새로운 기술 기회를 풍부하게 만들어줍니다. Mono는 특허가 의미하는 바를 알고 있으며 침해에 해당하지 않도록 모든 예방 조치를 취하고 있습니다. 반면에 JAVA는 JAVA EE6 플랫폼으로 리더십 위치를 차지하고 있습니다.이 플랫폼은 현재 Visual Studio에서 제공하는 기능을 뛰어 넘습니다. 이런 이유 때문에 마이크로 소프트가 C #을 리눅스, 맥 OSX, BSD, 솔라리스, 안드로이드 등으로 포팅하는 것이 편리하다고 생각하는 것보다 더 많은 것입니다. 반면에 저는 이런 다소 광적인 입장을 취하는 데 동의하지 않습니다. Linux의 Microsoft에 대한 아니오 또는 Microsoft의 Linux에 아니오라고 말하는 진정한 진화는 다양성에 있으며 진실을 거부하는 것은 회귀라고 믿습니다.

  2.   Linux를 사용합시다

    지금까지 아무것도 변하지 않았습니다. 다른 시스템에서 프로그램을 실행할 수 있다는 점에 관심이 있다면 Java 또는 Python을 권장합니다. c # 구문에 익숙하다면 vala도 좋은 대안입니다.
    포옹! 폴.

  3.   파블로

    안녕하세요.

    얼마 전 나는이 언어를 마이그레이션하기로 결정하고 코드를 사용하고 Linux와 Windows 플랫폼 모두에서 사용할 수 있도록 컴파일 할 수 있도록 C #을 선택했습니다.

    이제이 글을보고 내가 잘했는지 궁금합니다 (나는 Richard Stallman의 글에서 이렇게 말합니다).

    이 상황이 지금까지 무언가를 바꾸 었는지 말해 줄 수 있습니까?

    (저는이 게시물이 2 년 이상 된 것을 알고 있습니다)

  4.   세르지오

    이름이 언급했듯이, 나는 마이크로 소프트가 확장 기능을 제한해야한다고 생각하지 않으며, 실제로 그것으로부터 생계를 유지하지 못한다. 구현, 프레임 워크 및 IDE에서 돈을 벌기 때문에 언어를 자유화 할 수도 있습니다.

    저는 스톨만 씨가 오늘 이런 일 때문에 조금 늙었다 고 생각하기 시작했습니다. 나는 당신의 인용문을 읽고 재미있게 생각했습니다. 커뮤니티가 C #에 눈을 고정시키는 동안 오라클은 안드로이드에 대한 첫 번째 소송을 제기했습니다. 가난한 사촌이지만 Linux라는 것을 잊지 말아야합니다. 특허 침해로 인해 … JAVA 사용!

    제 생각에는 Linux 커뮤니티가 단순히 자부심으로 인해 대안에 눈을 감고 많은 양질의 개발자에게 "적응 또는 전환"이라는 슬로건을 휘두르는 것을 허용 할 수 없습니다. 비록 느리더라도 고립 된 상태에서 죽음이 있습니다.

    프로그래밍 언어는 응용 프로그램과는 매우 다른 개념이며 보편적 인 장점이라는 것을 잊지 마십시오. 영어가 자본주의의 언어라고 주장하면서 누가 검열 할 수 있을까요?

    1.    하비에르 L

      그들은 마케팅 수준에서 MS의 움직임을 모르는 것처럼 MS에 대해 이야기하거나 MS가 자체 제품군으로 작성된 소프트웨어가 다른 브라우저에서 작동하지 않도록 JAVA 플랫폼의 일부를 수정했을 때 99의 사건을 이미 잊어 버렸습니다. IE6가 아니라 세계가 알아 차렸을 때 소송이 사방으로 쏟아졌지만 가장 중요한 것은 작성된 소프트웨어의 대부분을 다시 구현해야한다는 것입니다. MS는 꼭 수익을 올리고 싶은 기업입니다. 자유 소프트웨어를 사용하는 사람들에게는 사용 가능한 무료 도구가 너무 많으면 독점 도구를 사용하는 것이 편리하지 않습니다.

    2.    Jlboch

      Sergio, 당신은 gringos가 아무것도하지 않는다는 것을 잊고 순진합니다. 그들이 행동 한 후에도 수백만 달러를 생산할 것이라는 것을 먼저 확인하지 않으면 그들은 자선 활동을하지 않습니다.
      gringos가이 세상에서 가장 좋아하는 것은 마약과 달러 (순서대로)
      그렇기 때문에 그들은 자본주의로 세계와 시장을 지배했습니다. 막대기의 법과 달러의 법을 사용하면 위선자들이 개신교 사원이나 교회에서 가슴을 부러 뜨려도 그 링고의 진정한 신은 달러입니다. 가톨릭

      1.    최대 AC.

        Anti-Microsoft는 항상 독점적 인 관행으로 가득 차있을 것이며, 수년 동안 Microsoft가 최종 사용자에게별로 유쾌하지 않은 행동을 시연 한 것은 사실이지만, 그것이 비즈니스 회사라는 사실을 잊지 말아야하며 제품으로 항상 할 일은 비즈니스입니다. 그러나 세상이 바뀌었고 세계화되었으며 당시 Microsoft는이를 받아들이기를 거부했지만 다른 선택의 여지가 없었습니다. MSOffice에 Open-XML 표준을 통합 한 결과이를 증명했으며 코드를 "공유"해야했습니다. 독점 금지 규칙에 따라 플랫폼이 강제되고이를 수행해야했습니다. Net Framework와 해당 언어는 정보 기술을 표준화하는 것이 목표 인 ECMA 유럽기구에 등록되어 있으며 C #의 경우 CLI의 경우 ECMA-334에 해당합니다 ( Mono를 구현하는 것) ECMA-335 및 C ++ / CLI는 ECMA-372이므로 이러한 언어와 플랫폼을 일반 대중이 사용할 수 있으므로 Microsoft는 다음에 대해 어떤 것도 강요하지 않을 것입니다. 그 언어. Anti-Microsoft의 C # 언어 사용을 막으려는 시도는 터무니없고, Microsoft가 비난하는 것만 큼 더럽고, 언어 사양이 공개되어 있고, 다른 언어가 있으며,이 세상에서 최고가 경쟁자입니다. 모든 영역에서 개선을 가져 오는 프로그래머는 스스로 다양한 언어와 기술을 발견하고 그 특성을 알아야하며, 자신이 개발을 수행하기 위해 어떤 것을 사용할 것인지 스스로 결정할 수있는 사람이 될 것입니다.

  5.   Linux를 사용합시다

    좋은 공헌. 감사합니다!

  6.   애드리안

    이 Stalmann !! 침대 XD 아래에서 Microsoft 공모자를 확인하십시오.

  7.   세르지오

    마이크로 소프트가 .net으로하고자하는 것이 자바를 기반으로한다는 점을 고려한다면, 그 가능성을 줄이기 위해 리눅스 구현을 갖는 것은 너무 좋다고 생각합니다.

    내 의견은 마이크로 소프트가 이것에 관심이 없었다면 그러한 표준을 만드는 데 도움이되지 않았을 것이고 디 컴파일을 피 (또는 적어도 방해)하기 위해 .net 라이브러리를 보호했을 것입니다. 그리고 내가 착각하지 않고 모든 라이브러리가 문제없이 디 컴파일되고 여전히 난독 화되지 않은 경우 우리는 이미 버전 4.0을 사용하고있어 아키텍처 성능을 향상시킬 수 있습니다.

    또한 Microsoft는 가장 멍청한 응용 프로그램에 대해서도 항상 비용을 청구했으며 현재 레퍼토리에 .net 용 Visual Studio의 완전한 기능 무료 버전을 라이선스 제한없이 보유하고 있으며 이것이 유일한 것은 아닙니다 (예 : Truespace 또한 무료로 갔다).

    이것은 Java와 .Net 간의 전투이며 모든 전쟁에서와 마찬가지로 모든 동맹을 환영합니다.

    그리고 진실은 우리가 좋아하든 싫든 우리는 라이센스로 가득 찬 세상에 살고 있다는 것입니다. 사실 일부 포털은 단순한 웹 페이지에서 "침해 된"특허를 강조하고 있으며 너무 일반적이어서 특허를받을 수 있다고 생각조차하지 않습니다. 아주 간단한 것입니다. 특허가 있고 누군가가 프로젝트에서 당신을 무너 뜨리고 싶어한다면, 그들이 침해되고있는 특허를 발견하게 될 가능성이 매우 높습니다.

    명확하지 않은 경우를 대비하여 Windows 또는 Linux가 더 나은지, 단순히 다르며 각각 다른 모든 것과 마찬가지로 장점과 단점이 있는지 알아보기 위해 여기에서 충돌을 시작하지 않습니다. 그러나 그것은 또 다른 이야기입니다.

    인사말.

  8.   e2fletcher

    Microsoft와 함께라면 결코 알 수 없습니다.

  9.   Ken Torrealba

    감사합니다,

    얼마 전 Mono에 대한 튜토리얼 1 장을 따랐는데 Java보다 매우 쉽고 자연스러워 보였고 후자를 좋아했습니다. 안타깝게도 잡지의 다음 호를 잡지 못했습니다.

    내가 이해하는대로 C #은 J ++의 진화입니다.
    마이크로 소프트가 윈도우에서만 실행할 수있는 라이브러리 (패키지)를 가지고 있었기 때문에 마이크로 소프트가 썬의 소송을 당하게했던 문제가있는 자바 구현은 자바 모토«당신이보고 실행한다 ''와 반대였다. 언제 어디서나».

    Microsoft 스크랩 J ++ 및 C # 레이아웃

    이제 사실은 다음과 같습니다. Microsoft는 Mono를 합법화하기 위해 C #의 특정 부분을 "기부"했습니다. 따라서 해당 섹션은 향후 소송을 당하지 않을 것입니다. 그러나 Microsoft가이를 사용하는 사람에게 요구할 좋은 기회가 있다면 Microsoft가 기부하지 않은 것은 이것은 이전에 다른 소프트웨어에서 발생했기 때문입니다.하지만 Mono가 고객을 훔치기 시작하거나 일부 회사가 언어의 지원 및 구현으로 돈을 벌기 시작하거나이를 자신의 것으로 간주하고 싶을 때 발생합니다. 그들은 단지 그것이 진화하는 것을 보게 될 것입니다.

    마지막으로 Miguel de Izcasa는 여권 문제로 인해 Microsoft에서 일할 수 없는 것에 대해 좌절감을 느끼고 있다는 점에 유의해야 합니다. 이로 인해 Windows와 호환되는 소프트웨어를 만들게 되었습니다. desde Linux, 그들이 "무엇을 놓쳤는가"를 깨닫도록

  10.   KUK

    나는 이것을 좋아하지 않는다 🙁

  11.   개발자

    GNU / Linux를 사용하는 이유 중 하나는 오픈 소스이기 때문이라고 생각하며 Microsoft에서 만든 소프트웨어를 사용하기 시작하면 모순에 빠질 것입니다. 또한 세계에 대규모 커뮤니티가있을 때 Microsoft 소프트웨어가 필요한 이유는 무엇입니까? 오픈 소스가 서로를 지원하고 (오픈 소스의 원점) 비 오픈 소스 애플리케이션을 개선 할 수 있다고 생각하지 않습니까?

    처음에는 .NET이 무료가 아니었고 출시했다면 (출시 한 부분) 개발자가 제한된 응용 프로그램으로 인해 사용하지 않았고 Microsoft가 모든 개발자 사이에서 존재감을 잃었 기 때문이라는 사실을 기억합시다.

    우리가 원하는 것이 우리의 응용 프로그램이 다른 플랫폼에서 작동하는 것이라면 Java 또는 Python을 사용하지 마십시오. iOS 또는 Android 용으로 개발하기 위해 Xamarin에서 만든 새로운 애플리케이션은 우리 모두가 알고 있듯이 항상 네이티브 언어를 사용하는 것이 더 낫기 때문에 하나의 언어로 개발을 독점화하는 방법 일뿐입니다.

    Richard Stallman에 관해서는 그가 오픈 소스에 대해 가장 많은 경험을 가진 사람이라고 생각하며, 적어도 우리는 그가 직면 한 문제를 조금 분석하는 것을 멈춰야합니다. 역사를 아는 것은 같은 실수를 피하는 데 도움이되기 때문입니다.

    다른 모든 사람과 마찬가지로 개발자는 청구서 (음식, 건강 등)를 지불해야하므로 우리는 업무에 대한 경제적 이익을 얻어야합니다.하지만 우리는 기부, 컨설팅, 개발과 같은 다른 방법으로 (운이 좋게도) 얻을 수 있습니다. 오픈 소스 등을 기반으로 우리는 우리의 기술과 독창성을 활용해야합니다. 왜냐하면이 새로운 세상은 존재하는 각 개발자 덕분에 그것이하는 방식으로 "돌아가고"모든 것이 제대로 작동하도록 만들기 때문입니다. 제 관점에서 우리는 회사가 아니라 신기술과 신사회의 기초입니다.

    그것을 믿지 않는다 ???

  12.   애드리안 페르난데스

    나는 M $가 C # 특허를 위반하는 사람들을 잡는 것에 대해 아무것도 할 것이라고 생각하지 않습니다. 그는 전에하지 않았고, 오늘도하지 않습니다. 그래서 그는 곧 거의하지 않습니다. 반면에 Stallman은 자유 소프트웨어가 아닌 것에 대한 끊임없는 편집증으로 유명합니다 (그는 심지어 Linux 커널에 만족하지 않습니다). 20 년 동안 M $로 박해받는 개발자의 세계를 상상합니다.
    어쨌든. Monodevelop은 작업하기에 훌륭한 도구입니다. 그리고 누군가가 당신이 본 것에서 C #을 사용하는 것을 두려워한다면, 현재 대부분의 개발에서 C #만큼 가능한 Basic이 여전히 있습니다.

  13.   다니엘 노리에가

    글쎄, 나는 또한 일부 의견에 동의합니다. 나는 전자 엔지니어이지만 항상 프로그래밍 뉴스를 알고 항상 언어를 완전히 배우려고 노력합니다. 저에게 정말 어려웠던 것은 배울 언어를 선택하는 것입니다. 저는 C ++을 처리하지만 API를 모르기 때문에 거의 아무것도 알지 못하기 때문에 어떤 API에 집중해야하는지 확인하려고합니다. 그러나 내가 원하는 것은 크로스 플랫폼 코드를 개발할 수있는 가능성이며, 분명히 가장 먼저 눈에 띄는 것은 JDK 또는 .Net입니다.

    그런 다음이 게시물을보고 편집증이 너무 많다는 것을 솔직히 알 수 있습니다. 나는 마이크로 소프트가 모노를 고소 할 것이라고 생각하지 않는다. 반대로 마이크로 소프트는 다른 플랫폼으로 확장 될 수있는 언어가 됨으로써 프로그래머들 사이에서 그 언어가 자리를 잡을 수있는 이점을 얻을 것이라고 생각한다. 저는 Linux 사용자이지만 Windows 사용자이기도하고 Linux를 좋아합니다.하지만 Linux에 대해 지원하지 않는 한 가지가 있다면 커뮤니티의 상당 부분이 자랑스럽고 둔감하며 매일 넌센스를 위해 싸우는 삶을 살고 있다는 것입니다. , 모욕하고 덜 아는 사람들을 경멸합니다.

  14.   호세 마누엘 알카 라즈

    물론, 점술에 전념하지 마십시오 ... 당신은 그것을 못 박았습니다 ... .net은 이제 오픈 소스입니다 ... xD

  15.   알렉시스

    내가 여러 번 말했듯이 ... 나는 Richard Stallman에 대해 똥을 ... 그는 자신의 말이 신성한 계명 인 것처럼 자신의 의견을 표현하고 팬 보이는 점프합니다 ... MS는 미래에 특허를 사용할 수 있지만 그다지 사실이 아닙니다. 적어도 내가 살고있는 곳에서) 엔터프라이즈 수준의 주요 플랫폼은 .NET과 Java입니다. 따라서 Mono를 사용하는 방법을 배우는 것은 결국 개발자로서의 경력에 ​​도움이 될 것입니다. Linux 세계가 Mr. Stallman의 "이상적"과 다른 대안을 부수는 것은별로 건강하지 않습니다. 개인적으로 저는 Mono를 실험과 학습에 사용합니다 (PC에 창을 설치하지 않았기 때문에 내 게시물에 적용 할 수는 없기 때문에 일) 그리고 나는 죄인처럼 느껴지지 않는다. hahahaha 인사.

  16.  

    나는 C #이 위험하거나 다른 언어가 열려 있는지 또는 어떤 운영 체제에 적응하고 수익성이 있고 돈을 생산하는 한 상관하지 않습니다. 이건 괜찮습니다. 나는 현재 언어를 사용하는 Linux 새우 프로그래머입니다. Basic은 Windows Visual Basic과 유사하며 쉽고 전문적인 프로그래밍을 용이하게하고 많은 플랫폼으로 확장된다는 것을 알게되면 환영합니다.

  17.   공포

    여러분, Microsoft는 이미 2016 년에 Xamarin을 구입했기 때문에 Mono는 갈 길이 멀다. 값싼 광신주의를 멈추고 다른 프로그래밍 옵션에 착수하십시오. .NET은 2014 년 (DotNet Foundation의 생성과 함께) 이후 Windows가 아닌 플랫폼에서 공식적으로 이식되었으며 Windows가 아닌 환경에서 .NET의 구현이 조금씩 증가했습니다. 더 이상 인터넷 정보 서비스 나 Windows 서버에 대해 이전과 같이 생각하지 않고 Apache Web Server / Nginx with .NET에 대해 생각해야합니다. 필자의 경우 : IIS에서 ASP.NET MVC 4/5 응용 프로그램을 설계 한 다음 Linux Ubuntu의 Apache Web Server에서 약 XNUMX 년 동안 설계했으며 지금까지 두 개에서 ASP.NET MVC 응용 프로그램을 실행하는 데 문제가 없었습니다. 다른 웹 플랫폼.

    다음은 ASP.NET MVC 애플리케이션을 Apache / Ubuntu로 마이그레이션하는 데 관심이있는 경우에 대한 제 공헌입니다.

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

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

    Github의 예 :
    https://github.com/boraolim/MonoServe-2016

  18.   헥토르

    이 논쟁에는 강력한 정치적 냄새가 있습니다 ... hahahaaaa XD

  19.   독일어 A. COPERTINO

    Java에서도 마찬가지입니다. Oracle이 만족하면 Java를 PAYABLE 및 그 속성으로 만들고 우리 모두가 소리를냅니다. 매우 주관적입니다. 그리고 미래에 사용자에게 문제가 될 경우 회사 나 Linux 자체가 이러한 유형의 개발을 장려한다고 생각하지 않습니다.

  20.   엘비 노가 없습니다

    세계화와 탈 세계화의 시대에 일부의 독점적 행동을 기억하는 것이 좋습니다.
    또는 조작 할 행동, Novel이 Ximian을 획득 한 것은 아니지만
    Mysql / Sun Microsystm과 Oracle이 Sun을 빨아 들이고 Mysql을 사용하여 사라진 현상
    Monty (Mysql의 제작자)가 그것을 깨닫는 데 약간의 시간이 걸렸지 만 그는 자신의 프로젝트를 다시 떠서 MariaDB를 낳았고 결국 Oracle에서 엉덩이에 고통을 겪었습니다.
    하지만 Mono로도 같은 일이 일어날 수 있습니다.
    저는 Cobol, C, Java 및 Harbor Multilanguage Networking 프로그래머이며 순서대로 Aix, Linux 및 Windows에서
    나는 소켓으로 애플리케이션을 혼합하고, 은행을 위해 서로 다른 언어와 서로 다른 플랫폼간에 애플리케이션을 통신합니다.

    프로젝트가 큰 경우, 즉 수천 줄의 코드가 포함되는 경우 성장 / 수정 및 확장 성을 보장하기 위해 안전하게 플레이해야합니다.
    이제 코드가 작다면 C #에서 문제가 없을 것입니다. 좋고 강력하며 실제로 문제를 해결 해주면 괜찮습니다.
    안부

  21.   스미 티

    .Net Core + C # = 미래

  22.   예수 아르체

    "당신이 프로그래머라면 C #를 사용하지 마십시오"라는 문구가 나올 때까지 그 메모는 괜찮 았습니다. 그 시점에서 그들은 모든 신뢰성을 잃었습니다.

  23.   자 페트 그라나도 스

    2020 년에는이 게시물에서 언급 한 내용 중 아무 일도 일어나지 않았다는 것이 이미 입증되었습니다. Microsoft는 .NET Core를 만들어 무료로 만들었습니다. 이제 매우 유사한 기본 라이브러리를 사용하는 3 개의 플랫폼이 있지만 결국에는 다릅니다 (처음부터 생성 되었기 때문에), 다음 단계는 5 개를 하나로 통합하는 것이 었습니다. 이것이 바로 .NET XNUMX로 수행되는 작업입니다 (단어없이 "코어"또는 "프레임 워크")는 말했듯이 새로운 플랫폼이지만 이제는 오픈 소스, 크로스 플랫폼이며 웹 애플리케이션, 데스크톱 애플리케이션, 모바일 앱, IoT, AI, 클라우드 등을 개발하는 데 사용할 수 있습니다. . 이러한 진화는 .NET이 이제 오픈 소스라는 사실 덕분에 기여한 많은 개발자 덕분에 발생했습니다. .NET을 공개적으로 사용하는 회사와 개발자가 더 많아지면서 Microsoft는 .NET 또는 C # 사용에 국한되지 않는 서비스 (주로 클라우드)를 판매 할 수있는 가능성을 열었 기 때문입니다. 마이크로 소프트는 어리석지 않다. 소프트웨어를 종료하고 소송을 시작하는 것은 그들에게 위험한 일이었다. 하지만 저는 .NET이나 다른 언어와 결혼하지 않았습니다. 그러나 나는 그 커뮤니티에서 무슨 일이 일어나고 있는지 매우 흥미로운 것을 봅니다. 대기업의 지원을 받으면 무료 커뮤니티가 더욱 빠르게 성장할 수 있습니다. 특히 .NET에서 기존 오픈 소스 프로젝트를 검토하는 .NET Foundation이 있기 때문에 주문, 프로세스가 있음을 보장합니다. 해당 프로젝트의 검토를 위해 Microsoft 자체에서 디버깅했습니다.