나는 빠르게 변화하는 언어들 (예를 들어 매년 향상되는 언어)과 느리게 향상되는 언어를 보았다.
제 질문은, 언어가 빠르게 바뀌면 프로그래머에게 좋은 것입니까, 나쁜 것입니까? 프로그래머는 언어로 새로운 것을 배우는 것을 좋아합니까, 아니면 이미 알고있는 것을 고수하는 것을 선호합니까?
나는 빠르게 변화하는 언어들 (예를 들어 매년 향상되는 언어)과 느리게 향상되는 언어를 보았다.
제 질문은, 언어가 빠르게 바뀌면 프로그래머에게 좋은 것입니까, 나쁜 것입니까? 프로그래머는 언어로 새로운 것을 배우는 것을 좋아합니까, 아니면 이미 알고있는 것을 고수하는 것을 선호합니까?
답변:
언어가 빠르게 바뀌면 프로그래머에게 좋은 일입니까, 나쁜 일입니까?
좋은
나쁜
프로그래머는 언어로 새로운 것을 배우는 것을 좋아합니까, 아니면 이미 알고있는 것을 고수하는 것을 선호합니까?
많은 프로그래머들이 새로운 기능을 가지고 호기심을 만족시킵니다. 그러나 이것이 새로운 기능이 항상 프로덕션 코드에 적합하다는 것을 의미하지는 않습니다. 이는 특정 상황에서 업그레이드 비용과 새로운 기능의 이점을 비교해야하는 사례 별 결정입니다.
재미 있거나 새로운 기능에 대해 배우는 것을 좋아할 수도 있지만, 하루가 끝날 무렵에는 유용한 제품을 누군가에게 제공하는 것이 중요합니다. 합리적인 지원과 안정성을 갖기에는 충분히 현대적이면서도 상당히 생산적이지 않은 도구 모음을 선택해야했습니다.
언어 안정성은 비즈니스와 개발자에게 필수입니다. 언어 변경은 문제를 해결하거나 이전 릴리스에서 누락 된 기능을 소개하는 경우에 환영하지만 언어를 변경하여 유행을 이루거나 경쟁 업체를 따라 잡기 위해 언어를 변경하는 것은 그리 좋지 않습니다.
언어가 안정되면 시간이 지남에 따라 개발자는 언어를 완전히 익히고 자신이 아는 것으로 비즈니스 서비스를 제공하기 위해 노력하기 때문에 언어 학습에 집중하지 않습니다. 결과는 더 짧은 프로젝트, 행복한 최종 사용자 및 더 자랑스러운 개발자입니다!
학습 비용과 시간도 변화합니다. 모든 고용주가 개발자에게 새로운 기능을 교육 할 의향이있는 것은 아닙니다. 이것은 개발자들에게 스스로 또는 다른 것을 훈련시켜야하는 상당한 부담을 가중시킵니다. 이것은 사소한 것이 아니며 전문화 된 과정은 각각 $ 1500- $ 3500가 될 수 있습니다!
지속적인 변화는 개발자들을 '레거시'소프트웨어로 잠글 수 있습니다. 지금부터 2 년 동안 MVVM에 익숙하지 않은 ASP 개발자 나 WPF를 배우지 못한 Windows Forms 개발자의 경우를 생각해보십시오. 이러한 잠금은 개발자의 경력을 크게 손상시킬 수 있습니다.
시간이 지남에 따라 비즈니스의 소프트웨어 아키텍처는 가든 샐러드처럼 보입니다. 모든 종류의 도구와 버전을 사용하면 비즈니스 이익없이 소프트웨어를 한 버전에서 다음 버전으로 업그레이드하는 것 외에는 아무것도하지 않는 프로젝트를 찾을 수 있습니다.
나는 옳은 대답이 하나도 없다고 생각합니다.
일반적으로 말하면, 언어가 비교적 어리면 비교적 큰 변화를 비교적 빠르게 만들 수있는 자유가 더 많습니다. 기존 코드의 기초가 크지 않기 때문에 사람들은 일반적으로 실험에 훨씬 더 개방적입니다.
언어가 오래됨에 따라 사용자가 실제로 관심을 가질 정도로 충분히 넓게 사용된다고 가정하면 기존 코드의 기초는 변경 가능한 사항에 대해 더 엄격하고 엄격한 제한을 설정하기 시작합니다. 더 많은 기능을 사용하는 코드가 더 많을뿐 아니라 어떤 변경 사항으로 인해 코드가 손상 될 수 있는지 추측하기가 더 어려워 질뿐 아니라 사람들의 기대치가 변경됩니다.
예를 들어, 루비와 포트란을 쓰는 사람들이 거의 같다고 가정 해 봅시다. 또한 두 코드에 동일한 양의 코드가 있다고 가정 해 봅시다. 루비 사용자에게는 Fortran 사용자보다 일반적으로 동일한 비율의 변경 (및 동일한 작업을 수행하는 방식으로 변경)이 Fortran 사용자보다 훨씬 더 수용 가능할 가능성이 매우 높습니다. (적어도 그것을 개선으로 본다고 가정).
나는 많은 사람들이 언어에 대한 사람들의 인식에 달려 있다고 생각합니다. 언어를 선택하는 사람들 때문에 그것의 "최첨단는"많은 더 많은 가능성이 그게 걸릴 거라면, 기존의 코드를 많이 파괴 주요 변경 참아 있습니다 유지 최첨단을.
또 다른 요소는 언어가 계획된 프로젝트의 규모와 수명입니다. 상대적으로 작은 프로젝트를 지원하는 언어 나 초기에 기대 수명이 짧은 것으로 알려진 언어 (예 : 웹 UI)는 많은 사람들이 동일한 코드 기반을 계속 사용하지 않을 가능성이 높기 때문에 비교적 자주 문제를 해결할 수 있습니다. 예를 들어 10 년 동안 말입니다. 초기 릴리스에 도달하는 데 5 년이 걸릴 수있는 더 크고 더 오래 살았던 프로젝트를 위해 더 많은 언어를 지원하는 언어 (예 : C ++ 또는 Java)는 30 년에서 40 년 동안 정기적으로 사용 (및 지속적인 개발) 할 수 있습니다. 큰 거래보다 안정성.
나는 그의 C ++을 좋아한다고 말한 사람이 있었고 그 방식으로 유지됩니다. 그는 D에 관심이 없거나 관심이 없으며 C #을 알고 사용하고 싶지 않습니다. 그는 자신이해야 할 많은 프로젝트를 위해 Java를 배웠고, 자신이 알고있는 언어로 분명히 잘 해냈습니다.
다른 사람은 C #을 좋아하고 모든 키워드를 알지 못하거나 .NET 4 라이브러리 (비동기 및 모두)를 알지 못하고 추상 키워드 또는 사용 된 속성을 사용하지 않았습니다.
나는 단순히 대부분의 사람들이 DONT CARE를 말하는 것입니다.
이제 업그레이드의 영향으로 사람들이 돌보아 줄 것입니다 (libs 또는 컴파일 된 코드의 경우).