2009-02-26 3 views
6

인자 또는 앞뒤를 사용하여, 아크 또는 예제로 사용됩니다 (참고 : 요소는 실용적인 라이브러리 세트가 많기 때문에 좋지 않습니다). 프로그래밍 언어 사용을 고려하고 있다고 가정 해 보겠습니다. 실용적인 라이브러리가 많이 필요합니까? 언어가 잘 설계되어 있다면 '문자열'라이브러리 또는 '날짜'라이브러리를 쉽게 만들 수 있습니다. 어쩌면 웹 프레임 워크일까요?새롭거나 떠오르는 프로그래밍 언어에는 실제로 실용적인 라이브러리가 필요합니까?

언어가 나왔을 때 누군가가 '실용적인 라이브러리'를 불러 일으키기 때문에 이것을 언급합니다.

답변

11

10 가지 중에서 9 번, 나는 잘하고 잘 지원되는 라이브러리를 사용하여 내가하고 싶은 것을 성취하는 데 도움이 될 것입니다.

이것은 내 자신의 라이브러리를 작성하는 것을 즐기지 않을 것이 아니라 (빠르고 반대되는) 라이브러리를 작성하는 것을 즐기지 않을 것이 아니라 신속하고 정확한 결과가 중요한 프로덕션 프로젝트의 경우 실제적인 옵션이 아닐 수 있습니다. 상상력.

3

실용적인 라이브러리가 중요합니다. 나는 프레임 워크를 작성하는 데 돈을받지 못하고, 비즈니스에 가치를 더하기 위해 돈을 받는다. 고객에게 문자열 데이터 형식을 작성해야한다고 말하면 나는 직업/계약을 잃을 확률이 높습니다.

2

사람들이 얼마나 중요한 도구인지 확인하려면 여기에서 대부분의 질문을보십시오. 당신이 정말로 당신의 작업에 맞는 새로운 언어를 발견하고 모두에서 다이빙을 의미하여 다음 자신의 도구를 작성하는 시간과 성향이있는 경우

는 말했다. 즉, 새로운 언어가 좋은 라이브러리를 얻을 있는 한 가지 방법입니다, 아무튼.

4

자바 및 .Net은 프레임 워크 또는 추가 고품질 라이브러리 (꽤 자주 무료 및 오픈 소스이기도 함)가 많은 사람들을 부끄럽게 만들었습니다. 루비와 파이썬도 마찬가지다. 라이브러리가 없으면 새로운 언어를 채택하기가 어려울 것입니다. 필요한 모든 기능을 다시 구현해야하므로 생산성이 저하 될 것입니다.

의도적 인 프로그래밍과 같은 급진적 인 언어를 소개하는 획기적인 언어가 아니라면 (필자는 컴퓨터에 원하는대로 컴퓨터에 알려주고 적절한 코드를 알려줍니다) ... 왜 그 중 하나가 있습니까? :-)

1

큰 라이브러리를 사용하면 훨씬 더 생산적으로 언어를 사용할 수 있습니다. XML, 암호, 웹 프레임 워크, UI 프레임 워크 등을 파싱하는 것을 지원하지 않는 정말 훌륭한 언어는 작업 코드를 생성하는 데 더 많은 시간을 필요로합니다. 학습 목적으로, 큰 도서관이없는 언어는 괜찮지 만 실용적인 목적으로 그런 언어를 사용하는 데는 시간과 돈이들 것입니다. 이미지를로드 할 때마다 .jpg 헤더를 구문 분석하는 코드를 작성해야한다고 상상해보십시오. 미리 만들어진 XML 파서에 XML 파서를로드하는 대신 XML 파서를 직접 코딩해야하는 경우 어떻게해야할까요? 당신은 그것을 망치고 디버깅하는데 많은 시간을 할애 할 것입니다. 프로젝트의 목표가 새로운 도구를 만드는 것이라면 지원 코드를 작성하는 것이 시간을 많이 사용하지는 않습니다.

1

저는 파이썬의 인기가 큰 이유는 거대한 표준 라이브러리라고 생각합니다. 자바와 PHP도 마찬가지다. 사실, 아마도 도서관 선택이 언어 자체보다 더 중요하다고 말할 수 있습니다.

+0

필자는 지금까지 PHP (그리고 아마도 java)를 사용하는 유일한 라이브러리는 함께 제공되는 라이브러리라고 말할 수있었습니다. 언어가 다가올수록 둘 다 꽤 무서운 것입니다. – SingleNegationElimination

