강력한 프로그래밍 언어의 조건?

권순선의 이미지

http://slashdot.org 에 흥미로운 이야기거리가 올라와서 이곳에 그대로 옮겨 봅니다. slashdot의 기사내용은 관련 링크를 참조하십시오.

A not-so Anonymous Coward queries: "My company is about to start development on a new project, and I have to decide on a language and development environment. My boss gave me a set of criteria which needs to be filled: intuitive and easy to use IDE; simplified GUI design and event handling; advanced error handling; advanced object oriented design including multiple inheritance, abstract classes, and garbage collection; full support for operator and function overloading; and portable (at compile-time) across various platforms. I have already looked at C++, Java, C++, C#, Eiffel, and even VB.net; I may be missing something but as far as I can tell all of these languages are missing something from this list. Is there a language available that has all of these features? I thought that someone from Slashdot would be able to point me in the right direction?" If you were to design a language from the ground up, what features would you include and why?

익명 사용자의 이미지

이 글을 만족하는 언어의 구현은 이미 아주 먼옛날에 존재했었습니다.(스타워즈가 아주 먼 옛날얘기라는것은 아시죠?) 알려진 바로는, C3PO와 R2D2가 있었지요.(혹시, 더 훌륭한것이 있었는지는 현존하는 기록에 없음-.-;)
근데 그때 기술이 지금 어디로 갔는지...... 아무도 몰라요. 죠지 루카스가 어디로 갔는지 갈켜줄라나?
-----------
한마디로 : AI의 성공(꿈?) 끝에 나온 언어.

익명 사용자의 이미지

아니다

익명 사용자의 이미지

닥쳐

Purple_의 이미지

고수님들의 의견은 많이 보았습니다...
근데여... 처음 글을 쓰신 분이 말씀하시고자 한게... 특정 언어가 좋다라거나 한게 아니지 않나요?? 언어가 가져야 할 기본적인 것들에 대해 말한것 같은데요...
예를 들어서 목적이 땅을 파는 것이라고 합시다..
A라는 사람은 손으로 땅을 파고
B라는 사람은 삽으로 땅을 파고
C라는 사람은 포크레인으로 땅을 판다고 칩시다..

A는 느린 대신 아주 정교하게 땅을 팔수 있겠죠..
B는 A보다 빠르지만 정교할순 없죠 글구 C보다 느리고..
C는 속도면에선 뛰어나지만 원하는 크기나 모양을 만들긴 어렵습니다... 이것보다 더 다른점들이 있겠지만... 대표적으로 예를 들어서여...

언어도 마찬가지라고 생각합니다.. 어셈으로 땅을 파면 아주 정교하게 팔수있겠지요.. OOP로 땅을 파면 포크레인으로 땅을 파는것과 같다고 할 수 있습니다...

하지만 실생활에서는 포크레인으로 판 후에 손으로 다지기를 한다든지 해서 보정이 가능하지만 언어는 그렇지 않죠... 특정 언어로 개발된걸 다른걸로 바꾼다.. 쉽진 않죠 ^^; 그래서 필요한것이 강력한 언어.. 즉 첨엔 멀로 시작하든 포크레인이든 삽이든 손이든... 나중에 결과물은 어떠한 도구로든 바꿀수 있게.. 수정이 가능하게 하는 그런게 필요하다는 말이지 않나...........

좀 횡설 수설 한거 같지만여....
저두 그런게 있음 정말 좋을거란 생각을 했습니다...
자바로 하든 C/C++ 이든 머든간에 가장 효과적으로 작업을 하고 버그나 오류가 났을경우 어떠한 도구로도 수정이 가능한...

익명 사용자의 이미지

프로그래머라면 강력한 프로그램 언어를 원하죠...

특히, 실무자들의 입장에서는 매우 절실하기까지 합니다. 사실 저같은 경우 프로그래밍 언어에서 어떤 신비한 그런 기능이나 인공지능형이라든가 그런것을 원하지 않습니다. 이런 것들이 실제 프로그램을 개발하고 제품을 사용자들에게 넘길때 숨통을 조여오게 되는 경우가 많기 때문입니다.

저만 그런지 아니면 다른 분들도 그런지는 모르지만 프로그래밍 언어를 사용해서 프로그램을 개발할 때 컴퓨터와 저 사이에 프로그래밍 언어가 너무 많은 거리를 만들면 웬지 불안해지는 느낌을 받게됩니다. 컴퓨터를 컴퓨터란 놈으로 확실히 느끼면서 프로그램을 개발할 수 있게 해주는 언어가 가장 안심이 되는 것은 왜일까요?

제 생각이지만 실무자들에게는 항상 자신이 만든 프로그램에 대한 책임이 따르기 때문일 것입니다. 흔히 리눅스에서 배포되는 많은 프로그램들이 - 이러한 내용에 대해 리눅스를 비난하는 것이 절대 아님을 밝힙니다 - 본 프로그램에 의해 생긴 피해에 대해 프로그램 개발자는 책임이 없다고 밝히므로써 상당한 책임감을 덜어버릴 수는 있지만 실제 직업적으로 프로그램을 개발 해서 책임을 지고 소프트웨어를 개발하는 개발자들에게는 실험적인 언어라든가 너무 많이 알아서 처리하는 프로그래밍 언어는 불안한 경우가 많습니다. 왜냐하면 자신이 해결할 수 없는 알 수 없는 어떤 상황에 처할 수도 있기 때문입니다.

프로그래밍을 어느정도 즐기며 하는 분들에게 있어
(나 자신) - X - (컴퓨터)에서 X는 자신에게 즐거움을 줄 수 있는 그런 것으로 느껴질지 모르지만
상당한 권한(?)과 책임을 가지고 있는 실무자의 입장에서 이 X는 반드시 사라져 주기를 바라는 그런 것이기도 합니다.

주제인 강력한 프로그래밍 언어의 조건으로 돌아가서 아마 아주 강력한 프로그래밍 언어가 되려면 바로 이 X가 아주 큰 신뢰도를 가지고 있으며 또한 강력한 언어라는 뜻으로 생각됩니다. 제 생각에는 X는 아주 유연하고 아주 투명해서 나 자신이 컴퓨터를 직접 바라볼 수도 있고 나 자신과 컴퓨터 사이에 아주 다양한 형태로 끼워 넣을 수 있었으면 합니다. MFC는 그런면에서 컴퓨터를 너무 많이 가려버려 오히려 저를 불안하고 초조하게 만드는 경우가 많았습니다.

장황하게 떠들었는데 여전히 제 설명은 부족하군요... 다른분들은 어떻게 생각하시나요?

권순선의 이미지

본 사이트에 방문자가 늘어나면서 서로간에 좋은 정보교환의 장으로 거듭날 수 있는 토론 주제도 지각없는 몇몇 사람들에 의해 흙탕물이 되어 버리는 경우를 더이상 막기 위해 사이트 개편을 고려중입니다. 답글에 대해 사용자 혹은 관리자가 점수를 설정할 수 있도록 하고 사용자는 일정 수준 이상의 점수를 획득한 답변만을 필터링하여 볼 수 있도록 정의할 수 있습니다. 대신 사용법이 좀 복잡해지는 단점이 있겠지요. http://geekforum.kldp.org/stories.php?story=02/02/18/6324471 에서 논의중이니 이미 늦었긴 합니다만 더이상의 싸움은 이쯤에서 그만들 해 주시기 바랍니다.

