北의 해킹능력

kihongss의 이미지
kernuts의 이미지

http://bbs.kldp.org/viewtopic.php?t=64558&highlight=%BA%CF%C7%D1+%C7%D8%C5%B7

뭔가 뒷북을 치는듯한 글타래군요... :lol: :lol:

The knowledge belongs to the World like Shakespear's and Asprin.

cronex의 이미지

전에 올라온 적 있던 내용입니다. ^^;

------------------------------------------------------------
이 멍청이~! 나한테 이길 수 있다고 생각했었냐~?
광란의 귀공자 데코스 와이즈멜 님이라구~!

chadr의 이미지

Quote:
남한 사람들은 편리함을 좇다 보니 ‘C’보다는 ‘C++’ ‘C#’을 더 많이 써요. 인간의 언어에 가까운 고급화된 운영체제에 익숙한 거죠.

익숙해진게 아니라 사람들이 점점 더 객체지향언어를 사용하는 이유는 프로젝트의 방대해짐과 그에 따른 개발 비용의 상승, 유지보수의 어려움 때문이라고 알고 있습니다만...

-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

htna의 이미지

정말로. '유지보수의 어려움' 과 '개발 비용의 상승' 등이 객체지향 언어를 만드는 이유.. 맞나요 ???
제가보기에는 유행같은데요...

가장 쉬운 유지보수는 기존의 만들어진 것들(코드+바이너리+...)을 가능한한 사용할 수 있도록 하는 것이 아닌가요 ??
개발비용의 상승 또한, 가능한한 기존의 것들을 재활용하고, 필요한 바뀌어야 할 부분만을 만들수 있어야 개발 비용의 상승을 막을 수 있는게 아닌지...
C++ 은, C++추종자들을 통해서, 기존의 C코드를 C++로 만들도록 유도함으로써, 개발비용의 상승과, 유지보수의 어려움(기존의 버그를 그대로 동작하도록 해야하고, 또한 새로운 버그가 가능한한 없도록 해야하기 때문에...)을 증가시켜오고 있는건 아닌지...

솔직히 C++에서...
template, structure에 function 집어넣는것 빼고는 큰 매리트는 없습니다만...
가슴 밑바닥에 진실을 본다면..

PS:
예전에 C를 배울때에는 1달 빡세게 공부하면 (머 저같은 경우 혼자 독학으로 1달에 C 끝냈습니다만. 언어에서 제공하는 기본적인것 모두요..) C언어의 기본을 배우고, 응용으로 들어갈 수 있었고, 경혐을 늘일수 있었습니다.
그로인해 실제로 배움에서 활용으로, 활용에서 지식과/기술의 축적으로의 단계가 빨랐습니다만...
C++은 실제로 C를 다 배우고, 그밖의 여러가지 제약사항 지켜야하는 규칙들을 모두 배우는데만 해도 많은 시간이 걸리죠. 그러한 규칙들이 반드시 필요하냐 하면 그런것도 아니고, 어느정도 익혔다고 해도 충분한 정도는 아닙니다. 계속 스스로 익혀나가야죠....
그렇다고 끝난게 아니라. 이 단계가 C++을 익히는 가장 기초적인 단계 입니다만....

WOW Wow!!!
Computer Science is no more about computers than astronomy is about telescopes.
-- E. W. Dijkstra

hyperhidrosis의 이미지

Quote:
template, structure에 function 집어넣는것 빼고는 큰 매리트는 없습니다만...

저는 constructor destructor 만으로도 c++ 을 선택합니다..

gimmesilver의 이미지

hyperhidrosis wrote:
Quote:
template, structure에 function 집어넣는것 빼고는 큰 매리트는 없습니다만...

저는 constructor destructor 만으로도 c++ 을 선택합니다..

