20년이 지난 지금도 여전히 PHP와 JavaScript에 애착을 갖고 있는 사람들이 많이 있습니다.
지난 20년 동안 C에서 Common Lisp, Java에서 Python, C++에서 TypeScript까지 작업에 10개 이상의 프로그래밍 언어를 사용했지만 그 언어를 더 선호합니다. 걱정스러운 품질.
왜 품질이 걱정된다고 하시나요? 사람들이 PHP와 JavaScript에 대해 비판하는 것이 실제로 많기 때문입니다. PHP는 형식이 느슨한 언어이므로 잘못된 코드를 낳는 경우가 많으며 기본적으로 JavaScript와 Node.js도 마찬가지입니다.
그래도 저는 여전히 PHP와 JavaScript를 사용한 프로그래밍을 좋아합니다.
Python도 좋지만 PHP는 확실히 사용하기 더 쉽습니다
PHP는 1990년대 중반에 탄생하여 많은 프로그래머들보다 훨씬 나이가 많습니다. 저는 PHP가 버전 4에서 버전 5로 막 전환하던 2000년대 초반에 PHP 작업을 시작했습니다. 나중에 저는 제가 작성한 CodeIgniter ZendFramework 프레임워크에서 애플리케이션을 작성하기 시작했습니다.
제 생각에는 PHP가 수년이 지나도 변함없이 그대로 유지되고 노화의 흔적을 보이지 않는 주된 이유는 PHP가 전 세계의 새로운 애플리케이션과 기존 애플리케이션에 내장되어 있고, 장르에 상관없이 개발자의 마음 속에도 내장되어 있기 때문입니다. 나이. 몇 년 동안 사용해 본 사람도 있고, 수십 년 동안 사용해 온 사람도 있고, 그들에게 PHP는 깊은 인상을 남겼습니다. 개발자는 사라지지 않으며, 그들이 작성한 비즈니스 코드도 사라지지 않으므로 PHP는 여전히 존재합니다. 그리고 흥미롭게도 Python은 실제로 PHP보다 빠른 1991년에 탄생했습니다. 그리고 긴 수명 주기에도 불구하고 Python은 현재의 PHP 수준에 도달한 적이 없습니다.
왜 이런 일이 일어나는 걸까요?
개인적인 관점에서는 PHP보다 Python이 사용하기 더 번거롭다고 생각합니다. 이 문제는 Python 3에서 개선되었지만 15년 전 Python에는 PHP에서 기본으로 제공되는 "멋진 기능"(함수)이 없었습니다. 많은 기능을 수동으로 설치해야 합니다. 그렇지 않으면 쓸모가 없습니다.
그리고 오랫동안 Python 언어에 퍼져 있던 또 다른 문제는 간격 구문입니다. 코드 사이의 공백 수에 따라 분리 관계가 결정되는 이 구문은 많은 사람들에게 불쾌감을 줍니다. 많은 프로그래머들은 자신이 원하는 대로 코드를 분리하는 것을 좋아하며 프로그래밍 언어 자체가 이러한 작업을 수행한다는 생각을 참을 수 없습니다. PHP는 이를 매우 잘 수행합니다.
PHP와 JavaScript의 매력은 무엇인가요?
또한 다음과 같은 측면을 포함하여 PHP와 JavaScript에는 더 흥미로운 측면이 있습니다.
실용적인 일을 하는 사람들이 그것을 사용하고 있습니다
실용적인 일을 하는 사람들에게 PHP와 JavaScript가 매우 유용하다는 것을 어떻게 이해할 수 있을까요? 즉, 비즈니스 요구 사항을 이해하고 빠르게 반복할 수 있으며 프로젝트 개발 및 유지 관리에 많은 경험이 있는 사람들에게는 PHP와 JavaScript가 필요한 두 가지 언어입니다.
수년간의 개발로 인해 각자의 생태계와 함께 성장할 수 있었습니다
PHP 8은 증조할머니가 사용했던 PHP3가 아니며, ECMAScript 12는 증조할아버지가 작성한 JavaScript가 아닙니다. 이 고대 생물들이 의존하고 있는 생태계는 아직까지 가만히 있지 않았습니다. CPAN, PECL 및 npm과 같은 도구는 다른 언어의 개발을 가속화했습니다. JavaScript는 항상 혁신의 온상이었으며 새로운 패러다임과 프레임워크의 출현을 주도해 왔습니다.
품질은 종종 다른 요인에 의해 보상됩니다.
"걱정 품질"이 있는 프로그래밍 언어는 원래 우아함으로 유명하지 않습니다. 속도, 배포 용이성, 확장성, 도구, 개발 커뮤니티, 프레임워크 또는 플랫폼 측면에서 다른 경쟁사보다 뛰어난 성능을 발휘할 가능성이 더 높습니다.
저는 레거시 코드 기반을 덩어리로 재구성할 수 있는 CGI-bin 모드 때문에 PHP를 선호합니다. 또한 사용하기 쉬운 캐싱 및 확장 방법을 제공하며 개발자는 리소스 누출에 대해 전혀 걱정할 필요가 없습니다. .
더 흥미롭습니다
이러한 언어는 몇 가지 기본적인 문제에서도 실패할 수 있습니다. 즉, 이러한 언어를 사용한 프로그래밍은 항상 사람들에게 실험적인 느낌을 줍니다. 세련되지 않은 언어로 우아한 코드를 작성할 수 있다는 것은 언제나 사람들에게 성공이라는 만족감을 선사할 것입니다.
이 언어들 앞에서는 모든 프로그래머가 평등합니다
이 언어들은 프로그래머에게 엄격한 배경 요구 사항이 없습니다. 심지어 아무것도 모르는 초보자라도 며칠 안에 실제 웹 사이트를 운영할 수 있습니다. . 저는 기본 코드 조각을 복사하고 붙여넣는 것에서 시작해 PHP2와 PHP3를 사용하여 나만의 웹사이트를 작성하는 것으로 성장했습니다. 이제 축적된 경험을 활용하여 커뮤니티에 보답하고 이제 막 시작하는 초보자를 도울 수 있게 되었습니다.
12세 어린이나 코딩 부트 캠프를 갓 마친 사람이 작성한 프로그래밍 코드를 무시하는 것은 오만한 것이 아닙니다. 불완전한 프로그래밍 언어가 더욱 친근하고 활발한 커뮤니티 환경을 가질 수 있는 것은 바로 이러한 사용자들이 다양한 교육 배경을 갖고 있기 때문입니다.
좋은 코드를 작성하는 것을 막을 수 있는 것은 아무것도 없습니다
PHP, JavaScript, Lua 또는 Perl이든 이러한 언어는 함수, 변수, 클래스, 일류 함수 등과 같은 효과적인 도구를 제공하며 일부는 추가 특성 및 프로토타입 상속도 제공합니다. 우수한 소프트웨어에는 제품 포지셔닝, 소프트웨어 디자인, 명명 및 디자인 패턴이 필요합니다. 정적 분석 또는 단위 테스트의 불변성을 강화하여 개발자에게 빠르고 효과적인 피드백 루프는 물론 좋은 팀 커뮤니케이션 환경을 제공합니다. 이러한 요소는 프로그래밍 언어와 완전히 독립적입니다. JavaScript 및 PHP의 경우 견고한 라이브러리, 유용한 정적 분석 도구 및 탁월한 IDE 지원을 제공하며 도구 측면에서 더 많은 "프리미엄" 프로그래밍 언어보다 더 강력하다는 것을 알 수 있습니다.
나는 레거시 코드베이스를 좋아한다
레거시 코드베이스는 제품 성능이 보장된다는 의미이기도 하고, 이에 대한 보다 즉각적이고 효과적인 최적화 개선을 수행할 수 있다는 의미이기도 하다. 나에게는 다른 사용자와 함께 제품을 최적화하는 것보다 더 좋은 것은 없습니다.
추천 학습: "PHP 비디오 튜토리얼"