C언어 - 프로그래밍 언어의 문법

이미지
1. 언어의 문법 인간이 사용하는 언어에는 매우 다양한 문법 이 존재하며, 이를 익히는 데에는 많은 시간이 필요하다. 명사, 동사, 시제, 어순 등 매우 많은 문법을 익혀야 한다. 프로그래밍 언어는 컴퓨터에게 무엇을 어떻게 할지 지시하기 위한 명확한 목적을 가진 언어이다. 비교적 적은 수의 문법 요소만으로도 의미의 표현과 실행이 가능하다. 사람이 쓰는 언어와 달리 프로그래밍 언어는 몇 가지 핵심 문법 만 이해하면 바로 사용이 가능하다. 2. C언어 문법 프로그래밍 언어는 다음과 같이 다섯 가지로 구성되어 있다. 변수 - 값을 저장한다. 연산 - 값을 계산한다. 문장 - 내용을 실행한다. 제어 - 실행 순서를 변경한다. 함수 - 여러 문장을 하나로 묶는다. 이 다섯 가지만의 문법만 이해해도 프로그램의 기본 구조를 이해할 수 있다. 2.1. 변수 (Variable) 변수는 값(value)을 저장하는 메모리 공간에 이름 을 부여한 것이다. 프로그램은 변수를 통해 데이터를 기억하고, 참조하고, 변경한다. 2.1.1. 변수 타입(Type) 변수 타입은 변수가 어떤 종류의 값을 저장 하며, 그 값을 어떻게 해석할지를 결정하는 규칙이다. 변수 타입에 의하여 저장 가능한 값의 형태, 메모리 사용 방식, 그리고 허용되는 연산의 종류가 결정된다. int count; count = count + 1 ; // int type stores integer values.   char grade = 'A' ; // char type stores a single character or small integer values.   float ratio = 0.75f ; ratio = ratio * 100.0f ; // float type stores floating-point (real) values. 2.1.2. 상수 상수는 값이 바뀌지 않는 변수 이다. C언어에...

Vibe Coding - 자연어로 코드를 만든다.

1. Vibe Coding

  • ‘Vibe Coding’이라는 말은 안드레이 카파시(Andrej Karpathy) 가 2025년 2월 X(트위터)에 올린 글에서 처음 등장한 용어다.
    • OpenAI 공동 창립자이며 테슬라 AI 책임자로 활동한 이력을 가지고 있다.

"There's a new kind of coding I call vibe coding, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists."

"나는 이것을 ‘바이브 코딩’이라고 부릅니다. 코드를 신경 쓰는 대신, 그저 흐름과 감각에 몸을 맡기고, vibe 자체를 그대로 받아들이는 방식입니다."

[출처] X - Andrej Karpathy


  • ‘Vibe Coding’의 주요 개념은 코드를 사람이 직접 타이핑하기보다, AI에게 자연어로 요구하고 AI가 코드를 생성하도록 하는 개발 방식이다.
  • 마치 리듬을 타며 음악을 만들듯이, 코딩도 ‘vibe’를 타고 리듬과 분위기에 따라 진행하는 방식을 말하고 있다.



정리하면, Vibe Coding은 ‘AI에게 요청해 개발을 진행하는 방식’으로, 인간은 코드 자체보다 결과와 흐름에 집중하는 AI 기반 개발 패러다임이다.

2. Code Assistant

  • Code Assistant는 사람이 자연어로 지시하면, 그 내용을 바탕으로 코드를 생성하거나 수정해주는 AI 도구를 말한다.
  • 대표적으로 GitHub Copilot, Claude Code, OpenAI Codex, Gemini Code Assist 등이 있다.
  • 이러한 도구들은 개발자가 ‘어떻게’보다 ‘무엇을’에 집중하도록 돕는 Vibe Coding 을 지원한다.

Code Assist 제공업체 기반 모델
GitHub Copilot - GitHub
- Microsoft
GPT(GPT-mini, GPTCodex) Claude(Sonnet, Haiku), Gemini 등 다중 모델 지원
Claude Code - Anthropic Claude Opus, Claude Sonnet, Claude Haiku
OpenAI Codex - OpenAI OpenAI GTP, GPTmini, GPTCodex 기반 모델
Gemini Code Assist - Google
- Google DeepMind
Gemini 계열 모델 (Flash, Pro)

3. Prompt

  • 프롬프트는 AI Code Assistant에게 수행할 작업을 지시하는 문장이다.
    • 특별한 작성 규칙이나 고정된 형식은 없지만, 실무에서는 Markdown 형식을 활용한 구조화된 지시문이 자주 사용된다.

  • 모호한 요청보다는, 무엇을, 어떤 방식으로, 어떤 조건에 따라 만들어야 하는지를 구체적으로 제시할수록 더 나은 결과를 얻을 수 있다.
    • 프롬프트는 AI Code Assistant가 사용자의 의도를 정확히 이해하고, 요구에 부합하는 결과물을 생성하도록 이끄는 핵심 요소이기 때문이다.
    • 프롬프트를 어떻게 구성하느냐에 관한 방법론과 경험은 실제 개발 과정에서 중요한 노하우가 될 수 있다.


  • 컴퓨터 프로그래밍 언어는 사람이 이해하기 쉬운 방향으로 점차 발전해왔다.
  • 처음에는 사람이 이해하기 어려운 기계어(machine code)를 사람이 읽을 수 있도록 문자 형태의 명령으로 표현한 Assembly 언어가 등장하였고,
  • 이후에는 Assembly보다 더 사람의 언어에 가까운 형태로 구현된 C, Java와 같은 고급 언어가 사용되기 시작하였다.
  • 이제는 프롬프트(prompt)에 자연어로 원하는 기능을 기술하면, AI가 코드를 생성하는 시대가 된 것이다.

  • 어떠한 프로그래밍 방식을 사용하더라도, 실행 단계에서는 모두 기계어로 변환되어 CPU에 전달된다는 것은 달라지지 않았다.


이 블로그의 인기 게시물

실행 파일은 파일은 어떻게 동작하는가

게이트 회로로 이해하는 컴퓨터 연산

C언어 - 프로그래밍 언어의 문법