LangDev

어떤 언어들을 접해보셨는지요..?

착한아이

이곳에 계신 분들은 어떤 언어들을 접해보셨는지 궁금합니다.. 그리고 그 접해본 언어들중에 실제 개발경험이 있다면, 어떤분야에 적용해보셨는지도 간략히 자랑 부탁드립니다..

  • 파이썬: 컴파일러부터 웹 개발까지, 검색엔진부터 그래프 그리기까지 다종다양
  • PHP: 큰 네트워크 관리 시스템
  • 자바: 무선랜 보안 프로토콜 구현
  • 쉘: 의존성이 10개가 넘는 프로젝트의 자동 빌드
  • C: 알파-베타 트리 검색 게임 AI, Mono 프로파일러 플러그인
  • C++: LLVM 오픈 소스 프로젝트 참여 (컴파일러 프론트엔드)
  • 자바스크립트: 직접 짠 AJAX 라이브러리, 추가 가능한 폼 필드 (XForms와 비슷한)
  • TeX: 수업 보고서, 여러가지 조판 실험, API 문서 산출물
  • 해스켈: 간단한 텍스트 파싱
  • OCaml: OCaml 컴파일러 패치 (return 문법 추가)

일단 바로 생각나는 것만 적었습니다.

서상현
  • Python, Ruby: 각종 일회성 스크립트, 웹 페이지 수집기, 웹 개발(TurboGears, RoR)
  • Java, Haskell: 웹 페이지 수집기
  • PHP: 각종 일회성 스크립트, 웹 페이지 수집기, 웹 개발, ORM
  • PL/SQL, PL/pgSQL: 이걸로 할만한 건 하나밖에 없죠?;
  • JavaScript: 주로 MooTools나 Prototype과 함께… e-book 솔루션, 위젯 플랫폼 따위…
  • Io: 스크립트, DB 라이브러리 제작
  • C, Pro*C: DB를 이용한 통계 관련 개발
  • C++: 매우 간단한 해석기 (Boost.Spirit과 함께)
  • Boo: 주로 C# 대용으로 사용 (C#을 별로 좋아하지 않아서)
  • Objective-C: Cocoa로 Mac 어플리케이션 개발
  • Smalltalk (Squeak): 초등학생 동생 프로그래밍 학습용;
  • Perl: 일회성 스크립트
  • J, Scheme, Lua: 그 외에 코드 카타; 정도로만 접함
  • Groovy, D, Common Lisp, Erlang, Scala: 튜토리얼, 레퍼런스로만 보고 해당 언어 기능을 확인하는 코드 이상을 짜본 적 없음;

위에서 웹 페이지 수집기라는 것은 주로 제가 필요해서 특정 사이트를 긁는 것들을 말합니다. 예를 들면 디시인사이드 모 갤러리용 RSS를 만든다던가, 웹툰들을 모아서 본다던가 하는…;

맨 마지막 두 항목에 위치한 언어들로 뭔가 재밌는 것들을 많이 해보고 싶군요.

홍민희
  • '아희' 언어 구현(배포 안함)을 C, Ruby, Haskell로 시도
  • IRC 봇 개발(운영 안함)을 PHP, Python, C, Ruby로 시도
  • 위키 엔진 개발(망함)을 PHP, Python, Ruby로 시도
  • 피드 번역 서비스(개인용), RSS 메타 사이트(망함)를 PHP+Python으로 시도
  • 이런 저런 웹 개발은 PHP로 시도. MetaBBS만 계속 진행중
  • 기타 등등
디토

현재 주로 쓰고 있는 언어는 파이썬(간단한 스크립트부터 웹 개발까지 다양)과 D(static한 것이 필요하거나 큰 프로젝트일 경우)입니다. 두 언어 모두 수천줄 이상의 프로젝트를 몇 개 짜 봤습니다.

