문제

개발 도구의 업그레이드를 고려할 때 귀하에게 후진 호환성이 얼마나 중요합니까? 소스 코드에 중대한 변경이 필요한 경우 Visual Studio 2010을 여전히 구매 하시겠습니까? 새로운 기능에 대한 거꾸로 거래하는 측면에서 팁 포인트는 어디에 있습니까?

도움이 되었습니까?

해결책

개발자의 관점에서 이것을 물었지만, 당신이 개발 한 소프트웨어와 관련하여 더 흥미로운 질문이라고 생각합니다. 그래서 대신 그 질문에 대답하겠습니다. :)

거꾸로 호환되는 하드웨어 및 소프트웨어 (및 더 중요한 것은 미래 호환)는 특히 Windows와 같은 플랫폼을 구매하거나 업그레이드 할 때 사용자에게 보안 감을 제공합니다. 다른 것이 없다면 Windows는 거꾸로 호환성에 대한 세심한주의로 알려져 있습니다. 10 년 전에 Windows Vista에서 "잘 쓰여진"(즉 문서화되지 않은 API를 사용하지 않음)에 대해서는 사소한 문제만으로 작성된 프로그램을 실행할 수 있습니다.

반면에 새로운 기능을 도입하거나 플랫폼에 혁명을 시도 할 때 뒤로 호환성에 대한 엄격한주의를 기울일 수 있습니다. 애플은 죽어가는 OS가 있다는 것을 알고 있었고, 가장 대담한 움직임 중 하나에서 다음에 구입하여 다음 단계를 새로운 MacOS로 만들기로 결정했습니다. 전환에서 사람들을 팔았던 주요 사항 중 하나는 뒤로 호환 레이어 클래식이었습니다. Apple이 Intel Chips로 전환하기로 결정했을 때, Rosetta라는 Intel에서 PowerPC 앱을 실행하는 메커니즘은 Universal Binaries와 함께 사람들이 응용 프로그램 손실에 대한 두려움없이 PowerPC와 Intel 사이를 자유롭게 이동할 수있었습니다.

흥미로운 점은 인텔로의 전환으로 고전적인 환경이 사라졌지만 Mac OS 9에서 5 년 동안 전환하기 위해 전환 할 수 없었기 때문에 아무도 신경 쓰지 않는다는 것입니다. 따라서 결국 레거시 시스템에 대한 지원을 중단 할 수 있습니다. 새로운 시스템으로 마이그레이션하고 사용자에게 충분한 시간을 제공하는 쉬운 방법입니다.

다른 팁

개발 도구에서 이전 코드와의 총 뒤로 호환성을 제공하지 않으면 구매하지 않을 것이며 누구도 의심합니다. 솔직히 말해서는 아무 소용이 없습니다. 소스 코드를 실행 가능한 코드로 빌드하는 데 효과가있는 컴파일러가 이미 있으면 사용하겠습니다. 왜 내 코드를 표준이 아닌 도구 메이커에게 분명히 준수하도록 내 코드를 변경합니까? 소스 코드 변경을 한 버전에서 다른 버전으로 강제하면 왜 다음 버전을 호환하기 위해 귀찮게합니까?

소스와 100% 거꾸로 호환성이 필요합니다. 이것이 총 요구 사항이 아닌 유일한 상황은 호환되지 않는 비트가 확장자 일 때입니다. IE API는 Eclipse 플러그인 등과 같이 도구에 특화된 변경 사항입니다. 그럼에도 불구하고 호환성을 원하지만 완전히 기대할 수는 없다는 것을 알고 있습니다. 그러나 기본 애플리케이션 / 도구 개발에 API를 제공하고 호환성을 유지하기 위해 귀찮게 할 수없는 경우; 그럼, 당신은 당신의 도구에 대해 진지하지 않으며, 나는 그들에게 심각한 돈을 지불하지 않을 것입니다.

홈 프로젝트의 경우 거꾸로 호환성이 중요하지 않습니다. 사무실/기업의 경우 절대적으로 중요합니다.

지원 해야하는 환경과 자재적이거나 적합하지 않을 수있는 타사 도구에 따라 다릅니다.

예를 들어, 내가 일하는 곳은 SQL Server BI 도구가 vs2008과 호환되지 않았기 때문에 BI 그룹을 제외하고 VS2005에서 VS2008로 모든 사람을 업그레이드했습니다. 업데이트되면 VS2008로 업그레이드했습니다.

대 VS를 구체적으로 볼 때 VS2008은 .NET 2.0, .NET 3.0 및 .NET 3.5를 대상으로 할 수 있습니다. 속임수는 실제로 .NET 2.0 SP1 및 .NET 3.0 SP1을 대상으로한다는 것을 인식하는 것입니다. 따라서 IDE를 업그레이드해도 코드를 변경할 필요는 없습니다.

GenReal에서 다른 많은 사용자가 자체 제품을 구축하기 위해 지속적으로 사용하는 플랫폼을 개발하는 경우 오랫동안 응용 프로그램을 개발할 계획이므로 중요합니다. PHP, Python, Eclipse 및 기타 오픈 소스 프로젝트를 참조하십시오. N-Tier Architecture에서 사용되는 서비스 또는 기타 개방형 API를 개발할 때도 Importan입니다. 서비스를 변경할 때 항상 기업의 모든 응용 프로그램을 중단 할 수 있습니다.

이제 수축 랩 응용 프로그램 또는 Bussiness 응용 프로그램을 구축하는 경우 그다지 중요하지 않습니다. 각 버전은 이전 모델과 분리되어 있습니다.

소프트웨어 및 하드웨어 필드에서 많은 변화가 일어나고 있기 때문에 솔루션을 건축하는 동안 새로운 변경 사항과 더 나은 도구를 위해 열려있는 것이 좋습니다. 예를 들어 90 년대에 멀티 코어 프로세서와 고급 그래픽 카드 또는 네트워크 카드가 없었으므로 자연스럽게 컴파일러와 도구의 최적화 목표는 달랐습니다. 하지만 동시에 비주얼 스튜디오 도구가 오래된 프레임 워크와 앱을 수용하기 위해 최선을 다하고 있습니다.

우리가 더 나은 세상을 기대한다면,이 산업이 매우 성숙 할 때까지 끊임없는 변화에 개방되어야한다고 생각합니다. (하지만 우리의 삶에는 일어나지 않을 수 있습니다 :))

"중요한 변화"를 정의합니다. 조심스럽게 제작 된 "검색 및 교체"로 변경 될 수 있다면 변경 될 것입니다.

그러나 그게 그게 전부입니다 할것이다. 내가 일한 회사는 기존 코드의 변경 사항에 따라 달라집니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top