익명 사용자의 이미지

난 한국이 싫습니다.

모두가 모두를 비판하기 때문이죠.

욕만 서로 왔다갔다 하다가 배는 산으로 갑니다...

손바닥만한 나라에 사는 사람들끼리 살아가는 자세도 손바닥만한...

이 글에 욕하는 거 말리지 않겠습니다..

어차피 한국인들은 욕으로 먹고 사니까 다 이해합니다.

익명 사용자의 이미지

그래.. 미국은 서로 욕안하죠..
우리나라만 더럽습니다.
베틀넷에서 우리나라만 욕하죠

익명 사용자의 이미지

난 중국사람에게 욕 무진장 먹었는데 (T_T)

익명 사용자의 이미지

입맛이 쓰네요...
좋은 토론이 될 수도 있었을 것을
쓸 때없는 쓰레드들...도대체 주제와 관계없는
한글, 이기 논쟁에 쓰레드가 주악 붙는 건
왜일까요?? 약방의 감초처럼...
또 언제나 등장하는 "탁상 공론이네... 깡통에
허접이네..." -우리나라 사람들 남 평가하는 거
잘하죠. 그래야 자기가 더 고수처럼 보이나요?
아래 자바와 관련하여 좋은 글도 많았는데 전부
도매금으로 쓸데없는 탁상 공론으로 넘어가 버리는
것 같아 정말 입맛이 쓰군요.

익명 사용자의 이미지

흐이구,,,,
머 괜찮은 글도 있기는 하지만,
한두개 뿐이군요..

글들을 보니까,
조선시대 이기론 논쟁을 하시는군요.

뜬구름 잡고 말장난 밖에 더 되겠습니까.

돌팔이의 이미지

이기론 논쟁이 말장난이라뇨.

주기론과 주리론의 논쟁은 결코 무의미한게 아니랍니다.
"부조리한 현실을 개혁하기 위해 인간의 본성을 고찰한 결과

주리론에서는 선한 본성인 사단은 이가 발동한 것이고
선과 악이 섞여 있는 칠정은 기가 발동한 것이라고 판단,
존재의 본질 회복을 목적으로 하는 수양철학으로 기울었고

주기론은 사단과 칠정은 모두 기가 발동한 것이며
사단은 칠정 가운데 선한 측면만을 가리키는 개념에 불과하다고 판단,
실체적인 기를 중시해 현실의 개혁에 치중하는 실천철학으로 흘렀습니다.

예송은 왕실의 정통성을 판별하는 권력투쟁이죠.

호락논쟁이라면 또 모를까. 이건 인간의 본성과 동,식물의 본성이 같냐
다르냐에 대한 논쟁인데... 성리학에 대한 이론적탐구의 절정이지만
세계관이나 인간관의 발전에 별 도움이 안되는 사변적 논쟁이었답니다.

익명 사용자의 이미지

허걱, 이기론은 동양철학의 정수라고 배웠는데요.
그렇게 따지면 모든 인문학이 뜬구름 잡는 말장난이게요...

뭐, 제가 허접이라 그런진 몰라도... 한번쯤 언어자체에 대해 생각해 볼 수 있는 기회가 좋았는데요.

그리고 한심하단 소리는 누구나 합니다. 특히 한심한 인간이 그런소리는 잘하더군요. :)

slayer의 이미지

주제와는 벗어난 이야기지만..
이 토론을 보면서 느낀 것은 진정한 토론자로서의 자세가 많은 분들이 미흡한게 아닌가하는 생각이 들더군요..
전적으로 감정을 배제해야하는 상황에서 상대방을 무시하는 언사를 자주 볼 수 있었으니..
더군다나, 그런 글을 쓰는 사람들은 죄다 Anonymous라..-_-;
이러한 토론 태도는 제대로 된 토론을 만들지 못하고, 이런 토론은 무용하다는 이야기가 나오게 하는게 아닐까요?
윗 분의 비꼬는 말투를 보고 한 번 써봤습니다..

익명 사용자의 이미지

바로 앞글 적은 사람인데요...

이메일하나 적은게 뭐 그리 대단한가요?
어차피 익명인건 마찬가지 아닙니까? 게시물 이름에 자기 실명 적지 않는이상....
단지 귀찮아서 안 써온 거지 익명성에 기대고자 한건 아니었습니다...

물론 비꼬아서 쓴건 뭐, 할말없지만... 처음 쓰신분의 태도가 아니꼬와서 그런거지 anony로 하지 않았어도 똑같은 말을 적었을 겁니다.

하나만 더 하자면 '더군다나, 그런 글을 쓰는 사람들은 죄다 Anonymous라..-_-;' 를 보니 님도 뭐, 진정한 토론자로서의 자세는 미약하네요.

slayer의 이미지

Anonymous인 것과 아이디가 그래도 있는 것과는 글을 신뢰하는데 있어서 천지 차이 아닙니까..
다 똑같은 Anonymous이면 누가 어떤 글을 썼는 지도 모르고, 반박을 할 때도 사람들이 헷갈려하죠..
(아래 그런 예들이 있더군요..)
물론, 익명을 이용해서 평소에 하기 힘든 이야기도 할 수 있는게 사실이지만..
문제는 그 이야기들을 하면서 평소에 쓰기 힘든 격한 언어들까지도 익명성을 이용해 쓴다는 거죠..
그렇게 되면, 감정문제가 나오면서 토론은 초점을 빗나가게 되고..
제 경험상으로도, 익명성을 보장한 게시판의 말로는 참으로 비참했습니다..
(사실 원래 집단 소속원들의 갈등이 있었기에 그런거지만..-_-;)
사실 익명 게시판만의 문제가 아니라 대부분의 우리나라 통신 상의 토론이 비슷한 구도로 흘러가는거긴 합니다만..
저런 Anonymous 아이디가 그런 점을 더 심화 시키는건 사실입니다..
에구..이거 여기다 이런글 계속 적어도 되나 모르겠는데..-_-;
아무튼, 제 글 보시고 화가 나셨다면 죄송합니다..
뭐 저도 님말대로 미약한 인간이라..-_-;
글에 가시가 있는건 당연하겠지요..
그러나, 보면서 느낀 것 하나는 말할 수 있다고 보여지기에 한 마디 해봤습니다..
그럼 안녕히..

익명 사용자의 이미지

누군가를 공격하기 위해서 그 사람이라는 표식이 필요하다는 뜻인가요?

아래 그런 예라 해서 찾아봤는데 혹시 syejin이라는 님의 혼동을 두고 하시는 말인가요?
제가 볼때는 그분이 처음부터 중간에 잘못 끼어들어서 엉뚱한 소리만 해버린 것 같던데요.

익명 사용자의 이미지

나름대로 Anonymous인것도 재미있습니다.
자기 이멜등이 감춰졌다고 아마도 그렇게도 고상하셨을 분들께서
그렇게 실제 속내에 조금 더 가까운 말들을 하셨을테니
많은 사람들의 실상은 더 비참할지도 모른다는 생각이 드니까요.