다형성이나 인터페이스 상속은 재사용성과 유지 보수에 아주 좋은 특성입니다.
template specialization이나 정적 다형성은 코드의 양을 줄여주고 로직을 안정적으로 만들어 줍니다.
namespace는 프로그램 규모가 커질 수록 큰 도움이 되곤 합니다.

------------------------
http://agbird.egloos.com

darkorb의 이미지

저는 경력이 짧은 프로그래머지만
goto문을 쓰지않고도 스파게티 코드가 될 수 있다는 사실을 제법 보았습니다.

지금도 그런지는 모르겠지만,
c에서 c++로 넘어가면서 프로그래밍 패러다임(?)에 대해서
생각해보는 계기가 되지 않을까 합니다.

어떠한 언어를 쓰냐 안쓰냐는 차후로 따지더라도
접한다는 사실만으로도 많이 배울 수 있는 것 같습니다.

htna의 이미지

하하. 제가 낚시를 하는게 되겠네요. ^^

Quote:
다형성이나 인터페이스 상속은 재사용성과 유지 보수에 아주 좋은 특성입니다.
맞는말 이기도 합니다만. 교과서적인 얘기가 아닌지..
그정도의 재사용성은 C로도 충분히 처리할 수 있습니다.
C에서 재사용성을 기르기 위한 방법을 익히는것과,
C++에서 다형성과 인터페이스 상속을 배움으로써 연계적으로 배워야 하는 무수히 많은 이론과 방법론, 그리고 규칙을 배우는것.
어찌보면 C쪽이 더욱 경제적이라 보여지는것도 사실입니다.

Quote:
저는 constructor destructor 만으로도 c++ 을 선택합니다.
constructor, destructor 도 structure's function을 자동적으로 호출해주는 한 방편입니다.
constructor, destructor 와 structure's function를 다르게본다면 다르게 볼 수 있지만, 동일시 본다면 더욱 동일시 볼 수 있죠.
^^

Quote:
지금도 그런지는 모르겠지만,
c에서 c++로 넘어가면서 프로그래밍 패러다임(?)에 대해서
생각해보는 계기가 되지 않을까 합니다.
c에서 c++로 넘어가는 계기가 되기도 했습니다만 (저의 경우도...) 나중에 생각해보면 왜 c++로 넘어가야 하나에 대한 회의를 느끼기도 하게 만드는게 c++입니다.

Quote:
어떠한 언어를 쓰냐 안쓰냐는 차후로 따지더라도
접한다는 사실만으로도 많이 배울 수 있는 것 같습니다.
물론 배우는 점도 있습니다만.. 그게 모든사람이 그 점을 따라가야 한다는 것과는 좀 다른면이라고 보여집니다. thread를 복잡하게 사용할 필요가 없는 구조의 프로그램에게, server program의 구조를 보고 thread에 대해서 매우 느끼는 점이 많겠죠.. 그렇다고 thread를 굳이 쓰지 않아도 되는 프로그램에 thread의 가능성을 부여한다는 것도 엊측이라고 봅니다. 한번 자신의 프로그램을 되돌려 보시기 바랍니다. 굳이 다형성과 상속가능성을 염두해두면서 프로그램을 짜야 했는지...

Quote:
namespace는 프로그램 규모가 커질 수록 큰 도움이 되곤 합니다.
namespace를 사용하기 위해 c++를 사용한다. 좀 독특하군요...
인간의 머리에서 나오는 작품인만큼, 구조적으로 볼 수 있기를 원하는건 다들 마찬가지라고 봅니다. 그런 static한 구조를 보여줄 수 있는 방법중 하나가 "."을 이용한 하위구조 표현방법이구요, 그 초기로 member function이 시작되지 않았나 하고, 더욱 단계화되면서 member function의 한계를 극복하고자 하는 점에 namespace가 강조되는게 아닌가 생각합니다.
하지만 namespace는 c++에서 부차적으로 지원해 주는게 아닌가 생각합니다만... (template도 마찬가지로 봅니다. 머 부차라고 보기에는 좀 규모가 있죠? 하지만 c++을 내세우는 목적이 namespace/template 보다는 class아닌가요???)

