U E D R , A S I H C RSS

프로그래밍잔치/첫째날후기

그날 했던 일. 느낀점. 교훈을 정리해보는 페이지. (ThreeFs)

공동 기록

(이 부분은 Document Mode 이며, 해당 한 일들을 기억하는 사람들끼리 기억을 모아서 만듭니다. ^^ 그날 했었던, 일어난 일들에 대해 기억나는대로 간단히 정리해봅시다. 너무 길어지면 '프로그래밍잔치첫째날' 식으로 페이지를 나누어도 좋겠고요. )


일단 간단하게 프로그래밍잔치 소개를 하고 위키에서 ~~ 한 부분에 대해 설명을 하였다.

제로위키 또다른 대화의 방법

상민1002 는 위키에서의 대화에 대해 간단한 시연을 보여주었다. 1002/MP3공유프로그램 에서 가상의 인물 1002, 상민, 쩡직 등이 대화를 하면서 페이지내용을 조금씩 정리하고, 점차 악공유프로그램, 리바다와그누텔라 페이지로 나누어져가는 모습을 중간중간 버벅이는 설명과 함께 시연을 했다.

시연뒤, 사람들끼리 위키에 대해 두 팀으로 나누어서 토론을 했다.

위키 관련 토론

위키 관련와 토론을 했다.
한쪽은 상욱, 세연, 은지, 창섭, 기웅, 상민은 위키의 좋은점, 불편한점, 어떻게 위키를 써야 할 것인가에 대해 이야기했다.
(Fill More)
  • 위키에서의 자유로운 링크가 오히려 위키를 읽는데 어려움을 가져오기도 한다. (링크를 따라가다보면 내가 처음에 읽었던 글로 다시 돌아오지 못하고 방황함)
  • 계층위키에 대해서 - 개인 페이지 내에 계층위키로 페이지를 열고 시작한다면, 처음 쓰는 입장에선 특별히 편집에 대해 구애받지 않아서 좋을 것 같다.

한쪽에서는 진균, 덕준, 상협, 재동, 상규, 인수, 석천은 주로 위키 활성화와 위키글쓰기 스타일에 대해 이야기했다.
  • 오늘 위키의 간단한 룰로서 들고 나온 개인페이지 내 '/' 구분자를 이용하는 계층위키에 대한 사람들의 생각
    • 계층위키에 대해서는 좀 더 신중할 필요가 있다. (NoSmok:HierarchicalWiki)
    • 위키의 룰은 사용하는 사람들이 점차적으로 만들어야 하는데, 지금의 룰은 '규칙'처럼 선언을 해버린 모습같다. 위키의 룰은 결국 위키를 이용하는 사람들이 만들어가는 것 아닌가?
    • 사람들이 마음편하게 쓸수도 있겠지만, 내용의 중복을 가져오기 쉽다.
    • 만일 사람들이 Courage 를 내어서, 다른 사람들 페이지에 대해서 구조조정을 빈번하게 해준다면, 계층위키가 많이 필요하지 않을것이다.

  • 위키의 활성화에 대한 이야기
    • ZeroPagers 의 위키에 자신의 공부내용을 정리하는 것은 '의무'인가? 자신을 위한 행동이 아닌가? 강요되는것은 아닌지. (실제로 자신의 공부내용을 글로 정리하기에 대한 어려움)
    • 위키가 책을 대신하는가? - 위키가 모든 내용을 다 이야기해주지 않으며, 그럴 필요도 없다.
    • 사람들마다 글쓰기 스타일이 다르며, 정리하는 스타일도 다르다. - 위키 스타일의 글쓰기는 사람들이 글쓰기 페이지를 만드는데 주저하게 만든다. 글을 쓰기 전에 고려해야 할 사항이 너무 많다.
    • 위키를 쓸때 이미 도큐먼트모드화 되어버린 글들이나, 시작부터 도큐먼트모드식으로 잘 정리된글들은 뭐라고 더 스레드 자체를 붙이기가 어렵다. 이미 도큐먼트모드화 된 글에 대해서 굳이 더 스레드를 붙일 이유도 없다.
      • 위키에 다른 사람 참여를 원한다면, 처음부터 조금씩 점차적으로 글을 쓰는건 어떨까?

  • '말없이 고치기' 에 대해서
    • 개인 페이지에 대해서 '말없이 고치기' 의 경우 해당 사람의 기분을 상하게 할 수도 있다.
    • 구체적으로 '~한 점이 잘못되었다' 라고 길게 설명하는 것 보단, 그냥 조용히 적절하게 고쳐주는 것이 좋을 수도 있다.