C와 C++는 회사 일부터 시작해서 게임이나 자체 템플릿 라이브러리(이것도 만들다 말다 만들다 말다... 해서) 같은 것들을 만들어 봤네요. 이런 저런 용도로 많이 쓰고 개발도 많이 해 봤는데 그다지 편하다는 느낌은 못 받았습니다. 제가 D에 끌린 것도 비슷한 이유 같고요. C#은 문법만 대강 알고, Objective-C는 레퍼런스 봐야 다룰 수 있습니다;

루비는 필요하면 대강 다룰 수 있고, 언어 개발에서 이리 저리 참고했습니다만 자유롭게 갖고 놀 수준은 아닙니다. PHP는 웹 개발에 중점적으로 쓰고 그 이상으로는 절대 쓰지 않습니다. 자바스크립트는 필요할 때마다 잘 쓰고 있지만 별도의 라이브러리를 잘 안 갖다 쓰는 경향이 있습니다. (prototype을 요구하는 라이브러리 때문에 갖다 쓴 적은 있습니다.)

자바는 심각하게 안 해 봐서 Swing이나 JSP 정도 쓸 수 있는 만큼만 하고, 그 이전에는 비주얼 베이직(.NET 말고)을 RAD 용도로 사용했습니다. 델파이도 먼 옛날에 배웠는데 요즘은 안 써서 다 잊어 버렸습니다. 루아는 스크립팅 용도로 C++에 붙여서 좀 써 봤고 내용은 모두 알고 있습니다.

다른 패러다임을 가진 언어로 넘어 가면 스펙트럼이 좀 좁습니다. OCaml은 콘솔 프로그램이라면 어느 정도 만들 수 있지만 딱 그 정도까지고, 하스켈은 배우다가 모나드의 불편함에 좌절한 상태입니다. 프롤로그는 대강 써 본 적은 있지만 심각하게 써 보진 못 했네요. SQL은 필요할 때 쓸 수는 있고 데이터베이스 설계도 대강 대충 합니다만 결정적으로 SQL을 쓸 일이 많지 않습니다. O<-<

난해한 프로그래밍 언어로 넘어 가면 최소한 20개 정도의 언어는 다뤄 봤고 그 중 몇 개는 직접 인터프리터를 짜 봤습니다. 물론 그 중에서 가장 많이 써 본 것은 Befunge 류입니다만 그것도 몇 년 된 일이네요. 아, 아시는 분은 아시지만 저는 버섯이라는 난해한 프로그래밍 언어를 만들고 아희의 개발에 참여한 바 있습니다. 흑역사인듯...

이 밖에 배웠다 까먹었거나 정확히 스펙만 알고 있는 언어로는 FORTRAN 77이나 Boo나 Groovy나 리스프 방언(특히 Scheme)이나 Io나 뭐 그런 것들이 있습니다만 이건 접한 언어로 치기는 좀 그렇네요.

lifthrasiir

저는 C/C++/Java/Haskell 말고는 다 장난감이었네요.

Perl/Python/Ruby는 웹게임만들려고 뒤적거렸고,

Scheme/Lisp은 언어만들려고 뒤적거렸고,

Prolog/Lambda-Prolog는 논문쓰려고 뒤적거렸고,

PHP/Javascript는 게시판 만들려고 뒤적거렸고,

Pascal, Fortran, Smalltalk, Objective-C, Lua, Erlang, Clean은 겨우겨우 책이나 튜토리얼 따라해본 정도?

살펴보니 뭐하나 제대로 한 게 없군요.

semmal

Java : 웹 개발. (SpringFramework,일할때)

Ruby : RubyOnRails (간단한 웹 애플만들면서 놀때,자유롭게 다루거나 라이브러리를 a만들어 본적은 없음)

Python : 비동기 IO 가지고 논적이 있음. 데코레이터 나올때부터 공부를 안했음.

PHP : 웹 개발 (일할때,100% PHP 4!!;;)

Scala : 공부중. (아직도 뭐가 몬지 모르겠ㅇㅁ. @_@)

erlang : 쉘에서 컴파일 된다는 이유로 공부 할려고 함 (하나도 모르겠다는. @_@)