^^
북의 해킹능력에서 이런글을 올려보는것도 재밌네요.
제가 워낙 두서가 없는 편이라... ^^;
자자 모두들... 자기가 짜는 프로그램에서 과연 c++로 해야만 하는 이유를 한번 생각해봄도 좋지 않을까요? 다른사람들이 c++로 하니 따라가야 한다고 생각해 보는것도 나쁘지 않지만요...

WOW Wow!!!
Computer Science is no more about computers than astronomy is about telescopes.
-- E. W. Dijkstra

kihongss의 이미지

htna wrote:
하하. 제가 낚시를 하는게 되겠네요. ^^

Quote:
다형성이나 인터페이스 상속은 재사용성과 유지 보수에 아주 좋은 특성입니다.
맞는말 이기도 합니다만. 교과서적인 얘기가 아닌지..
그정도의 재사용성은 C로도 충분히 처리할 수 있습니다.
C에서 재사용성을 기르기 위한 방법을 익히는것과,
C++에서 다형성과 인터페이스 상속을 배움으로써 연계적으로 배워야 하는 무수히 많은 이론과 방법론, 그리고 규칙을 배우는것.
어찌보면 C쪽이 더욱 경제적이라 보여지는것도 사실입니다.

Quote:
저는 constructor destructor 만으로도 c++ 을 선택합니다.
constructor, destructor 도 structure's function을 자동적으로 호출해주는 한 방편입니다.
constructor, destructor 와 structure's function를 다르게본다면 다르게 볼 수 있지만, 동일시 본다면 더욱 동일시 볼 수 있죠.
^^

Quote:
지금도 그런지는 모르겠지만,
c에서 c++로 넘어가면서 프로그래밍 패러다임(?)에 대해서
생각해보는 계기가 되지 않을까 합니다.
c에서 c++로 넘어가는 계기가 되기도 했습니다만 (저의 경우도...) 나중에 생각해보면 왜 c++로 넘어가야 하나에 대한 회의를 느끼기도 하게 만드는게 c++입니다.

Quote:
어떠한 언어를 쓰냐 안쓰냐는 차후로 따지더라도
접한다는 사실만으로도 많이 배울 수 있는 것 같습니다.
물론 배우는 점도 있습니다만.. 그게 모든사람이 그 점을 따라가야 한다는 것과는 좀 다른면이라고 보여집니다. thread를 복잡하게 사용할 필요가 없는 구조의 프로그램에게, server program의 구조를 보고 thread에 대해서 매우 느끼는 점이 많겠죠.. 그렇다고 thread를 굳이 쓰지 않아도 되는 프로그램에 thread의 가능성을 부여한다는 것도 엊측이라고 봅니다. 한번 자신의 프로그램을 되돌려 보시기 바랍니다. 굳이 다형성과 상속가능성을 염두해두면서 프로그램을 짜야 했는지...

Quote:
namespace는 프로그램 규모가 커질 수록 큰 도움이 되곤 합니다.
namespace를 사용하기 위해 c++를 사용한다. 좀 독특하군요...
인간의 머리에서 나오는 작품인만큼, 구조적으로 볼 수 있기를 원하는건 다들 마찬가지라고 봅니다. 그런 static한 구조를 보여줄 수 있는 방법중 하나가 "."을 이용한 하위구조 표현방법이구요, 그 초기로 member function이 시작되지 않았나 하고, 더욱 단계화되면서 member function의 한계를 극복하고자 하는 점에 namespace가 강조되는게 아닌가 생각합니다.
하지만 namespace는 c++에서 부차적으로 지원해 주는게 아닌가 생각합니다만... (template도 마찬가지로 봅니다. 머 부차라고 보기에는 좀 규모가 있죠? 하지만 c++을 내세우는 목적이 namespace/template 보다는 class아닌가요???)