+0

나는 동의한다. 이것이 내가 원하는만큼 C# 프로그래밍을하지 않는 이유입니다. 단순히 C# 용 고품질 오픈 소스 소프트웨어가 많이 없습니다. –

1

시간과 노력을 최대한 줄여 최종 제품을 만드는 것이 가장 중요하다면 사용 가능한 라이브러리가 있어야합니다. (목표가 재미 있거나 학습을 위해 배우는 경우 자신 만의 라이브러리를 작성하는 것이 좋은 경험이 될 수 있습니다.)

훌륭한 라이브러리는 많은 사람들이 그것을 사용하고 대부분의 버그.프로그래밍 언어가 얼마나 훌륭한 지 또는 처음부터 라이브러리를 작성하는 것이 얼마나 쉬운 지 상관하지 않습니다. 시간이 지남에 따라 테스트 된 코드를 대체 할 수있는 방법은 없습니다.

많은 라이브러리가 흥미롭지도 재미도 없으며 다시 구현하면 어떤 방식 으로든 세상을 혁명적으로 바꾸지 않을 것입니다. 날짜 라이브러리 나 문자열 라이브러리로 할 수있는 일은 많습니다. 그것은 작동하거나하지 않습니다. 많은 라이브러리는 단순히 표준 또는 사실상의 표준 동작을 구현 한 것일 뿐이며 다른 라이브러리는 올바르게 작동시키기 위해 필요한 작업을 방해해야합니다. 이 일의 적은 당신이 너 자신을해야만한다.

기존 라이브러리를 활용할 수있는 새로운 언어는 모두 제 의견으로 시작됩니다. Clojure는 매우 새로운 언어이지만 Java의 모든 라이브러리에도 액세스 할 수 있습니다. 이것은 오늘날 논란의 여지가있는 큰 이유 중 하나입니다. 휠을 다시 발명하기보다는 새로운 것을 향해 노력합니다.

0

폴 그레이엄 (Paul Graham)이나 척 무어 (Chuck Moore)는 유혹적인 아이디어이며, 확실히 작동합니다.

도메인이 매우 제한적이며 도메인 외부에있는 요구 사항을 얻지는 않을 수도 있습니다. 이는 "Excel에서 가져 오기"기능을 요구하는 클라이언트처럼 간단합니다. 반면 Paul Graham은 Lisp을 사용하여 요구 사항이 매우 광범위한 웹 상점 시스템을 작성했습니다. PDF 내보내기와 같은 작업을 어떻게 처리했는지, MIT의 여름 방학 중 일부 인턴에게 PDF 사양 및 Lisp 설명서를 제공했는지 또는 C 라이브러리로 갔는지 알고 싶습니다.

도메인이 논리 또는 천문학 시뮬레이션과 같은 자연스러운 원칙에 따라 작동하는 경우 작동 할 수 있습니다. 인간의 요구 사항이라면 모순과 특수한 경우가 있습니다. (문자열과 날짜 라이브러리는 그 범주에 속합니다.) 완전히 추상화되거나 언어 기능이 없기 때문에 하스켈이나 PHP로 작성하는지 여부에 따라 특별한 경우를 알 수 있습니다.

최적화가 매우 중요한 위치에서 효과가있을 수 있습니다 (편집 : 어디서나 최적화하는 것이 현명합니다) - 직접 구현 했으므로 스택의 모든 레이어를 알 수있는 시스템을 제거했습니다. 특별한 목표를 염두에두고

저는 전체적인 아이디어 집단을 대학원 학생들과 연관시킵니다 : 그들은 프로그래밍 기술과 일반적인 영리함에서 상위 1 %에 있습니다. 그들은 매우 좁은 영역에서 일하고 있습니다. 최고의 장비가 없어서 물건을 벗기고 깊이있게 최적화하려고합니다. 그들은 일하는 프로그래머들의 딜레마를 해결하는 학습을하지 못합니다.

1

문자열 라이브러리가 쓰기 쉽다고 생각하십니까? 유니 코드, UTF-8, UTF-16, 레거시 코드 페이지, 바이트 순서 문제 등을 살펴보십시오.

당신은 날짜/시간 라이브러리가 쓰기 쉽다고 생각합니까? 윤초, 주 번호 매기기 및 기타 등을보십시오.

이런 종류의 것들을 생각하고, 한 번 구현하고 올바르게 구현하면 생각보다 많은 시간과 두통을 줄일 수 있습니다.

관련 문제