블리자드와 같은 일부 회사는 향후 Windows 버전과 최신 버전에서 계속 잘 작동하는 소프트웨어를 만듭니다. 다른 소프트웨어 종속성의 버전. 다른 회사 (대부분 하드 코어 소프트웨어 회사가 아닌 회사)는 때때로 새로운 OS 또는 기타 소프트웨어 종속성의 릴리스로 중단되는 소프트웨어를 작성합니다. 하드 코어 소프트웨어 회사는 다른 회사가 알지 못하는 것은 무엇입니까? 향후 호환성 문제의 주요 원인은 무엇입니까?
댓글
- 실패한 것의 예
- @Fosco 예를 들어 많은 오래된 게임은 최신 컴퓨터에서 재생할 수 없으며 일부는 OS 변경으로, 일부는 하드웨어 발전으로 인해 재생할 수 없습니다.
- @Fosco 저는 ' 그런 것들을 많이 봤습니다. 특히 저에게 눈에 띄는 것은 Granny X라는 이스라엘 퀘스트 게임으로, 그렇지 않은 것에서는 작동하지 않습니다. ' t Windows 95 (Windows 95 ++, AKA Windows 98에서도 제외). 다른 예로는 어머니가 사용한 오래된 점성술 프로그램, 어린이를위한 교육 프로그램 등이 있습니다.
- Diablo는 ' t (또는 최근까지 ' t) 약간의 마무리없이 vista / 7에서 작동하지 않았습니다. 마찬가지로, 스타 크래프트에서 비활성화없이 색상이 버그가 발생했습니다. 7의 탐색기 셸
답변
블리자드는 향후 버전의 Windows에서 잘 작동하는 소프트웨어를 작성 했습니까 (예를 들어 Starcraft는 여전히 7에서 재생 됨) …
아니면 마이크로 소프트가 거꾸로 보이는 소프트웨어의 “미래 버전”을 만들었나요?
WoW와 같은 것은 아직 개발 단계에 있기 때문에 “미래 버전”이 아닙니다. Starcraft / Warcraft / Diablo와 같은 다른 소프트웨어는 당분간 작성되었으며 MS가 새 시스템에서 이전 소프트웨어를 사용할 수있게하기 때문에 여전히 작동합니다.
Blizzard도 기능과 이유가 있습니다. 오래된 게임을 업데이트합니다. 현재 소프트웨어를 구동하는 매우 인기있는 타이틀입니다.
일부 소프트웨어는 잘 작동하지 않는 hackish / 비표준 부품을 사용합니다. 작동하는 데 “오래된”버그에 의존하는 고유 한 설정, 이식되지 않은 드라이버 새 시스템 등에 적용됩니다.
댓글
- +1 (6 년 후 …)이 기사 cracked.com/… 에 따르면 Microsoft는 Windows 95를 만드는 동안 수백 명의 인턴이 찾아 낼 수있는 모든 소프트웨어를 구입하고 테스트했습니다. 소프트웨어가 ' 작동하지 않으면 작동 할 때까지 Windows를 수정 한 것입니다. 그 이유는 소프트웨어가 작동하지 않으면 ' 사용자가 ' XYZ Software Company를 비난하지 않고 Microsoft를 비난하기 때문입니다.
- 예 … 오늘 6 년된 답변에서 +50 점. 차칭. 그리고 네, 대답은 여전히 사실입니다. Windows가 여전히 Mac과 Linux를 압도하는 이유는 '입니다. 이전 버전과의 호환성. 저는 ' 10 년 된 소프트웨어가 Mac이나 Ubuntu에서 작동 할 것이라는 확신이 없습니다. Windows에서 작동 할 것이라는 합리적인 수준의 확신이 있습니다.
li>
답변
여러 이유 :
- 향후 OS에서 지원
- OS 회사 (예 : MS)는 실제로 오래된 소프트웨어를 지원하기 위해 많은 양의 코드를 작성했습니다.
- 대규모 인기 소프트웨어 하우스는 공식적 또는 비공식적 관계를 맺는 경향이 있습니다. OS 회사에서 더 일찍 내용을 볼 수 있습니다.
답변
내 경험은 다음과 같습니다. 몇 년 전 제가 작업 한 제품이 타사 플러그인을 지원하기 시작했습니다. 우리는 응답해야하는 플러그인에 요청을 보냅니다. 플러그인의 첫 번째 매개 변수는 우리가 어떤 요청을하는지 식별하는 번호였습니다. 그 시점에서 요청은 하나 뿐이었습니다. . 그래도이 번호를 확인해야한다고 문서화했으며 “이해하지 못한 번호 인 경우”이 요청을 이해하지 못합니다 “라는 의미의 오류 코드를 반환합니다. 간단합니다. 첫 번째 버전 우리 측에서는이 문제를 올바르게 처리했습니다. 첫 번째 요청 (우리가 보낼 수있는 유일한 요청)을 보낼 때도 플러그인이 “이해할 수 없음”에 응답했는지 확인하고 처리했습니다.
그런 다음 두 번째 요청을 추가했습니다. “I don”t understand this request “에 응답 할 것으로 예상하는 이전 플러그인으로 테스트했습니다. 모든 플러그인은 첫 번째 요청에 대한 작업을 수행했습니다. 이는 앞으로 호환되지 않습니다. 🙁 이러한 플러그인은 고객에게 배송되었으며 새 플러그인과 충돌합니다. 앱 버전
우리가 한 작업 : 첫 번째 요청이 손상없이 수행 될 수있는 상황에 소프트웨어를 배치하고 완전히 다른 요청을 보냈습니다.응답이 “이해”가 아니라면 그때부터 우리는 플러그인이 바보에 의해 작성되었고 우리가 처음에 개발 한 것 이외의 요청이 이루어지지 않았 음을 알았습니다.
답변
“전 방향 호환성”을 보장 할 수는 없으며 OS 및 HW 제조업체에 달려 있습니다. 소프트웨어를 작성할 때 할 수있는 것은 더 이상 사용되지 않는 기능이나 비표준 트릭을 사용하지 않도록하는 것입니다.
댓글
- 사용되지 않는 기능이나 비표준 트릭을 사용하지 않으면 상당한 시간이 소요됩니다. 예를 들어 Windows 3.1 시대의 게임 인 Metal Marines (실제로는 Win 32s 일 수 있음)는 기본 게임 창 외부의 그래픽 개체를 렌더링하고 데스크톱에서 미사일을 발사합니다. 장치 컨텍스트를 가져 와서 직접 파티함으로써 Windows XP 및 Windows 7에서 계속 작동합니다. 이는 이전 버전과의 호환성에 대한 Microsoft '의 약속을 통해 이전 버전과의 호환성을 얻는 멋진 예라고 생각합니다. .
답변
단지 호환 소프트웨어를 작성하는 데 더 많은 노력이 필요하다고 생각합니다. (= 비용)은 출시 회사에서 호환성을 평가해야 할 가치가 있습니다.
예를 들어 데이터베이스 스키마는 변경 될 수 있습니다. 데이터베이스 스키마는 자동으로 마이그레이션되거나 (최상의 사용자 경험을 위해) 무시 될 수 있습니다 (개발 노력 감소). .
답변
일부 프로그래머는 문서를 읽고 문서가 말하는 방식으로 OS를 사용하는 코드를 작성합니다. 그들에게. 다른 프로그래머는 코드를 더 빨리 작성하고 작동하지 않는 코드를 디버그합니다.
두 자리 숫자가있는 창을 처리 할 수없는 코드가 좋은 예입니다. 버전 번호; Windows 8에서 테스트에 실패하지는 않지만 Windows 10에서 사용하면… ..
그러면 가능한 한 빨리 작성된 게임이 있습니다. , OS가 몇 년 안에 작동할지 신경 쓰지 않고 우회하는 것… ..
각 벤더가 고유 한 버전의 유닛을 가지고있는 시대에 유닉스 소프트웨어로 작업하는 프로그래밍에 의지했던 프로그래머를 생각해보십시오. 프로그래머는 표준을 읽는 데 매우 익숙하며 표준이 말하는 내용에 따라 다릅니다. 6 가지 다른 버전의 Unix에 소프트웨어를 배포해야하므로주의해야합니다. 이것을 VB에서 배운 프로그래머와 비교해보십시오. 코드가 작동 할 때까지 코드를 변경하는 것이 일반적입니다 …… 그러나“유닉스 유형 프로그래머”는“VB 유형 프로그래머”와 같은 작업에 배치하고 종종 학습 한 사람 VB는 훨씬 더 빨리 팔릴 수있는 결과를 만들어 낼 것입니다.
직원을 인터뷰 할 때 사람들은 생각이있는 사람을 선택하는 경향이 있으므로 회사에 처음 몇 명의 직원이 있으면 새로운 직원이 생각하는 경향이 있습니다. 같은 방식입니다.
답변
순방향 호환성이 부족한 주된 이유는 부족 때문이라고 생각합니다. 투시력이있는 일하는 프로그래머입니다.
댓글
- ' div id = “58092f6610″>
pkunk 프로그래머가 바로 이러한 이유 때문입니다. 믿을 수 없을 정도로 저렴한 Pootworms로 지불합니다.