AMA
- 작성자가 질문을 받을 수 있는 게시판입니다.
- AMA는 Ask me anything (무엇이든 물어보세요)라는 뜻입니다.
Date 17/01/06 13:54:42
Name   T.Robin
Subject   가짜(?) 프로그래머입니다.
밑에 10년차 프로그래머께서 한 분 올리셨길래, 가짜(?) 프로그래머인 저도 한 번 올려봅니다.
(사무실에 혼자 있는 김에 올리는 거기도 하고......)

IT쪽에서 일한지 10년 좀 넘었고, 여러 회사를 돌아다니면서 상품기획, 영업, 마케팅, 엔지니어까지 다 해봤습니다. 지금은 모 동영상 광고 관리 시스템의 오퍼레이터 겸 엔지니어로 일하고 있습니다. 프로그래밍은 원래 컴퓨터가 좋아서 10살경부터 끼적대다가, 이게 가닥이 붙다 보니까 어느새 어딘가에 납품도 하는 경지까지 왔습니다(납품건은 순전히 운이 좋았던 거긴 하지만.......). 프로그래머는 이를테면 취미였다가 투잡이 된 것 같은 느낌인데, 요즘은 거리가 없어서 개점휴업 상태입니다(물론 그렇다고 놀고만 있지는 않습니다).

다룰 줄 아는 언어는 C++과 Object Pascal이 전부입니다. 그나마 Object Pascal은 쓸 일이 없어서 손 놓고 있으니, 실제로는 C++만 쓴다고 봐야겠네요. 웬만하면 Qt 내부에서 다 해결합니다만, 경우에 따라서 boost, curl, libssh2 정도를 함께 사용합니다. 아울러 요즘 나오는/뜨는 언어들(Java, Javascript, Python, Haskell, Rust, Go, Lua, ......) 등은 사실 잘 모릅니다(......OTL). Rust정도는 공부해보고 싶긴 합니다만, 솔직히 손이 잘 가지 않네요.

대학때 전공은 경영학(?!)이었고, 컴퓨터는 순전히 100% 독학으로만 공부했습니다. 그나마 다른 분들하고 다르게 주변에 물어볼만한 선배라고 할만한 사람도 없어서 말 그대로 쌩삽질의 연속이었죠. 알고리즘 같은건 그냥 딴세상 이야기입니다. 구조고 뭐고간에 그냥 앉아서 무턱대로 되게 만들기만 하는 정도 수준입니다.

가장 좋아하는 OS는 리눅스고, 그 중에서 Gentoo Linux를 제일 좋아합니다. 두번째는 미친듯한 경량화(?)를 보여주는 Arch Linux로군요(systemd만 아니면 더 가벼웠을지도 모르겠지만......).

금요일을 맞아 아무 질문이나 받습니다. 질문 주세요. 'o'/



1


베누진A
1. 한 언어를 익히면 다른 언어를 익히는 데에 도움이 되나요(속도가 더 붙나요?)
+ 여러 프로그래밍 언어들 모두 그 논리를 구성하는 데에서 공유하는 공통점이 많나요?

2. 자기에게 필요한 언어를 어떻게 파악하나요?(저는 공대생(전기 송배전)인데도 알아보니 일단 제 전공은 프로그래밍 언어가 그다지 필요하지 않다고 하네요. 하지만 스마트그리드? 같은 것 때문에 혹시 모르죠..)
T.Robin
한 언어를 잘 알아두면 다른 언어를 익힐때 분명히 도움이 됩니다. 제 입장에서는, 모든 절차적 프로그래밍 언어는 표현 방법만 조금씩 다를 뿐이지 결국 변수 선언 → 계산 → 조건별 분기(if) → 반복(for, while, ......)의 형태를 띄고 있는 것처럼 보입니다. 특히나 C-like language(C 또는 C계열의 표현법을 빌어온 언어들)의 경우는 표현법까지 비슷하고요. Qt에 보면 Javascript를 쓰는 경우가 있는데, 이 경우 저도 이쪽이 더 편하겠다 싶으면 가끔 Javascript를 사용합니다.