익명 사용자의 이미지

OOP의 단점이라면 프레임워크가 잘 구축되어 있지 않는 상황이라면 거의 죽음이라는 것이죠.

프레임워크가 잘 구축되어 있는 경우, 예를 들어 자바나 ObjC(Cocoa, NeXTSTEP)같은 경우는
대부분의 경우에는 프레임워크에서 지원하는 기능만을 가지고 잘 만들어 낼 수 있지만
신기술내지 완전히 새로운 아이디어등 즉 프레임워크에는 없는 기능을 구현할려면 역시 힘들어지겠죠.
OOP지만 그리 편하지만은 않을 것이라는 뜻이죠.
즉 상업적프로그램 그러니깐 팔릴만한 프로그램을 만들려면 "OOP+하드코딩"이 필요하게 되겠죠.
남들이 다 구현할 수 있는것만 딸랑 만들면 팔리겠습니까? -_-
레고 장난감 가지고 놀아보시면 알겠지만 새로운 블럭을 만들어서 끼우지 않으면(실제로 그런 사람은 없죠. 있을래나?)
결과물의 모양이 다 네모들로 이뤄집니다. 그러니깐 모양의 안티알리아싱(표현이 적당할래나?)이 안되죠...

그리고 새로 만들어서 사용했는데 다음번 프레임워크버젼에 그 기능이 다르게 들어가 버렸다면
(이런걸 주체측의 횡포라고 하는건가요? 기술종속이라 하는 건가요? 같은말인가요?)
그걸 사용하고 있는 다른 사람들과의 호환(?)을 위해서 자신의 코드를 뜯어 고쳐야 되는걸까요?
라이브러리로 줄 수도 있겠지만 다른 사람들이 찝찝해 하지는 않을까요?
(고의로 찝찝하게 만들수도 있을 것이고... MS가 이짓을 즐겨했다는...)

C++과 OOP를 생각해보면
C++은 자바나 ObjC가 프레임워크 하나를 정책적으로 잘 지원해 주는게 아니라
참 많은 프레임워크들이 있습니다.

이게 장점이 될 수도 있고 단점이 될 수도 있는데
단점이라면 배우기 어려운 것이고
장점이라면 "벤더들의 농간에 놀아나지 않는 언어"라는 것이죠.

Windows에서 많이 쓰는 C++프레임워크는 MFC일 것입니다.
물론 Windows의 C++이 ANSI를 따르지 않는다는 부분은 논외로 접어두고요...
그 MFC가 고물같다고 C++이 고물같을 수는 없겠죠.
볼랜드에서 나온 프레임워크를 사용하면 상황이 조금은 달라지는거죠.

비슷한 예를 들어 애플에는 Java-Cocoa라고 Cocoa프레임워크를 자바로 사용할 수 있게 해주는데
자바 아시는 분이 그거 보시면 아마도 이런 생각이 드실 겁니다.
"어 이거 자바 맞어?"
Syntax가 자바니 자바 맞는거죠. 그렇지만 Cocoa프레임워크가 있는 애플머쉰(OS X)에서만 돌아가겠죠 아마도...
그만큼 프레임워크의 영향이 크다 할 수 있을텐데...
마찬가지로 비베가 닷넷으로 가면서 많이 변했다는 것도 프레임워크가 닷넷으로 바뀌었기 때문일 것이죠.
그래도 Syntax가 Basic이니 비베인거죠.

Linux에서 즐겨 쓰는 프레임워크는 QT가 있을 것인데
C++/QT는 자바보다도 훨 좋다는 말을 하는 사람들도 있더군요.
QT의 목표가 멀티플랫폼이니... 물론 바이너리 호환은 아니지만...

즉 단순히 C++과 자바, C++과 ObjC 같은식의 단순 비교를 할 수는 없을 겁니다.
C++에 어떤 프레임워크를 사용하느냐에 따라 달라집니다.

가비지컬랙션 같은 것도 C/C++의 표준 라이브러리에서는 물론 지원 안하지만.
그걸 지원해주는 라이브러리도 있는 것이죠. 오버플로 방지해주는 라이브러리도 있는 것이고.

고수님들 앞에서 재롱 부린 느낌입니다만
이상 라이브러리가 중요하다는 주장에 어느 정도는 동의하는 글이었습니다.

쓰다보니 쫌 길어졌군요. -_-

익명 사용자의 이미지

거의 종결된것 같군요.
이 토론 제안자체가 무의미해집니다.
언어는 도구일뿐이다...

익명 사용자의 이미지

아랫글 답장이라고 쓴건데.. 위에 붙었네요..--a

익명 사용자의 이미지

라이브러리 사용도 물론 프로그래밍에서 중요한 요소의 하나
이긴 합니다만, 하나의 언어를 한달안에 쉽게 배울수 있다면
라이브러리의 기본적인 사용은 그보다 짧은 시간안에 배울수
있습니다. 어차피 라이브러리를 모두 외워서 쓸 필요는 없을
텐데요.. 라이브러리에 대해서 전체적으로 파악을 하고, 얼
마나 적절하게 사용할 수 있는가 하는 문제는 물론 많은 경
험이 필요하겠습니다만, 이는 언어에 있어서도 마찬가지 문
제일 것입니다. 언어 기초에 대한 책이나 문서를 보고 한달
안되는 시간안에 그 언어로 돌아갈수 있는 프로그램을 만드는
것은 가능하겠지만, 언어에 대해 좀더 깊이있게 파악하기 위
해서는 역시 많은 경험과 학습이 필요합니다.(물론 언어마다의 차이는 있겠습니다만) 언어를 쓸 줄아는 것과 제대로 아는 것은 분명히 틀리고 이는 개발 과정에서 분명히 느끼게 되고 나타나게 되어 있죠.

익명 사용자의 이미지

건물지을 생각은 안하고, 어떤 망치가 더 좋은가 토론하고 있군요.
분명한것은 컴퓨터 Language보다는 Library가 더 중요합니다.
랭귀지는 1달이면 배우지만 라이브러리는 그 사람의 평생의 노하우이거든요.
c,c++,c#,java보다 Posix,MFC,Xt,GTK가 더 중요합니다.
물론 더 중요한 것은 건물의 설계도(청사진)이고요.
basic이면 어떻고,Python이면 어떤가요.
필요하면 길어야 한달만에 다 배울수 있는 것들인데...

쇠망치 사용할 수 있는 사람이 나무망치 사용 못합니까?
조그마한 지식을의 현학적 잔치판이군요.

PS. 제일 쉬운 랭귀지가 제일 좋은거 아닌가요? 망치사용법이 어려우면 언제 건물 짓나요. 쓸데없는 공부 할 필요없죠.
개인적으로는 Python이 제일 쉬운거 같네요. 즉, 제일 좋은 언어는 파이썬이죠.

익명 사용자의 이미지

그래서, 요즘도 망치로 건물 짓습니까? -_-
이 토론을 왜 하는지를 제대로 이해를 못하고 있거나 아니면 머리가 좀 나쁘신-_- 분 같군요.

익명 사용자의 이미지

음.... 님 말씀대로면 제일 쉬운 GW-BASIC 이 운영체제나 컴파일러 제작도
제일 쉽겠군요.

