- 작성자가 질문을 받을 수 있는 게시판입니다.
- 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
이 게시판에 등록된 T.Robin님의 최근 게시물
|
한 언어를 잘 알아두면 다른 언어를 익힐때 분명히 도움이 됩니다. 제 입장에서는, 모든 절차적 프로그래밍 언어는 표현 방법만 조금씩 다를 뿐이지 결국 변수 선언 → 계산 → 조건별 분기(if) → 반복(for, while, ......)의 형태를 띄고 있는 것처럼 보입니다. 특히나 C-like language(C 또는 C계열의 표현법을 빌어온 언어들)의 경우는 표현법까지 비슷하고요. Qt에 보면 Javascript를 쓰는 경우가 있는데, 이 경우 저도 이쪽이 더 편하겠다 싶으면 가끔 Javascript를 사용합니다.
자기에게 ... 더 보기
자기에게 ... 더 보기
한 언어를 잘 알아두면 다른 언어를 익힐때 분명히 도움이 됩니다. 제 입장에서는, 모든 절차적 프로그래밍 언어는 표현 방법만 조금씩 다를 뿐이지 결국 변수 선언 → 계산 → 조건별 분기(if) → 반복(for, while, ......)의 형태를 띄고 있는 것처럼 보입니다. 특히나 C-like language(C 또는 C계열의 표현법을 빌어온 언어들)의 경우는 표현법까지 비슷하고요. Qt에 보면 Javascript를 쓰는 경우가 있는데, 이 경우 저도 이쪽이 더 편하겠다 싶으면 가끔 Javascript를 사용합니다.
자기에게 필요한 언어라...... 전 하나만 죽어라 파서 그 부분은 말씀드리기 어렵네요. 뭐, 특정 목적에 특화된 언어들이 있긴 합니다만 전 그런 것들하고는 거리가 멀어서요. 단지 여러 언어를 공부하다보면 이거다 싶은게 하나씩은 있을겁니다. 특히 요즘처럼 수많은 언어들이 난립(?)하는 춘추전국시대에는 특히 더요.
자기에게 필요한 언어라...... 전 하나만 죽어라 파서 그 부분은 말씀드리기 어렵네요. 뭐, 특정 목적에 특화된 언어들이 있긴 합니다만 전 그런 것들하고는 거리가 멀어서요. 단지 여러 언어를 공부하다보면 이거다 싶은게 하나씩은 있을겁니다. 특히 요즘처럼 수많은 언어들이 난립(?)하는 춘추전국시대에는 특히 더요.
모든 언어는 각자의 특성을 갖고 있고, 요즘은 한 언어가 다른 언어의 특징을 흡수하는 경향도 있어서, 한 언어가 다른 언어에 대해 절대우위를 가진다고 말하기가 어렵습니다. 특히나 매트랩처럼 특정 분야에 사용되도록 만들어진 언어를 일반 절차 프로그래밍 언어와 비교하는건 "F-15가 좋니, 아니면 횡성한우가 좋니?"라고 물어보는 것처럼 비교라는 것 자체가 성립되지 않을 것 같습니다.
그냥 자기 취향에 맞는 언어를 쓰는게 제일 좋습니다. 매트랩이면 충분히 대중적이기도 하고요.
사실 제가 제일 좋아하는 언어는 Object Pascal입니다만 요즘은 이걸 쓰는 곳이 거의 전멸상태라 그냥 C++로 그러려니...... 하고 있습니다.
그냥 자기 취향에 맞는 언어를 쓰는게 제일 좋습니다. 매트랩이면 충분히 대중적이기도 하고요.
사실 제가 제일 좋아하는 언어는 Object Pascal입니다만 요즘은 이걸 쓰는 곳이 거의 전멸상태라 그냥 C++로 그러려니...... 하고 있습니다.
Matlab은 행렬이라는 영역에 특화된 ‘특정 영역 특화 언어’(Domain-specific language)입니다. (https://en.wikipedia.org/wiki/Domain-specific_language 참고) Matlab이 그 분야에서는 C나 C++보다 특정한 부분에서 우월하다고 할 수 있지만, 다른 분야에서는 그렇지 못하지요.
위에 말씀드렸지만 제가 프로그래밍을 각잡고 정석으로 배운게 아니라서 제가 그런걸 말씀드리긴 부담스럽고......
만한해보이는(?) 링크 한 개와 좋아보이는(?) 링크 한 개 보내드립니다.
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
만한해보이는(?) 링크 한 개와 좋아보이는(?) 링크 한 개 보내드립니다.
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
프로그래밍 언어의 종류는 굉장히 많습니다. 예를 들면 [Factor]라는 특이한 언어가 있는데, 이 녀석은 홈페이지에 자신의 종류를 “Concatenative programming language”라고 소개하고 있지요. 근데 이 용어 자체를 처음 들어보시는 현업 프로그래머 분들이 많으실 겁니다. 그 정도로 프로그래밍 언어의 종류는 많습니다. 질문하신 내용은 종류라기보다는 프로그래밍의 각종 패러다임이라고 봐야 할 것 같은데, 이게 그나마 잘 정리된 곳은 제가 아는 한에서는 역시 T.Robin님이 링크하신 영문 위키백과 정도뿐인 듯 합니다.
저는 Qt를 가장 Java스럽게 C++ 프로그래밍을 하도록 만든 환경이라고 생각합니다. 정말로 참 쓰기 편하게 만들어놨어요. 뭐, C++을 밑바닥까지 파신 분들께는 거부감이 들지도 모르겠습니다만......
Qt 외에도 wxWIdgets나 ICU같은 것도 도전해봤습니다만, 현재 가장 높은 생산성을 보여준건 Qt입니다. 아무리 빠져나오려고 발악을 해도 결국에는 Qt로 돌아오더군요. 단지 그 높은 생산성으로 인해 일부 부분에서 퍼포먼스가 상대적으로 떨어지는 경우도 있습니다만, 그건 뭐 근성으로 어떻게든 해봐야겠죠(......).
... 더 보기
Qt 외에도 wxWIdgets나 ICU같은 것도 도전해봤습니다만, 현재 가장 높은 생산성을 보여준건 Qt입니다. 아무리 빠져나오려고 발악을 해도 결국에는 Qt로 돌아오더군요. 단지 그 높은 생산성으로 인해 일부 부분에서 퍼포먼스가 상대적으로 떨어지는 경우도 있습니다만, 그건 뭐 근성으로 어떻게든 해봐야겠죠(......).
... 더 보기
저는 Qt를 가장 Java스럽게 C++ 프로그래밍을 하도록 만든 환경이라고 생각합니다. 정말로 참 쓰기 편하게 만들어놨어요. 뭐, C++을 밑바닥까지 파신 분들께는 거부감이 들지도 모르겠습니다만......
Qt 외에도 wxWIdgets나 ICU같은 것도 도전해봤습니다만, 현재 가장 높은 생산성을 보여준건 Qt입니다. 아무리 빠져나오려고 발악을 해도 결국에는 Qt로 돌아오더군요. 단지 그 높은 생산성으로 인해 일부 부분에서 퍼포먼스가 상대적으로 떨어지는 경우도 있습니다만, 그건 뭐 근성으로 어떻게든 해봐야겠죠(......).
아울러 여담입니다만, Qt가 아무리 느리다 한들, 그래도 딴에는 컴파일러라, Javascript보단 훨씬 빠르게 동작합니다. 미친척하고 스파게티 코드로 만들지 않는 한, Javascript를 JIT compiler로 돌려도 C++의 수행속도를 못 쫓아오더군요.
그러나저러나 full Javascript면 Node.js를 고려하시는 건가요?
Qt 외에도 wxWIdgets나 ICU같은 것도 도전해봤습니다만, 현재 가장 높은 생산성을 보여준건 Qt입니다. 아무리 빠져나오려고 발악을 해도 결국에는 Qt로 돌아오더군요. 단지 그 높은 생산성으로 인해 일부 부분에서 퍼포먼스가 상대적으로 떨어지는 경우도 있습니다만, 그건 뭐 근성으로 어떻게든 해봐야겠죠(......).
아울러 여담입니다만, Qt가 아무리 느리다 한들, 그래도 딴에는 컴파일러라, Javascript보단 훨씬 빠르게 동작합니다. 미친척하고 스파게티 코드로 만들지 않는 한, Javascript를 JIT compiler로 돌려도 C++의 수행속도를 못 쫓아오더군요.
그러나저러나 full Javascript면 Node.js를 고려하시는 건가요?
월급쟁이에겐 돈 많이 준다는 곳으로 이직하는게 가장 빠른 방법인 것 같습니다. 아니면 모든 위험을 감수하고 자기 사업을 하거나요. 사업가가 돈을 많이 버는건 자신이 그만큼 감수한 위험에 대한 보상이라고 하죠(이론상으로는 그렇습니다 - 최소한 재무관리에서는 그렇게 설명하지요).
그리고, 돈 많이 준다는 곳이 없으면...... 글쎄요. 그 때는 다음의 세 가지를 고민해봐야 하지 않을까 합니다.
1) 내가 생산할 수 있는 부가가치가 어느 정도인가
2) 이 부가가치를 늘리려면 어떻게 해야 하는가
3) 혹시 다른 쪽에서는 내가 더 큰 부가가치를 생산할 수 있지 않을까
그리고, 돈 많이 준다는 곳이 없으면...... 글쎄요. 그 때는 다음의 세 가지를 고민해봐야 하지 않을까 합니다.
1) 내가 생산할 수 있는 부가가치가 어느 정도인가
2) 이 부가가치를 늘리려면 어떻게 해야 하는가
3) 혹시 다른 쪽에서는 내가 더 큰 부가가치를 생산할 수 있지 않을까
목록 |
|