Basic , Fortran : 중학교때 학원에서. --; (전혀 기억 안남)

C,어셈블러 : 대학때 마이크로프로세서 과목때 잠깐.;

JavaScript : prototype-based, 역시 일할때.

Objective-c : Hello Mac 정도 예저 타이핑.

Lisp : elisp (예전 emacs사용할때 잠깐 책보고 쳐봄.=_=)

smalltalk : squeck by example 읽다가 지쳐 포기함. -_-

적다가 보니 제대로 할수 있는게 없군요. 대개 하나는 무지 잘하고 나머지는 여러개 아는 좋은데. 뭐 하나 잘하는 거 없고. 많이 알지도 못하궁. T_T

맹수
  • Python : 일회성 스크립트, 시스템 관리용 스크립트, 언어 제한 없는 과제용, 개인 홈페이지 및 웹개발(django), IronPython이 잘 되면 GUI 개발도 이걸로 할 지 모름
  • PHP : 텍스트큐브 개발용, 옛날에 홈페이지 이걸로 만들었었음
  • C : SP/OS 과목 프로젝트로 징하게 써봄, 몇몇 알고리즘 구현 실습, 로봇 임베디드 프로그래밍 약간
  • C++ : 고딩 때 수박 겉핥기, 현재 다시 공부중
  • Java : 수업 과제용(데이터구조 등)
  • SQL : 뭐 위엣분 말처럼 용도는 하나...
  • Javascript : 당연히 웹개발용으로. 하지만 귀찮아서 프레임웍(mootools 선호)으로 때움. =3=3 SpiderMonkey 등을 활용한 어플리케이션 임베딩에 관심은 있음.
  • Lua : 슈프림커맨더 확장팩용 한글입력기 Mod 만들어봄 (두벌식 오토마타, 유니코드->UTF-8 인코더 구현)
  • C# : 윈도우용 GUI 프로그램 제작용으로 써봄, 문제해결기법 수업 때 AI 구현용으로 써봄.
  • Visual Basic 6 : 소싯적에 이걸로 Win32 API 생짜 프로그래밍한답시고 삽질-_-
  • Lisp/Ocaml : 과제용으로 아주아주 쪼끔만 다뤄봄
  • Objective-C : 대충 어떻게 생겨먹은 건지만 봄
  • Bash : 간단한 일회성 스크립트 몇 개
  • 아희 : 웹용 인터프리터 제작에 일부 참여했지만 이걸로 프로그램 짜본 적은 없다 =3=3
  • TeX : 작년 이후로 모든 과제 리포트에 적용 중
  • Ruby/Perl/Erlang/Haskell/Io/... : 관심만 1g =3=3
아침놀
  • Io, Factor : 예전에 관심 좀.;;;
  • 자바 : 회사일, 웹개발, 플렉스개발. 직장동료들까지 자바의 세계에서 이끌어 나오고 있음. 나름 에반겔리스트;;;
  • 자바스크립트 : 웹개발. 서버측도;;; (웹애플리케이션 설정 스크립팅, REPL서블릿을 통해 자바웹개발에서 RoR 콘솔이나 django-shell와 같은 환경구축...)
  • SQL: : 회사일. 한때 log4plsql등에 빠져봤;;;
  • C : 꼬꼬마때 잡질 좀;;;
  • C++ : 옛날 회사일. MFC/ATL/ActiveX등 개발 끄적. MFC로 나름 이것저것 많이 만들었었;;; VCL개발도 좀;;;
  • Pascal (Delphi) : 음;;; 컴포넌트 조낸 만들고 이상한 애플리케이션도 조낸 만들었던;;; 회사일+개인
  • C# : MFC로 만들었던 개인용 프로그램(일기, 텍스트뷰어...) 이걸로 다시 작성하고 놀았었;;;(윈폼)
  • Ruby : 꼬꼬마적에 (2002년대였나;;;) 부끄러운 게임엔진에 붙여서 스크립팅 엔진으로 하다가 웹개발;;;
  • PHP4 : 묻지마세요-,.-
  • Python : 회사일. 웹개발. Django로 사이트;;; 1.5버젼때 CGI플밍부터 시작했었;;;
  • Perl5 : 관리용 스크립팅, 개인적인 스크립팅, 개인용 프로그래밍...

