루비 vs PL/I

Posted by 大山 Fri, 17 Nov 2006 17:53:00 GMT

최근에 한 시중 은행의 전산망을 총괄하시는 부장님을 만나뵐 기회가 있었다. 일반 엔터프라이즈 환경이야 특별히 궁금할 것도 없지만, 엔터프라이즈 중에서도 가장 보수적이라는 은행의 전산망 인프라는 예전부터 궁금해했던 참이라 신나게 이것저것을 여쭤볼 수가 있었다.

여기서 질문 하나. 은행의 전산실에서 주로 쓰이는 프로그래밍 언어는 무엇일까?

자바? 땡!

C++? 땡!

정답은 PL/I과 COBOL이다.

올해 초에 한 네덜란드 PL/I 개발자와 작업을 같이 한적이 있는데, 사실 그전까지는 나도 PL/I이라는 언어가 있는지도 몰랐었다. PL/I은 1960년대 초에 COBOL과 Fortran의 역할을 하나의 언어에서 해결하기 위해 IBM에서 만든 언어로, 은행의 전산실에서 PL/I이 많이 쓰이는 것은 아마도 IBM 메인프레임이 아직도 많이 사용되기 때문인 듯.

여기서 질문 하나 더. 왜 은행에서는 아직도 유닉스 서버 대신에 메인프레임이 사용되는 것일까?

답: 유닉스 서버는 다운이 잘되서.

윈도우에 비하면 철옹성같아 보이는 유닉스도 은행의 기준에서는 다운이 잘되는 편이라니, 할말을 잃었음. 최근에는 유닉스도 충분히 안정적이라는 판단이지만, 아직은 업체들의 지원 수준이 미덥지 못하다고 한다.

이번에는 다소 쉬운 질문. 은행에서 주로 사용되는 데이터베이스 서버는?

답: 오라클이 대세. Sybase도 가끔 눈에 띄는 정도. DB2는 찾아보기도 힘들다고.

1959년에 나온 COBOL과 1964년에 나온 PL/I이 아직도 지배하는 은행의 전산실, 과연 이곳에 변화의 기미는 없을까? 그렇지만은 않다고 한다. 요새는 PL/I 인력이 전혀 양성되지 않는 이유로 신규 인력은 모두 내부적으로 교육을 하는데, 요즘의 젊은 개발자들은 PL/I을 배우길 꺼려한다고.

Web 2.0이다 Ajax다 해서 나날이 변해가는 웹 개발에 비하면, 조선시대 만큼이나 먼 옛날의 기술이 아직도 점령하고 있는 은행의 전산실이지만, 시스템 안정성을 최우선하는 그곳의 보수적인 문화에서 배울 점도 적잖이 있었다. 데스크톱 애플리케이션이 다운되듯이 전산망이 다운된다면 큰일일테니 말이다. ;)

나의 루비 이야기에 아직도 프로그래밍 언어에 그만한 발전의 여지가 남아 있었냐고 놀라워 하시던 그분도 루비의 계보가 Lisp과 Smalltalk로 이어진다는 말에는 곧 고개를 끄덕이셨다. 언어는 달라도 SQL을 사용해서 데이터베이스 프로그래밍을 하는 것은 크게 다르지 않아, 레일스의 생산성이 어떻게 가능한지를 설명하는 것도 생각보다 어렵지는 않았다.

반세기에 가까운 기술의 간극에서 이런 대화가 가능하다는 것이 기술이 얼마나 빨리 변하는지를 웅변해 주는 듯한 느낌이다. 뭐 이미 루비로 구현된 신용카드 결제 모듈도 여럿 있는데, 언젠가는 은행의 전산실에서 루비가 쓰이는 것도 아주 꿈만은 아닐지도. :)

Posted in  | Tags , , ,  | 8 comments | no trackbacks

Comments

  1. 1.
    bliss said about 6 hours later:

    아, 간만에 나도 쉽게 이해할만한 재미있는 글이었어요. 그날 그런 일이 있었군. 많이 늦게 들어가셨겠어요. ^^ 그래서 결국! 하루를 날렸겠다! ^^;


  2. 2.
    Suman said about 9 hours later:

    Oh! 2 links! Thanks, Daesan. :)


  3. 3.
    大山 said about 10 hours later:

    @bliss: 좋은 커피도 많이 마시고 즐거운 하루였습니다. 선물로 주신 CD도 잘 듣고 있구요~ :)

    @Suman: 이메일로 보내 드릴까 하다가, 걍 글에 살짝 끼워 넣어 봤습니다~ ;)


  4. 4.
    serialx said about 10 hours later:

    우리은행이 예전에 자바로 전산 시스템을 교체했다가 전체적으로 시스템 오류가 나서 전문가 수백명을 동원해 겨우 복구했다는 얘기를 들은 기억이 납니다. 금융망은 인공위성등과 마찬가지로 '신뢰성'이 문제가 아닐까 생각되네요. ^^

    그나저나, 혹시 시간이 있으시다면 파이썬과 루비를 비교하는 자료좀 부탁드립니다. 구글링을 해도 별로 시원치 않아서요. ^^ 제가 파이썬 유저인데, 루비가 파이썬에 비해서 얼마만큼의 장점을 제공하는지 잘 모르겠더라구요..

    아무튼, 글 잘 읽고 갑니다. :)


  5. 5.
    a77ila said about 13 hours later:

    같은 이유로 우주정거장에는 386 이상의 컴퓨터는 쓰지 않는다고 하더라구요... 조금이라도 이상이 있으면 피해가 너무 크니...


  6. 6.
    大山 said about 20 hours later:

    @serialx: 말씀하신 문제 등의 이유로 많은 은행이 아직까지 레거시(Legacy) 인프라를 유지해오고 있는 것 같습니다. :)

    제가 파이썬에 관해 많이 알지 못해서 뭐라 말씀을 드리기가 좀 그렇구요, 루비에 관한 소개는 제가 쓴 글을 참고하시길 바랍니다.

    @a77ila: 사실 인텔이 새로운 CPU를 내놓을 때마다, 몇주만에 설계상의 버그가 발견되곤 하지요. 최신의 Core 2 Duo 프로세서로 제어되는 우주왕복선이라면, 아마 타면서 오금이 저릴 것 같습니다. ㅎㅎ


  7. 7.
    김창준 said 1 day later:

    중요한 것은 아닌데, PL/I는 피엘원이라고 읽기 때문에

    PL/I라는 PL/I는 PL/I가

    는 각각 'PL/I이라는', 'PL/I은', 'PL/I이'로 고치는 것이 읽기 쉬운 것 같네요.


  8. 8.
    大山 said 1 day later:

    @김창준: 아, 그렇군요. '피엘원'이라고 몇번 들었는데도, 제가 미처 헷갈렸네요. 지적해 주셔서 감사합니다. :)


Trackbacks

Use the following link to trackback from your own site:
http://beyond.daesan.com/articles/trackback/7398

Comments are disabled