저는 ChatGPT를 사용하여 이러한 열 가지 난해한 프로그래밍 언어로 동일한 루틴을 작성했습니다.

이미지9.jpg

몇 주 전에, 나는 ChatGPT를 사용하여 가장 인기있는 12개의 프로그래밍 언어로 동일한 루틴을 작성하는 것을 살펴보았습니다. 그러나 프로그래밍 언어에 대한 광적인 관심과 함께, ChatGPT가 어디까지 갈 수 있는지 궁금해졌습니다. 1950년대의 언어로 프로그래밍을 할 수있을까요? 고유한 문자 세트를 사용한 언어로 프로그래밍 할 수 있을까요? 코드를 작성한 언어 중 하나로 코드를 작성할 수 있을까요?

또한: 최고의 AI 챗봇: ChatGPT 및 시도할 수 있는 대안

그래서 나는 뛰어들었다. 여기서 주목하고 있는 언어들 중 많이 사용해본 바가 있으므로, 나는 옛날 일을 되새겨보며 그 언어들과의 경험에 관한 이야기 몇 가지를 덧붙이려 한다.

코드 자체는 실행하지 않았지만, 생성된 프로그램을 모두 읽어보았습니다. 대부분이 올바르게 보이며, 요청한 언어가 제공된 것을 나타내는 적절한 표시가 표시됩니다.

저는 이것을 알려드리는 이유는 모든 스크린샷의 헤더가 잘못되었기 때문입니다. 대부분의 헤더는 SQL로 나와 있습니다. 어떤 이유에서인지 BAL은 VBNet으로 표시되었고, Prolog은 Rust로 나열되었습니다. ChatGPT는 마지막 번에는 이 실수를 범하지 않았지만, 오늘은 여기에 표시된 모든 언어에 대해 실수를 범했습니다.

그럼, 시작해볼까요?

Fortran

Fortran (또는 그 당시에는 FORTRAN으로 표기되었습니다)은 Formula Translation의 약자입니다. 주로 과학 및 공학 계산을 위해 개발되었습니다. 1950년대로 거슬러 올라간다고 해도, 1970년대와 1980년대에는 공학 학생들에게 가장 먼저 가르쳐지는 언어였습니다.

또한: 이 새로운 기술은 GPT-4와 같은 모든 것을 뒤로 물리칠 수 있을지도 모릅니다

나에게는 이것이 네 번째 프로그래밍 언어였습니다. BASIC, PDP-8 어셈블리어 및 PDP-8 이진 코드(네, 일찍 나온 미니컴퓨터의 전면 패널에서 토글할 수 있도록 이진 코드를 작성했습니다)에 이은 것입니다. 아버지께서는 친절하게도 1시간 차를 타고 Newark College of Engineering(이제 NJIT로 알려지고 있습니다)으로 저를 데려다 주셨습니다. 이로 인해 저는 고등학교 2학년생인 동안에도 저희 대학교의 1학년 프로그래밍 수업을 들을 수 있었습니다.

포트란은 언제나 인기가 없었지만 대부분의 계산 중심 작업은 해결할 수 있었습니다. 포트란의 변형은 아직도 오늘날에 사용되고 있지만, 다른 현대 언어가 포트란 수준의 분석을 더 잘 수행하기 때문에 특수한 과학 작업에 제한적으로 사용됩니다.

여기서 implicit 키워드의 사용으로 인해 ChatGPT는 Fortran-77 변형으로 작성 된 코드를 묘사하는 것처럼 보입니다.

이미지7.jpg

COBOL

저는 10대 시절 COBOL 프로그래머였습니다. 당시에는 COBOL을 알지 못했는데, 1980년경 뉴저지주 댄빌에 위치한 International Paper의 Northeast Regional Data Center에서 COBOL 프로그래머 채용 광고를 보게 되었습니다. 저는 부모님의 집에서 약 40분 거리에 있었고, 여름 동안 일할 일이 필요했습니다. 인터뷰 일정을 잡자 마자, 저는 현지 서점에 달려가서 COBOL 독서 자료들을 야 단위로 흠뻑 읽었습니다.

COBOL는 비즈니스 중심의 처리를 위해 고안되었습니다. 오늘날, 같은 유형의 고객은 SAP 또는 Salesforce 사용자가 될 것입니다. 그러나 COBOL은 아래의 COBOL-88 코드에서 볼 수 있듯이 기능은 있었지만 우아하지 않았습니다.

결국, 그들은 정규직으로 고용하려던 거였다. 그러나 내가 그들의 시험에서 성적을 받아내는 바람에(전문가들보다 주말 동안 공부한 건가봐), 그들은 나를 여름동안 일하게 하기로 결정했다. 문화적인 불일치라는 말로는 부족했다. 이 시점은 아직 초창기의 마이크로컴퓨터 시대였다(PC 이전 시기를 생각하라). 난 그런 것에 열광했다. 반면, 이들은 정장과 넥타이와 거대한 데이터 센터에만 몰두했다. 난 거의 즉시 "문제"란 별명을 얻었다. 이마저도 나는 아직 어린이였으니까요.