위키 관련 토론발표, 정리가 끝난뒤, 잠시 휴식시간을 가지고, 간식으로 샌드위치를 먹었다.

Think Different! 낯선언어와의 조우

7 개의 언어 Set 중 사람들은 1개씩 골랐다. 같은 언어를 고른 사람들끼리 Pair 를 구성, 해당 언어로 문제를 풀기 시작했다.

Scheme을 고른 상규, 창섭은.. ~ 을 했다.

한편, Smalltalk을 고른 인수, 재동은.. ~ 을 했다. 가끔 '피 토하겠다'는 말을 했다;

그리고, Haskell을 고른 덕준, 진균, 상협은.. ~ 을 했다.

저 쪽의 Ruby를 고른 상욱, 정직은 .. ~ 을 했다.

Python 을 고른 은지, 세연, 기웅, 재니는.. ~ 을 했다.

사람들은 서로가 고른 언어로 만든 Hello World, 구구단 을 시연하면서 각자의 개발환경, 프로그래밍 방법 등을 보여주었다. 그리고 JuNe 은 중간에 Smalltalk (Squeak)의 OOP 적인 특성, Scheme, Haskell 의 함수형 언어 페러다임에 대해 보충 설명을 했다.

질답시간에는 JuNe의 도움하에 여러 이야기들이 오고갔다.
우리나라에서는 왜 이러한 언어들이 잘 쓰이지 않는가?
~ 한 답변으로 ~가 있었고, 중간에 http://www.tiobe.com/tpci.htm 를 프로젝터로 보았다.

오늘 한 언어들 중에서 추천하는 언어로는?

학부생이 공부해볼만한 언어로는 Scheme이 추천되었는데, StructureAndInterpretationOfComputerPrograms란 책을 공부하기 위해서 Scheme을 공부하는 것도 그럴만한 가치가 있다고 했다. 특히 SICP를 공부하면 Scheme, 영어(VOD 등을 통해), 전산이론을 동시에 배우는 일석삼조가 될 수 있다. 또 다른 언어로는 Smalltalk가 추천되었다. OOP의 진수를 보고 싶은 사람들은 Smalltalk를 배우면 큰 깨달음을 얻을 수 있다.

다음날 행사에 대해 간단하게 소개하고 첫째날 완료.!

