2013-07-06 3 views

답변

3

한 마디로, 아니요. 확실한 대답을 원하면 원래의 디자이너를 찾아 왜 물어 봐야할까요? 나는 그들이 반세기 후에 기억할 것 같지 않다. 디자인 결정이었고 합리화는 제쳐두고 대부분의 이유가 "당시로서는 좋은 생각처럼 보였습니다."

JOBLIBSTEPLIB에 대한 문서는이 같은 용도로 나타냅니다.

+0

나는 이것이 정확하다고 생각한다. 선택의 여지가있는 누군가가 다른 선택을 택했습니다. 왜? 선택자를 아는 사람은 누구입니까? 만약 다른 선택이 취해 졌다면, 그 선택은 이미 수년 동안 이미 사용되었을 것 인 것처럼 "이해가 될 것"입니다. 그것이 그 길입니다. –

+0

실제로 JOBLIB를 탈 것에 STEPLIB가 필요할 수있는 많은 이유가 있습니다.가장 좋은 이유 중 하나는 독점 소프트웨어 제품을 설치하여 하나의 응용 프로그램에만 사용할 수있는 라이센스가있는 경우입니다. 그러나 일반적으로 JOBLIB는 개인용 또는 응용 프로그램 특정 라이브러리를 정의하는 데 사용되며 JOBLIB에 포함 된 다른 버전의 오브젝트를 참조하기 위해 버전 제어가 필요한 경우 STEPLIB를 삽입하는 것이 적절합니다. – MikeC

+1

@MikeC 이것들은 내가 말한 합리화입니다. 나는 JOBLIB와 STEPLIB의 * uses *에 대해 잘 알고 있습니다. 그러나 그것은 질문이 아닙니다. – cschneid

6

(가) 아래 IBM 매뉴얼에서 발췌과 JOBLIB DD 문이 무엇을 설명하고 STEPLIB DD 문은 JOBLIB 문와 상호 작용하는 방법.

Use the JOBLIB DD statement to:

  • 개인 라이브러리를 작성합니다.

  • 시스템이 작업의 각 EXEC 명령문 PGM 매개 변수에서 명명 된 프로그램을 검색 할 사설 라이브러리를 식별하십시오. 시스템이 개인 라이브러리에서 프로그램을 찾지 못하는 경우에만 시스템 라이브러리를 검색합니까? Relationship of a STEPLIB to a JOBLIB

    사용

    JOBLIB DD 문

시스템 이 전체 작업에 사용할 수있는 개인 라이브러리를 정의합니다. 당신이 의 작업과 개인 작업 단계에 대한 STEPLIB DD 문을 JOBLIB DD 문을 포함하면 시스템은 첫 번째 단계 라이브러리와 EXEC 문에서 요청 된 프로그램에 대한 다음 시스템 라이브러리를 검색합니다. 시스템은 해당 단계의 JOBLIB 라이브러리를 + 시합니다. 유추이의

+1

OK, 사람들은 여전히 ​​이것을 선호합니다 :-) JOBLIB는 아무 것도 무시합니다. JOBLIB는 시스템 라이브러리보다 먼저 프로그램을 찾기 위해 검색 될 "개인 라이브러리"(하나 이상)를 제공합니다. JOBLIB는 작업의 각 단계에 해당 라이브러리를 제공합니다. STEPLIB가 제공되는 모든 단계에서 JOBLIB가 있으면 무시됩니다. 검색은 STEPLIB의 개인용 라이브러리이며 시스템 라이브러리가 뒤 따릅니다. STEPLIB 또는 JOBLIB는 "시스템에서 정의한 라이브러리를 대체하지"않습니다. –

+0

당신은 Joblib과 Steplib이 서로 어떻게 관련되는지 오해 한 것 같습니다. 그것은 내가 기대했던 것이 아닙니다. – Deuian

1

생각합니다. 프로그램을 작성할 때 전역 변수와 같은 이름의 로컬 변수를 가질 수있는 방법을 알고 있습니다. 언어에 대한 범위 지정 규칙은 특정 항목에서 일반 항목으로 이동합니다. 작업 단계 수준에서 특정 STEPLIB와 같은

. JOBLIB는 일반적인 전역 정의입니다. 이는 각 단계에서 변경 가능한 일반 정의 또는 대체를 허용합니다. 다른 방향으로가는 것은 너무 딱딱하고 통제 할 수 없습니다.

"잘하면 IBM의 누군가가 선택했습니다." 아니요, 동의하지 않습니다. IBM은 메인 프레임 하드웨어 및 소프트웨어를 설계 한 방법에 대해 훌륭하고 견고하고 합리적인 결정을 내 렸습니다. 그리고 특정에서 일반에 이르기까지 계층 적 방식으로 프로그램 라이브러리를 제어하는 ​​기능은 많은 훌륭한 선택 중 하나입니다.