PHP는 과연 Agile한 언어인가..

redbaron의 이미지

<RedBaron> 먼가를 머리속에 떠오르고 간단한게 아 이런게 되는구나..까지 확인하는데..가장 번잡스러운건 소위 말하는 4세대 언어..라고 생각합니다.

<RedBaron> (델퐈위, VB..)

<xxxxxxh> 4GL..-_-;

<xxxxxxh> 난이도라는 측면에서, perl보다는 기민하다고 생각합니다만.. (어디까지나 생각입니다. 초보의..)

<RedBaron> C나..main Stream의 랭귀지 2어가지와 자기만의 "기민한" 언어 한가지 정도 섭렵하고.. 있으면..

<xxxxxxe> RedBaron // 중요한건 "필요"가 아닐까 자기 분야에서 가장 알맞다고 생각되는 언어를 얼마나 잘 다룰수 있느냐. (아 물론 학생의 경우 제외 -_-)

<RedBaron> "범용언어"의 경우 자기 분야에 대한 "지식"이 더 중요하지 않을까?

<xxxxxxe> 음.. 지식? 어떤? 적용되는 분야..에 대한 얘기인가.

<RedBaron> DB를 만든다면 DB에 대한 지식..OS라면 OS에 대한 지식..수산물 관리라면 수산물 관리에 대한 지식

<xxxxxxe> RedBaron // 음.. 물론 그렇겠지..그것도 일종의 "필요"

<RedBaron> 실제 프로젝트를 보면 "초보들"만 모아놓고 하는게 아닌 다음에야.. 그 분야에 대한 경험/지식 들과..계획/관리 그런것들이 더욱 중요하더란 말이지.. 그런 경험/지식/계획/관리 를 간접적으로 나마(?) 즐겁게 체험할수 있는게 "기민한" 언어.. or 도구 라는데 생각이 미쳐서.. (과제하다가 갑자기..)

<xxxxxxh> RedBaron: "기민한 언어"는 대개 생각한 바를 빨리 코드로 구체화시킬 수 있다는 점에서 강점이 되니.. 한참 개발하다가 뭔가를 놓친 상태에서 닭질-_-하는걸 그나마 줄여준다고 해야 할까나요. 전 그렇게 생각합니다.

<RedBaron> 제가 말하고자 하는 요는  "앞의 것들은 전제"고 저렇다고 전제를 둘때..php는 과연 기민한 언어인가? 입니다.."대한민국"에서 라는 전제도 덧붙여서..

약간의 편집이 있었습니다만..(ㅋ)

저런 대화를 나누다가..문득 여러사람의 의견이 궁굼해져 이렇게 토론꺼리로 올려봅니다.

PHP는 과연 Agile한 언어일까요? 물론 사람에 따라 C나 어셈도 Agile하다고 할 수 있겠지만..

php로 삽질할 아르바이트와 과제가 남아있는데 막상하려니..조금 막막..한 감이 와서 저런 이야기를 하게 되었습니다.

설계쪽에 신경을 쓰고 구현(코딩)쪽에 신경을 덜 쓸수 있는 언어가 Agile한 언어..라고 했을때..과연 PHP는..?(설계를 Detail 하게 해야하는 언어입니까?)

혼자서 머리굴려도 도무지 대답이 나오지 않습니다. 여러분들의 의견을 듣고싶습니다.

osanha의 이미지

언어가 기민하다라...
그 표현자체가 모호하군요.

여러 언어들이 현장에서 쓰이고 있지만, 그 용도와 상황에 따라 다양하게 선택되어 진다고 봐집니다.

크게본다면, 구현중심의 언어와 설계중심의 언어가 아닐까 싶은데요.
요즘 각광받고 있는 객체지향이 설계중심이라고 볼 수 있겠죠. 객체지향의 장점은 뭐 아시다시피 많지요...

그렇다고해서 객체지향적이지 않는 언어가 나쁘냐? 그것도 아니지요. 다만, 쓰이는 용도가 틀리다고 하는게 정확하지 않을까 싶군요. 여전히 임베디드나, 퍼포먼스 디펜던트한 시스템엔 C 가 최고의 자리를 지키고 있지요.

PHP도 웹프로그래밍에 있어서는(원래 그 목적으로 생긴 언어기도하지요) 상당히 괜찮지 않나싶습니다. 객체지향적인 요소도 도입되어 있고.. 꽤 로레벨하게 시스템을 다룰 수 있기도하지요.

여하튼, 제가 생각기엔 구현적인 언어인(또한 매우 시스템적인) C와 설계적인 언어인 C++ 만 완벽하게 습득하신다면 (전 C++은 C와 완전히 다르다 고 단적으로 말하고 싶군요) 아주 로우레벨한 시스템지식과 객체지향적인 (혹은 소프트웨어공학적인) 설계지식의 2마리 토끼를 잡지 않나 싶습니다. 또한, 그러하다면 이 후의 많은 언어들은 어느정도만 공부해가면 금방금방 따라가지 않나 싶습니다.

기초가 부실한 건물은 사상누각이라고, 모든 언어는 결국은 컴퓨터위에서 돌아가는 프로그램을 만들어주는 보조도구이므로 가장 기초가 되며 시스템적이고 로레벨한 C 의 (혹은 어셈블리까지) 마스터는 비록 그것을 사용하지 않는다 할지라도 굉장히 중요하다고 생각합니다.

중구난방한 면이 없잖아 있지만 결론적으로, 모든 언어는 쓰임새에 따라 적당히 선택하여 사용하면 될 듯 하구요 평가도 그런 관점에서 되어야 할것 같습니다. 또한, 시스템적인 C와 객체지향적인 설계개념이 도입된 C++의 기초만 튼튼하다면 다른 언어의 습득은 그리 힘들지 않다고 생각합니다.

redbaron의 이미지

osanha wrote:
언어가 기민하다라...
그 표현자체가 모호하군요.

개인차가 충분히 있을수 있는 표현이라고 미리 말씀드습니다. 그리고 통념적인 의미로써의 "기민한 언어"에 대해서만 이야기 하고자 함입니다.

osanha wrote:

중구난방한 면이 없잖아 있지만 결론적으로, 모든 언어는 쓰임새에 따라 적당히 선택하여 사용하면 될 듯 하구요 평가도 그런 관점에서 되어야 할것 같습니다. 또한, 시스템적인 C와 객체지향적인 설계개념이 도입된 C++의 기초만 튼튼하다면 다른 언어의 습득은 그리 힘들지 않다고 생각합니다.