한일. 느낀점. 교훈

  • 처음으로 어떤 언어를 접했을때 그 언어를 보는 기준은 지금까지 내가 알아왔던 언어이다. 예전에 알았던 언어에 있던 구문이 이 첨 보는 언어에서는 어떻게 할 수 있나 살펴 보는 것이다. 그 원하는 기능이 이 첨보는 언어에서는 없을 수도 있고 대신 다른 기능이 있을수도 있는데. -_- 이번에 Haskell이라는 언어를 봤을때 이것도 지금까지 언어들이랑 비슷 비슷할거라고 만만하게 생각했었다. 그래서 지금까지 짜왔던 방식으로 해볼라고 생각했다. 그런데 잘 안되었다. 이 언어는 그 밑바탕에 깔려 있는 개념이 달랐던 것이다. 그래서 그런식의 접근은 좋지 않을 수 밖에 없었던 것이다. 이렇게 다른 패러다임을 바탕으로 하는 언어를 접하게 된것은 신선한 충격이었다. - 상협

  • 신선한 충격(?) 이었다. 몇가지 언어의 틀속에 틀어밖혀있던 나의 모습이... 불쌍했다. --상규

  • 감상 : 위키에 글을 쓸 수 있는 용기를 내어...;;짧은 시간이나마 참여했던 후기를 남겨보면..내가 선택했던 python은 c나 java와 비슷하면서도 더 간단한 구조를 가지고 있었기 때문에..패러다임의 변화로부터 오는 충격은 적었던것 같다. 오히려 문법은 간단하지만, 손과 눈에 익지 않은 구조문들과 프로그램 실행 방식으로 인해 상당히 불편하다는 느낌을 받았고, 이렇게 실행 되는 인터프리터 언어를 접한다는게 어떤 도움이 될는지....;;;란 생각이 들었다. 특히, 툴과 언어가 익숙하지 않으니 문제(삼목)의 알고리즘도 생각이 나질 않아 당황스러웠다. 마구잡이로 짜는 코딩 습관 때문인가...하는 생각이 들었다.
    • 좋았던 점 : 새로운 언어를 접할 상황이 올 때 , 문법을 익히고 적용하는 방법에 대해 경험 할 수 있었단 점. 이 때 인터넷의 많은 문서들 중 튜토리얼 형식의 문서가 도움이 된다는 점. --naneunji
      -- 어느정도 Python 을 익숙하게 써본 뒤, Python 이전에 썼던 언어들과 비교해보면 각 언어들을 더 잘 비교해볼 수 있지 않을까 생각해. 요새 자바프로그래밍을 주로 하면서 느꼈던건, '만일 자바가 인터프리터 쉘에서 실행되는 언어라면, 나의 프로그래밍 작업 방식은 어떻게 바뀔까?' 하는것. Python, Jython 을 꾸준히 쓰면서, 컴파일언어에서 느끼지 못한 재미를 (즉각적으로 결과 반응이 올때 특히!) 느껴서..~ --1002

  • 의외로 몇몇 언어들이 공통되는 부분도 있는거같군요...(제 수준에서) 그리고 Haskell은 언어보다 수학에 가까운 듯한 느낌이었습니다. 전혀 모르는(?) 언어를 사용하여 첫번째 프로그래밍할 때 가슴이 참 떨리더군요. - 영동

  • 우선 위키에 글을 올릴 수 있는 용기를 만땅(?) 채울 수 있었다. 앞으론 '세여니'의 글들을 많이 볼 수 있지 않을까나??
    그리고 Python은 데블스 캠프 할 때 잠시 접해봤는데 이번 기회로 좀 더 잘 아니 조금 더 알 수 있는 기회여서 좋았다
    결과를 바로 볼 수 있다는 게 넘 좋았다. 이제까지 c++로 짜면서 느끼지 못했던 그 느낌!!
    그리고 언제나 열려있는 자세가 중요하다는 걸 느끼면서 프로그래밍 잔치를 마쳤다, 열려있는 자세....... -- 세연

  • 솔직히 여지껏 언어라고 아는 것은 몇 종류 안되었었다.. 아무튼 언어가 달라봤자 거기서 거기라고 생각했었다. 영어로 만든 언어인데.. 단어가 다르면 얼마나 다를까 하고서..근데 그게 아니었다. 패러다임에 따라서도 이렇게 달라질 수 있다는 걸 알고는 신기했다. 충격과 감탄 자체였다. --창섭

  • 상민 행사를 준비했다.
    1. 충격 이었다.. 라고 하면 너무 일반적인 수식어 일까. 사실 앉아서, 해당 언어들에 대하여 집중 할 수 있는 시간이 주어 지지 않았다는 것이 너무나 아쉬웠다. To Do 로 해야 할일이 추가 되었다. 아니 Memory List로 표현해야 할까?
    2. 사람들의 표정을 보면서, 아는 만큼 보인다. 라는 말이 자꾸 머리속을 맴돈다. 사람들이 서로 얼마나 다른 느낌을 가질까?
    3. 창준 선배가 오셔 준것을 행운이라 표현하면 너무 부족한 것이다. 더불어 또 다른 선배님들도 오셔서 시간과 지식을 공유를 했으면 좋겠다는 생각이 든다. 직장이 무엇인지.

Haskell을 상당히 신기해 하는 친구들이 많았는데 Python도 비슷하게 할 수 있습니다.

~cpp 
>>> handan=lambda a:[a*b for b in range(1,10)]
>>> gugudan=lambda :[handan(a) for a in range(1,10)]
>>> handan(2)
[2, 4, 6, 8, 10, 12, 14, 16, 18]
>>> gugudan()
[[1, 2, 3, 4, 5, 6, 7, 8, 9], [2, 4, 6, 8, 10, 12, 14, 16, 18], ...]
>>> gugudan=[[a*b for b in range(1,10)] for a in range(1,10)]
>>> gugudan
[[1, 2, 3, 4, 5, 6, 7, 8, 9], [2, 4, 6, 8, 10, 12, 14, 16, 18], ...]
-----------
>>> gugudanpair=[(a,b) for a in range(2,10) for b in range(1,10)]
>>> printgugupair=lambda pair: sys.stdout.write("%d * %d = %d\n"%(pair[0],pair[1],pair[0]*pair[1]))
>>> ign=map(printgugupair,gugudanpair)
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
...
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-05-27 07:09:19
Processing time 0.1095 sec