Skip to Main Content

프로그래밍 언어 가이드: 기타 언어

코딩 학습 가이드는 소프트웨어학과 송오영교수님이 검수하였습니다.

SQL

SQL(Structured Query Language)은 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어입니다.
따라서 SQL 구문도 위의 목적에 맞게 크게 세 가지로 구분할 수 있습니다.

- DDL(Data Definition Language)
- DML(Data Manipulation Language)
- DCL(Data Control Language)
 

속성 설명 주요 명령어
DDL 데이터베이스나 테이블 등을 생성, 삭제하거나 그 구조를 변경하기 위한 명령어 CREATE, ALTER, DROP
DML 데이터베이스에 저장된 데이터를 처리하거나 조회, 검색하기 위한 명령어 INSERT, UPDATE, DELETE, SELECT 등
DCL 데이터베이스에 저장된 데이터를 관리하기 위하여 데이터의 보안성 및 무결성 등을 제어하기 위한 명령어 GRANT, REVOKE 등

CUDA

CUDA는 엔비디아(Nvidia)가 만든 병렬 컴퓨팅 플랫폼 및 API 모델입니다.
개발자들은 CUDA를 통해 그래픽 처리 장치(GPU)에서 수행하는 알고리즘을 산업 표준 언어를 사용하여 작성할 수 있게 되었습니다.
이 기술을 GPGPU(General-Purpose computing on Graphics Processing Units, GPU 상의 범용 계산)라고 합니다.
CUDA 플랫폼은 GPU의 가상 명령어셋과 병령 처리 요소들을 사용할 수 있도록 만들어주는 소프트웨어 레이어이며, 엔비디아가 만든 CUDA 코어가 장착된 GPU에서 작동합니다.

2006년 11월, G80 아키텍처와 함께 처음 발표되었으며 초기에는 C, C++만 지원했지만 지금은 Fortran이나 C# 등 다양한 언어에서 사용이 가능합니다.
CUDA는 보다 쉽게 GPU의 자원을 사용할 수 있게 해줍니다.

프롤로그

프롤로그(Prolog)는 논리형 프로그래밍 언어입니다. '논리 프로그래밍'을 의미하는 프랑스어 'programmation en logique'에서 온 것입니다.
1973년 프랑스 마르세유대학교의 알랭 콜메르(Alan Colmerauer)가 개발한 언어로서, 논리식을 토대로 하여 오브젝트와 오브젝트 간의 관계에 관한 문제를 해결하기 위해 사용합니다.
프롤로그는 술어 논리식을 프로그램, 증명하는 것을 계산한다는 것으로 간주하는 관점에서 새로운 계산의 기술 형태를 취하고 있습니다.
즉, 프로그램 자체는 논리식의 모양으로 만들어지고, 그 프로그램을 실행하는 처리계가 그 증명기로 되어 있습니다.
추론 기구를 간결하게 표현할 수 있기 때문에 인공지능이나 계산 언어학 분야, 자연언어 처리 분야에서 많이 사용됩니다.

프로세싱

프로세싱(Processing)은 프로그래머가 아닌 사람들에게 교육할 목적으로 뉴 미디어 아트, 시각 디자인 공동체를 위해 개발된 오픈 소스 프로그래밍 언어이자 통합 개발 환경(IDE)입니다.
2001년 MIT 미디어 연구소 소속의 케이시 리아스(Casey Reas)와 벤 프라이(Ben Fry)가 개발하여 처음 공개하였습니다.
초창기에는 'Proce55ing'이라는 특이한 철자를 썼었는데, 현재는 'Processing'이 공식 표기입니다.
Processing은 기본적으로 자바 베이스의 언어이지만 자바스크립트 버전으로 만들어진 P5.js 라이브러리가 있습니다.
따라서 이 라이브러리를 활용하면 웹브라우저에서도 Processing에서 구현할 수 있는 각종 에니메이션이나 그래픽 효과를 구현할 수 있어 보다 동적인 사이트를 쉽게 구축할 수 있습니다.

MATLAB

MATLAB(매트랩)은 MathWorks 사에서 개발한 수치 해석 및 프로그래밍 환경을 제공하는 공학용 소프트웨어입니다.
행렬을 기반으로 한 계산 기능을 지원하며, 함수나 데이터를 그림으로 그리는 기능 및 프로그래밍을 통한 알고리즘 구현 등을 제공합니다.
MATLAB은 수치 계산이 필요한 과학 및 공학 분야에서 다양하게 사용됩니다.

일부 사람들이 프로그래밍 언어로 이해하기도 하지만, 프로그래밍 언어라기 보다는 해당 소프트웨어의 스크립팅 인터페이스를 사람들이 언어로 받아들이는 것에 가깝습니다.
프로그래밍 언어라고 볼 수도 있고, 애플리케이션으로도 볼 수 있으나, 쓰는 사람의 목적에 따라 두 가지 성격이 모두 나타나기도 합니다.
하지만 이런 성격 때문에 장단점이 꽤나 극단적으로 나타나는 프로그래밍 언어 겸 애플리케이션이라고 볼 수 있습니다.

베릴로그

베릴로그(Verilog)는 전자 회로 및 시스템에 사용되는 하드웨어 기술 언어(HDL, Hardware Description Language)로, 회로 설계, 검증, 구현 등 여러 용도로 사용할 수 있습니다.
C언어와 비슷한 문법을 가져서 사용자들이 쉽게 접근할 수 있도록 만들어졌습니다.
'if'나 'while'과 같은 제어 구조도 동일하며, 출력 루틴 및 연산자들도 거의 비슷합니다.
다만 C 언어와 달리, 블록의 시작과 끝을 중괄호 기호를 사용하지 않고, 대신에 Begin과 End를 사용하여 구분하고, HDL의 특징인 시간에 대한 개념이 포함되었다는 것 등의 다른 점이 존재합니다.

VHDL

VHDL(VHSIC Hardware Description Language)은 디지털 회로의 설계 자동화에 사용하는 하드웨어 기술 언어(HDL, Hardware Description Language), 즉 회로 설계 언어입니다.
VHSIC는 Very-High-Speed Integrated Circuits 의 약자로, '초고속 집적회로'라는 뜻입니다.
기존의 심볼에 의한 회로도 작성 대신 언어적 형태로 전자회로의 기능을 표현합니다.
전자 회로를 정밀하게 기술하는데 사용하는 컴퓨터 언어로, 시간과 동시성를 표현할 수 있는 표기법이 있다는 점, 컴파일 과정이 다르다는 점 등이 일반 프로그래밍 언어(소프트웨어 프로그래밍 언어)와 다릅니다.

VHDL로 표현된 회로는, 실제 동작하는 기능적 소자로 변환하는 합성 과정을 거치면 동작할 수 있는 회로가 완성됩니다.
이 때 FPGA(Field Programmable Gate Array)나 ASIC(Application Specific Integrated Circuit) 등을 위한 환경에 따라 합성된 실제회로의 소자가 달라지기 때문에 칩 설계 시 목적에 맞는 소자가 합성되도록 하는 개발도구가 존재합니다.
예를 들어 FPGA를 판매하는 회사는 보통, 회로 입력부터 시작해서 VHDL 코드의 합성, 모듈의 배치 등을 지원하는 도구를 지원합니다.