음;;; 이것저것 손덴건 많네요;;; 그냥 요즘엔 개인적으로는 펄에, 회사일은 자바랑 액션스크립트(플렉스), 글고 파이썬에 정착해서 지내는듯... (회사일도 펄로 스크립팅해서 지탄;;;)

Scheme, CommonLISP, Squeak(Smalltalk), Haskell, Ocaml, Erlang, Lua, Tcl(-_-;;; 은근 재밌답니다;;;), Dylan, Groovy, Boo, Scala, D도 좀 개인적으로 했었;;;

음;;; 어쩐지 적어놓고 보니까 편력기네요;;; 엄청 찝쩍거렸던듯;;;

다시 갖고 놀라면 펄이랑 Factor정도일거 같고.

뭘 할때 임팩트가 컸냐고 여쭤보시면

  • C : GW-BASIC하다가 넘어와서 직교적으로 그렇게 강력한 많은일들(포인터연산, 함수포인터)을 할수있다는게 좋았던거 같아요.
  • Ruby : 객체지향은 클래스가 꼭 있어야 하고 그렇게만 생각하다가(리습이나 CLOS같은것도 모르고 그럴때) 믹스인이나 당시에는 강력했던(지금도 그렇지만) RTTI(이렇게 표현할게요;;; 당시 C++에서 넘어왔던 상태였으니까;;;)가 감동적이었던거 같아요. 그리고 지금도 block이나 그런 부분은 참 멋진거 같아요.
  • CommonLISP : 우왕... 없는건 뭐얌? 바인딩이나 스코프 같은 부분은 대부분의 언어들이 그 부분집합만을 수용하는데 반해서 위키피디아의 해당 페이지를 보는듯한 느낌으로 전부 수용하는점이라든지 뭐 그런;;; 프로그래밍언어에 관심이 많았던 저로서는 나름 그런것들의 집대성으로 느껴졌었던...
  • Ocaml : Haskell 이전에 공부했어서 타입시스템이 충격이었던거 같아염.
  • Factor : 어떤 언어를 공부하고 사용하다보면 어느 순간엔가 언어에 따라서 재사용의 단위나(자바라면 클래스/인스턴스정도겠고, C라면 함수나 구조체 정도겠죠...) 결합의 가능성에 따라서 granularity의 편차도 있겠지만 적정한 응집의 단위나 그런게 어느정도 결정이 나버리는것 같은데요.(루비를 사용하면 어느 순간 do...end 블럭이 참 많다는 생각이 들기도 하고 뭐 그런) 계속해서 블럭들을 쌓아올리는게 가능하다는 생각이 들었던거 같아요.

음... 편력기 맞네;;;

아겔-_-

C : 현재 업이 임베디드 단말에서의 개발이라 가장 많이 사용하고 있는 언어이죠… 또한 수치해석쪽 일도 이 언어를 가지고하고 있습니다.

C++ : 예전에 암호학쪽의 코딩을 이쪽으로 하고 있지만, 개인적으로 OOP개념이랑 저랑 안맞는 듯 해서 실력은 단순히 다룰줄 안다 정도 인 듯 하네요 ㅋ

ASM : 임베디드 단말이 업이고 디버깅할려면 어셈을 알아야 해서… 그리고 컴파일러에 관심이 많아서 이쪽은 왠만큼은 자신있다고 생각은 ‘했습니다만’… 다른분들이 Assembly코드만 놓고 생각지도 못한 최적화를 할때 보면… 좌절을 금치 못합니다.ㅠ.ㅠ

C#, Java : 이건 단순히 다루어본 정도…(Java로는 개임을 만들려고 배웠다는 ㄷㄷ)