자기에게 ... 더 보기
한 언어를 잘 알아두면 다른 언어를 익힐때 분명히 도움이 됩니다. 제 입장에서는, 모든 절차적 프로그래밍 언어는 표현 방법만 조금씩 다를 뿐이지 결국 변수 선언 → 계산 → 조건별 분기(if) → 반복(for, while, ......)의 형태를 띄고 있는 것처럼 보입니다. 특히나 C-like language(C 또는 C계열의 표현법을 빌어온 언어들)의 경우는 표현법까지 비슷하고요. Qt에 보면 Javascript를 쓰는 경우가 있는데, 이 경우 저도 이쪽이 더 편하겠다 싶으면 가끔 Javascript를 사용합니다.

자기에게 필요한 언어라...... 전 하나만 죽어라 파서 그 부분은 말씀드리기 어렵네요. 뭐, 특정 목적에 특화된 언어들이 있긴 합니다만 전 그런 것들하고는 거리가 멀어서요. 단지 여러 언어를 공부하다보면 이거다 싶은게 하나씩은 있을겁니다. 특히 요즘처럼 수많은 언어들이 난립(?)하는 춘추전국시대에는 특히 더요.
베누진A
음.. 저는 학교에 다닐 때(이번에 졸업) C, C++, 매트랩을 다 배웠는데 이 중에 매트랩이 제일 편하게 느껴졌어요. 뭔가 표현법이 쉽다고 할까.. 또 그래픽적으로도 더 쉽게 표현되는 것 같고, 블럭 다이어그램(?) 같은 것도 있었던 것 같아요.

매트랩이 C, C++보다 더 우월한/진보된 언어인가요?
T.Robin
모든 언어는 각자의 특성을 갖고 있고, 요즘은 한 언어가 다른 언어의 특징을 흡수하는 경향도 있어서, 한 언어가 다른 언어에 대해 절대우위를 가진다고 말하기가 어렵습니다. 특히나 매트랩처럼 특정 분야에 사용되도록 만들어진 언어를 일반 절차 프로그래밍 언어와 비교하는건 "F-15가 좋니, 아니면 횡성한우가 좋니?"라고 물어보는 것처럼 비교라는 것 자체가 성립되지 않을 것 같습니다.