익명 사용자의 이미지

> 제일 좋은 언어는 파이썬이죠

잼있군요. 결국 님도 제일 좋은 언어가 뭔지 얘기하고 있으니...

익명 사용자의 이미지

제1회 전자상거래관리사 2급 필기 (A형)
1과목 전자상거래 기획
21번 문제. 인터넷 환경 하에서 구매자의 특징을 기술한 것 중 가장 거리가 먼 것은?
답 2. 인구통계학적으로는 동일한 부류의 집단일지라도 보다 보수적이며, 새로운 세계에 대한 호기심이 상대적으로 약하다.
버벅생각 답 2.인터넷으로 물건산 넘들이 보통사람들과 비교했을때 보수적이고 호기심이 없다...
젤 위에 문제 내신분 당신도 이문제 낸 넘하고 똑 같다....문제를 풀려는 거야 아님 자랑할려는 거야 ㅡㅡ;;....이게 사대주의야 난 젤 시로해 저런넘들이 나라 파라먹거든 ㅡㅡ;; 버벅생각

익명 사용자의 이미지

시간이 아깝소이다...진보적인 생각을 가진이 하나 없구 모두 자기 잘랐다 식이니.... 이러니 울 나라 소프트웨어가 이 모양 이꼴이쥐...당신들이 그런 여러 언어에 대해 안다 해도 거론할 정도의 내공이 쌓였다해도 부질없는 것 같소...그럼 당신들의 언어를 직접 만들어보시지...울나라엔 아직 신참들이 공부할 수 있는 좋은 책도 제대로 하나 나오지 못하는 판에 당신들처럼 그렇게 지식이 해박하고 신념이 강한 개발자들이라면 속에 있는 생각 좀 그만 숨기고 좀 내보이는게 어떨까? 내보이라면 어디 꽁수만 찾는 대부분의 프로그래머들,...쓸데없는 고집과 아집 좀 버립시다..
하나를 알아도 제대로 간파한 이는 거의 없으면서 어떻게 이런 수준 높은(?) 탁상공론에는 그데들의 머리뒤엔 항상 후광이 비치고 있구려...허 참나~~

익명 사용자의 이미지

도토리 키재기.....

우리나라는 당근 초보자들 밖에 없죠.

수주하는 회사넘들 어떻게 하면 싸게라도 수주해놓고,
그걸 또 다른 회사에 용역넘기는구랴...

이게 바로 다단계 프로그램 개발이라는 유명한 거죠.

그러니
사장넘들은 어떻게 하면 초보자들 날밤 세워놓고 부려먹을까,
어느 누가 제대로 공부를 할려고 하것는가?

그냥 사기치고 다니는게 속편하지...

전부다 순전히 얄랑궂은 지식하나가지고,
뻥치고, 베껴먹고, 그걸 자기꺼라고 우기고,,,

리눅스가 오픈소스 아니었으면,
우리나라 회사 아마도 장사도 못해먹었을 거요.

우리나라 프로그래머는 말빨 프로그래머...
PM은 노예감독관.......

책내는 것도 보면, 외국꺼 베껴놓고선 자기가 썻데...
거기다가 해킹보안프로젝트 몇개 진행중이라고 뻥치지 않나...

익명 사용자의 이미지

다 이런게 열정만 있고, 기본은 없다죠...
어떻게 하면 한푼 더 벌까 생각하는것...
사실 개발자로 돈벌려고 생각한다면 다른것으로 돈버는것이 낫습니다.
// 에궁... 주제와 상관없네.

익명 사용자의 이미지

아~따~ 정리안되는군요.
먼저 프로그래밍의 패러다임이 뭐가 있는지 알았으면 좋겠는데 왜냐하면 제가 공부한 언어는 C++ 뿐인데

C++에서는 멀티패러다임 프로그래밍을 지원한다고 되어있더구요.

절차형
개체지향형
일반형

요렇게 말이죠.
C++에 새롭게 추가된 STL은 일반형에 속한다하는데

함수형언어를 하시는 분들 중에서 C++ 을 무지 싫어하더군요.
그러면 반대로 위의 세가지 패러다임이 함수형언어에는 없지 않나요?

아니면 C++에 함수형의 패러다임이 설계된것은 없는지?

물론 두가지 다해보셨으니 함수형좋고, C++ 싫다라고 말하실거라고 믿습니다만...

사실 함수형언어가 있다는(?)말은 .NET에 ML, 헤스켈 등등이 추가된다는 말을 들은 이후입니다.

그리고 다음 C++ 표준안에 추가될 사항이 뭔지 알려주실분?

익명 사용자의 이미지

으흠...갑자기 이게 생각나군요..

영어가 좋은가 한국어가 좋은가 일본어가 좋은가...

우휄휄휄;;; 잡담 입니다.

익명 사용자의 이미지

한글은 영어에 비해서 그 사용된 시간이 그렇게 많지 않기 때문에 영어보다는 언어로서의 기능은 약세라고 알고 있습니다. 단순히 과학적이니 뭐니 말하는 것보다 중요한 것이 일반인이 사용하는 언어로서의 기능이겠죠.

익명 사용자의 이미지

한글과 한국어는 다릅니다

익명 사용자의 이미지

한국어에는 관계대명사, 관계부사등의 기능이 없어 등등으로 시비를 거는 사람들이 종종있죠.

그래서 영어가 훌륭한 언어인거고 결국 영어로 통일될 것이라 말하는 사람까지도 있습니다. -_-

익명 사용자의 이미지

누가 .. 그런말을 하는지... 아주 문화 사대주의에 찌들은 사람같네요...

참.. 어이가 없어....서...

그거 없이도 되는 것을 보니.. 한국어가.. 영어보단.. 우수한가 보군요.. 없어도..

될것.. 다 된다.. ㅎㅎㅎㅎㅎ

익명 사용자의 이미지

그건 좀 그렇군요. 한국어에서는 필요없기 때문에 없는거 아닐까요?
어순부터 다르잖아요... 한국어는 일본어와 같은 어순, 영어는 중국어와 같은 어순...

// 딴소리지만 영문독해할때 각 단어를 소리로 보지말고 한자처럼 뜻으로 생각하니 잘되더군요. 즉 영문은 한문처럼 생각... 이궁...

익명 사용자의 이미지

한국어가 제일 우수하지요.
하지만 제일 쓰기 편한 언어는 모국어겠죠.

익명 사용자의 이미지

한국어가 우수하다는 말은 맞지 않습니다.
모든 언어는 다른 언어에서 전하고자 하는 내용을 표현할 수 있습니다. 약간 표현에 차이가 있을 뿐이지요.

(그러고 보니 프로그램 언어도 비슷한 것 같군요. 어느 한 언어에서 짤 수 있는 것은 다른 언어에서도 짤 수 있지요. 짜기 쉽냐, 어렵냐의 차이가 있을 뿐.)

물론, 한글은 세계 최고의 문자가 맞습니다. 이것은 세계의 언어학자들이 인정한 바이지요.

익명 사용자의 이미지

"한국어가 우수하다는 말은 맞지 않습니다." 란 말은 틀렸군요..

앞에서 언급하신분은 제일이라고 했는데.. 문화는 비교의 대상으로 잡기