어떤언어가 좋다/나쁘다 라는 이야기라기 보다.. php는 과연 통념적으로 알고있는 "기민한 언어"의 범주에 있는가 없는가 입니다.

"기민한 프로그래밍"의 용도에 php가 적합한가/아닌가 에 대해서 이야기 해 보고 싶습니다.

지리즈의 이미지

개체지향성을 약간이라도 지원하면...
"기민한 프로그램"이될 가능성은 있다고 볼 수 있지요.

php도 class가 지원돼고...
의외로 "기민"하게 작성하는 개발자들도 많습니다.
마치 소스를 보면.. jsp소스처럼 보일정도로요...

개발자의 개발 목적이나 성향에 따라 달라지겠지만...
php도 "기민"할 수 있다고 봅니다.
특히 php5 버전은 더욱더...

하지만... 적합성을 따지면... 아직은 문제가 좀...
php4는 보통 수준정도 적합하다.
php5는 매우 적합하다.

There is no spoon. Neo from the Matrix 1999.

카二리의 이미지

저 근대 기민한 언어라는게 쉽게 말해서 무슨 말이죠?;

빠르다는 말인가요? 아니면 생산성이 강하다는 예긴가요?, 견고하다는 예기? 아니면 다른 어떤?;;

새 생각 :)

verotas의 이미지

redbaron wrote:
osanha wrote:
언어가 기민하다라...
그 표현자체가 모호하군요.

개인차가 충분히 있을수 있는 표현이라고 미리 말씀드습니다. 그리고 통념적인 의미로써의 "기민한 언어"에 대해서만 이야기 하고자 함입니다.

osanha wrote:

중구난방한 면이 없잖아 있지만 결론적으로, 모든 언어는 쓰임새에 따라 적당히 선택하여 사용하면 될 듯 하구요 평가도 그런 관점에서 되어야 할것 같습니다. 또한, 시스템적인 C와 객체지향적인 설계개념이 도입된 C++의 기초만 튼튼하다면 다른 언어의 습득은 그리 힘들지 않다고 생각합니다.

어떤언어가 좋다/나쁘다 라는 이야기라기 보다.. php는 과연 통념적으로 알고있는 "기민한 언어"의 범주에 있는가 없는가 입니다.

"기민한 프로그래밍"의 용도에 php가 적합한가/아닌가 에 대해서 이야기 해 보고 싶습니다.

'통념'상 php가 agile하다고 봐야하느냐 라는 질문이라면, 먼저 'agile'이 뭔지를 define해야할 텐데, 그 부분에 대한 설명이 충분치 않다 보니 저런 질문과 얘기들이 나오는 것 같습니다. 개념이라는게 사실 그다지 통념적이지 않은 경우가 왕왕 생기지 않나요.

제가 이해하는 언어의 agility는 어디까지나 눈에 보이는 부분이 적당히 포함된 프로그램을 짤 때 얼마나 효과적으로 빨리 결함 없이 짤 수 있느냐를 얘기하는 거였던 거 같네요. 그런 점에서 보면 php도 어느 정도 agile하다고 얘기할 수 있지 않나 싶습니다.

하나 덧붙이자면, 어떤 언어가 빠른 개발 방식에 적합한가를 판단하려면 소위 'standard'로 제공되는 library가 어느 정도 양과 질을 보장하느냐도 봐야 하는데, 그런 점에서 보자면 C/C++은 agile하지 않고 Delphi, Perl, Python, PHP 는 agile하다고 할 수 있겠죠.

The good is the enemy of the best.

fender의 이미지

카二리 wrote:
저 근대 기민한 언어라는게 쉽게 말해서 무슨 말이죠?;

빠르다는 말인가요? 아니면 생산성이 강하다는 예긴가요?, 견고하다는 예기? 아니면 다른 어떤?;;

XP가 대표적인 Agile 접근방법의 하나입니다. 자세한 내용은 아래 주소를 참조하세요 :

http://www.agilealliance.org/home

근데 Agile이란 개념이 잘 들어 맞을 때도 있지만 - 예를들어 EJB vs Spring/Pico/Hibernate 등 - 경우에 따라선 라인수와 개발기간을 줄이기 위해 충분히 고려되지 않은 설계를 하는 것에 대한 변명으로 사용되는 경우가 있는 것 같아 좀 그렇네요.

메모리 사용량/CPU 사용량, 서버부하/클라이언트 대기시간 등등 이 분야의 많은 부분이 그렇듯이 어떤 trade-off가 존재하고 상황에 맞게 적절한 선에서 타협을 봐야하는 문제가 아닌가 싶습니다.

덧말 : Agility가 단순히 얼마나 빨리 짤 수 있나하는 개발생산성을 이야기하는 것은 아닙니다. '기민한 프로그래밍'은 이런 높은 생산성을 가능하게 하는 (혹은 이를 가능하게 할 것으로 믿어지는 -_-) best practice의 집합 개념으로 이해하는 것이 더 정확합니다.

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...

zienie의 이미지

fender wrote:

덧말 : Agility가 단순히 얼마나 빨리 짤 수 있나하는 개발생산성을 이야기하는 것은 아닙니다. '기민한 프로그래밍'은 이런 높은 생산성을 가능하게 하는 (혹은 이를 가능하게 할 것으로 믿어지는 -_-) best practice의 집합 개념으로 이해하는 것이 더 정확합니다.

위의 정의에 따라

PHP 가 '기민한 프로그래밍' 이냐 아니냐를 따진 다면

7~80% 정도는 맞아 떨어질 듯 하네요 ^^

99년 쯤에....

7년 정도 만진 C로 한달넘게 버벅이면서 만들던

웹 회원관리 부분 CGI를

접한지 일주일된 PHP로 3일만에 끝내버린 기억이 있습니다. :D

##########################################################
넘어지는건 아직 괜찮다.
하지만 넘어질때마다 무언가를 주워서 일어나자.

sDH8988L의 이미지

ㅎㅎㅎ 또 하나의 언어 논쟁이 가능한 주제 같습니다...

언어의 Agility...

솔직이 PHP를 많이 해보지는 않았지만, Agility에 관해서는 조금 이야기 할 수 있겠네요...