그냥 자기 취향에 맞는 언어를 쓰는게 제일 좋습니다. 매트랩이면 충분히 대중적이기도 하고요.
사실 제가 제일 좋아하는 언어는 Object Pascal입니다만 요즘은 이걸 쓰는 곳이 거의 전멸상태라 그냥 C++로 그러려니...... 하고 있습니다.
April_fool
Matlab은 행렬이라는 영역에 특화된 ‘특정 영역 특화 언어’(Domain-specific language)입니다. (https://en.wikipedia.org/wiki/Domain-specific_language 참고) Matlab이 그 분야에서는 C나 C++보다 특정한 부분에서 우월하다고 할 수 있지만, 다른 분야에서는 그렇지 못하지요.
베누진A
죄송하지만 마지막으로 질문 하나 더 해도 될까요?

절차적 프로그래밍 언어 말고 다른 종류의 언어들이 무엇무엇이 있을까요? 큼직큼직한 프로그래밍 언어의 분류체계를 간략히만 설명해주시면 정말 고맙습니다^^
T.Robin
위에 말씀드렸지만 제가 프로그래밍을 각잡고 정석으로 배운게 아니라서 제가 그런걸 말씀드리긴 부담스럽고......
만한해보이는(?) 링크 한 개와 좋아보이는(?) 링크 한 개 보내드립니다.
https://namu.wiki/w/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%20%EC%96%B8%EC%96%B4
https://en.wikipedia.org/wiki/List_of_programming_languages_by_type
베누진A
답변 정말 고맙습니다^^
April_fool
프로그래밍 언어의 종류는 굉장히 많습니다. 예를 들면 [Factor]라는 특이한 언어가 있는데, 이 녀석은 홈페이지에 자신의 종류를 “Concatenative programming language”라고 소개하고 있지요. 근데 이 용어 자체를 처음 들어보시는 현업 프로그래머 분들이 많으실 겁니다. 그 정도로 프로그래밍 언어의 종류는 많습니다. 질문하신 내용은 종류라기보다는 프로그래밍의 각종 패러다임이라고 봐야 할 것 같은데, 이게 그나마 잘 정리된 곳은 제가 아는 한에서는 역시 T.Robin님이 링크하신 영문 위키백과 정도뿐인 듯 합니다.
베누진A
친절한 답변 고맙습니다!^^
해질녘
Qt 괜찮은가요?
가벼운(?) 프로그램 하나 만들려고 계획중인데, full javascript web-app으로 만들지를 두고 고민중이거든요.
C++알못입니다. ㅋㅋ
T.Robin
저는 Qt를 가장 Java스럽게 C++ 프로그래밍을 하도록 만든 환경이라고 생각합니다. 정말로 참 쓰기 편하게 만들어놨어요. 뭐, C++을 밑바닥까지 파신 분들께는 거부감이 들지도 모르겠습니다만......

Qt 외에도 wxWIdgets나 ICU같은 것도 도전해봤습니다만, 현재 가장 높은 생산성을 보여준건 Qt입니다. 아무리 빠져나오려고 발악을 해도 결국에는 Qt로 돌아오더군요. 단지 그 높은 생산성으로 인해 일부 부분에서 퍼포먼스가 상대적으로 떨어지는 경우도 있습니다만, 그건 뭐 근성으로 어떻게든 해봐야겠죠(......).
... 더 보기
저는 Qt를 가장 Java스럽게 C++ 프로그래밍을 하도록 만든 환경이라고 생각합니다. 정말로 참 쓰기 편하게 만들어놨어요. 뭐, C++을 밑바닥까지 파신 분들께는 거부감이 들지도 모르겠습니다만......

Qt 외에도 wxWIdgets나 ICU같은 것도 도전해봤습니다만, 현재 가장 높은 생산성을 보여준건 Qt입니다. 아무리 빠져나오려고 발악을 해도 결국에는 Qt로 돌아오더군요. 단지 그 높은 생산성으로 인해 일부 부분에서 퍼포먼스가 상대적으로 떨어지는 경우도 있습니다만, 그건 뭐 근성으로 어떻게든 해봐야겠죠(......).

아울러 여담입니다만, Qt가 아무리 느리다 한들, 그래도 딴에는 컴파일러라, Javascript보단 훨씬 빠르게 동작합니다. 미친척하고 스파게티 코드로 만들지 않는 한, Javascript를 JIT compiler로 돌려도 C++의 수행속도를 못 쫓아오더군요.

그러나저러나 full Javascript면 Node.js를 고려하시는 건가요?
해질녘
github jekyll로 돌릴 수 있는 정도 규모입니다.
Qt 살펴봤는데, GPL 라이센스가 조금 걸리네요.
물론 익히는 것도 문제(?)
T.Robin
아. 참고로 Qt 4.5부터는 LGPL입니다. 중간에 5.X 어딘가에서 LGPL 2.1에서 3으로 옮기긴 했는데, 언제인지는 가물가물하군요.
참고로 5.7부터 Qt Commercial에만 있던 모듈이 Open Source Edition에 포함되었는데, 이것들은 GPL만 적용됩니다.
은채아빠
질문은 아닌데... 남겨주신 내용을 보고 있자니 저야말로 가짜 프로그래머같네요 ㅎㅎㅎㅎ ㅠㅠ
T.Robin
원래 빈 수레가 요란한 법입니다.
어떻게 하면 제 연봉이 오를까요?
T.Robin
월급쟁이에겐 돈 많이 준다는 곳으로 이직하는게 가장 빠른 방법인 것 같습니다. 아니면 모든 위험을 감수하고 자기 사업을 하거나요. 사업가가 돈을 많이 버는건 자신이 그만큼 감수한 위험에 대한 보상이라고 하죠(이론상으로는 그렇습니다 - 최소한 재무관리에서는 그렇게 설명하지요).

그리고, 돈 많이 준다는 곳이 없으면...... 글쎄요. 그 때는 다음의 세 가지를 고민해봐야 하지 않을까 합니다.
1) 내가 생산할 수 있는 부가가치가 어느 정도인가
2) 이 부가가치를 늘리려면 어떻게 해야 하는가
3) 혹시 다른 쪽에서는 내가 더 큰 부가가치를 생산할 수 있지 않을까
장난스런 짧은 질문에 성실한 답변을 주셨네요.
감사합니다.
T.Robin
이런 이제보니 홍차넷 운영진인 Toby님! OTL
April_fool
Object Pascal을 좋아하신다면, Delphi로는 뭘 만들어 보셨나요?
T.Robin
사실 델파이로는 뭔가 제대로 된 걸 만들어본 적이 없고, Lazarus로 보고서 심리검사 결과 보고서 작성 프로그램을 만들어서 모 병원에 납품한 적이 있습니다. 친구가 그 병원에 있어서 운좋게 만들었습니다(제대로 짜려면 심리학 지식도 좀 필요해서......). 원래는 이건 그냥 중간단계고 결국에는 웹으로 갈거네 뭐하네 하더니 결국 몇년째 쓰는 것 같더군요. -_-;
Robin은 멤버 변수인가요
T.Robin
Template static입니다......라고 말하고 싶지만 그러려면 T::Robin이 되어야 하겠군요. -_-;
원래 제가 쓰는 영문 이름이 Robert Teminian인데, 이걸 그냥 줄이다가 T.Robin이 되었습니다.
fancug에서 본적이 있는 분이군요 ㅋㅋㅋㅋ
자게에서 개발 이야기를 하는걸 본 적이 있어요!
T.Robin
어허 여기서 그렇게 천기를 누설하시면...... -o-;
전 절대 본업이 프로그래머가 아닙니다. 전 가짜에요. 가짜.
ㅋㅋㅋㅋㅋ 거기 자주 가진 않았는데 기억나는 이유가,
자게에 올라온 FizzBuzz 문제를 저가 Obj-C로 풀어서 reply를 남겼었는데, 나중에 T.Robin님 글에 언급이 되어서 기억을 하고 있었심다!
목록
번호 제목 이름 날짜 조회 추천
2009 감자튀김 먹고싶읍니다 32 [익명] 22/07/12 2304 0
1647 감량 중입니다. 12 똘빼 20/08/23 3443 4
637 간헐적(?) 알콜중독자입니다. 12 [익명] 17/06/30 4560 0
317 간만에 휴일이라 질문받아보려 합니다 43 1일3똥 16/09/26 6058 0
1783 간만에 오후가 한가합니다 놀아주세요 46 나단 21/04/01 3604 0
1091 간만에 AMA 해봅니다 23 여름 18/09/20 4432 0
260 각종 알바경험 다수/연애경험다수 29살 남자 18 [익명] 16/07/01 6949 0
446 가짜(?) 프로그래머입니다. 27 T.Robin 17/01/06 6827 1
1123 가짜(-_-) 프로그래머입니다 35 T.Robin 18/10/16 5976 0
907 가장 일반적인 경로로 미국에 정착했습니다 34 [익명] 18/04/07 5857 0
1399 가장 먼저 등교하는 학생이었습니다. 32 [익명] 19/08/14 4146 0
1148 가입기념 AMA 받아요 22 [익명] 18/11/09 4168 0
1168 가입기념 AMA 받습니다! 42 [익명] 18/11/21 4559 0
1645 가입 후 AMA~ 25 레이첼 로즌 20/08/12 3163 0
2201 가입 1달차 입니다. 아무렇게나 해보겠습니다 12 [익명] 24/08/08 1270 0
888 가상화폐로 70억이상 벌었습니다. 114 [익명] 18/03/15 34312 0
628 가상화폐 3달째 투자 중입니다. 32 [익명] 17/06/19 6418 0
635 가상통화 (이더리움) 채굴하고 있습니다 -_-v 77 CONTAXS2 17/06/29 6313 0
2044 가상인간을 만들고 있습니다. 26 메타휴먼 22/10/21 2465 0
1112 가방끈 짧은 intp입니다. 18 [익명] 18/10/05 5808 0
144 가라 기초수급자 가정입니다. 13 [익명] 15/12/30 6904 1
1281 가고시마 여행 왔습니다 34 에텔레로사 19/02/27 4912 0
1685 Z폴드2 실사용기 1주차 AMA 30 [익명] 20/09/21 3234 0
748 watcha 별점 3519 총 6420 시간입니다 13 [익명] 17/10/20 4354 0
230 UN 평화유지군 파견 나와있습니다 24 [익명] 16/06/01 5290 1
목록

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글

댓글
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기