Scala : 꽤 재미있는 언어라는 생각이 드는 언어라서 배우고 있는 중입니다.

OCaml : 강력한 패턴 매칭을 사용한 컴파일러를 만들어볼려고 배우고 있는 중인데, IO및 String관련 사용법이 익숙치가 않아서 버벅대고 있는 언어네요…

Erlang : 분산처리시스템에도 관심이 많은지라 현재 분산처리를 이용한 프로젝트와 VM의 ByteCode를 Machine Code로 바꾸는 프로젝트를 진행중입니다. (예전부터 구상하던 건데 MS Research의 Singularity에서 구현해놓은 bartok인가 정확한 이름은 기억안나는데 여기에 필을 받아서) 현재 Scala와 함께 가장 Feel(?)이 꽂혀있는 언어입니다.

COBOL, Fortran : 정보처리기능사2급자격증땜시…(Fortran은 다시 해보고 싶은 언어이긴 합니다만…)

GW-BASIC : 이 언어와 함께 초등학교4학년부터 6학년까지를 보냈다는 … 쿨럭…

Scheme(& LISP) : 개인적으로 SICP책을 통해서 접했던 언어인데, 단순하면서도 복잡하고, 그러면서 그 표현능력에 감탄을 금치못하고 있는 언어입니다. 대신 알면 알수로 심오한 듯해서 아직도 헤메고 있는 중이긴 하지만요… 언젠간 이 언어로 프로젝트를 진행해 보고 싶다는…

PHP, JavaScript : Web Programming… Python : 그냥 다를 줄 아는 정도?? Web Crawler를 만들려고 배우고 있는 중입니다.

정도네요 ㄷㄷ

dyanos

C++: Java보다 1년 늦게 시작했긴 하지만 초등학교 입학과 함께 다루기 시작한 언어이고 고향같이 느껴집니다. 포인터 이해하는 데는 시간이 거의 안 걸렸는데 상속과 동적 바인딩(virtual 키워드) 개념을 이해하는 데 1년 조금 넘게 걸린 것 같습니다. 아무래도 개체지향과 안 친한가 봐요.

Java: JavaScript와 함께 2001년에 시작했지만 C/C++로 갈아탄 뒤 별 신경 안 쓰다가 2005년 대전과학고에서 청강했던 KAIST CS101 AP 때 Java를 사용했던 관계로(http://kldp.org/node/59296) 다시 조금 쓰고 있습니다. KSASF 2008 정보과학 주제탐구에서도 가위바위보 AI 작성용으로 Java+TextPad를 주더군요. (Eclipse를 보통 선호하는데 말이죠. 무거워서 그런가...)

x86-16/32/64 Assembly: int를 제외한 모든 built-in class를 제외한 Java만큼은 편합니다.

Lua/Squirrel: 빠르게 프로그램을 짤 필요가 있으면 사용합니다.

JavaScript: Lua/Squirrel 인터프리터가 없을 때 Lua/Squirrel과 같은 용도로 사용합니다. 사실은 제가 Lua/Squirrel보다 JavaScript를 7년 더 오래 사용한 관계로 JavaScript를 사용해 대부분의 스크립팅 작업을 처리하는 편입니다.

Python/Ruby: 아주 대충 아는 수준입니다.

GW-BASIC: 초등학교 3학년 때 MS-DOS 6.2 한글판, 한글윈도우 3.1과 함께 사용했었습니다. 그냥 고대자료 수집적 괴취미였는데 그 때 Turbo C 1.5와 Turbo Pascal 4.5를 썼던 것으로 기억합니다.

PHP4/5: 초등학교 2학년 또는 3학년 때 처음 접한 것 같습니다. 영진출판사에서 나온 "PHP4 30일 완성"이라는 책으로 시작했습니다. 최근에 마지막으로 만진 건 http://cppig1995.n-pure.net/tszx/cd.php 때문이고(PHP 5 + GD), 게시판이나 그런 건 코딩 안 해봤습니다. 그래서 물론 대충밖에 못합니다.

임수서룬뫼