가.. 좀.. 안좋은 형태군요... 구태여.. 맞지 않다면... 제일이란..

말이 맞지 않은 거.. 아닌가요... 제가 보기엔..

한국어.. 아주 우수합니다...

익명 사용자의 이미지

'한국어'와 '한글'은 다른 것이랍니다.
이 둘을 혼동하면 안되죠.

익명 사용자의 이미지

전.. 국어를 두고 한말인데..

언어는 문화입니다... 표기를 하기 위한.. 한글은 언급한적이 없음....

음.... 다르게 보셨나보네... ^^

김영희의 이미지

그거 겉표지 오리 너구리 그려져있는
디자인 페턴이란 책에서 나왔던 내용이네요~
^^;

익명 사용자의 이미지

그책 무지 좋죠.. -.-

익명 사용자의 이미지

그리 엉뚱하지는 않은 것 같습니다만...
오히려 넥스트스텝의 객체들이 ObjC로만 만져질 수 있기때문에 C++로 바로 전향 못하고 ObjC가 좋아서가 아니라 어쩔 수 없이 ObjC도 같이 쓰고 있는건 아닙니까? -_- 라고 할 수도 있는 것이니...

코드를 재사용하기 위해서 C++도 지원한다는 걸 부정하려는 것이 아니죠.

C++이 좋아서가 아니다 라는 말이 지나치다는 것이죠.

익명 사용자의 이미지

ObjC에 대해서 잘 모르시는 분인가 본데...
ObjC의 객체는 C로도 부를 수 있습니다. 원래 ObjC가 Pre Compiler를 이용한
객체 스타일의 프로그래밍의 지원을 위해서 나온 것입니다. 그리고 C++로 전향을
못하는 이유는 객체의 집합, NeXTSTEP이나 OPENSTEP에서는 Kit라고 부르는,
들이 C++와 같은 정적인 언어로는 옮기는 것이 거의 불가능하기 때문입니다.
일례로 IB를 C++로 만들려면 C++에 엄청난 확장을 사용해야 합니다. 그리고 대부분의
NeXTSTEP, OPENSTEP 개발자들은 C++에 관심도 없습니다. Smalltalk이나 ObjC School에
익숙한 개발자라면 C++식의 객체 지향(Simula School)에는 익숙하지도 않고 편한 환경을
버릴 이유도 없지요. 단지 C++로 된 코드를 같이 사용하는 것을 편리하게 하기 위해서
일 뿐입니다. "C++가 좋아서가 아닙니다!" 만약 C++가 좋아서라면 ObjC를 쓰는 대신에
C++로 포팅을 했겠지요. 애플도 C++로 포팅하는 대신에 Java로 했습니다. Java는
동적인 패러다임을 가진 언어이기 때문에 ObjC->Java변환이 거의 기계적으로 가능
합니다. 실제로 ObjC의 특징을 많이 차용하기도 했고요.

익명 사용자의 이미지

C++로 안 만져 지니깐 어쩔 수 없이 ObjC도 계속 써야한다는 얘기를 그런거 싫어한다라는 아집 하나로 아직도 "C++이 좋아서가 아니다."라고 하고 있군... -_- Apple의 자바는 처음에 나올땐 pure Java가 아니었죠. -_-

익명 사용자의 이미지

답답하시군요...
C++로 안만져져서 ObjC를 계속 쓰는 게 아니라 이용하고자 하는 코드가
ObjC로 "안 만져져서", 즉 C++로 있는 코드 때문에 C++가 링크되도록 한
것입니다. 그리고 처음에 Apple이 Pure Java를 쓸 수 없었던 이유는
개발 속도의 문제도 있었겠지만 Reflection 기능에 문제도 큰 이유였습니다.
지금의 Apple의 툴에는 ObjC로 된 WebObjects Application을 Java로
변환하는 툴도 있을 정도입니다. 그리고 저도 C++를 싫어하지 않습니다.
단지 일반 어플리케이션을 만들때 보다는 Numerical Computing과 같은
OOP의 특징보다는 속도가 중요할 때 사용할 뿐이지요. 그리고 Windows에서
만들때나...

익명 사용자의 이미지

C++로 프로그래밍하다가 Cocoa객체를 활용해야해서 ObjC코드를 C++코드에 링크할때 사용할 수도 있는 것이죠. -_-

익명 사용자의 이미지

그럼 함수형 언어를 좋아하는 사람들은 공산주의자라고 하신 말은 지나치지 않은 건가요?

익명 사용자의 이미지

맞습니다. 전 다른 언어는 못하고 -_-
c++만 할줄 아는데, 솔직히 뭐 불편한거 모르구요.

지금은 안하지만 예전에 웹쪽 일을 좀 한적이 있는데
동료들은 php나 asp같은걸로 뚝딱 뚝딱 할때

html lib만들고 있는 자신이 한심스러워지더군요 -_-;

불쌍하죠.;;

익명 사용자의 이미지

그 얘기는 그 얘기가 아닌듯하군요.

익명 사용자의 이미지

c++ 좋아하시는 분들은 솔직히 불쌍합니다. 마치 골수 공산주의자같군요.

위의 말을 누가 꺼냈는지 찾아보시기를...

익명 사용자의 이미지

우리나라는 메이저들만의 나라죠-_-
다양성을 위해서라도 공산주의자, 나체주의자, 아나키스트 등이
많았으면 좋겠습니다. -진담입니다.

리스프 뉴스 그룹이나 살려야 겠습니다...

익명 사용자의 이미지

다양성을 위해서 테러리스트, 새디스트들도 많았으면 좋겠습니다.
- 농담입니다.

익명 사용자의 이미지

아.. 실수입니다.. 그냥 무시하시길..

익명 사용자의 이미지

지나칩니다..
그런데 제가 한 말 아닌데요?

익명 사용자의 이미지

죄송합니다. Anonymous로 글을 쓰시는 분이 많아서 제가 그 말을 한 분과 동일인 줄 알았네요.

익명 사용자의 이미지

언어에 대한 논쟁들이시라..

최고의 툴을 가지고 있다면
최고의 결과물을 만들 수 있다고 생각들을 하시는가보군요..

하지만.. 생각해보세요..
어셈블러로도 삽질만 하면 대단한 결과물을 만들 수 있답니다.
툴이 좋네 나쁘네 하는 것은 무의미하다고 생각하지 않나요?

무슨 툴을 쓰든 간에 가장 좋은 결과물을 만들어내는 사람이 큰소리 칠 수 있죠.

손봉주가 사용했던 옷과 신발을 일반인이 착용한다고 해서 마라톤 선수가 되는 것은 아니라는 논리죠.

최고의 프로그래머라면 무슨 툴을 써서라도 좋은 결과물을 낼겁니다..

무의미한 논쟁들 그만합시다.

익명 사용자의 이미지

윽 이건 클릭 잘못한 겁니다.
죄송합니다.
답변글이었는데...

익명 사용자의 이미지

뭐지 뭐지 왜 계속 이상하게 달리지 -_-
분명히 저 위의 글밑에 달은 것인데... -_-;;;;;

익명 사용자의 이미지

정말 황당하군요.

언어가 주체가 될수 있나요?

문제를 풀기위한 연장에 불과한것 아닌가여?

