많은 사람들이 유명한 소프트웨어를 제공하는 대기업에서 일하고 있습니다. Firefox, Photoshop, Windows, Linux 등과 같은 현대적인 대규모 응용 프로그램에 원래 코드 (기본적으로 “v1.0″릴리스 인 코드)가 얼마나 남아 있는지 궁금합니다. 나는 직접 경험과 실제 전쟁 이야기를 선호합니다.
호기심을 만족시켜 주셔서 감사합니다.
편집하다
약간의 오해가 있음이 밝혀졌습니다. 내가 따르는 것은 기본적으로 다음과 같습니다. 소스 코드 를 비난 하거나 주석을 달 때 초기 1.0 릴리스 이후로 일부 또는 전체 파일을 건드리지 않습니다.
답변
당신이 기대했던 것보다 더 오래되고 기대했던 것보다 훨씬 오래되었습니다. “전체 다시 쓰기”및 큰 리 팩터에도 불구하고 많은 모듈이 그대로 남아 있습니다.
Péter는 예를 들어 Firefox에서 오래된 Netscape 코드를 찾지 못할 것을 제안합니다. 소스 코드를 통해 검색하면 다음과 같은 고지 사항이있는 파일이 많이 있습니다.
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000
예를 들어 Linux 커널 헤더에서는 다음과 같은 것을 찾을 수 있습니다.
include/linux/if_ppp.h: * Copyright (c) 1989 Carnegie Mellon University.
include/linux/quota.h: * Copyright (c) 1982, 1986 Regents of the University of California.
include/linux/coda.h: Copyright (c) 1987-1999 Carnegie Mellon University
include/linux/mc146818rtc.h: * derived from Data Sheet, Copyright Motorola 1984 (!).
include/net/slhc_vj.h: * Copyright (c) 1989 Regents of the University of California.
답변
오래된 코드가 얼마나 있는지는 모르지만 천천히 제거됩니다. 예를 들어 Windows 2008 또는 Vista에서는 탐색기를 사용하여 c : \ windows \ fonts로 이동하여 왼쪽 창을 마우스 오른쪽 버튼으로 클릭하고 “새 글꼴 설치”를 선택하십시오. 표시되는 대화 상자는 Windows 3.1 일입니다 (스크린 샷 확인). Windows 7에서도 동일하게 표시되면 이제 UI와 같은 훨씬 나은 제어판입니다.
답변
직장에서 코드가 몇 살인지 알 수 없습니다. Subversion에 넣었을 때만 돌아갈 수 있으며 그 이전까지 많은 것들이 있습니다.
그러나 Microsoft Office 코드 작업을 한 친구가 있습니다. 몇 년 전, 그는 SaveA5World 통화를 제거했다고 말했습니다. 그 전화는 M680? 0 프로세서가 장착 된 구 매킨토시에서 사용되었으며 90 년대 초 애플이 PowerPC Mac을 방문한 이후에는 아무런 도움이되지 않았습니다.
내 관찰에 따르면, 회사가 의존하는 강력한 소프트웨어 시스템은 더 이상 사용하기를 원하지 않는 기술로 만들어졌습니다.
답변
“처음부터 일을 크게했다면 큰 부분, 그렇지 않으면 작은 부분”
엄격한 언어는이 특성을 나타냅니다. Nicklaus Wirth의 언어는 정밀하게 계획 되었기 때문에 거의 변경되지 않았습니다. (이것은 실제로 Delphi에서 최근에 변경되었으며, 다음 유니버설 배포 버전으로 더 많이 변경 될 것입니다.)
물론 이것에도 반대가 있습니다. Microsoft Windows의 경우 나 ACDSee와 같은 멋진 응용 프로그램, 텍스트 편집기 또는 잘 알려진 “리눅스의 정신”명령 줄 응용 프로그램과 같이 원본 코드가 충분하다고 결정합니다.
이러한 응용 프로그램은 처음에는 응용 프로그램을 좋아하지 않는 사람들에게는 어색한 것처럼 보일 수 있지만 잘 정의 된 기능 세트뿐만 아니라 잘 계획된 특성을 표시합니다. 그들이 종소리와 호루라기를 가지고 있지 않더라도 그것은 선호 될 수있다. 그들은 주석에있는 일을하고, 이전 버전과의 호환성이 뛰어나며 앞으로도 계속 잘 작동 할 것입니다.
기능 세트를 사용하는 경우 5.0 이후로 동일한 코드를 Photoshop에서 사용하게됩니다. ; P 그렇습니까? 이유없이? 업데이트 판매. 오늘은 더 이상 할 수 없습니다.
FTP, 웹 및 클라우드를 수행하려는 시점까지 파일 관리자의 기능 세트는 10 년 동안 모든 플랫폼에서 거의 동일합니다. 이러한 응용 프로그램이 여전히 1.0이 아닌 유일한 이유는 나쁜 계획, 변덕, 업데이트하려는 욕구 때문이며 응용 프로그램을 둘러싼 세계가 거의 변하지 않기 때문입니다.
정답은 개발자가 기능 세트를 결정하고 버그가없는 프로그램을 완료했으며 끊임없이 항목을 추가하고 추가 된 항목의 버그를 수정하여 이익을 얻지 못하거나 이동했기 때문에 일부 보석은 1.0 또는 1.0.x로 유지됩니다. 더 많은 보석을 개발합니다.
다른 모든 코드는 1.0 코드 근처에 머무를 것 같지 않습니다. 좋은 아이디어가 있다면 왜 응용 프로그램을 다시 작성해서는 안됩니까? 코딩하는 것이 재미 있어야합니다! 🙂 그것이 많은 현대 소프트웨어 제품에서 일어나지 않은 것을 제외하고. 피처 셋에 의해 동기를 부여받지 않고 변경 (판매)을위한 변화와 변화하는 플랫폼을 준수하기 위해 업데이트하는 정도는 하루의 순서입니다.
그리고 지속적으로 업데이트되는 소프트웨어의 상호 작용에 대한이 수프에서 일부 코드베이스는 개정을 피합니다. 몇몇은 여전히 기초와 모듈화를 꿈꾸며 (그리고 조기에 발표하지는 않지만) 대다수는 릴리스 수정 업데이트주기에 갇혀 있습니다.
답변
iD Tech 및 Unreal과 같은 게임에 사용되는 표면적으로 ‘최첨단’시스템조차도 여전히 1.0 코드가 있습니다.