^^
북의 해킹능력에서 이런글을 올려보는것도 재밌네요.
제가 워낙 두서가 없는 편이라... ^^;
자자 모두들... 자기가 짜는 프로그램에서 과연 c++로 해야만 하는 이유를 한번 생각해봄도 좋지 않을까요? 다른사람들이 c++로 하니 따라가야 한다고 생각해 보는것도 나쁘지 않지만요...

뒷북으로 올린글이 언어 얘기로 흘러가네요 ;;
namespace만 사용할 목적으로 C++을
사용하는 것은 아니지만, namespace가 편리한 거는
두말할 필요가 없죠. template는 요즘들어 generic programming의 영향으로 많이 강조되고 있는듯하군요.

hyperhidrosis의 이미지

Quote:
인용:

Quote:
저는 constructor destructor 만으로도 c++ 을 선택합니다.

constructor, destructor 도 structure's function을 자동적으로 호출해주는 한 방편입니다.
constructor, destructor 와 structure's function를 다르게본다면 다르게 볼 수 있지만, 동일시 본다면 더욱 동일시 볼 수 있죠.
^^

c 는 structure's function 을 "자동으로" 호출해 주기 않지만
c++ 은 ctor/dtor 을 "자동으로" 호출해 주기 때문에 편리합니다.

c 로 프로그램을 짜면서 종료시 멤버 변수에 대한 메모리 해제를
까먹는 경우가 많지만, c++ 로 클래스를 잘 짜 놓으면 이런 문제를
많이 해소 시켜 줍니다.

뛰어난 프로그래머는 그런거 까먹지 않는다고 말씀하시면 할말 없지만,
아무리 뛰어난 프로그래머도, 실수를 할 수 있는 법이고,
잘만든 c++ 클래스는 잘 까먹는 프로그래머도, 메모리 누수를 발생시키지
않도록 도와줍니다.

많은 분들이 c++ 의 장점을 상속이니 다형성이니 말하지만
저는 ctor 과 dtor 을 최고로 편한 장점이라고 생각합니다.

darkorb의 이미지

Quote:
물론 배우는 점도 있습니다만.. 그게 모든사람이 그 점을 따라가야 한다는 것과는 좀 다른면이라고 보여집니다. thread를 복잡하게 사용할 필요가 없는 구조의 프로그램에게, server program의 구조를 보고 thread에 대해서 매우 느끼는 점이 많겠죠.. 그렇다고 thread를 굳이 쓰지 않아도 되는 프로그램에 thread의 가능성을 부여한다는 것도 엊측이라고 봅니다. 한번 자신의 프로그램을 되돌려 보시기 바랍니다. 굳이 다형성과 상속가능성을 염두해두면서 프로그램을 짜야 했는지...

전 지금도 OOP가 아닌 VOP로 대부분 작업을 합니다. 제가 하는 분야에서는
굳이 OOP를 쓸 필요 없다는 판단이었지요. 하지만 OOP, 제너릭, 패턴등은
항상 염두에 두고 있습니다.
머 어떻게 보면 저런것들이 나옴으로 해서 프로그래머는 더 골치아파진 것일 수도 있죠.
저런걸 사용할것인가 안할 것인가로요.

개인적으로는 기분좋습니다. 도전할 것이 있으니까요 :)

doldori의 이미지

hyperhidrosis wrote:
많은 분들이 c++ 의 장점을 상속이니 다형성이니 말하지만
저는 ctor 과 dtor 을 최고로 편한 장점이라고 생각합니다.

정말 정말 동의합니다.
저는 이제 C로 코딩하면 자원 누수가 와장창 생길까봐 겁이 납니다. --;
bus710의 이미지

제목 바꿔주심이....ㅎㅎ

저도 사실 마구리로 짜다가 낭패를 많이 겪었는데요.