제 생각에는 어떤류의 문제에는 어떤종류의 연장이 잘 어울린다는 형식의 답이 필요하다고 생각합니다.

컴쟁이가 밥먹구 사는데 필요한건 현재 자신이 쓰는 운영체제와 삽질도구만이 전부는 아니지 않을까요?

익명 사용자의 이미지

좋은 연장을 쓰느냐 안쓰느냐는

생산성 문제와도 직결되기도 하고 결과물에대한 만족도에대한 문제이기도 합니다.

익명 사용자의 이미지

그래서 도구를 개량하려는 노력을 안하실 껀가요?

익명 사용자의 이미지

밑에 있는 글 다 보느라 힘들었습니다. 재밌기도 하구요.
programming languages theory와 software engineering적인 측면에서의 what과 how를 구분할 수 있다면 굳이 위와같은 질문은 무의미하다고 생각하는군요.질문자체가 이쪽분야를 기술적으로 잘 아는 사람이 할 질문이 아닌것 같군요. 물론 사장이니까 회사 경영에 더 잘 알아야 겠죠. ^^
저도 몇년전에 함수형 언어가 명령형 언어보다 더 좋다고 생각하던 적이 있습니다. 밑을 보세요.
quicksort [] = []
quicksort (x:xs) = quicksort [y | y <- xs , y < xs
++ [x]
++ quicksort [y | y <- xs, y>=x]
헤스켈의 퀵정렬입니다. 이게 답니다.
다음은 c++입니다.
Quicksort(Element *list, const int left, const right)
{
if (left < right) {
int i = left,
j = right +1,
pivot = list[left].getKey();
do {
do i++;
while(list[i].getKey() do j--;
while(list[j].getKey()>pivot);
if(i } while (i InterChange(list,left,j);
Quicksort(list,left,j-1);
Quicksoft(list,j+1,right);
}
}
getKey(), InterChange()는 너무 길어 아예 뺏습니다.
실행까지 되게 할려면 코드를 더 붙여야겠죠.

한 미인을 두고도 사람마다의 평가는 제각기 다르듯이 언어에 있어서도 별반 차이가 없는듯 합니다. 좀 오래된 언어를 아직도 쓰고 있다는 것이 좀 우습기는 합니다. 우리가 50~60년대 하드웨어를 아직도 쓰고있다고 생각해 보십시오.다들 미친사람취급할 것니다. 하지만 언어들은 골동품처럼 오래될수록 좋다고 생각하는것 같군요. 나중에 후회하겠지만.... --;

하지만 어쨌든 함수형 언어형태로 가는건 분명합니다. 사필귀정이거든요. guarbage collection이 어디서 왔을까요?
stackless python을 보십시오. 귀도는 그 아이디어를 scheme에서 가져왔습니다. 일반적인 python이더라도 많은형태를 함수형 언어에서 가져왔습니다. 그리고 STL, generic programming, java에서의 anonymous class...예는 많습니다.
특히 EJB, COM+등에서 보여주는 stateless component는 더이상 객체지향언어가 유리한 점이 없다는 걸 보여주죠. 당연히 함수형 언어가 더 낫습니다. (전문가들도 이 상황을 잘 이해못하는걸 본적이 있습니다.)

그리고 밑에 있는 글들 중에 생각난게 있어서...
ada는 c++만큼이나 크고 어렵습니다. 방위산업이나 real time에 관련된 일이 아니면 손댈일이 없을듯...
strong typing은 compile time에 type checking을 제대로 해서 runtime시에 일어날 에러를 미리 막자는 거죠. 위의 Haskell같은 언어입니다.
lisp의 방언은 common lisp, scheme...정도 입니다. 괄호 많은거보면 딱 티가 나죠. 당연히 ML이나 Haskell은 lisp 방언이 아닙니다. 몰론 영향은 받았겠죠.
pascal을 좋아하시는 분이 있던데 oberon을 왜 안쓰셨는지 궁금합니다. (요즘 제가 하는일이 사실 oberon compiler거든요. ^^ )
c++ 좋아하시는 분들은 솔직히 불쌍합니다. 마치 골수 공산주의자같군요. 안좋은거 다 드러났는데 좋다고 끝까지 우기고..... obj-c같은 언어를 보십시오. c++같은 언어는 어쩔수 없이 쓰는 언어지 좋아서 쓰는 언어는 아닙니다.

존 배커스는 자기가 살아오면서 가장 큰 실수를 포트란을 만든일이라고 합니다. 자기가 포트란을 만들어서 이분야의 발전을 50년은 늦춰놨다고 후회한적이 있습니다. 코볼은 학계에서도 공식적으로 이 놈의 언어때문에 발전 속도가 10년은 늦춰졌다고 인정받고 있습니다.
언어도 많이 발전한 만큼 그에 맞는 언어가 많이 쓰였으면 합니다.

익명 사용자의 이미지

ibm -.- 디벨로퍼스 웍스에 나오는거군요.. 그 원문은 또 어디더라..

익명 사용자의 이미지

>한 미인을 두고도 사람마다의 평가는 제각기 다르듯이 언어에
>있어서도 별반 차이가 없는듯 합니다. 좀 오래된 언어를 아직도
>쓰고 있다는 것이 좀 우습기는 합니다. 우리가 50~60년대 하드웨어를
>아직도 쓰고있다고 생각해 보십시오.다들 미친사람취급할 것니다.
>하지만 언어들은 골동품처럼 오래될수록 좋다고 생각하는것 같군요.
>나중에 후회하겠지만.... --;
>
>하지만 어쨌든 함수형 언어형태로 가는건 분명합니다. 사필귀정이거든요.

좋은 말씀도 많이 하셨는데... 글이 조금 왔다 갔다 하는 거 같습니다.
오랜된 언어들 쓰다 보면 후회하신다는 말씀은 c/c++을 겨냥한 것인가요?
암만 오래 잡아도 c는 70년 쯤에 개발되었으니 최초의 함수형 언어라
할 수 있는 리스프 보다는 적어도 10년은 덜 오래 된 거 같네요.
가비지 콜렉션, 바이트 컴파일, 객체 지향, 함수 프로그래밍... 이거
전부 굉장히 오래된 개념이잖아요? 파이썬에서도 채용하고 있는 람다
계산은 컴퓨터가 나오기도 전에 나온 개념이고...
절차형도 아니고 객체지향형도 아니고 답은 함수형이다...라는 식의 말씀은
오해의 여지가 많다고 봅니다.

by 리스프를 좋아하는 사람

익명 사용자의 이미지

함수형 언어를 경험한 사람들은 이미 기존의 메이저 언어들을
겪은 사람들이고, 사실상 실무에서는 이런 명령형 언어를
밥 벌어 먹기 위해 사용하고 있는 사람들입니다.
두 언어 계열을 다 경험해 보았다는 것이 중요하리라 생각합니다.
마치 리눅스를 하는 사람들은 이미 윈도를 경험한 사람이듯이
말입니다.
리눅스가 아무리 좋다한들 시장은 윈도가 잡고 있습니다.
리맹에게 리눅스를 보여 주어 봤자 너무도 다른 인터페이스에,
미약한 지원에, 쓰는 사람이 별로 없다는 공포까지 곁들여 쉽게
리눅스에 접근하지 못합니다.
꼭 마찬가지로 함수형 언어는 강력하고 생산성이 높은데다가
우아하기까지 하지만, 언어 자체가 생소한데다 개발 환경,
기존 환경과의 연계 인터페이스, 지원 커뮤니티... 등등의
문제에 부딪쳐 개발자들을 잡아 놓지 못합니다.
그러나 리눅스가 강점인 분야가 분명히 있습니다.
클러스터링을 윈도 가지고 한다면 웃는 리눅서들 많을 겁니다.
마찬가지로 자연 언어 분석을 C를 갖고 한다고 덤벼드는 사람들
보면 웃는 사람들이 있죠.
어쨌든 지켜 보는 일도 재미있습니다.
윈도가 유닉스 계열의 특성들을 많이 수용해 가듯, 함수형 언어들의
장점을 많은 대중적인 언어들이 수용해 가고 있씁니다.
함수형 언어가 대중적인 인기를 얻을 수 있으리라 보기는 힘들지만,
대중적인 언어들의 산파 역할만으로도 할 일은 하고 있는 것으로
생각됩니다.
암튼... 시장이 전부인 것은 아니지만... 시장이 전부일 때가 참 많죠-_-

익명 사용자의 이미지

리눅스가 좋다고 윈도 마구 욕하는 사람이 좀 보기가 안좋은 것처럼
함수형 언어 좋다고 다른 언어 깎아 내리려는 것도 그리 보기 좋지는 않군요.

익명 사용자의 이미지

글쎄요... 윗 글을 쓴 사람으로서 제가 다른 언어를
깍아 내린 대목을 찾아 볼 수가 없군요.
함수형 언어는 함수형 나름의, 명령형 언어는 또 그 나름의
장점이 분명히 있습니다. 그러나 오직 함수형밖에 모르면서
함수형만을 고집하거나, 오직 명령형 밖에는 모르면서
명령형만을 고집하지는 말자는 얘기였습니다.
함수형 언어가 명령형 언어보다 상대적으로 익히고 개발하고
유지하기 쉬운 것은 단지 사실일 뿐입니다. 명령형 언어가
함수형 언어보다 성능이 좋은 것도 사실이고요.
함수형 언어의 장점을 많은 언어들이 차용해 갔다는 것도
그냥 역사적인 사실입니다.
시비 걸자는 것이 아니라 사실은 사실 대로 인식하자는 얘기
였을 뿐입니다.

익명 사용자의 이미지

님의 말씀은 사실입니다.

그런데 다른 일부분들은 그냥 C++ 싫다, 함수형언어 좋다고 하니 문제겠죠...(아주 밑에 있는 글들중...)

여러가지 다해본사람들은 좋다 나쁘다 쉽게 말할수 있겠지만, 얼마나 객관적으로 말할수 있는것이 중요합니다. 모르는 사람을 위해서라도...

그렇다면 한쪽만 해보고 안해본것에 대한 평가를 함부로 내리는 사람들에게는
해본 사람들이 제대로 설명해줄수 밖에 없겠군요...

질문이 있는데 많은 언어들이 함수형언어의 장점을 빌려갔다는데 대표적인 언어는 무엇인지요? 혹시나 C++, C#은 해당안됩니까? (제가 C++,C#을 동시에 공부할려구요...)

// 새글로 쓸걸 그랬나요...

익명 사용자의 이미지

님의 글을 읽으니 갑자기 하나가 궁금해 집니다.

옛날에 나온 TeX을 왜 아직도 사용하는 것일까요?
위지위그 지원, 사용의 편리성등의 특성을 가지고 있는
워드프로세서 대신에 말입니다.
이미 시스템은 아주 좋아져서 위드프로세서의 퍼포먼스가 아주 좋음에도 말입니다.

> 우리가 50~60년대 하드웨어를 아직도 쓰고있다고 생각해 보십시오.다들 미친사람취급할 것니다. 하지만 언어들은 골동품처럼 오래될수록 좋다고 생각하는것 같군요.

라고 말씀하시는 님의 논리로는 도무지 이해가 가지 않는 현상입니다.
혹시 위드프로세서 안쓰고 TeX같은 것을 쓰면 마찬가지로 미친 사람이 되는 겁니까?

익명 사용자의 이미지

TeX가 옛날에 나오기는 했지만, 아직 MS Word같은 범용 워드프로세서가 잘 처리하지 못하는 분야가 있기 때문에 쓰이고 있는 것 입니다.
특히 과학기술 저널에 논문을 내보신 분들은 잘 아시겠지만, IEEE나 ACM등의 학회가 대부분 TeX를 선호하기 때문이기도 하죠.
일단 수식, 레퍼런스 처리등은 솔직히 범용 워드프로세서로 처리하는 것 보다 훨씬 쉽거든요.
외국 대학들은 리포트도 TeX를 쓰도록 권장을 많이 하더군요.
일단 사용법을 익히면(아래아 한글을 잘 쓰시는 분들은 TeX에 금방 익숙해지시더군요 ^^) 이공학계열 문서를 작성하는데는 워드프로세서보다 편한 것을 느낄 수 있습니다.

아직은 워드프로세서의 퍼포먼스가 TeX을 따라오지 못하는 분야가 확실히 있고, 그렇기 만든지 오래됐지만 여전히 쓰이는 것입니다.
그리고 워드프로세서의 편리함과 TeX의 강력함을 접목시킨 위지윅 기반의 TeX 에디터도 이미 나와있습니다.(XEmacs에서도 이런 것을 구현시킨 예가 있더군요)

익명 사용자의 이미지

그렇죠 제가 하려던 말이 바로 그것입니다. 저도 TeX씁니다.
다른건 몰라도 수식하나는 정말 이쁘게 잘 써지더군요.
위의 글은 옛날에 나온 걸 왜 아직도 쓰느냐는 이상한 논리에 대한 반박이었던 것이죠.

익명 사용자의 이미지

함수형 언어를 좋아하시는 분들은 다들 이렇게 다른 언어를 폄하하기를 좋아하시나 봅니다. --;
제가 볼때는 함수형 언어 좋아하시는 분들이 골수 공산주의자같군요.

Objective-C를 보라니요? 음... Objective-C++이 최근이 나왔다는 건 모르시나 봅니다.

익명 사용자의 이미지

Objective-C++이 최근에 나왔다구요? 아닙니다. 그리고 ObjC++은 C++코드로 쓰여진
것들은 ObjC에서 쓸 수있도록 하기 위해서 나온 것이지 C++가 좋아서는 아닙니다.
단지 링크할 때 이전에 손으로 일일이 Stub을 만들어야 했던 것을 링커가 처리할
수 있도록 한 것 뿐입니다. 개인적으로는 Smalltalk이나 ObjC 처럼 메소드, 메시지
구현이 다 구분된 동적인 OOPL이 좋습니다. Java가 ObjC의 좋은 점을 거의 다 가지고
왔는데 문법과 Type Checking에 있어서는 C++의 좋지 않은 점을 가지고 왔네요.

익명 사용자의 이미지

익명 사용자의 이미지

이전에 NeXTSTEP에 있던 걸 Mac OSX로 옮긴 것에 불과 합니다. 아니면
새 버전의 GCC(이전에 NeXTSTEP에서 사용하던 GCC는 옛날 것입니다.)에
맞게 고친 새로운 버전일지도...

익명 사용자의 이미지

이미 나온 것을 아니라고 애써 부정하려는 모습인가요? -_-

익명 사용자의 이미지

좋아서는 아니라는 근거는 무엇입니까?
공산주의인가요?
김모씨가 싫어하는 것은 그쪽 인민들도 다 싫어해야 한다는군요.

익명 사용자의 이미지

윗 분이 설명을 해주셨는데 엉뚱한 질문 아닌가요?
C++이 좋아서가 아니라, 기존의 C++로 작성된 것을 재사용 하기위한 인터페이스로 알고 있는데요.

익명 사용자의 이미지

그리 엉뚱하지는 않은 것 같습니다만...
오히려 넥스트스텝의 객체들이 ObjC로만 만져질 수 있기때문에 C++로 바로 전향 못하고 ObjC가 좋아서가 아니라 어쩔 수 없이 ObjC도 같이 쓰고 있는건 아닙니까? -_- 라고 할 수도 있는 것이니...

코드를 재사용하기 위해서 C++도 지원한다는 걸 부정하려는 것이 아니죠.

C++이 좋아서가 아니다 라는 말이 지나치다는 것이죠.

익명 사용자의 이미지

Ansi C++에서의 STL과 generic programming을 잘 사용하면 함수형 언어의 장점을
얼마든지 누릴 수 있습니다.
컨테이너와 알고리즘을 적당히 조합하면
기존의 절차형 언어의 특징의 for, while, do 등을 대부분 대체할 수 있지요.

익명 사용자의 이미지

많은 분들이 오해를 하고 있는 듯 한데... C와 C++은 프로그래밍 방법론과는 상당히 무관하게 개발된
언어라는 점을 잊지 말아야 합니다.
C/C++을 프로그래밍 학문의 관점에서 보는 분들(순수한 의미의 프로그래머가 아닌)은 C++이 완전한
OOP를 구현하지 못했다느니, C 언어의 기반위에 세워져서 절차적 방법론을 탈피하지 못하는 문제가
된다느니 하는 말들을 하는 것을 자주 보아왔는데요.

역시 제 생각에서는... 정말 웃기기 짝이 없는 일입니다.
자동차에 대고 왜 날개가 없느냐, 혹은 비행기에 대고 왜 변속기어가 없느냐고 하는 꼴입니다.

C언어는 철저하게 실무적인 필요에 의해 만들어진 언어입니다. 그리고 그 뒤를 이은 C++도
역시 기존의 C에서의 생산성을 재고하는 정도에서 OOP를 적절하게 도입했을 뿐이지, OOP라는
거창한 개념의 지상 구현을 위해 C++을 창안한 것이 아닙니다.

이러한 C++의 설계 철학은 스트로스트럽의 수많은 인터뷰에서 조금도 숨기지 않고 잘 나타나 있습니다.
확인해보고 싶으시다면.. http://www.research.att.com/~bs/interviews.html

그런 이유로, C++에서는 OOP를 강요하지 않습니다.
C++에서 OOP는 필요하면 쓰고 필요없으면 쓸 필요가 없는 선택적인 방법일 뿐입니다.
그러니 제발, C++에서 C언어의 절차적인 프로그래밍을 자주 쓴다고 자조하지 마십시오.

반면 자바와 C# 등 OOP의 순수성을 강조하는 언어들에서는 OOP는 프로그래밍 방법의 선택권을 떠나
종교적인 신념처럼 보일 만큼 OOP적인 방법을 사용하도록 강요하고 있습니다.
클래스를 만들지 않으면 아무것도 할수가 없지요.

C++을 이렇게 설계한 이유에 대해, 스트로스트럽은 몇가지로 언급하고 있는데요.
오버헤드를 없애기 위해, 다양한 프로그래밍 패러다임(OOP 혹은 procedual)을 모두 껴안기 위해,
그리고 많은 사람들이 원했기 때문이라고 말하고 있습니다.
그야말로 실용적인 관점이라고 밖에 말할 수가 없지요.

이러한 설계철학에서의 실용적인 관점이, 수십년동안 C++을 사랑받게 만든 근본적인 원인입니다.
쓰면 쓸 수록 손에 착 붙는 도구라고 말할 수 있습니다.
물론 어느정도 익숙해지기까지는 상당한 고난을 겪어야 하는 것이 치명적인 약점이긴 하지만요.

익명 사용자의 이미지

절차적이고 객체지향적이고 하는 것은 전혀 중요한 것이
아니라고 생각합니다. 중요한 것은 성능과 생산성,
유지 보수성... 등등이지 OOP에 얼마나 충실하느냐
등등이 아닙니다. 님의 말씀대로입니다.
C++이 좋은 언어가 아니라고 하는 것은 OOP에 충실하지 않았다기
보다는 위의 항목들을 제대로 충족시켜 주지 못하는 구조로 설계되어
있다는 것입니다.

조기태의 이미지

절차적 프로그래밍이나 객체지향과 같은 '패러다임' 자체가 성능, 생산성, 유지보수성 등등을 극대화 시키기 위해 고안된 것 아닌가요?

먼저 프로그래밍을 통해 풀려고 하는 문제의 성격을 명확히 정의한 후 문제해결에 적합한 방법과 언어, 개발환경 등을 고려하는 것이 순서라고 봅니다.

객체지향이 중요하다면 많은 형태의 문제영역에서 절차적 프로그래밍보다 훨씬 높은 생산성과 유지보수성 등을 보장하기 때문이라고 생각합니다.

물론 절차적인 방법이라든지 스크립팅이 필요한 문제들이 있고 그런 분야에까지 객체지향을 고집한다면 그건 종교적 신념에 가까운 차원일 것입니다.

다만 제가 잘 모르는 컴포넌트 지향이나 함수형 언어와 같은 새로운 패러다임이 과거에 객체지향이 그랬던 것처럼 많은 영역에서 객체지향을 대체할 만큼의 생산성이나 유지보수성을 제공한다면 그 때는 객체지향 패러다임도 지양되겠지요...

그럼...

익명 사용자의 이미지

제 말이 그 말입니다.

익명 사용자의 이미지

haskell.org에서 코드가져오셨군요..
haskell배우고 싶지만 국내에는 자료가 거의 없고..
우리나라는 일부 메이저 언어에 대해서만 너무 치중하는 바람에 저같은 비전산
전공자가 취미로 마이나 언어를 배우는게 너무어렵습니다.
문법만 딸랑 안다고 해서 쓸만한 프로그램 만들기는 너무 험난하고...
어쩔수 없이 씨나 자바공부한고 할까...

음.. 생각해보니 squeak에 관한 자료도 없군...

익명 사용자의 이미지

곧 헤스켈 유저그룹이 탄생할듯 싶습니다..
파이썬 유저그룹에서 분리되서 나올듯 -.-

haskell.or.kr (광고 후다닥)

익명 사용자의 이미지

옛날에 도서관에서 hasekll 이란 책이 있어서 빌려 본적이 있습니다.
원서인데 꽤 좋더군요..국내가 안되면.. 원서라도..

페이지