나에게 있어서 결정적인 순간은 회사의 경험이 더 많은 프로그래머 중 한 명이 나를 곁으로 데려가서, 그리고 인용하면서 "COBOL은 생명이다"라고 설명한 때 였다. 나는 그 메시지를 마음에 새기고 내 인생을 COBOL에 집중할 생각은 없다는 결정을 내렸다. 그 여름 이후로는 나는 COBOL로 아무 것도 프로그래밍하지 않았다.

이미지11.jpg

RPG (보고서 프로그램 생성기)

No, 이건 로켓추진 방식의 수류탄이나 롤플레잉 게임이 아닙니다. RPG는 보고서를 생성하기 위한 프로그램이었습니다. 아래에 표시된 두 가지 버전 사이에서 언어의 진화 (그리고 일반적으로 컴퓨터 언어적 사고)를 볼 수 있습니다. RPG II는 1950년대 말로 거슬러 올라갑니다. RPG IV는 1990년대에 업데이트되었으며 훨씬 더 현대적입니다 (하지만 여전히 낡았습니다).

나는 대학교에 있을 때 부딪혔을 때, RPG III 언어로 약간의 AS/400 프로그램을 작성해 본 경험은 있지만, 그런 일에는 관심을 덜 가졌습니다.

이미지3.jpg

Lisp

나는 Lisp와 오랜 연애를 가지고 있다. Lisp는 LISt Processor라는 이름으로, 때때로 많은 무미건조하고 어리석은 괄호들로 설명되곤 했다. 어딘가에서 그 괄호들이 내 뇌에서 '딸랑' 소리를 내며 어울리게 느껴졌다. Lisp는 AI 프로그래밍으로의 내 문을 열어주는 약물이었고, ChatGPT가 언어를 처리하는 것에서 우리는 지식을 단어들이나 리스트들로 표현할 수 있다는 것을 알게 되었다.

1980년대에 나는 RISC 기반 Common Lisp 구현을 위한 제품 관리자였으며, 얼마 동안 이를 코딩했습니다. ChatGPT에서 생성된 defun 인사let 구문을 기반으로 보면, 아래의 코드도 1950년대 후반에 John McCarthy의 오리지널 Lisp 구현의 나중 변형인 Common Lisp인 것 같습니다. McCarthy는 인공지능 연구의 창시자 중 한 명이기 때문에 그의 언어로 AI가 작성되는 것은 당연한 일입니다.

이미지4.jpg

알골

ALGOL (ALGO리듬 Language)는 그 시대보다 앞서 있었습니다. 이는 함수를 매개변수로 전달하고, 재귀 사용을 허용했습니다. 이는 Fortran 및 COBOL 같은 인기 있는 언어에서는 없었던 현대 프로그래밍의 두 가지 핵심 요소입니다. ALGOL은 그 동안 인기를 끌었습니다.

만약 포트란, 베이직 및 어셈블리 언어가 전역적인 프로그래밍을 가르쳐준다면, ALGOL은 코드를 구조화하는 방법을 가르쳐주었습니다. 이는 C, 파스칼, 자바, 자바스크립트 및 오늘날 대부분의 구조화된 현대 언어 사용에 기초를 제공하는 프로그래밍 언어입니다.

이미지5.jpg

시뮬레이션

심라(Simula)는 시뮬레이션과 모델링을 위해 개발된 것으로 상상하실 수 있듯이, ALGOL과 마찬가지로 객체 및 클래스의 사용을 지원하여 그 시대를 선도했습니다. 객체 지향 프로그래밍은 그 후에 현재 여러 가장 효율적인 프로그래밍 언어들에게 기본이 되었습니다.

키워드 OUTFIX의 사용은 ChatGPT가 아마도 다음의 코드를 Simula-67로 작성했음을 나에게 알려줍니다.

이미지6.jpg

BAL (IBM 360/370 어셈블리 언어)

BAL는 1970년대와 1980년대에 IBM 큰 철강을 위한 어셈블리 언어였습니다. 어셈블리 언어는 "고급 언어"보다 "저급 언어"로 간주되며 개별 명령과 키워드가 각각의 프로세서 명령으로 매핑됩니다. 고급 언어(우리가 오늘날 대부분 사용하는 언어들과 같은)에서는 언어가 종종 기계 아키텍처와는 거리가 멀고 하드웨어의 효율적인 사용보다는 프로그래밍의 효율성을 위해 설계됩니다.

