ChatGPT 대 프로그래밍 언어 코드 작성 기술 대결

우리는 ChatGPT의 코딩 능력을 인지하고 있지만, 수십 가지 다른 언어가 사용되는 세션에서는 성능이 얼마나 잘 될지 궁금합니다. 답변은 꽤 인상적입니다.

“`html

ChatGPT 대 프로그래밍 언어: 코드 작성 기술 대결

lang-1

작년 동안, 우리는 모두 ChatGPT가 코드를 작성할 수 있다는 것을 알게 되었습니다. PHP 및 WordPress에서 ChatGPT의 코딩 능력의 강점과 약점을 보여주는 여러 테스트를 진행했습니다. 그러나 ChatGPT의 코딩 지식은 얼마나 깊이 연장되는 걸까요? 이 기사에서는 O’Reilly Media의 2023 인기 순위에서 가장 인기 있는 열두 가지 언어에 대한 클래식한 “Hello, world” 프로그래밍 과제를 실시해 보았습니다.

일반적으로 “Hello, world”는 한 줄에 코딩할 수 있기 때문에 ChatGPT가 “Good morning”, “Good afternoon” 또는 “Good evening”로 시작하는 각 시퀀스를 시간을 확인하고 열 번 출력하도록 요청했습니다.

이로써 우리는 프로그램의 흐름과 일부 내재 기능을 살펴보면서 코드가 작아서 이 기사에 열 두 장의 스크린샷을 포함할 수 있습니다.

요청사항

아래 나열된 각 언어에 대해 오리건의 현재시각을 기반으로 “Good morning”, “Good afternoon” 또는 “Good evening”을 출력한 후 루프 인덱스를 (1부터 시작하여) 한 번 출력 후 “Hello, world!” 문구를 열 번 출력하는 프로그램을 작성하십시오.

각 프로그래밍 언어에 대해 ChatGPT에게 주요 용도를 설명해 달라고 요청했습니다. 이 쿼리에 사용한 요청은 다음과 같습니다:

다음 언어 각각에 대해 주요 용도 및 차별화되는 요인에 대한 한 문장 설명을 작성하십시오: Java, Python, Rust, Go, C++, JavaScript, C#, C, TypeScript, R, Kotlin, Scala.

이제 각 언어를 살펴보겠습니다.

1. Java

ChatGPT는 Java를 “일반 목적의 언어로, 주로 데스크톱, 웹 및 모바일 애플리케이션을 빌드하는 데 사용되며, ‘한 번 작성하면 어디서든 실행’ 철학으로 유명합니다.” 라고 설명합니다.

Java는 원래 Sun Microsystems에 의해 개발되었으나 Oracle이 Sun을 인수하면서 Java도 함께 인수했습니다. Java 사양은 개방적이지만, 언어의 소유주는 Oracle입니다. 이로 인해 수년 동안 몇 차례의 법적 분쟁이 발생했습니다.

다음은 ChatGPT의 코드입니다:

“`

[Java Code Screenshot]

“`html

2. Python

ChatGPT describes Python as, “데이터 분석, 인공 지능, 웹 개발 및 자동화에 사용되는 범용 언어로 가독성과 사용 편의성으로 유명합니다.”

내 조언: AI 애플리케이션을 위해 코딩을 배우려면 Python을 배우세요. 거의 모든 AI 코드가 Python과 밀접하게 통합되어 있습니다.

여기 ChatGPT의 코드가 있습니다:

“`

[Python Code Screenshot]

3. Rust

ChatGPT는 러스트를 다음과 같이 설명합니다. “고성능 및 신뢰성 있는 소프트웨어를 작성하는 데 사용되는 시스템 프로그래밍 언어로, 메모리 안전성과 스레드 안전성 보장으로 유명합니다.”

다음은 ChatGPT의 코드입니다:

[Rust Code Screenshot]

“`html

4. Go

ChatGPT은 Go를 다음과 같이 설명합니다. “확장 가능하고 효율적인 네트워크 및 서버 응용 프로그램을 구축하는 데 사용되는 시스템 프로그래밍 언어로, 간결함과 내장된 동시성 기능으로 유명합니다.”

Go는 오픈 소스이지만 Google이 관리합니다. Go. Google. 알겠니?

여기 ChatGPT의 코드가 있습니다:

“`

[Go Code Screenshot]

5. C++

ChatGPT은 C++을 다음과 같이 설명합니다. “운영 체제, 게임 엔진 및 고성능 애플리케이션을 구축하는 데 사용되는 시스템 프로그래밍 언어로, 하드웨어 및 메모리 제어 능력으로 알려져 있습니다.”

다음은 ChatGPT의 코드입니다:

[C++ Code Screenshot]

“`html

6. 자바스크립트

ChatGPT는 JavaScript를 “대화형 웹 애플리케이션을 구축하는 데 사용되는 클라이언트 측 스크립팅 언어로, 웹 개발에서 널리 사용되며 웹 브라우저에서 실행할 수 있는 능력으로 알려져 있습니다.”로 설명합니다.

또한, CSS와 함께(웹의 주요 시각적 디자인 언어 중 하나인) JavaScript는 지난 9년간 내가 입에 담은 혐오의 87.45%를 직접적으로 담당하고 있습니다.

여기 ChatGPT의 코드가 있습니다:

“`

