NEXT에서 여름 학기에 자바를 가르치고 있습니다. 여름 학기는 8주 동안 진행되어 벌써 막바지를 향해 달려가고 있네요.
자바 수업 막바지에 프로그래밍 언어별로 각각의 색깔을 보여주려고 합니다. 각 언어별 색깔을 확실히 보여줄 수 있는 예제가 있으면 좋겠다는 생각이 들어 도움을 청합니다. 예제 없이 말로만 설명해 봤자 크게 다가오지 않을 듯 해서요.
제가 생각하는 언어는 다음과 같습니다.
- functional programming 경험을 위해 scheme
- dynamic typing 언어로 ruby
위 두 가지 언어를 활용해 각각 1시간씩 실습해 볼 수 있는 괜찮은 예제 있으면 추천 부탁드려요. 같은 예제를 java, scheme, ruby로 구현해 보면 각각의 색깔을 느낄 수 있지 않을까 생각되네요.
각각 1시간이라 큰 예제는 힘들 듯 하고요. 작은 예제로 최대의 효과를 낼 수 있으면 좋겠음다.
2개의 의견 from FB
4개의 의견 from SLiPP
haskell이나 erlang 책에서 소개하는 퀵 정렬은 어떨까요? Java에서는 재귀와 여러 줄의 코드로 처리하는 것을 haskell/erlang에서 간단하게 처리하는 것을 보면 어느정도 색깔을 느낄 수 있지 않을까 싶습니다. ruby도 역시 퀵 정렬을 구현해볼 수 있겠으나 색깔을 잘 드러낼 수 있을지는 잘 모르겠네요.
@차민창 퀵정렬은 함수형 언의 특징을 보여준다기 보다 리스트 컴프리헨션의 편리함을 보여주는 예입니다.
http://stackoverflow.com/questions/1047765/what-is-the-difference-between-dynamic-languages-and-functional-languages
혹시 도움이 되실지 모르겠네요...
응주가 페북에 준 의견
함수형 언어는 여러 특징 중에서 한 가지나 두 가지를 정하고 시작하는게 좋겠습니다. 함수형 언어를 처음 접하는 사람이 많으면 고차함수(higher-order function)을 잘 활용한 예가 좋겠네요. Scheme으로 한다면 Racket(http://racket-lang.org/)으로으로) 실습하는게 좋고, 예제는 음.... 신용카드 번호& 카드사 알아내기 문제가 간단하면서도 고차함수를 많이 쓸 수 있을 것 같습니다. https://bitbucket.org/EP/kata/src/82b439d2fdf84f4142a79608df8b790e3cdd19d7/ProgrammingErlang/CreditCard.hs?at=default 그리고 시간이 남으면 자바의 객체 같은 것을 어떻게 만드는지도 보여주면 좋겠습니다.
의견을 남기기 위해서는 SLiPP 계정이 필요합니다.
안심하세요! 회원가입/로그인 후에도 작성하시던 내용은 안전하게 보존됩니다.
SLiPP 계정으로 로그인하세요.
또는, SNS 계정으로 로그인하세요.