이젠 코드 보다도 방법론에 관련된 책을 더 읽어야하는게 아닌지 고민이 됩니다.

life is only one time

chadr의 이미지

저는 가상함수가 가장 마음에 들더군요...

가상함수를 쓰면 if else문을 매우 많이 줄일 수 있다는 것이 마음에 듭니다.

-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

kihongss의 이미지

akudoku wrote:
제목 바꿔주심이....ㅎㅎ

저도 사실 마구리로 짜다가 낭패를 많이 겪었는데요.

이젠 코드 보다도 방법론에 관련된 책을 더 읽어야하는게 아닌지 고민이 됩니다.

맞습니다. 책장에 랭귀지 스펙에 관한 책보다는
개발 방법론 관련 책들이 더 많아야합니다.

죠커의 이미지

kihongss wrote:
akudoku wrote:
제목 바꿔주심이....ㅎㅎ

저도 사실 마구리로 짜다가 낭패를 많이 겪었는데요.

이젠 코드 보다도 방법론에 관련된 책을 더 읽어야하는게 아닌지 고민이 됩니다.

맞습니다. 책장에 랭귀지 스펙에 관한 책보다는
개발 방법론 관련 책들이 더 많아야합니다.

여기에 대해서는 공감하지 않습니다.

언어의 스펙에 대해서 나름대로 공부하고 있지만 아직도 갈길은 한참 남았습니다.

PS: 문법은 기본이다라고 말하는 사람과는 사귀지 않습니다.

ed.netdiver의 이미지

CN wrote:
PS: 문법은 기본이다라고 말하는 사람과는 사귀지 않습니다.

이런 말을 하는 여성은 없다는 뜻인가요? :D =3==3
(아 역시 오프토픽만 남발하다 죽을 인생인가봅니당.)

--------------------------------------------------------------------------------
\(´∇`)ノ \(´∇`)ノ \(´∇`)ノ \(´∇`)ノ
def ed():neTdiVeR in range(thEeArTh)

죠커의 이미지

ed. wrote:
CN wrote:
PS: 문법은 기본이다라고 말하는 사람과는 사귀지 않습니다.

이런 말을 하는 여성은 없다는 뜻인가요? :D =3==3
(아 역시 오프토픽만 남발하다 죽을 인생인가봅니당.)

중문법을 공부하는 여성과 현재 진행중에 있습니다. (=3==3)

htna의 이미지

글을 한번 낚아보려고 했는데..
그게 쉽게 되지 않는군요..
요즘 개인적인 목적을 가지고...
병역이 끝난후에 xxx를 해 볼까해서.
토플을 공부하고 있는중이라.
아무래도 KLDP에 무신경해지는듯..
(머 원래 게스트였지만..)
그래서인지 낚시꾼으로서 제 할일을 다 하지 못한 모양입니다.
머 그래도. 어느정도 제 말에 동의해 주시는 분들이 있어서.
사뭇 흐뭇합니다. ^^

PS:
이젠 GRE시작해야 겠군요..
혹시 GRE비법좀 전수해주실 선구자 없으신가요 ???

WOW Wow!!!
Computer Science is no more about computers than astronomy is about telescopes.
-- E. W. Dijkstra

bus710의 이미지

CN wrote:
ed. wrote:
CN wrote:
PS: 문법은 기본이다라고 말하는 사람과는 사귀지 않습니다.

이런 말을 하는 여성은 없다는 뜻인가요? :D =3==3
(아 역시 오프토픽만 남발하다 죽을 인생인가봅니당.)

중문법을 공부하는 여성과 현재 진행중에 있습니다. (=3==3)

그럼 중국어 문법은 기본이란 말씀...OTL

사실 문법이 기본이라고 말한다는 것은

기본이잖아... 와 그걸 알아야 다른 걸 더 할텐데... 의 두 종류가 있겠죠^^;;

전 후자라....;;

life is only one time