C언어는 정말 최고의 언어인가요?

4425
points
points
파이썬이나 펄, 이 외에도 여러 언어들이 모두 C로 만들어진것으로 알고 있습니다. 유닉스 역시 C로 만들어져 있고요..
C언어는 앞으로 대체가 안될 정도로 훌륭한 언어인가요? 그 동안 C를 대체할 만한 언어는 개발되지 않았나요? 무엇때문에 C언어가 다른언어에 자리를 내주지 않고 이렇게 장기간 최고의 언어로 자리매김 할수 있었던건가요??
제가 저희학교 교수님께 새로 입학하는 신입생들에게 C대신 파이썬을 먼저 가르치는게 좋겠다고 했더니 코방귀를 끼시더군요.. :oops: :oops:
»
- geneven의 블로그
- Login or register to post comments
- 12137번 읽힘

points
C언어
C언어가 가지는 장점은 아무래도 저급언어의 효율성과 고급언어의
생산성을 어느정도 적절히 잘 섞어있는게 아닌가 하는 생각이 듭니다.
그래서 아직도 효율성이 중시되는 부분에서는 다른 언어가 대체하기
힘든게 아닌가 하는 생각이 듭니다.
또한 C언어의 장점으로 들수 있는 것은 대부분의 환경에서 사용할 수
있다는 점 입니다. 아주 열악한 임베디드 시스템의 경우도 C컴파일러가
존재한다는 것을 보면 그런 점을 알 수 있습니다. 따라서 이런 부분도
C가 인기를 얻는 이유중에 하나가 될 수 있다고 생각합니다.
또한 주로 사용되는 운영체제로 꼽히는 윈도우즈역시 C로 작성되어서,
API가 C의 함수를 기준으로 하고 있습니다. 이러한 점도 C가 없어지지
못하는 이유가 될 것 같습니다.
points
제 생각에는....
'최고의 언어'라고 표현하는 것은 좀 무리이지만.... '상당히 좋은 언어'라는 표현은 적절할 것 같습니다.....
이하는... 그냥 제 나름대로의 생각을 정리한 것입니다.
음.. 일단 C는... high-level언어의 장점과 low-level언어의 장점을 적절히 균형있게 갖고있다고 생각합니다. 분명 기계어보다 짜기 쉽고 코드를 보면 동작이 매우 명확하게 잘 보입니다. 거꾸로, 기계어처럼 힘들지도 않고, 기계어로 할 수 있는 많은 동작을 (뛰어난 컴파일러가 있다는 전제하에) 그대로 할 수 있습니다.
이런 성격을 갖고 있기 때문에, C는 임베디드, OS, 수학연산 등등 많은 분야에 쓰입니다. 정말로 많은 application이 C로 만들어지죠. 글쎄요. GUI를 이용하는 쪽에서는 C++로 많이 만들지만, 결국 core engine이 C인 경우도 많죠?
그러나, 항상 적합하다는 얘기는 아닙니다. 예를 들어, 웹프로그래밍 같은 것은 굳이 C로 할 필요가 없겠죠. 오히려 할 경우에는 디버깅이 무쟈게 복잡할 것으로 생각이 됩니다... -_-;; C의 막강한 기능을 이용하여 '그래도 좀 더 힘들게' 프로그래밍을 하는 것보다는, 그냥 쉽게쉽게 프로그래밍하는 대신 그 하부 엔진들을 좀 더 좋게 만드는 쪽이 나을테니깐요.
그리고, C를 대체하고자 하는 언어는 예전에도 그렇고 요즘에도 계속해서 나오는 것으로 알고 있습니다. 구체적인 언어들은 잘 기억이 안 나고... 제가 배운 언어가 그렇게 많지도 않고 그래서... 뭐라고 하기는 그렇지만... 단지 그 '대중성'이라는 면에서 C를 따라갈 수 없겠죠.
저는 많은 언어를 써 보지는 못했습니다. 어셈, C++, Java, php, jsp(이것도 언어라고 할 수 있을란지는 모르겠지만) 정도를 더 써봤을텐데요...
Java의 경우에는 라이브러리의 성격상 시스템프로그래밍이나 임베디드쪽에 적합하지 않을 뿐만 아니라, bytecode를 생성하는 컴파일러는 많아도 native code를 생성하는 컴파일러는 뛰어난 게 별로 없는 것 같고요...
(그래도 java는 참 괜찮은 언어라 생각됩니다. 좋은 성능과 쉬운 코딩의 아주 적절한 균형을 맞춘 듯 합니다.)
C++의 경우에는, 너무 복잡하고 무겁다는 생각이 들더군요. C에 OOP extension을 억지로(???) 갖다가 붙이려고 해 놓은 것 같아서 별로 안 좋아합니다...
php의 경우에는... 뭐 용도가 제한되어있으니 논외로 합시다... 그냥 사용할 수 있는 PHP는 없을까 하는 생각이 들긴 했지만, 만들어지더라도 별다른 메리트는 없을 것 같군요.
points
현재 C언어의 위치는이전 어셈블리어가 위치하던 정도가 되지 않았나 싶
현재 C언어의 위치는
이전 어셈블리어가 위치하던 정도가 되지 않았나 싶네요.
물론, 어셈블리어에 비하면 훨씬 코딩이 편하지만요.
언어 자체가 사실 단순해서 컴파일하기 좋은 구조기도 하고요.
임베디드에서는 RISC 칩들이 많으니
어셈블리어로 코딩하는게 장난이 아닌 일이기도 하고 -_-;
( x86 어셈블리 코딩은 정말 편한 편이죠. -_- )
이런 저런 이유들로 인해 C가 꾸준히 유지되는 것 같습니다.
무엇보다, 풍부한 기존 코드들이 있다는 강점도 있고요.
다만, '최고의 언어'라는 수식은 좀 맞지 않는 느낌이 드네요.
points
제가 생각하기에는.. 최고라고 불리울수 있는 언어임에는 맞는것 같습니다.
제가 생각하기에는.. 최고라고 불리울수 있는 언어임에는 맞는것 같습니다.
(최고라는것 쉽게 말을 할수 없지만..)
최고라고는 말할수 없습니다.. 서로 장단점이 있기 때문이지여
그렇지만.. 최고라고 불리울수 있는 유일한 언어라고 생각합니다.
points
이렇게 생각을..
통상적으로 최고 빠른 언어: C
통상적으로 OOP가 최고 잘 구현된 언어: Java
통상적으로 소스코드 가독성이 최고 좋은 언어: Python
통상적으로 웹 프로그래밍이 최고 쉬운 언어: PHP
등등...
써놓고 보니 문법이 잘 안맞네요. ㅋㅋ
어쨌든 이렇식으로 부분별로 생각하는 것이 좋지 않을까요?
자신이 좋아 하는 언어가 위에 없다거나 자신이 생각하는 각부분 최고 언어와 다르다고 딴지걸지 않으시겠죠? ㅎㅎ
points
-_-
C-> C++ ->API ->MFC..
예전에 제가 배운 공부 순서입니다..
물런.. 전MFC는 하지 않았지만..
일단 C++을 이해하면 다른 대부분의 언어를
이해하고 사용하는데 별 무리가 없습니다..
C++ 프로그래머가 자바를 하는 것과
자바 프로그래머가 C++하는것은 많은
차이가 날껍니다.
C 언어는 프로그래머의
기본이라고 생각합니다. 파이썬은 쉽고, 간결하지만..
프로그래밍의 기준이 될수는 없습니다..
일단 아무것도 모르는 상태라면...
C를 배우는게 좋치 않을까.. 생각합니다.
points
제 생각에는..
C 언어가 좋은 언어인 것에는 분명합니다만...
어떤 언어가 최고로 좋다. 혹은, 어떤 언어보다 낫다. 이런 논쟁은 무의미한 것이 아닌 가 싶습니다.
위에서도 말씀하셨듯. 용도와 개발 환경 등에 따른 언어 선택이 더욱 의미가 있을 것 같네요. ^^
하지만 개발자들 사이에 이런 건 좀 있는 것 같습니다. 자기가 쓰는 언어가 제일 좋은 것이라고 예를 들어서 php, asp, jsp 등이 있으면 자기가 쓰는 게 제일 좋다고 또는.. c++, java 등을 비교할 때도 자기가 쓰는 게 좋은 거라고.. 좀 우기는 성향 그런 게 있는 것 같습니다.
특히, 보다 어려운(자질구레한 처리를 해줘야하는) 언어를 쓸 때는 괜히 으쓱해하는 것도 있는 것 같구요. 개발자들 사이에 그런 것들이 좀 있을 뿐이지. 어떤 언어든지 다 장단점이 있지 않을까요? ^^;; 물론, C언어와 Java를 배우면 좋죠~
points
...
위에 어떤 분이 C가 어셈블리의 자리를 대신하고 있다고 하는데, 이말에 저도 동감하는 바입니다.
현 시점에서 C의 장점은 언어 자체의 compact함과 이식성입니다. 언어 자체가 (요새 나오는 새로운 언어들에 비해) compact하고 요구사항 또한 적습니다. 새로운 CPU가 나왔다고 했을때 타 언어에 비해 빠른 시간 내에 그 CPU에 맞는 C 컴파일러를 제작할 수 있습니다. C언어가 탄생한 환경부터가 매우 열악한 환경이었고(PDP-7인가 11이었던 걸로 기억합니다) 아직까지도 표준을 정의할때는 이러한 열악한 환경에 대한 고려를 빼놓지 않고 있습니다. 그걸과 소형 온칩 마이크로콘트롤러에서부터 초대형 슈퍼컴퓨터에 이르기까지 C언어가 활약할 수 있는 것입니다.
또한 잘 정의된 표준과 그로 인한 이식성은, 프로그래머로 하여금 중복투자를 줄이게 해 줍니다. 예전에 BASIC 사용하던 시절 기억하십니까? 표준이 있었는지 없었는지는 모르겠지만 온갖 업체에서 만든 각각의 BASIC이 난립했었고 그결과 어느 특정 BASIC에서 쌓은 지식들이 다른 BASIC에서는 전혀 소용이 없는 지경에까지 이르렀습니다. 그에 비하면 C의 표준은 아직까지 확고한 영향력을 행사하고 있으며, C 표준 위원회도 꾸준한 활동을 보이고 있습니다.
지금까지 나온 각종 기반 자료에 의한 강점도 빼놓을 수 없겠지요. 가장 널리 쓰였고 아직도 굉장히 널리 쓰이고 있는 언어이기 때문에 자료도 많고 라이브러리나 예제코드도 구하기 쉽습니다.
하지만, 약점도 많습니다. 빈약한 string 처리 지원이라던가 최근의 추세인 oop에 대한 지원 등등은 분명한 약점입니다. 또한 효율적인 동작을 우선으로 했기 때문에 코드가 '깔끔함'과는 거리가 멀어지는 단점도 있습니다. CPU 파워가 이미 약간의 비효율적인 코드를 용납해줄 수 있을만큼 발전한 지금 시점에서 새로운 언어들에 비해 코드생산성이 떨어진다는 것은 아주 치명적인 약점이지요.
위에분들이 말씀하신대로 C언어가 최고냐 아니냐 하는 질문은 무의미합니다. 컴퓨터가 쓰이는 분야가 워낙에 넓기 때문이죠. 컴퓨터는 단지 도구일 뿐이며, 프로그램을 작성할때도 각자 용도에 맞는 언어를 선택하면 되는 것입니다. 프로그래머라면 마땅히, 자신이 일하고 있는 분야에 알맞는 도구를 사용할 수 있는 능력을 갖춰야 하겠습니다. 도구에 집착하는 것은 바보나 하는 짓입니다.
points
아주 많은 CPU가 C 컴파일러'만' 지원합니다. DSP도 그렇죠. AP
아주 많은 CPU가 C 컴파일러'만' 지원합니다. DSP도 그렇죠. API들이 다 C로 되어있고 컴파일러도 C가 기본입니다.
C는 절대 없어지지 않을 것 같네요.. 임베디드에 쓸 수 있는 언어가 High level에서는 잘 없지요.
C, C++ 정도가 될까요? Java는 도저히 무리고.. 극악이라 불리는 포인터가 오히려 쓸 곳을 많게 해주는 것 같네요. 메모리를 직접 어드레스 할 수 있으니.. OS도 C로 만들어지고.. 제가 아는 게 많진 않지만 최소한 *NIX 계열은 C, 윈도도 코어는 C, VXWorks 같은 realtime OS도 C, UCOS같은 작은 규모 임베디드에서도 C... 온통 C죠.
제생각에 시스템 프로그래밍, OS 등에서는 C가 지존이고 앞으로도 이변이 없는 한 그럴 것 같네요. 수많은 CPU들이 C를 지원하고, 컴파일러도 그에 맞춰져있으니까요.
UI나 웹같은 곳에선 C가 좀 부적합한 면이 많지만.. 그래도 대안이 없는 경우가 있으니 그런쪽은 C가 쓰이겠지요. GNU 프로젝트도 C가 많고.. GUI도 C로 된 라이브러리가 많고(쓸모가 많을 듯.. C밖에 안되는 임베디드에서요.) 기존에 만들었던 엄청난 코드들...
개인적으로 코딩과 디버깅에서 JAVA가 참 좋다고 생각 하지만.. 임베디드와 시스템쪽엔 도저히 쓰기 힘들 것 같습니다.
만약 MS가 C#을 엄청 드라이브 한다면, 그래서 여러 CPU에 C#이 컴파일돼서 돌아갈 수 있고 라이브러리도 가져다 쓸 수 있는 게 많다면 C#도 쓸만할 것 같습니다. 그러나 아직은.. 요원하죠.
points
파이썬이 쉽고, 효율적이라고 해서 공부했는데..
학습 초기에는 감동..
그러나 점점.. 속았다라는 생각이 들더군요.
뒤로 갈수록 개념 파악이 어려워지더군요. 자바나 C#보다 언어의 추상화(전산용어 아님)가 심해서 그런것 같더군요.
그렇지만 파이썬의 문법적 특성을 통해 많은것을 배웠고, 또한 개발효율성이 높다는 것은 전적으로 인정 해야 하는 할 것 같습니다.
제가 보기에는 C가 젤 쉽습니다.(이 세상에 젤쉬운 언어란 갠적인 생각)
만약 C의 포인터 땜에 어렵다고 생각하시는 분이 있다면, 그래서 포인터을 정확히 이해하지 못한다면, JAVA, C#, PYTHON 같이 레퍼런스나 객체 타입을 가지는 언어는 더욱 이해하지 못했다고 봐야 할 것 같습니다만...
레퍼런스 타입이나, 객체 타입은 알고보면 포인터 타입과 90% 같다고 봐야 한다고 생각 합니다.
그래서, C는 다른 언어를 배우고 이해하기 위해 알아야할 필수 언어라고 봅니다.
points
아참... 글구 python으로 신입생 언어 가르칠 경우.....
제 생각에는, python으로 가르칠 경우 '언어가 무엇이냐'는 것을 배울 수 있겠지만, 반대로 C로 가르칠 경우에는 '컴퓨터가 무엇이냐'를 배울 수 있게 될 것 같습니다.
사실 컴퓨터가 어떻게 동작하는지 가장 확실하게 아는 방법은 어찌보면 '어셈'을 짜 보는 것일 것 같습니다. 그렇지만 그러려면 필연적으로 x86어셈을 해야겠고, 제가 많이 해보지는 않아서 모르겠지만, 그거를 신입생에게 가르친다는 것은.... 음...... -_-;;
제가 python을 잘 안해봐서 모르겠지만....
상당히 많은 양의 '편의성'이 주어진다고 기억합니다...
range 무한대인 숫자라던지, string이라던지....
그런거만 쓰다보면, 나중에 컴퓨터를 이해할 때 왜 32-bit integer을 꼭 쓰고 있는지, 왜 string에 string을 덧붙이는 것이 처음부터 string을 그냥 만드는 것보다 비효율적인지, 등등... 이런 것들을 이해하는 데에 상당한 애로사항이 생기지 않을까 하는 생각입니다.
C로 string append하는 것 한번만 짜보면 그 내면의 복잡한 operation을 이해할 수 있을 듯 생각됩니다.
python이나 java로 언어를 배운다면 이해하기 힘들겠죠. java로 예를 들면, 복잡한 StringBuffer 같은걸로 하는 것보다 그냥 String에 덧셈 때리는 쪽이 더 편하고 간단해 보일테니깐요. 그 내면의 엄청나게 복잡한 연산은 생각 안하고.
물론 C로는 OOP를 배우기 매우x1000 힘들다는 문제가 있겠지만요.. :)
points
OOP를 확실히 이해하는 방법
C로 OOP를 배우기는 어렵지만, OOP를 확실하게 이해하는 좋은 방법으로 C로 OOP기법을 적용하여 프로그램을 짜보는 것 일것 같습니다.
points
C가 가지는 가장 중요한 위치는 아직 기계가 못 따라왔다는거 아닐까요?
C가 가지는 가장 중요한 위치는 아직 기계가 못 따라왔다는거 아닐까요?
여기저기서 항상 읽는 바로는 왠만큼 복잡한 프로그램의 경우 어셈블리어로 아무리 사람이 잘 짠다해도 C코드를 어셈블리어로 바꿔놓는 컴파일러를 따라갈 수 없다고 하더군요.
결국 기계가 대신 해주지 못하는 일 중 가장 low-level하기 때문에 그 인기를 아직까지 누리고 있지 않나 하는데요..
시간이 더 지나 C코드 마저 기계가 사람보다 더 잘 만들게 된다면 그 인기는 다른 언어의 소유가 될수도 있겠죠.. 그게 자바일수도 있고.. c++일수도 있고.. c#일수도 있고.. (심지어 Perl이나 Python일수도!!! )
points
움...
개인적으로 언어의 우수성이라고 하는 것은 목적에 따라 다르다고 생각합니다.
C가 위대한 언어로 취급받는건 거의 모든것을 그렇저렇 다 할 수 있다는 것이 이유일 것같습니다.
C만 알아도 하고 싶은 건 될 수 있다라는 것이 그것을 위대한 언어로 만들었다는 생각입니다. 물론 전통과 역사가 그렇게 만든 것일 수도 있지요.
솔직히 저는 C를 잘 모르지만...
그래서 꼭 C를 해보고 싶습니다.
머...php나 python의 편의성에 익숙해져서 아직까지는 별 필요를 못느낍니다만은...ㅡ..ㅡ
points
개인적으로 프로그래밍 시작하시는 분들께는C 안하시고 Java나 C#,
개인적으로 프로그래밍 시작하시는 분들께는
C 안하시고 Java나 C#, 혹은 C++을 바로 시작하시는 걸
권해드리고 싶네요.
C가 나올때야 고급 언어가 별로 없었어서
C가 고급 언어 취급을 받았지만,
지금은 C는 Low Level에서 사용되는 정도가 좋다고 봅니다.
물론 혼자 작은 프로그램을 짠다면야 뭐 상관이 없겠지만,
여럿이 프로그래밍을 한다거나, 대규모 프로그램을 짠다면,
C에서는 확실히 불편한게 많이 있죠.
특히 OOP가 지원되지 않는다는 건 요즘 추세와 걸맞지 않고요.
물론 function마다 인자 하나씩 더 써주고, call-back function을 쫙 깔면
OOP 흉내는 낼 수 있겠습니다만
그건 OOP를 아는 사람들이 C로 짜야만하는 상황에서 하는 것이고,
C에서 그런 방법으로 OOP를 배우는 건 혼란만 가중될것 같네요.
배보다 배꼽이 클 수도 있고요.
게다가
간다(사람);.. 과 ..
사람.간다;.. 는 코딩 방법만이 아니라 사고방식 자체가 다르지 않은지 ..
C는 C가 필요한 고유의 영역에서 쓰이는 게 좋은 것 같습니다.
뭐 '뭐든지 다 할수 있다'라는 말도
사실 이젠 대부분의 언어에 적용되는 말이기도 하고요.
( 뭐 VM에서 돌아가는 Java나 C#에서 하드웨어 조작해봐라 식만 아니면 )
points
최고 란 무엇인지?
물리학을 전공한 사람중 하나 입니다.
세상에 최고란 것이 존재할까요?
다른 쪽에서 한번 본다면...
언어란 자기의 생각이나 논리를 표현해서 원하는 결과를 얻는 것이라고 생각합니다.
무엇을 하려하는가에 따라 언어는 달라 져야겠죠.
중요한 것은 (개발 입장에서) 쉽게, (사용 입장에서)쉽게 하는 것이라고 봅니다.
points
제 생각은...
간단하게 한마디만요...
C를 먼저 배운 사람은 다른 언어 습득이 쉬워지는 것 같습니다.
핵심으로 파고 들기도 쉽고요...(물론 asm쪽도 그나마 쉽게 볼 수 있고요.)
아직까지 java쪽이나 다른쪽에서 C로 건너오는 경우는 못봤지만...^^
제 경험상 요즘의 상당히 쉬운언어(?)로 공부한 사람이 C 쪽 프로그래머로
살아 남는 걸 본적이 별로 없습니다.....
조금하다가 그만 두더라고요...--;(프로그램 하기 넘 짜증나나?)
하여간, 그냥 경험상 한 얘기이니 돌 던지지 마세용...^^
모든 경우에 최고는 아니지만어떤 경우에는 최고라 할 수 있지요...
모든 경우에 최고는 아니지만
어떤 경우에는 최고라 할 수 있지요...
그 어떤 경우가 아직까지는 중요한 분야에 광범위하게 넓다는 거죠...
(시스템과 연관된 분야는 전부 라고 할 수 있죠... 펄, 파이선, 자바, php 등.. 이런 언어를 사용할 수 있도록 도와주는건 C니까요..)
앞으로도 오랫동안 C 프로그래머가 굶어죽을 일은 없을것 같습니다.
points
벽에 붙여놓고 있는 C Reference Card
단순함속에 오묘함이 녹아있고.
쓸수록 모르는게 많다는...그래서 흥미롭다는... :o
전 C를 좋아합니다.
아래는 제 연구실벽에 붙여서 아주 가끔 보고 있는 C Reference Card입니다.
http://miranda.ce.pusan.ac.kr/~isyoon/C_Ref_Card_1.jpg
http://miranda.ce.pusan.ac.kr/~isyoon/C_Ref_Card_2.jpg
points
음 카드 그림 링크가 안뜨네요.
왠지 궁금하다는... ^^;
괜잖으시면 메일로 보내주세요.~~
points
C, 최고라고 해도 부끄럽지 않을 것 같네요.
문자 그대로 <모든 분야에서 최고>라는 것은 언어의 정의 자체가 특정한 목적
에 맞게 설계되어 있음을 고려하여 보더라도, 또한 세상의 이치가 모든 분야에
서 최고 일 수 없음을 생각했을 때도 역시나 가능한 명제는 아닌 듯 싶습니다.
그러나....
그럼에도 불구하고 OS를 구현할정도의 System Acess능력과 함께 하면 할
수록 끝을 알수 없는 응용범위, 그리고 들어가면 들어갈수록 오묘해 지는 코딩
의 유연성, 심오하고 깊은 내용을 보여주는 이미 구현된 C Code 등을 종합 고
려해보면 적어도 아직까지는 또 앞으로도 당분간은 C언어만한 언어가 다시 등장
하기는 힘들 것으로 사료됩니다.
저의 예를 들자면, C로 C++의 Class 개념을 응용하여 structure의 멤버로
Array of pointer to function을 선언하고 이를 초기화하여 이 Array의 인덱
스를 이용하여 function call을 구현한 경우가 있었습니다.
그리고 이것을 다시 원용하여 C++코드에서 Virtual Base Class를 선언하고
이의 하위 Class instance를 상위의 Virtual Base Class Instance를 가르
키는 pointer에 할당하여 이것을 이용하여 for 문을 이용한 member function
call을 구현한 경우가 있습니다.
이것은 C, C++의 언어 영역은 다르지만 코딩스타일이 언어 영역을 넘어서서
유연하게 적용가능한 실례가 되겠고, C Coding에 능숙했을때 얼마나 쉽게 다
른 언어에 능통할 수 있는지에 대한 명확한 증거가 될 수 있다고 봅니다.
심지어 VB를 이해하는 데에도 C를 이해했을 때와 그렇지 못할때의 차이는 엄청
난 것으로 기억하고 있습니다.
이렇듯 C언어는 모든 저급 언어와 고급 언어 공히 가장 필수적인 학습코스에 포
함될 만한 언어의 고전이면서 실제적으로 봐도 그 응용범위가 무궁무진한 고급
프로그래밍의 원천이라고 봐도 무방하다고 봅니다.
저는 이런 의미에서 C언어를 <최고라고 해도 무방한 언어>로 자신있게추천하고 싶습니다.
points
Re: C언어는 정말 최고의 언어인가요?
C 언어란 궁극적으로 포터블한 어셈이라는 의견에 동의합니다.
그뿐이죠...-.-
이게 유일한 장점이라면 유일한 장점이고, 최고의 장점이라면 최고의
장점이죠.
points
Re: C언어는 정말 최고의 언어인가요?
C에 대해 상당히 부정적인 의견을 가지신 것 같군요..
그러나 다만 포터블한 어셈이었다면 왜 다른 포터블한 어셈이 나와서 C를 뒤엎지 못하는 것일까요?
points
Re: C언어는 정말 최고의 언어인가요?
제가 좀 반골이라서 남들 다 좋다 하면 딴 소리하는 경향이 있는 거
같습니다...(양해를~)
그러나 C의 장점 중 포터블한 어셈이라는 거 빼고 장점으로
내세울 수 있는 것이 있나요? 포터블한 어셈을 구현하기 위해 채택한
요소들 외에 C에서 어떤 장점을 찾을 수 있죠?(단점은 말고^^)
그리고 다른 포터블 어셈이 왜 C를 대체하지 못하느냐는 질문에 대한
저의 답은, 그것은 언어 외적인 요인이 작용하기 때문이라는 것입니다.
예컨대 C는 유닉스 운영 체제의 구현 언어였고 여러 대학들에 공짜로
코드가 라이센스되었고, 여러 인프라들의 구현 언어가 되었기 때문이라는
거죠...
OOP 언어로 스몰토크가 아닌 자바가 이처럼 인기가 있는 것에도,
자바나 스몰토크의 언어적 경쟁력 외에 정치적인 요소가 크게 작용
하고 있다고 생각합니다. 배후에 있는 썬이라는 회사, 브라우저
전쟁, c\c++ 계열의 코딩 스타일을 채용한 휴먼 팩터...
그러나 이런 요소들은 언어 자체의 경쟁력과는 별개인 듯 싶습니다.
즉, 그렇다고 자바가 최고의 OOP 언어인 것은 아니죠.
사실 제가 불만인 것은 C라는 언어가 언어적 다양성을 해치고 있다는
생각 때문입니다.
예를 들면 현재의 주류 언어는 c\c++\java\c#...
이렇게 가는 거 같습니다. 객체지향으로 가되, c의 유산을 안고 가는
거죠. 그러나 c의 유산에서 자유로운, 예컨대 스몰토크라는 언어를 보면
참으로 새로운 사고, 새로운 공기, 새로운 맛을 느끼게 해 줍니다.
자바가 스몰토크처럼 될 수 있었지만, 그놈의 c 컴패터블 때문에 언어가
아주 망가져 버렸다고 봅니다(아후~ 과격하다^^).
또 , 어떤 분들은 c로 oop를 시뮬해 보는 것이 oop를 이해하는데
큰 도움이 되는 거처럼 말씀하십니다. 저의 의견으로는 이거 아무 해당
사항 없는 얘기입니다. c를 제대로 사용한다는 것은 oop를 지원하는
언어의 컴파일러를 만드는 것이지 c로 oop를 시뮬하는 것이 아니라고
생각합니다(물론 gtk 같은 프로젝트에서 그렇게 하는데에는 어쩔 수 없는
사정이 있는 거구요...).
이러한 관점에서 보면 c는 새로운 패러다임을 학습하는데 장애가 되는
셈입니다.(물론 c를 통한 oop 학습이라는 아이디어를 진지하게 고려
하시는 분은 거의 없으리라 생각하지만...)
이러 저런 이유들 때문에 저는 c를 싫어합니다~
points
하하 딴지는 아니고..
잘 아시고 계시겠지만, 스몰톡은 OOP 개념을 만들어낸 최초의 언어이죠.
근데 요즘 넘 안쓰다보니 오히려 스몰톡에서 "새로운" 사고/공기/맛을 느낀다고 하시니
그 표현이 재미있어서 한마디 남깁니다.
C 가 정치적인 요인으로 성공했단 말에 동의합니다.
C 언어의 개발과정을 들어보면 그 당시 AT&T Bell 연구소에서
운영체제(UNIX), 언어(C)와 네트웍(TCP/IP)이 모두 커다란 프로젝에 포함되었던 것 같아요.
그래서 이 세가지는 뗄래야 뗄 수가 없죠.
AT&T란 회사의 성격을 보면 이해가 가기도 하죠.
파스칼 쓸땐 디스켓 한장 들고 다니면 개발환경이 다 해결되었는데,
C 는 디스켓 한장에 안들어가는 무거운 언어라 불편했던 생각이 나네요.
격세지감입니다. C 가 가벼운 언어로 취급받는 시기가 올 줄이야.. 하하.
points
첨언하자면...c를 했었기 때문에 c++이나 Java에 금방 능숙
첨언하자면...
c를 했었기 때문에 c++이나 Java에 금방 능숙해 질 수 있었다는 말은
좀처럼 듣기 힘든 말입니다.(물론 신택스에는 금방 익숙해지겠죠. 두어 시간이면 충분하리라~)
오히려 c를 오래 했었기 때문에 c++이나 Java도 c처럼 짜게 되고 만다는
얘기는 흔히 듣는 얘기구요.
역으로 c++이나 Java를 하고 나니 c를 더 잘 이해하고 제대로
구사하게 되는 거 같더라는 얘기도 자주 듣는 얘기죠.
(제 동생도 파스칼을 배우고 나서야 c를 이해할 수 있었다고
씩씩대더군요^^)
points
C를 portable한 assembly language로 보는 건결코
C를 portable한 assembly language로 보는 건
결코 폄하하는 이야기라고 생각되지 않는데요.
있는 그대로의 이야기가 아닌가 합니다.
이런 사실은 C 코드를 Hand-compile 해보시면 압니다.
다른 여타 언어의 코드도 한번 해보시고요.
그리고 C를 하면 다른 언어를 이해하기 쉬운건 사실입니다.
그런데 Pascal을 해도 다른 언어를 이해하기 쉽고,
Basic, Cobol, Fortran을 해도 다른 언어를 이해하기 쉬워지죠.
( 안하는 것 보다는 -_-; )
points
[quote="쿨링팬"]단순함속에 오묘함이 녹아있고.쓸수록 모르는게
니들이 C맛을 알어~~~~~~~~~~~~?
아는 분도 계시는군요~~ ^^*
points
지저분함의
지저분함의 미학이란거죠
points
C언어는 정말 최고의 언어인가요?
각자 사용하는곳에 따라서 달라지질 않을까 싶네요.
하지만 제가 볼때는 최고의 언어는 아니라고 생각합니다.
위에 많은 분들이 말했듯이 많은 플렛폼에서 기본적으로 적용해야할 정도로
그 쓰임세는 상당하지만 언어자체는 완전히 암호문 수준이라고 말해도 될정도
라고 생각합니다.
물론 이런 암호문을 15년동안 계속만지고 있는 제 자신이 이상하기도 하지만... :-)
사실 C를 배우기전에 파스칼을 먼저배웠죠.
하지만 친구의 꼬임에 넘어가서 C를 배우고 아직도 이걸로 밥벌어먹고 사는거
보면 대견하기도 합니다.
아~ 각설하고...
어쨌든 응용분야가 넓을뿐이지 최고의 언어는 아니라는게 제생각입니다.
그러면 최고의 언어는 어떤언어인가... 과연 그런게있을까요?
어차피 개인적으로야 최고를 따질 수있지만 일단 두사람이상이 되면 최고의
언어는 각자가 가장 즐겨쓰는 언어가 아닐까하는 생각입니다.
points
시스템 프로그래밍에서 C를 대체할만한 언어가 과연 몇이나 있을까요? 이것
시스템 프로그래밍에서 C를 대체할만한 언어가 과연 몇이나 있을까요? 이것만 해도 C의 가치를 보여주는 예가 아닐까요?
points
Re: C언어는 정말 최고의 언어인가요?
그뿐인 것은 아니죠.
C언어는 구조적입니다. :wink:
points
요즘은 어셈블러도 많이 좋아져서,어셈블리 프로그래밍도 꽤 구조적으로
요즘은 어셈블러도 많이 좋아져서,
어셈블리 프로그래밍도 꽤 구조적으로 할 수 있죠.
하드웨어들도 많은 걸 지원하고 있고요.
그리고 C는 구조적인 걸 특별히 염두에 두고 만들었다고 보긴
좀 어렵지 않나 싶네요.
Pascal 등에 비해 그런 면은 많이 부족하지 않은가 싶고요.
C가 시스템 프로그래밍에는 적합하다고 생각합니다만,
점점 프로그램 규모가 커지는 현재로선
주위 사람들에게 권하기 좋은 언어는 아닌것 같네요.
유지 보수를 위해선 확실히 OO가 지원되는 편이 좋은 것 같다는 생각입니다.
( 스크립트 같은 건 논외로 하고요. -_- )
points
[quote="vacancy"] 요즘은 어셈블러도 많이 좋아져서,
구조적 프로그래밍 뿐만 아니라 객체 지향 프로그래밍을 할 수 있는
어셈블러도 있습니다.
윈도에서는 대표적으로 볼랜드의 TASM/BASM이 있죠.
글쎄요, C언어 자체가 파스칼의 영향을 많이 받았고,
여러가지 유사점이 많습니다.
심지어 파스칼 소스를 C 소스로 변환해주는
p2c 란 프로그램도 있을 정도니까요.
구조적 프로그래밍 관점에서 엄밀히 보자면 파스칼이 C보다 우수하지만,
실무의 코딩 측면에서는 C가 더 편리하지요.
그건 그렇고,
리눅스와 윈도가
BeOS나 AtheOS처럼 커널 자체가 C++로 만들어져서
시스템 프로그래밍을 C++로 할 수 있다면 얼마나 좋을까요.
points
최고란?
원론으로 돌아가보죠.
과연 최고란 무엇일까요 :?:
인간은 본성적으로 최고 라는 말을 좋아하더군요.
누가 1등이냐?
하지만, 돈많이 번다고 1등이다. 대통령 한다고 1등이라 라고는 할 수 없겠죠?
C & C++ 은 확실히 속도가 빠른 언어입니다. 다른 언어를 배우기 위한 단단한 초석이 될 수도 있습니다.
JAVA는 다중플랫폼을 잘 지원하는 언어죠.
Basic 은 배우기 쉬운 언어입니다.
파이썬 - 여러 언어를 가져다 쓰기 쉽다는군요. ( 안해봐서.. 쿨럭 )
bash쉘 스크립트 - 언어라고 해야할지는 모르겠지만 확실히 Linux에선 강합니다.
파스칼 - 지금은 델파이,카일릭스 라는 이름으로 windows // xwindow 프로그램에서 강세를 보이더군요.
제가 모르는 많은 언어도 있을 것입니다만 제가 공부해본 결과는..
최고를 따지기는 보다는 적당한 조합으로 최고를 만들자라는 것이 .. 저의 생각입니다.
예를 들어.. C로 속도가 중요한 core 를 만들고 빠른 개발이 필요한 곳에 스크립트언어(VB/shell script)를 이용하면 효율성이 높은 더군요.
points
[하양] 당연히 C가 최고...!0!
C보다 나은 언어가 과연 있을련지?
속도랑 코딩 방법이랑 전반적인걸 살펴보면은 C에 견줄만한건 없지 않나 싶으네요.
과연 어떤 언어가 C에 도전을...?
도전은 계속되어야 하겠지만...
현재의 나와있는 언어 중에선 최고일듯...
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
points
냠 그런면으로 따지면 .... C++이...
C의 모든 기능을 다 쓸수 있고 , 그외 객체지향 제레닉 프로그래밍까지
해주는 C++이 최고 아닌가여? --;
points
다합쳐두었다고
다합쳐두었다고 최고는 아닙니다.
최고란 최고의 요소를 가장많이 가지고 불필요한것이 최소로가져야 최고라고 할수있죠...
프로그래밍도 마찬가지죠.. 이것저것 다넣었다고 최고의 함수 혹은 라이브러리가되는걸까요..
불필요한것을 최소로프로그래밍하는것이 가장 좋은 프로그램임은 알고 계시지 않나요?
points
[하양] C++ 가 C의 모든 기능을 다한다?
흠... 그럼... C는 있으나 마나인가요? -_-ㅋ
과연 C가 C++의 subset 아라는?
그럼... C로 만들어진 다른 언어들도 C의 모든 기능을 다 가진 셈이면...
더 이상 C의 설 자리는 도데체 어디이란 말인가?
흠...-_-ㅋ
위의 제 글도 좀 억지 스럽지만...
이런 결론도 억지 스럽지 않을지?
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
points
^^
윈도우 프로그래밍, c++,mfc , 자바 두루 써봤는데요.
각기 장단점이 있는거 같아요.
물론 위의 툴들은 컴퓨터 학원에서 약 1년간 공부 하면서 습득한 것이고,
학원 수료와 동시에 unix / linux 기반에서 c를 통한 시스템 프로그래밍을
시작했습니다. 첨엔 c++, mfc을 하다 unix, linux에서 c로 시스템 프로그래밍
하는 분들이 멋있어 보여서 *^^*;
어떤 언어가 더 우월하냐?란 질문에는 음 .. 씨....라고 말하고 싶은데..
그럼 시비가 걸릴거 같구 ^^;
현재저의 일에 자부심을 가지고 있습니다. 그리고 일을 하면 할 수록 자꾸
매료되는 새로운 분야도 많구 ^^; 그 모든게 c만으로도 가능하다는게
놀라울 뿐이죠 ^^;
points
C 의 설 곳은다른 고급 언어가 사용되기 어려운 곳이겠죠.C+
C 의 설 곳은
다른 고급 언어가 사용되기 어려운 곳이겠죠.
C++/C#/Java 등의 컴파일러가 존재하지 않는 플랫폼이나
Low Level Programming 같은 곳요.
C언어보다는 Assembly가 저는 최고의 언어라고 말하고 싶습니다.
C언어보다는 Assembly가 저는 최고의 언어라고 말하고 싶습니다.
어떤 언어든지 결국은 역어셈블 될수 있고
모든 구조는 어셈블리를 알면 꽤뚫어볼수 있습니다.
그리고 빠릅니다. 크기도 작게 만들수 있고요.
전 처음부터 어셈블리를 공부했었고 그 다음에 C->Basic ->Pascal ->QBasic->C++ -> Java
이런순이었는데
아무리 생각해봐도 어셈블리가 가장 강력한 힘을 발휘하는 듯합니다.
물론 단점도 있지만 분명 제 생각으로는 "어렵다" 라는 말은 잘못된거라고
생각합니다. 오히려 쉽다는게 제 주장입니다.
어려운것이 아니라 코드가 늘어진다 라는 표현이 적절할거 같습니다.
C는 간결로 대표되지만 어셈은 세부묘사로 대표되지 않을까요?
그냥 표현이 늘어지는 것 뿐이지 어셈이 어렵다는 예기는
머리에서 코드를 생성하는데 길게 보지 못하는사람들의 예기가 아닐까요?
길게 보지 못하고 짜는 사람은 보나마나 C로 짜도 똑같습니다.
혹시 제 생각에 반대하신다면 저에게 도전장을 던지세요.
어떤 프로그램 하나 만들어서 (얼마든지 복잡해도 됨)
저의 어셈에 의한 결과물과 비교해보시면 그걸로 저의 답변은 끝입니다.
분명 C언어도 강력합니다. 하지만 어셈보다는 한수 아래.
*** 딴지나 도전 환영 ***[/code]
points
[quote="minzkn"]C언어보다는 Assembly가 저는 최고의
딴지는 아니구요. 일반적인 C 나 C++ 컴파일러의 최적화에 대해서는
어떻게 생각하시나요? 듣기로는, 최적화 시키지 않은 어셈으로 짜는 것
보다는 현재의 컴파일러의 최적화 기능이 더 낳은 속도를 낸다고
들었습니다. 그리고, 그런식으로 최적화를 해서 어셈 코드를 짜는 것과
그냥 단순하게 C 컴파일러를 이용해서 코드를 작성하는 것의 생산성에
대해서는 어떻게 생각하시나요?
저는 언어간의 우열이라는 것은 없다고 생각합니다. 어떤 프로젝트에
따라서 유용한 언어와 유용하지 못한 언어가 있다고 생각할 뿐입니다.
보통, C의 경우 제가 생각하는 대 부분의 경우에 유용하더군요. 물론
그렇지 않은 경우도 많습니다. 어셈이 훨씬 유용한 경우도 많죠.
(개인적으로, 어셈을 제대로 배워두는 것은 상당히 좋다고 생각합니다.
전, 어셈을 잘 못하긴 하지만, 디버깅이나, 디스어셈시에, 꼭 제대로 배워
야 된다는 생각이 들더군요. ^^ )
그럼 고운 하루되세요.
points
[quote="minzkn"]C언어보다는 Assembly가 저는 최고의
마감 맞추기 위해 1분 1초가 아까운 상황에서 어셈 붙들고 신선놀음 하고 있을 수 있을까요?
어셈은 기종마다 다른 명령어와 구조를 가지고 있는데, 한 수십종의 컴퓨터에서 프로그래밍 해야 된다면 그거 일일이 다 배우고 있을 건가요?
어셈으로 열나게 만들어놨는데 그거 다른 기종에 옮겨야 될 상황이 생기면 어떻게 하죠?
그리고 요새는 CPU가 구조가 복잡해져서 웬만한 코드는 컴파일러에서 최적화해 주는 코드가 더 빠릅니다.
저같으면 어셈 붙들고 삽질하느니 다른 고급언어로 편하게 짜고 남는시간에 빈번히 사용되는 부분만 죽어라 최적화하겠습니다.
points
위의 lsj0713 님 의견에 한표~ :) 프로그래밍 언어는 주
위의 lsj0713 님 의견에 한표~ :)
프로그래밍 언어는 주어진 문제를 해결하기 위한 하나의 도구일 뿐입니다.
분명 특정 언어에 대한 개인적인 선호는 있을 수 있습니다. 하지만, 주어진
상황과 현실적인 조건, 문제의 성격 등에 의해서 특정 언어가 최선의 선택
이 될 수는 있어도, 그와 같은 외부적 조건을 무시한 객관적인 기준에서의
절대적 평가가 이루어질 수 는 없다고 생각합니다.
모든 문제를 모든 경우에 최적의 방법으로 해결할 수 있는 하나의 언어는
존재하지 않습니다.
그럼...
points
[quote="minzkn"]혹시 제 생각에 반대하신다면 저에게 도전
서버 10여대에 클러스터링/로드밸런싱할 수 있는 온라인 쇼핑몰을 만들어보세요. 물론 데이터베이스를 백엔드로 해서 분산 트랜잭션 처리가 되야 합니다. 사용자 인증은 외부의 LDAP 서버로 하는게 좋겠군요. 단, 작성하는데 넉넉하게 2개월 드리겠습니다 :)
10여대에
10여대에 클러스터링/로드밸런싱 하는 라이브러리 구입해서 쓰면금방됩니다.
입맛에 맞게 외주로 주문해도되죠..
어차피 자바도 라이브러리 쓴다는 가정하에 말씀하신거죠?
혹시 자바도 생짜로 짜서 저걸금방짜신다는건 아니죠?
또한 다른언어는 자바처럼 어처구니 없는 짓? 을하지 않아도 충분히 속도가 잘나는경우가 대부분입니다.
문제는 나처럼 동일하게 따라 해봐라가 아니고 동일한결과물을 만드는게 중요하겠죠?
동일한 스트레스 테스트를 견딜 서버를 만들수 있냐 없냐를 따져야죠..
실제로 자바의 이런저런 개념으로 짰다해도.. 조금효율적으로 짠 C보다 훨씬 속도안나오더군요..
points
흐흐 엄청난 도전이군요.......어셈블리의 파워를 확인하려면 2
흐흐 엄청난 도전이군요.......
어셈블리의 파워를 확인하려면 2개월정도를 기다려야되는건가요..
어셈블리의 강력함을 보려주려고 그런 일을 하지는 못하겠죠.
확실한건 아무리 c언어가 최적화가 잘되어도 어셈을 따라갈 수는 없다고 생각합니다만
코드의 효율성과 관리의 용이성은 분리되어야겠죠.
한정된 자원을 가지고 최대의 최고의 효율을 내는건 어셈일겁니다.
문제는 IT업계라는게 한정된 자원을 효율적으로 쓰는데는 별 관심이
없다는데 문제가 되는거죠.
IT업계가 수제품처럼 예술적으로 만들어서 비싸게 팔수 있는 시장이 아니니까요
강력함만 따질때는 저는 어셈에 한표........
시스템프로그래밍영역까지 포함하는 빠른 개발과 관리에서는 C언어에 한표....
points
저와 제 동생.. 둘다 남자입니다.티비보면서 서로 이렇케 우겨댑니다.
저와 제 동생.. 둘다 남자입니다.
티비보면서 서로 이렇케 우겨댑니다.
저는 효리가 이쁘다. 동생은 유진이가 이쁘다.. ^-^
사실 "누가 더 이쁘다.", "누가 최고로 이쁘다"란 주장 혹은 질문은 애초의
질문 혹은 주장 자체의 설정부터 틀렸다고 생각합니다.
사람들 각각마다 이쁘다는 기준이 제각각이고, 취향이 틀리다는 사실을 무시한
질문/주장이지요. 물론 특정 시대, 특정 지역마다의 공통적인 취향은 있지만,
그것을 획일적으로 모든 개개인에게 적용시키려는 태도는 대단히 위험하다고 생각됩니다.
마찬가지로 어떤 언어가 최고다라는 주장/질문도 어떤 전제를 무시해버린 주장/질문이 아닌가
생각됩니다.
개발 환경, 개발 목적, 혹은 개발자 마다 각각 상황들을 무시한 질문이거든요.
위에서 어떤 분이 말한 것 처럼 웹프로그램을 성능이 좋다는 이유로 C로 구현할려고 하면
수시로 바뀌는 기획자들의 변덕(?)에 맞춰 개발하려면 수시로 코딩, 디버깅, 배포의 악순환을 겪다
보면.. 흐흐 개발자는... 그래서 ASP, JSP, PHP등의 소위 xSP가 웹 프로그램의 주류로 자리잡게 된게
아닌가 생각됩니다.
지금 사무실 건너편 책상의 사람들( 저희 회사 사람들이 아님니다만은)은 그 사람들은 주로 오라클에
파워빌더를 가지고, 기간계 업무 프로그램을 개발, 유지 보수 하고 있습니다.
물론 그사람들도 소켓 송수신 담당 하는 프로그래은 C로 구현하고 있습니다만, 모든 업무를
성능이 좋다는 이유로 C로 개발하라고 하면.. ㅎㅎㅎ 아마도.... 으~~악!! 비명을 지르며
도망 갈겁니다. ^-^
제가 알기로는 파워빌더(써보지는 않았습니다만)가 Win32에서 DB를 다루는데는. 거의 천하무적이라고
알고있습니다. (조금 과장해서요.. ^^) 그래서 저기 사람들로 파워빌더를 주로 사용하는데..
역시 한계는 있습니다. 그래서 C를 보조(?) 언어로 사용하지요..
이렇튼 상황, 목적에 따라 적합한 개발 언어는 바뀐다고 생각합니다.
"C 언어가 최고다, 최고인가?"란 식의 질문/주장은 제 생각에 군사문화 혹은 권위주위 교육의 잔재라고 생각합니다.
혹은 입시교육위주의 우리 교육이 문제라고 생각됩니다. 1등 혹은 서울대 지상주위.. ^^
무엇이 최고인가? 누가 1등인가란? 질문보다는 무엇이 이 상황에 더 적합한가?
누가 이 일을 잘할 수 있는가?란 질문으로 질문에 촛점이 바뀌어야 한다고 생각합니다.
그냥 떠들어 봤습니다. ^-^
피에쓰: 처음 질문하신 분의 교수님도 C언어가 최고라기 보다는 신입생 교육용으로 C언어가 적합하다고
생각하셔서 그랬을 겁니다. 물론 이것도 논란의 여지는 있지만요..
[quote="fender"]서버 10여대에 클러스터링/로드밸런싱할 수
도전 고맙네요. 심심한데 잘됐네.
도전을 받기전에 다음의 조건을 갖춰주세요.
[조건]
1. 도전하신분도 처음부터 새로 같은 프로그램을 만드셔야 합니다.
2. 이미 만든거로 도전하는 것은 안됩니다.
3. 정말로 정식으로 도전하신다면 메일 주세요. 장난금지.
4. 서버 10대를 제공해주세요. (측정시)
5. 성능 측정을 위한 제 3자의 프로그램이 필요.
6. 반드시 도전자는 1인이어야 하며 외부의 도움을 받으면 벌금 1000만원!
7. 도전에 진사람의 소스는 반드시 공개해야 하며 저작권을 상실하며
이긴사람에게 저작권이 귀속됩니다.
얼마든지 받아들이죠. 정말로 도전하시겠습니까?
환영하겠습니다.
근데 그거 만들면 잘 팔립니까? 잘팔리면 팔아서 이웃돕기나 한번....
더 잘팔리는거 도전해주시면 좋을텐데...
points
[quote="fender"]서버 10여대에 클러스터링/로드밸런싱할 수
거기다 최소의 수정으로 여러 플랫폼에서 돌아갈 수 있으면 더 좋겠네요 :)
덧. 왠지 EJB가 생각나서요 :)
points
[quote="minzkn"]도전 고맙네요. 심심한데 잘됐네.도전
흘... 진지하게 받아들이셨군요. 어쨌든 자신의 말에 책임을 지는 모습이 보기 좋습니다 :)
서버 10대 제공 같은 것은 현실성이 없어 보이고, 저도 같은 프로그램을 만들어야 한다면, 직업적으로 J2EE 프로그램을 짜긴 하지만 별도의 프로젝트를 위해 시간을 내기 어렵습니다. 또 5번 같은 경우는 생각보다 단순한 문제는 아닙니다. 그냥 리퀘스트 한번 처리하는데 몇 초가 걸리는 지가 아니라 scalability를 고려해야합니다.
어쨌든 진지하게 받아들이셨다면 타겟을 바꿔보는게 좋겠군요. 제가 진행하는 오픈소스 프로젝트가 2개 있습니다. 하나는 버그질라 같은 버그 트래킹 시스템이고(http://jitter.sourceforge.net), 하나는 크로스플랫폼 메일클라이언트(http://argosmail.sourceforge.net)입니다.
특히 후자의 경우는 거의 주말에만 1-2개월 쯤 작업해서 거의 처음 시작하는 거나 다름 없는 상태입니다. 불공평하다고 생각하시면 어차피 저도 풀타임으로 이 쪽에 매달리는 상황이 아니니 시간 제한은 두지 않겠습니다.
요구조건은 이렇습니다 :
(1) 윈도우즈/리눅스(GTK2/Motif)/맥OSX/Solaris(Motif)/HP-UX(Motif) 동시 지원
(2) IMAP/POP3/MBOX/MAILDIR 지원
(3) HTML 메일 보기/편집 가능
(4) 주소록 관리 기능(vcard 호환)
(5) 국제화(i18n) 및 유니코드 지원
저는 직장 일이 워낙 바빠서 약 1년 정도 후에 사용가능한 테스트 버전을 릴리즈할 계획입니다. 만들어도 팔아먹진 못하겠지만 어셈블리로 이 정도 만들면 모르긴 해도 /.에 기사 하나쯤은 딸 수 있을테니 보상이 될지 모르겠군요 :)
points
물론, 어셈블리어로 도전하시는 분은 각 환경에 맞는 어셈블러를 선택할 수
물론, 어셈블리어로 도전하시는 분은 각 환경에 맞는 어셈블러를 선택할 수
는 있어도 프로그래밍은 from scratch 로 하셔야 하겠죠. 단 한 줄도 다른
언어의 컴파일러나 툴을 통해 얻은 machine-generated 된 어셈블리어 코드
를 포함해서는 안 되겠죠.
또한, 두 분은 라이브러리의 사용에서도 어느 정도 합의가 필요한 듯 합니
다. 어셈블리어를 사용하면서 다른 언어로 제작된 라이브러리를 사용하는
것을 어떻게 생각해야 할지 말이죠. 고급 언어의 경우 해당 언어 spec 과
함께 제공되는 라이브러리를 사용하는데 문제가 있어 보이지는 않습니다.
상황이 진지해져 가기에 한마디 떠들고 갑니다. :)
points
[quote="전웅"]물론, 어셈블리어로 도전하시는 분은 각 환경에 맞는