사실, 이 게시판에서 '어떤 언어가 어떤 언어보다 Agile하다'라고 이야기한다면, 그건

바로 '섶을 지고 불로 뛰어 들어가는' 일이겠지요...

Agility라는 것은 위에서 'fender'님께서 말씀하신 것이 거의 정의에 가까운 표현이라고

생각합니다...

물론, 언어의 Agile이라는 것이 사람에 따라서 다른 개인적인 측면이 있지만, 보편성이라는

면도 있으니까요...

직접 이름을 거명하는 것이라서 좀 그렇기는 하지만, 비유하자면, 어떤 이들이 보기에는

박경림이 손예진보다 더 예뻐 보일 수 있습니다... 이건 개인적인 관점과 취향의 차이니까요...

그렇지만, 절대 다수의 사람들은 박경림보다는 손예진이 더 예쁘다고 생각할 겁니다...

이런 것이 보편성이라고 볼 수 있겠지요...

저도 얼마 전까지 언어를 익힘에 있어서 적어도 2가지는 알고 있어야 된다고 생각했습니다...

1개의 범용 언어... C++나 Java와 같은 객체 지향이면 더 좋겠지요... 그리고 또 하나의

Agile한 언어... 저는 개인적으로 이런 언어로 Python을 생각하고 있습니다...

범용 언어는 어떤 사상이나 개념을 완벽하게 구현하기 위해서 반드시 필요합니다...

그리고 그런 사상이나 개념에 대한 힌트를 얻었을 때, 가능성을 검증하기 위해서는 범용

언어보다는 Agile한 언어가 상당히 도움이 되겠지요...

여러 사람이 작업하거나 시간이 부족한 상황에서는 그런 Agile한 언어의 역할이 상당히

큽니다... 그래서 '생산성 10배!!!'라고 많이들 관심을 보였던 Python을 생각하게 된

것이지요...

그렇지만, 현실에서는 그게 여의치 않네요... 지금은 Main으로 C를 C보다 Agile한 언어로는

Java를 쓰고 있습니다... -____-

뭐... Java도 개념을 추상화하고 검증하기도 좋은 언어라고 생각하지만요...

그러나 PHP는 범용이라고 하기에는 힘듭니다... 특정한 목적이 있지요...

그리고 PHP가 정말 좋기 때문에 PHP를 선택하는 경우는 드물다고 봅니다...

구현하고자 하는 환경의 일부분이겠지요... 환경이 결정되면 별 선택의 여지 없이 결정되어

버리는... 예를 들어 DB와 SERVER를 MS 제품으로 나가게 된다면, ASP로 진행하는 경우가

많은 것처럼요...

그런 면들을 고려하고 현업에 계신 분들의 말을 듣는다면, PHP는 다른 선택인 ASP나

JSP 등등과 비교하여 '더 Agile하다... 아니다'를 판단하기는 힘들 거 같습니다...

거의 기능상으로 1:1 Matching이 가능하지 않습니까...

그렇다면, 상대적인 평가가 여의치 않다면, 절대적인 평가가 있을 수 있을 텐데, 그건

사실, 개인적인 성향이 강하다고 봅니다...

제가 보기에는 그 정도면 어느 정도 Agile하다고 볼 수 있겠던데요...

특히, PHP 4 이후에는 말이죠...

chunsj의 이미지

게다가 잘 못 하면 Agile과 Rapid를 혼돈할 우려도 있습니다. 대체로 스크립팅
언어들은 Rapid Dev, Rapid Prototyping을 가능하게 해 줍니다만 그렇다고
Agile하냐라고 말을 할 수 있는지는 모르겠습니다. Agile Lang이라는 말
자체가 이상한데요? 적어도 제가 알고 있는 Agile의 관점에서는요.
때로는 Assembly도, 때로는 Shell Script도 Agile할 수 있을 것 같은데요?
그 적용 사례에 따라서는... 아닌가요?

sDH8988L wrote:
ㅎㅎㅎ 또 하나의 언어 논쟁이 가능한 주제 같습니다...

언어의 Agility...

솔직이 PHP를 많이 해보지는 않았지만, Agility에 관해서는 조금 이야기 할 수 있겠네요...

사실, 이 게시판에서 '어떤 언어가 어떤 언어보다 Agile하다'라고 이야기한다면, 그건

바로 '섶을 지고 불로 뛰어 들어가는' 일이겠지요...

Agility라는 것은 위에서 'fender'님께서 말씀하신 것이 거의 정의에 가까운 표현이라고

생각합니다...

물론, 언어의 Agile이라는 것이 사람에 따라서 다른 개인적인 측면이 있지만, 보편성이라는

면도 있으니까요...

직접 이름을 거명하는 것이라서 좀 그렇기는 하지만, 비유하자면, 어떤 이들이 보기에는

박경림이 손예진보다 더 예뻐 보일 수 있습니다... 이건 개인적인 관점과 취향의 차이니까요...

그렇지만, 절대 다수의 사람들은 박경림보다는 손예진이 더 예쁘다고 생각할 겁니다...

이런 것이 보편성이라고 볼 수 있겠지요...

저도 얼마 전까지 언어를 익힘에 있어서 적어도 2가지는 알고 있어야 된다고 생각했습니다...

1개의 범용 언어... C++나 Java와 같은 객체 지향이면 더 좋겠지요... 그리고 또 하나의

Agile한 언어... 저는 개인적으로 이런 언어로 Python을 생각하고 있습니다...

범용 언어는 어떤 사상이나 개념을 완벽하게 구현하기 위해서 반드시 필요합니다...

그리고 그런 사상이나 개념에 대한 힌트를 얻었을 때, 가능성을 검증하기 위해서는 범용

언어보다는 Agile한 언어가 상당히 도움이 되겠지요...

여러 사람이 작업하거나 시간이 부족한 상황에서는 그런 Agile한 언어의 역할이 상당히

큽니다... 그래서 '생산성 10배!!!'라고 많이들 관심을 보였던 Python을 생각하게 된

것이지요...

그렇지만, 현실에서는 그게 여의치 않네요... 지금은 Main으로 C를 C보다 Agile한 언어로는

Java를 쓰고 있습니다... -____-

뭐... Java도 개념을 추상화하고 검증하기도 좋은 언어라고 생각하지만요...

그러나 PHP는 범용이라고 하기에는 힘듭니다... 특정한 목적이 있지요...