[JavaScript Code Screenshot]

7. C

ChatGPT은 C#을 “Windows 데스크탑 애플리케이션, 게임 및 웹 애플리케이션을 구축하는 데 사용되는 범용 언어로, 객체 지향 기능 및 .NET 프레임워크와의 통합으로 알려져 있습니다.” 로 설명합니다.

C#은 Microsoft가 제공하는 소유권 언어입니다. 저는 10년 이상 동안 UC 버클리 연장 프로그램에서 가르치기도 했습니다. 주로 Microsoft 환경에 프로그래밍을 하고 싶은 사람들을 위한 매우 흥미로운 게이트웨이 언어입니다.

여기 ChatGPT의 코드가 있습니다:

[C# Code Screenshot]

“`html

8. C

ChatGPT은 C를 다음과 같이 설명합니다. “운영 체제, 임베디드 시스템 및 고성능 응용 프로그램을 구축하는 데 사용되는 시스템 프로그래밍 언어로, 효율성과 저수준 제어 기능으로 알려져 있습니다.”

첫사랑을 잊을 수 없다고 하지요. 목재 선박과 철의 프로그래머 시대에 C 프로그래밍을 자습하기 전까지, 난 진정으로 어떤 프로그래밍 언어를 사랑한 적이 없었습니다. 그러다 C를 사용하기 시작하니 세상이 달라졌습니다. 그것은 사랑이었습니다. 언어의 간결한 단순함에 대해 깊고 본능적인 수준에서 나에게 말하는 것이 있었습니다. 아마도 지나치다는 건 알고 있지만, 사실이기도 합니다. C는 항상 내 첫 번째 구문적 사랑일 것입니다.

다음은 ChatGPT의 코드입니다:

“`

[C Code Screenshot]

“`html

9. TypeScript

ChatGPT은 TypeScript를 “대규모 웹 애플리케이션을 구축하는 데 사용되는 JavaScript의 슈퍼셋으로, 선택적 정적 유형 및 고급 언어 기능으로 유명합니다.”라고 설명합니다.

TypeScript는 또한 마이크로소프트 제품입니다. 그러나 C#과 달리 오픈 소스이며 프로프라이어터리하지 않습니다.

여기 ChatGPT의 코드가 있습니다:

“`

[TypeScript Code Screenshot]

“`html

10. R

ChatGPT은 R을 다음과 같이 설명합니다: “통계 계산 및 데이터 분석에 사용되는 언어로, 강력한 데이터 조작 및 시각화 기능으로 알려져 있습니다.”

여기 ChatGPT의 코드가 있습니다:

“`

[R Code Screenshot]

11. Kotlin

ChatGPT는 Kotlin을 다음과 같이 설명합니다. “안드로이드 앱, 서버 측 응용 프로그램 및 웹 응용 프로그램을 구축하는 데 사용되는 범용 언어로, 간결함과 Java와의 상호 운용성으로 알려져 있습니다.”

Kotlin은 현재 가장 좋아하는 개발 환경인 PhpStorm도 만드는 작은 회사인 JetBrains에 의해 개발되었습니다.

여기 ChatGPT의 코드가 있습니다:

[Kotlin Code Screenshot]

12. 스칼라

ChatGPT는 스칼라를 다음과 같이 설명합니다: “확장 가능하고 분산 애플리케이션을 구축하는 데 사용되며, 함수형 프로그래밍을 지원하고 Java 가상 머신과 통합되어 있는 언어입니다.”

여기 ChatGPT의 코드가 있습니다:

[Scala Code Screenshot]

“`html

Also, notice the output for Scala (shown above). I’ve never programmed in Scala and don’t know very much about it. Apparently neither does ChatGPT, because while the AI provided syntax coloring for all the other languages, it didn’t seem to have that information on hand for Scala.

Final Thoughts (and a Little Forth)

As a computer languages geek, I found this exercise super fun. That said, there are some things to keep in mind. First, I didn’t test all the code. Testing this many outputs is outside the scope of this article. That said, I did read through the generated code and – for most languages – the code looked good.

When I last ran these tests, almost a year ago, ChatGPT got almost everything right (notwithstanding the above disclaimer). However, when asked to render code in Forth (a very funky, but fun language), it generated code that looked like Forth but labeled the window “Perl.” It definitely did not generate Perl.

However, this time, it both generated Forth (the colons are dead giveaway) and labeled it appropriately. Like Scala above, ChatGPT didn’t seem to have the syntax coloring tables for Forth, but otherwise it seems to be doing fine.

As with all my other visits down the rabbit hole with ChatGPT and coding, I’m impressed, but also wary. My recommendations stand: use it as a tool, but test, test, and test.

References:

You can follow my day-to-day project updates on social media. Be sure to follow me on Twitter at [@DavidGewirtz](https://twitter.com/davidgewirtz), on Facebook at Facebook.com/DavidGewirtz, on Instagram at Instagram.com/DavidGewirtz, and on YouTube at YouTube.com/DavidGewirtzTV.


Enjoyed this article? Share it with your friends on social media! Let’s spread the knowledge and have fun with coding! 🚀✨

“`