나는 대학에서 1학기 동안 BAL을 수강했다. 정말 힘들었다. 교수님은 대부분의 날 학생들에게 등을 돌리고 단조로운 목소리로 강의를 하시면서 칠판에 계속 쓰시곤 했다. 나는 Laura라는 여자애 옆에 맨 뒷자리에 앉았다. 어느 날, Laura와 나는 커피를 사러 빠져 나가기로 결정했다. 우리가 커피를 마신 후에는 다시 창문으로 들어왔다. 교수님은 결코 알지 못했다.

우린 어떻게든 통과했지만, 대부분이 BAL 프로그래밍을 주력 개발 도구로 선택하지 않는 것은 놀랄 일이 아니다.

이미지8.jpg

APL

APL 또는 A Programming Language은 다른 프로그래밍 언어입니다. APL의 가장 눈에 띄는 특징 중 하나는 일부 연산자와 코딩에 비표준 문자 세트를 사용한다는 점입니다. 아래 이미지에서 확인할 수 있습니다. 작은 글리프들은 ChatGPT가 사용한 글꼴에서 끌어올릴 수 있었던 것이지만, APL은 APL385 유니코드 글꼴을 사용하도록 설계되어 있으며, 이는 APL 프로그래밍에만 고유한 것입니다.

간결한 문법과 대규모 데이터셋을 잘 다루기 때문에, R은 과학, 금융 및 분석 프로젝트에서 많이 사용됩니다.

이미지10.jpg

Prolog

Prolog(프로그래밍 인 로직에서 유래된)은 다른 AI 중심 언어입니다. Prolog은 선언적 언어로, 규칙과 조건을 나열한 다음 그 선언에 대해 쿼리를 실행합니다. ChatGPT에 따르면:

프롤로그는 ChatGPT 개발에서 사용되는 프로그래밍 언어 중 하나로, 텍스트 생성에 특히 사용됩니다. 프롤로그-영어 모듈에서는 프롤로그로 된 논리 형식을 자연어 문장으로 번역합니다.

이미지1.jpg

스몰토크

Smalltalk는 특별합니다. 마우스 및 창 환경 개발에 영향을 미친 동일한 연구소인 Xerox PARC에서 개발되었습니다. Smalltalk는 객체지향 프로그래밍에서의 Simula의 일부 혁신을 흡수하였으며, 더 나아갔습니다. 또한, GUI 기반 대화형 프로그래밍 환경을 적극적으로 활용한 최초의 언어 중 하나였습니다. 오늘날의 주요 언어인 Java, Python 및 Ruby도 Smalltalk에 큰 영향을 받았습니다.

나는 그냥 Smalltalk에 소홀히 다루며 주로 그것을 알아보기 위해 사용했습니다. 당시 실리콘 밸리에 살고 있어서 나는 Smaltalk의 디자이너들과 친해졌으며, 그들은 나중에 Xerox의 회사적인 부류 밖에서 Smalltalk을 상업화하기 위해 ParcPlace Systems을 설립하였습니다. 나는 Palo Alto의 작은 폐쇄한 바비큐 식당에서 로스트앱과 콜슬로우 위에서 프로그래밍 이론에 대해 이야기하는 많은 추억이 있습니다.

나는 과거에 일했던 컴퓨터 회사의 부사장 중 한 명이 엔터프라이즈 시장에 Smalltalk을 적용하기 위해 그와 함께 회사를 시작하자고 제안했었다. 그러나 당시에는 아직 스타트업 열풍이 날 벌리기 전이었다. Smalltalk은 결국 시장에서 성공하지 못했다. 그럼에도 불구하고, 내 인생의 나아가는 방향에 만족하고 있지만, 가끔 그 제안을 받아들였다면 어떻게 됐을지 궁금하기도 하다.

이미지2.jpg

생각이 있어요

이 코드를 실행하지 않았으며, PHP와 JavaScript와 같은 언어에 대한 최근 지식이 PHP와 JavaScript만큼 많지 않기 때문에 시각적으로 검토해도 위에 표시된 코드가 성공적으로 실행될 것을 보장할 수 없습니다. 이번 주 앞서 보았듯이 Bard의 새로운 프로그래밍 기술을 탐색하는 과정에서 코드가 작동하지 않아도 코드를 작성하는 것이 가능할 수 있습니다.

또한: 제가 필요한 워드프레스 플러그인을 ChatGPT에게 부탁했습니다. 그것은 5분 미만으로 해결해 주었습니다.

우리는 각 예시에 적어도 하나의 오류가 있다는 것을 알고 있습니다: 헤더가 잘못되었습니다. 그래서 이 AI가 상당히 난해한 언어를 다루는 코드를 생성할 수 있는 능력이 얼마나 멋지든, 전체 작업을 정확히 수행한다고 가정하지 마십시오.

만약 ChatGPT 프로그래밍을 업무에 통합하려고 한다면, 기본 루틴을 작성해 달라는 요청을 했을 때처럼 생성된 코드를 확인, 테스트 및 디버그해야 합니다.

관련 기사

더 보기 >>

HIX.AI로 AI의 힘을 발휘해보세요!