그리고 PHP가 정말 좋기 때문에 PHP를 선택하는 경우는 드물다고 봅니다...

구현하고자 하는 환경의 일부분이겠지요... 환경이 결정되면 별 선택의 여지 없이 결정되어

버리는... 예를 들어 DB와 SERVER를 MS 제품으로 나가게 된다면, ASP로 진행하는 경우가

많은 것처럼요...

그런 면들을 고려하고 현업에 계신 분들의 말을 듣는다면, PHP는 다른 선택인 ASP나

JSP 등등과 비교하여 '더 Agile하다... 아니다'를 판단하기는 힘들 거 같습니다...

거의 기능상으로 1:1 Matching이 가능하지 않습니까...

그렇다면, 상대적인 평가가 여의치 않다면, 절대적인 평가가 있을 수 있을 텐데, 그건

사실, 개인적인 성향이 강하다고 봅니다...

제가 보기에는 그 정도면 어느 정도 Agile하다고 볼 수 있겠던데요...

특히, PHP 4 이후에는 말이죠...

fender의 이미지

앞에서도 말씀드렸듯이 'Agile한 언어' 보다는 'Agile Practice'가 더 적절한 표현이 아닌가 싶습니다.

Agile은 결과적 관점에서 빠른 생산성을 보이느냐는 문제가 아니라 접근 방식 자체가 빠른 생산성을 보장하도록 - 예를들어 XP에서 이야기하는 continuous(incremental/automated) build, iterative approach 등등 - 구성되느냐하는 문제 입니다.

어떤 언어가 다른 언어보다 agile하다는 건 성립 가능한 개념인지 모르겠네요 :)

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...

sDH8988L의 이미지

chunsj wrote:
게다가 잘 못 하면 Agile과 Rapid를 혼돈할 우려도 있습니다. 대체로 스크립팅
언어들은 Rapid Dev, Rapid Prototyping을 가능하게 해 줍니다만 그렇다고
Agile하냐라고 말을 할 수 있는지는 모르겠습니다. Agile Lang이라는 말
자체가 이상한데요? 적어도 제가 알고 있는 Agile의 관점에서는요.
때로는 Assembly도, 때로는 Shell Script도 Agile할 수 있을 것 같은데요?
그 적용 사례에 따라서는... 아닌가요?

흠... 그렇게 적용 사례만을 생각한다면, 이런 이야기는 아예 꺼낼 수도 없습니다...
(이건 마치 시트콤에서는 박경림이 손예진보다 낫지 않냐??? 하는 식과 같습니다...)

저도 그래서 '보편적인' 면이라고 한정한 거 구요... 아마 처음 글을 올리신 분도 Specific한 부분을 염두에 두고 글을 올리신 것은 아닐 겁니다...
그저 보편적으로 '기민'한가를 생각하신 거겠지요...

그리고 Agile과 Rapid의 개념에서 말이죠...

일단, Rapid하지 않다면, Agile하지 않다고 볼 수 있겠죠... 바꿔 말하자면, Agile하다면, Rapid 하다...

Rapid는 Agile의 어느 정도의 조건이 될 수도 있을 겁니다... 완전히 동일한 개념은 아닐 지라도요... 그리고 Agile의 상당히 큰 부분을 차지하겠지요...

verotas의 이미지

fender wrote:
앞에서도 말씀드렸듯이 'Agile한 언어' 보다는 'Agile Practice'가 더 적절한 표현이 아닌가 싶습니다.

Agile은 결과적 관점에서 빠른 생산성을 보이느냐는 문제가 아니라 접근 방식 자체가 빠른 생산성을 보장하도록 - 예를들어 XP에서 이야기하는 continuous(incremental/automated) build, iterative approach 등등 - 구성되느냐하는 문제 입니다.

어떤 언어가 다른 언어보다 agile하다는 건 성립 가능한 개념인지 모르겠네요 :)

그럼, "Agile Practice에 (상대적으로) 더 적합한 언어"라는 건 가능하다고 보시나요? 다른 분들 말씀을 듣고 보니 제가 rapid / agile 에서 잘못 이해했던 부분이 있는 것 같아, 확인할 겸 다시 여쭤 보는 겁니다.

The good is the enemy of the best.

fender의 이미지

verotas wrote:
fender wrote:
앞에서도 말씀드렸듯이 'Agile한 언어' 보다는 'Agile Practice'가 더 적절한 표현이 아닌가 싶습니다.

Agile은 결과적 관점에서 빠른 생산성을 보이느냐는 문제가 아니라 접근 방식 자체가 빠른 생산성을 보장하도록 - 예를들어 XP에서 이야기하는 continuous(incremental/automated) build, iterative approach 등등 - 구성되느냐하는 문제 입니다.

어떤 언어가 다른 언어보다 agile하다는 건 성립 가능한 개념인지 모르겠네요 :)

그럼, "Agile Practice에 (상대적으로) 더 적합한 언어"라는 건 가능하다고 보시나요? 다른 분들 말씀을 듣고 보니 제가 rapid / agile 에서 잘못 이해했던 부분이 있는 것 같아, 확인할 겸 다시 여쭤 보는 겁니다.

개인적으로 제대로 접해본 언어는 자바밖에 없기 때문에, 언어를 비교하는 주제에 대해선 별로 아는 바가 없습니다. 자바 언어만 해도 끊임 없이 새로운 개념이 나와서 따라가기도 벅찬데 다른 언어도 최소한 그 정도는 알아야지 비교고 뭐고 가능할 것 같다는 생각이 들더군요 :)

어쨌든 프로세스나 practice가 아닌 언어를 'agile'하다라고 쓰는 예는 거의 본적이 없는 것 같습니다. 예외적으로 파이썬의 경우 홈페이지에 '파이썬은 agile한 언어다'라고 주장하는데, 이는 파이썬 메일링 리스트에서 처음으로 등장한 마케팅적 개념으로 알고 있습니다. 'Agile'이란 말 자체도 사실상 'extreme'란 단어가 특히 기업의 관리자들에게 주는 부정적 인식을 해소하려하는 마케팅적 요소를 일부분 가지고 있습니다.

여기서의 'agile' 개념은 말 그대로 배우기 쉽고 생산성이 좋은, 특히 초기 프로토타이핑이 빠른 언어를 가르키는데 제 생각에 그런 특성만으로 agile을 정의하는 건 상당히 곡해의 소지가 있다고 봅니다.

Agile Alliance에서도 'Agile'이란 개념 자체를 놓고 보면 특정 언어나 기술에 종속적이지 않은, 양질의 소프트웨어 개발을 위한 최고의 practice의 모음임을 강조하고 있습니다.

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...

saxboy의 이미지

글쎄, 그냥 제 생각이지만, language자체의 agility를 논하는 것은 좀 무리가 있지 않을까요. 대부분 rapid prototyping 이 가능한 언어라고 하면 리눅스커뮤니티에서는 (문제의 도메인에 따라) perl, python, php 정도를 떠올리게 마련인데, (또는 java를 포함하거나) 사실 이런 빠른 개발을 가능하게 해주는 것은 랭귀지 자체의 성격보다는 라이브러리(?)에 힘입는 경우가 많은 것 같은데요. 물론 python의 간단한 OO나 perl의 강력한 스트링 처리 능력을 부정하려는 의도는 전혀 없습니다.

지리즈의 이미지

좋지 않은 예일 수 있지만...
변수형(Variable type)만을 가지고 보았을 때에는...
C, C++보다는 php, python, java등이 기민하다고 볼 수 있습니다.
Variant한 변수 때문이지요.

정확하게는 모르겠지만, 적어도
제 경험으로는 지원되는 라이브러리의 수로는
C가 C++보다는 많을 것 같습니다.
(물론 C를 지원할수 있는 C++의 특성상
완전한 C++전용 라이브러리가 없겠습니다만)
하지만 C++의 OO때문에 C보다는 기민하다고 할 수 있습니다.
또한 지원 라이브러리는 C가 java보다는 훨씬 많을 것입니다.
그렇다고 C가 java보다 기민하다고 보는 것은 좀 어렵지 않나 생각합니다.

따라서, 지원라이브러리의 양으로 기민성을 평가하는 것은 무리가 있는 것 같습니다.

오히려 지원라이브러리의 양보다는 아주 빈번히 사용되는 부분에 있어서..
로그래머가 신경을 써주어야 할 내용이 적음으로서 추상적으로 개발에
접근할 수 있는가가 중요한 것 같습니다.
지원하는 라이브러리의 수의 적음은
실행속도나 메모리사용등의 최적화적인 문제와 같은 선상의
언어의 한계로써 평가해야 않나 봅니다.

다른 또 한가지는 효과적인 개체지향지원으로 인해 역시 프로그래머가 편하게
추상적으로 개발에 접근할 수 있는가가 기민성의 판단기준이야 한다고 봅니다.

단... OO적인 면에서는 발전된 OO가 더 낳은 기민성을 제공한다고
말하기는 어려울 것 같습니다.
그 언어가 사용되는 틀내에서 적절한 수준이면 될 것 같습니다.
(왜냐면 개체지향의 강력함을 비교하는 것이 아니라, 기민성을 비교하기 때문에)

saxboy wrote:
글쎄, 그냥 제 생각이지만, language자체의 agility를 논하는 것은 좀 무리가 있지 않을까요. 대부분 rapid prototyping 이 가능한 언어라고 하면 리눅스커뮤니티에서는 (문제의 도메인에 따라) perl, python, php 정도를 떠올리게 마련인데, (또는 java를 포함하거나) 사실 이런 빠른 개발을 가능하게 해주는 것은 랭귀지 자체의 성격보다는 라이브러리(?)에 힘입는 경우가 많은 것 같은데요. 물론 python의 간단한 OO나 perl의 강력한 스트링 처리 능력을 부정하려는 의도는 전혀 없습니다.

There is no spoon. Neo from the Matrix 1999.

이한길의 이미지

아직 PHP를 그리 깊이 공부해본건 아니지만...
제가 볼때 PHP는 어느정도 한계가 있는게 아닐까 싶습니다.
물론 이건 4까지만 보고 말씀드리는 것입니다.. 아직 5는 생각이 없으니...

일단 프로그래머마다 그리고 실력에 따라 다르겠지만...
어쩌면 제가 PHP를 다루는 능력이 없어서 그럴지도 모르겠습니다..

PHP로는 원하는 작업을 시작하면 어느정도 선까지는 빠르게 끝낼 수 있습니다.
그 이상을 하려고 할때는 오히려 더 힘들다는 생각이 듭니다.

여기서 그 이상이라 할때 "그"... 즉 어느정도 선은...
조금 주관적이긴 하지만 분명 존재한다고 봅니다.
물론 PHP를 잘 다루고 이리 저리 잘 사용하시는 분들에게는 그 선이,..
상당히 위에 있을 수도 있겠지요..

저는 사실 PHP로 프로그래밍을 하면서 소스 관리를 제대로 하기 힘들다는...
느낌을 받았습니다. 전에 C나 C++ 혹은 자바로 프로그래밍을 할때...
받아보지 못했던 조금 답답하고 복잡한 느낌을 받았습니다..
(ps.C로 많은 웹 프로그래밍을 해본건 아니지만.. 게시판정도는 만들어봤습니다.)

왜 그런 걸까요? 이게 PHP4의 한계가 아닐까 싶기도 합니다...
아니면 제 한계일수도 있겠지요.

----
먼저 알게 된 것을 알려주는 것은 즐거운 일이다!
http://hangulee.springnote.com
http://hangulee.egloos.com

지리즈의 이미지

PHP의 한계성은 분명히 있습니다.

가장 큰 것은 thread가 존재하지 않는 언어입니다.
물론 웹을 개발하기 목적인 언어인 만큼...
필요하지 않는 부분이지만,
다른 언어에 익숙해진 개발자는
가끔은 선택의 폭에 한계를 느끼기도 합니다.

또 한가지.. main()이 필요없는 언어입니다.
또한 function구조를 지킬 필요도 없습니다.
따라서... 순차적으로 코딩을 진행할 수 도 있고...
전형적인 c나 java처럼.. 헤더.. 메인함수등을 이용하여 작성할 수도 있습니다.
이 몫은 어디까지나 개발자의 선택범주입니다.

There is no spoon. Neo from the Matrix 1999.

akbar의 이미지

hangulee wrote:

저는 사실 PHP로 프로그래밍을 하면서 소스 관리를 제대로 하기 힘들다는...
느낌을 받았습니다. 전에 C나 C++ 혹은 자바로 프로그래밍을 할때...
받아보지 못했던 조금 답답하고 복잡한 느낌을 받았습니다..
(ps.C로 많은 웹 프로그래밍을 해본건 아니지만.. 게시판정도는 만들어봤습니다.)

C 로 게시판을 정확하게 구현하였다면 프로젝트라고 말할 수 있습니다.
C 로 만든 게시판은 다음의 기능을 요구합니다.

B-tree 나 그와 비슷한 자료구조의 파일입출력 구현,
자료구조의 파일입출력시 lock, unlock 지원(동시성 보장을 위해),
검색을 위해서 인덱스 구현필요,

C 로도 위 기능이 재사용까지 고려해서 제대로 구현되었다면 훌륭한 프로그램입니다.
재사용까지 고려되었다면 가벼운 DB 프로그램도 만들 수 있겠죠

이한길의 이미지

akbar wrote:
B-tree 나 그와 비슷한 자료구조의 파일입출력 구현,
자료구조의 파일입출력시 lock, unlock 지원(동시성 보장을 위해),
검색을 위해서 인덱스 구현필요,

그렇게까지 제대로 만들진 못했습니다..
그때 당시는 별로 개념 없던 시절이었고 뭔가 해보려고 책도 뒤적이고 했지만..
결국 검색 부분이 제대로 작동을 안했으니 제대로 했다고 할수 없겠지요.
이게 가장 큰 장애였는데...ㅡㅡ;

언젠가 한번 B+Tree개념을 도입해서 해보고 싶긴 합니다.

----
먼저 알게 된 것을 알려주는 것은 즐거운 일이다!
http://hangulee.springnote.com
http://hangulee.egloos.com

juneaftn의 이미지

"애자일 언어"는 XP의 할아버지뻘 되는 워드 커닝엄(Ward Cunningham, http://xper.org/wiki/xp/WardCunninghamInterview )이 만든 말입니다. 그가 파이썬 언어를 보고 이 말을 생각해 냈습니다.

http://www.oreillynet.com/pub/wlg/3060

그리고 애자일 언어와 애자일 방법론을 동시에 사용하면 애자일 제곱이라고 합니다.

어떤 언어가 애자일 하냐 아니냐를 갖고 생산적인 논의를 하는 것은 상당히 어렵다고 생각합니다. 워드가 늘 (아마 의도적으로?) 그렇듯, 애자일 언어의 정의가 애매하기 때문입니다.

저는 앞 분들이 말씀하신 것에 추가해서, 애자일 언어와 극단적인 레이트 바인딩(extreme late binding)에 어떤 연관성이 있지 않을까 생각합니다. http://guzdial.cc.gatech.edu/squeakbook/AlanKayForeword.pdf

또한 제가 생각하기에 애자일한 언어를 사용할 때 그렇지 못한 언어를 사용할 때와 큰 차이점이 있다면 "학습이 빨리 이루어진다"는 것입니다. 여기에서 학습은 언어 자체에 대한 학습을 포함해서, 문제 해결에 필요한 학습까지 말하는 것입니다. (시스템과 문제 자체와) 빠른 피드백이 가능하기 때문이 아닐까 생각합니다.

--김창준

maddie의 이미지

저는 애자일이란 예기는 첨들어 봤습니다만은 윗글들을 읽어보니 php는 충분히 그런 언어라는 생각이 듭니다. 웹개발에 있어서는요.
php도 이제 슬슬 쉘스크립트 언어로 진행되고 있는 부분이 있습니다. 제가 알기로 컴파일시 thread지원 옵션을 주면 thread도 사용가능 하고 socket도 가능하다고 들었습니다. 심지어는 php-gtk도 있었던거 같은데 요즘 어떻게 되었는지 모르겠군요.
그리고 php가 유지 관리가 어렵다고 하시는 분이 있는데 그건 솔직히 제대로 관리할 수 있도록 구조를 만들지 않는다면 어느 언어라도 그렇지 않나 생각됩니다. php도 객체를 지원하고 있고 구조만 잘 잡아 놓으면 유지보수는 쉽게 됩니다. 물론 .... php의 객체엔 한계점이 분명히 있습니다만...

힘없는자의 슬픔

verotas의 이미지

juneaftn wrote:
"애자일 언어"는 XP의 할아버지뻘 되는 워드 커닝엄(Ward Cunningham, http://xper.org/wiki/xp/WardCunninghamInterview )이 만든 말입니다. 그가 파이썬 언어를 보고 이 말을 생각해 냈습니다.

http://www.oreillynet.com/pub/wlg/3060

그리고 애자일 언어와 애자일 방법론을 동시에 사용하면 애자일 제곱이라고 합니다.

어떤 언어가 애자일 하냐 아니냐를 갖고 생산적인 논의를 하는 것은 상당히 어렵다고 생각합니다. 워드가 늘 (아마 의도적으로?) 그렇듯, 애자일 언어의 정의가 애매하기 때문입니다.

저는 앞 분들이 말씀하신 것에 추가해서, 애자일 언어와 극단적인 레이트 바인딩(extreme late binding)에 어떤 연관성이 있지 않을까 생각합니다. http://guzdial.cc.gatech.edu/squeakbook/AlanKayForeword.pdf

또한 제가 생각하기에 애자일한 언어를 사용할 때 그렇지 못한 언어를 사용할 때와 큰 차이점이 있다면 "학습이 빨리 이루어진다"는 것입니다. 여기에서 학습은 언어 자체에 대한 학습을 포함해서, 문제 해결에 필요한 학습까지 말하는 것입니다. (시스템과 문제 자체와) 빠른 피드백이 가능하기 때문이 아닐까 생각합니다.

--김창준

김창준 님께서 친히 Agile Language라는 용어에 대한 고증까지... ^^

앞에 fender 님께서 얘기하신 것과 엮어 보자면, 그러니까 이전에 fast/rapid prototyping 이라고 부르던 것을 XP에 준용해서 마케팅 용으로 창안해낸 개념 쯤 되겠군요. 만약 그렇다면 그 Alliance 쪽은 조금 purist 성향이 있는게 아닌가 싶기도 합니다.

Python이라는 언어에 대한 선호도에 따라 조금 달라질 순 있겠지만, 그런 용도라면 특정한 Language를 Agile하다고 부르는 것 자체는 크게 무리가 아니라는 생각이 드네요. 다만 어떤 언어가 애자일하냐 아니냐에 대해 생산적인 논의가 어렵다는 데는 공감입니다. 마케팅 용어를 가지고 맞냐 틀리냐를 논의하는 건 부질없는 일이 되기 쉽겠죠.

그나저나 워드 커닝엄은 참 말을 많이도 만들어 내는군요.

The good is the enemy of the best.

verotas의 이미지

maddie wrote:
저는 애자일이란 예기는 첨들어 봤습니다만은 윗글들을 읽어보니 php는 충분히 그런 언어라는 생각이 듭니다. 웹개발에 있어서는요.
php도 이제 슬슬 쉘스크립트 언어로 진행되고 있는 부분이 있습니다. 제가 알기로 컴파일시 thread지원 옵션을 주면 thread도 사용가능 하고 socket도 가능하다고 들었습니다. 심지어는 php-gtk도 있었던거 같은데 요즘 어떻게 되었는지 모르겠군요.
그리고 php가 유지 관리가 어렵다고 하시는 분이 있는데 그건 솔직히 제대로 관리할 수 있도록 구조를 만들지 않는다면 어느 언어라도 그렇지 않나 생각됩니다. php도 객체를 지원하고 있고 구조만 잘 잡아 놓으면 유지보수는 쉽게 됩니다. 물론 .... php의 객체엔 한계점이 분명히 있습니다만...

php가 애자일한지 아닌지는 일단 접어두고, 유지보수가 어렵다는 점에 대해서는...

php가 여러모로 발전해왔고 발전하고 있는 것도 맞습니다만, 태생적으로 html에 embed하기 위해 만들었다는 점, 그리고 perl cgi를 대체하는게 큰 목표였다는 점을 놓고 보면 다른 generic 언어들에 비해 구조적인 결함을 초래할 만한 요소들이 많다는 것도 부인하기 어렵다고 봅니다.

대체로 구조를 잘 잡고 유지보수하기 쉬우려면 모듈, 파일, 함수 등을 잘 정리해 둬야 하는데 그런 면에서 분명 프로그래머를 오도할 요소가 다분하다고 생각합니다.

그래도 신경 써서 잘만하면 된다고 하지만, 애초에 신경을 덜 써줘도 관리가 잘 되는 언어랑 비교해서는 분명히 떨어집니다. 그리고 아무래도 performance에 대한 요구나 제약이 심하기 때문에, 알고도 좋은 구조로 만들지 못하는 경우가 자주 생기기도 하구요.

쓰고 보니 php에 대해서라기 보다는 cgi나 server side script 일반에 따르는 제약이기도 하네요.

The good is the enemy of the best.

nairs의 이미지

일단 먼저 위에서 예기되고 있는 부분중 Agile 라는 부분중 가장 공감이 가는 부분은 "학습이 빠르다" 는 부분입니다.

Python 역시도 처음에나올때는 Glue-Language 라고 하면서 다른 언어와도 쉽게 붙여 쓸수 있다는 것이였죠. 뭐... 배우기 쉽다라는 점 역시도 많이 내세웠지만. Glue-Language 에 대해서 이야기 하면서 기존의 프로그래머들이 많은 관심을 가졌던 것도 사실이죠.
비교를 하자면 In-line Assembly 이 적당할지는 모르겠지만 C 상에서 인라인 어셈구문을 쓰면 상당한 성능증대를 기대할수 있는 것은 사실이지만 단지 C 밖에 모르는 프로그래머에세 인라인어셈을 쓰기 위해서는 ASM 이라는 언어의 습득과 Interrupt 등 상당수의 기계적인 측면등의 로우레벨에 대한 학습이 필요해서 결국에는 2개의 언어를 어느정도로 자유자제로 쓸수 있는 프로그래머만이 인라인 어셈을 쓸수 있는 것이 사실이었죠.
그에 반해 Glue-Language 를 표방했었던 파이썬의 경우는 빠른 Prototyping 을 말하면서 배우기 쉽다는 것을 내세웠던 것은 사실입니다. (물론 그 언어에 대해서 쉽고 어려움은 개인적 편차가 있고, 어느정도 레벨이 지나면 다 같이 어려운것도 사실이죠) 하지만 어셈에 비해서 파이썬은 역시나 쉬운것은 많으신 분들이 공감을 하실거라 생각합니다.
파이썬에서 제공하는 많은 라이브러리를 통해서 어셈과는 달리 로우레벨에 대한 접근이 필요치 않다는 것이죠.

PHP 역시도 이런 측면에서 본다면 충분히 Agile 하다고 봅니다.
기존의 C의 구문과 Perl 에서 쓰이는 자유로운 변수형(Scalar, Array, Associate Array, 뭐 이제는 일반화 되었지만)은 큰 메리트입니다.
PHP가 주로 활동(?) 하는 *nix, Linux 의 주된 프로그래머 계층은 C, perl 로 크게 대변될수 있는데 이 계층이 쉽게 다가갈수 있는 언어라는 점에서 입니다.

이렇게 Agile 을 습득적인 측면에서 본다면 PHP는 충분히 Agile 하다고 할수 있다고 생각합니다.

그리고 Rapidly 적 측면을 본다해도 상당량의 기본제공함수와 확장기능들은 해당 라이브러리 만으로도 크게 부족함이 없다고 할수도 있을 정도라 생각합니다.
파이썬의 Standard Labrary 에 비해서도 부족한 부분은 없다고 생각이 됩니다. (XP 예기가 나오면서 Python 예기가 나와서 자꾸만 Python과 비교를 하게 되는데 파이썬을 폄하하자는 것은 아닙니다. 저역시도 Python 을 쓰고 있는 프로그래머로써 뱀에 물려서 행복해 하고 있으니 말이죠.. ^^; )

그리고 PHP의 활용적측면이 워낙에나 넓어서 에초에 생각지도 않았던 쉘스크립으로도 쓰이고 있고, 위에서도 나왔듯이 PHP-Gtk 까지도 쓰이고 있을 정도 이니 충분히 Agile 하다고 할수 있지 않을까 합니다.

이 주제가 단순히 PHP와 같은 언어의 Agility 에 대해서만 이야기 하는 것 같습니다만, 중간에 XP와 같은 개발방법론에 대한것은 좀 주제외이지않을까 합니다.
물론 Agile 한 언어에 개발방법론까지 겹쳐진다면 나아진다는 것은 당연하겠지만 말입니다.

전 PHP 의 Learning, Rapidly적 측면에서는 충분히 Agile 하다고 생각합니다.

PS. 적고 보니 뭔말인지... ㅡㅡa 다른분들의 고견기다리겠습니다.

\ 별을 보며 소원을 빌 때 당신이 누구인지는
\ 중요하지 않습니다. 당신이 소망하는 것이
★ 무엇이든, 포기하지 않는 한 그 꿈은 이루어
집니다. <司法試驗 合格記 中>

fender의 이미지

제가 개발 프로세스나 방법론이 아닌 언어를 '기민하다'라고 표현하는 것이 단순한 마케팅 구문에 지나지 않는다고 생각하는 건, 언어를 '기민하다'라고 할 때의 '기민성'은 일반적으로 소프트웨어 공학에서 이야기하는 '기만함'의 특성과 상당히 다른 개념이기 때문입니다.

전통적 의미에서 '기민함'은 특정한 기술을 사용하는 프로젝트, 혹은 특수한 환경(예를들면 아파치에서의 웹개발)에서만 유효한 개념이 아니라, 일반적으로 모든 소프트웨어 개발 프로세스에 있어서 최상의 결과물을 얻기 위한 원칙으로 제시된 것입니다.

예를들어 개발의 전과정에 걸쳐 가능하면 고객의 참여를 권장하고 자동화된 빌드시스템을 구축하며 가능하면 자주 릴리즈를 한다는 개념 등은 꼭 특정 언어나 환경에 종속되는 개념은 아닙니다.

이런 개념에서 볼 때, 만일 실제로 '기민함'이 성공적인 프로젝트를 위해 기여하는 바가 있다고 가정할 때, '기민함'은 모든 소프트웨어 개발 과정에서 추구해야할 일반 원칙, 혹은 best practice의 모음으로 생각할 수 있습니다. 이런 가정에서 '기민한 방법론'은 그렇지 않은 방법론 보다 우월하다고 할 수 있고 프로젝트의 성격에 관계 없이 권장할 수 있는 원칙이 됩니다.

하지만 프로세스가 아닌 어떤 툴이나 언어를 '기민하다'고 표현하면 '기민함'이 반드시 해당 프로젝트에서 권장되는 요소가 아님을 알 수 있습니다. 예를들어 그래픽 카드 드라이버를 만드는 프로젝트에서 파이썬이 배우기 쉬운 '기민한 언어'라고 C/C++ 대신 사용하는 것이 바람직할까요? 아니면 Php는 C/C++보다 배우기 쉽기 때문에 더 '기민한 언어'이고 따라서 더 우월한 언어라고 주장할 수 있을까요?

또 한가지 간과해선 안될 사실은 XP나 기민한 프로그래밍이 좋은 디자인의 가치를 무시하는게 아니라는 점입니다. Php가 접근하기 쉽고 프로토타입을 빨리 제작할 수 있는 것은 분명 장점이지만, 예를들어 대규모 엔터프라이즈 어플리케이션을 만드는데 적합한 언어를 '초보 개발자가 쉽고 빠르게 제작할 수 있다'는 기준에서 선택한다면 프로젝트는 대재앙으로 끝날 확률이 클 것입니다.

따라서 기존에 소프트웨어 공학 쪽에서 받아들여진 '기민함'의 개념은 파이썬 등에서 마케팅 구문으로 사용되는 '기민함'과 전혀 다른 별개의 뜻으로 파악하는게 오해를 피할 수 있는 방법이 아닐까 싶습니다.

쓰레드를 읽다보면 가끔 '기민함'이 소프트웨어 공학적 문맥에서가 아니라 단어 그 자체의 뜻으로 무조건 '가볍고 쉽고 널리 쓰이는 어쨌든 좋은 언어' 정도로 받아들여지는 것 같습니다. 물론 파이썬이든 어떤 언어든 간에 마케팅 구문을 정하는 건 자유겠지만, 윗 분 말씀 처럼 '기민함'을 이야기할 때 방법론을 이야기하는게 주제를 벗어나는게 아니라 처음부터 '기민함'은 언어가 아닌 프로세스에 적용되는 개념이었는데 파이썬이 마케팅을 위해 빌려온 것임을 혼동하지는 말았으면 좋겠습니다.

나중엔 어쩌면 '기민함'이 훨씬 넓은 의미에서 쉬운 언어나 기술을 가르키는 개념으로 바뀔 지 모르지만 어쨌든 아직까지 '일반적인 의미'에서의 '기민함'은 파이썬 등에서 주장하는 개념과 상당히 다른 내용임을 지적하고 싶습니다.

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...

wkpark의 이미지

http://xper.org/wiki/seminar/AgileLanguage

꽤 지난 이야기이지만, fender님의 글에 대한 반박글입니다 :)

온갖 참된 삶은 만남이다 --Martin Buber

차리서의 이미지

verotas wrote:
그나저나 워드 커닝엄은 참 말을 많이도 만들어 내는군요.

이름이 워드잖아요. 비록 철자가 Ward긴 하지만.... :lol:

--
자본주의, 자유민주주의 사회에서는 결국 자유마저 돈으로 사야하나보다.
사줄테니 제발 팔기나 해다오. 아직 내가 "사겠다"고 말하는 동안에 말이다!

소타의 이미지

"통념적으로 알고 있는 기민한 언어의 범주"에 있는 언어들은 어떤게 있나요?
기민한 언어 = Agile language 가 맞나요?

굳이 PHP의 장단을 따지지 않아도 "기민한 언어"의 정의가 정확하다면 답은 바로 나올것 같은데 -.-;

저는 언어의 기민한 특성이 어떻든 사람에 따라 결과가 달라진다고 믿는 사람입니다..
언어의 선택에 있어 가장 중요한건 숙련도 라고 생각합니다. 그 다음은 프로젝트에 필요한 요소들과 맞는지 입니다. 객체지향이니 기민함이니 그건 백번째쯤 되는 고려 조건 같습니다.
언어에 대한 토론이 나오면 "언어는 도구일 뿐이다"라고 종종 나오죠~
프로그램은 머리로 짜고 키보드로 옮겨 적을때(코딩) 사용하는 언어일 뿐 입니다..
C같은 언어(개발속도 느린 예)에 익숙하고 경험 많은 사람이 초보 파이썬(개발속도 빠른 예) 개발자보다 빠를수 있지 않겠습니까?