목차
回复内容:
백엔드 개발 PHP 튜토리얼 看到有人说 PHP 是个垃圾语言,建议学习 Node.js、Python、Java,此话怎讲?

看到有人说 PHP 是个垃圾语言,建议学习 Node.js、Python、Java,此话怎讲?

Jun 06, 2016 pm 04:43 PM
java php

鄙人是个PHP的新手,买了java的手册还没开始看·这个说法让鄙人很受刺激,真心希望了解具体情况。

回复内容:

"Father, forgive them for they don't know what they're doing(saying) ... " - Jesus 你学你的,和其他人有关系吗?看书吧,孩子 此话纯属胡扯。不必纠结。 baidu.com/index.php,不多说 php入门简单,因为别的语言在写之前都需要调一个web框架,web框架会启动一个用相应语言写的web服务器,这个服务器的所有行为都是你可以控制的。
php不同,它其实本身就是一个web框架,它会运行在已有的web服务器上,在正式运行你的脚本前,它会帮你做很多事情(比如处理get,post参数啊之类的)

对于新手来说,其实你不需要知道这么多细节,你放一个php文件在文件夹里,在你访问这个文件对应的url的时候,php会自动帮你运行这个php脚本。所以你可以省去做很多工作。

对于网站来说,php提供的一切都很完美(这么多大公司在用),你完全不需要考虑底层的东西,集中精力搞应用层吧。

当你的编程经验达到一定程度的时候,你觉得自己想写一个web服务器(类似apache那样),php肯定做不了,这时候nodejs,python,java就可以做这样的事情。

网站除了后台,还有前端,这时候你就得学js,学了js你就发现还有nodejs可以学,然后你发现nodejs好强大,几行代码就能实现一个实时的应用程序,分分钟变成了全端工程师。

扯了这么多,我的建议是先学php,很多编程的技巧,经验都是想通的,再学js,其他语言看兴趣,java也不是太难,就是写起来比较繁琐。 首先,各种语言都有不同的特性,对应不同的应用环境有各自的优点和缺点。
对于某个具体的环境只有合适或者不合适的差别——表现在性能、开发效率、代码质量控制、兼容性、部署、维护、社区技术支持、框架、更新维护以及人力成本、基础设施要求等非常多的方面。
以垃圾来概括某种语言既是认为此种语言一无是处,这是缺乏事实依据的。很多唯性能论者和以某种语言来抬高自己身价的人经常会有这种言论。


我对楼主的建议:
1. PHP是一门很流行的语言,而且也在不断改进着。虽然由于其特性,在运行效率上不及某几种语言,但它的入门难度几乎是最低的(但想做到精通的话难度不下于任何一门语言),同时它的部署和维护难度也很低,有大量的开源项目和框架、社区支持

2. 做为一个有追求的开发者,不要把自己绑死在一种语言上。你的标题至少后半句是正确的:在学好一门语言的基础上,对网络/软件开发会有更深层的认识,求知欲会让你不满足于现状,学更多的东西去开阔眼界,弥补现在的不足。但切记学什么都要扎实,而不是为了向别人炫耀。作为一个谦逊的程序员,要时刻记得自己是站在巨人的肩膀上的,语言再牛逼,你也只是会使用的人而已。

这点事情就让你受刺激啊 你也太容易受刺激了 不要相信他胡扯 语言的优劣怎么能用垃圾这个词 Facebook是用PHP写的 说实话,这个是php的历史造成的

php现在是垃圾语言吗?当然不是,wordpress,drupal,eyeos,那个不是顶级的应用,那么关于php的成见何时开始的呢

在php4.0的时代,php有着很严重的问题,不支持面向对象,性能很差,同样因为不支持面向对象,很多逻辑的实现用代码写起来很不优雅,究其原因,php一开始的目标并不像java之类的语言那样远大,只是在web领域内做一个细分而已,嵌入HTML语句和内容的更新.这些使得php入门非常容易,但也更使计算机的专业人士看不上这种语言.
这儿找到一个关于php发展历史的文章 swoole.com/PHP.html

但恰恰因为php的简单,使得其安装,部署非常的方便,又只在web方面做优化,成为专门领域的语言,当web流行起来的时候,php也快速发展着,成为web语言里的强者

当一门语言流行后,这个语言的发展就会非常迅速,在php到5.0后,已经是一个里程碑,和之前已经完全不同,但之前的名声大大影响的现在的php,可以想象,php能够撑起全球最大的社交网站,其本身已经非常完善,性能也已经有了很大的提高,之前看过一个关于脚本语言的评测,php的性能已经在所有脚本里面能够属一属二了.

很多人批判php的语法,这个我觉得见仁见智,php沿用的C的语法,几乎没有改变,本身并不算差,主要是php的系统函数命名规范不一致,还有其他一些方面的原因,但这个不能妨碍php成为优秀语言的原因

如果你觉得php性能不够,用facebook的hithop编译下,用C++扩展,作为一门专业领域的语言,是很强大的,另外,对提问者说这些话的人,基本上都是道听途说,以讹传讹的 说这话的人都是浮躁的人,与其听别人这样说,不如去在实践中体会。 php设计哲学是包容性。开发效率完爆各种语言!因为他们要被php取代了,在公司没地位了,要失业了,所以恐慌了。说php效率的,一般在数据库的效率,mysql就这样。不用强加别人
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. Apr 05, 2025 am 12:04 AM

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? Feb 07, 2025 am 11:57 AM

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

문자열로 모음을 계산하는 PHP 프로그램 문자열로 모음을 계산하는 PHP 프로그램 Feb 07, 2025 pm 12:12 PM

문자열은 문자, 숫자 및 기호를 포함하여 일련의 문자입니다. 이 튜토리얼은 다른 방법을 사용하여 PHP의 주어진 문자열의 모음 수를 계산하는 방법을 배웁니다. 영어의 모음은 A, E, I, O, U이며 대문자 또는 소문자 일 수 있습니다. 모음이란 무엇입니까? 모음은 특정 발음을 나타내는 알파벳 문자입니다. 대문자와 소문자를 포함하여 영어에는 5 개의 모음이 있습니다. a, e, i, o, u 예 1 입력 : String = "Tutorialspoint" 출력 : 6 설명하다 문자열의 "Tutorialspoint"의 모음은 u, o, i, a, o, i입니다. 총 6 개의 위안이 있습니다

PHP에서 늦은 정적 결합을 설명하십시오 (정적 : :). PHP에서 늦은 정적 결합을 설명하십시오 (정적 : :). Apr 03, 2025 am 12:04 AM

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

Java 8 Stream foreach에서 나누거나 돌아 오시겠습니까? Java 8 Stream foreach에서 나누거나 돌아 오시겠습니까? Feb 07, 2025 pm 12:09 PM

Java 8은 스트림 API를 소개하여 데이터 컬렉션을 처리하는 강력하고 표현적인 방법을 제공합니다. 그러나 스트림을 사용할 때 일반적인 질문은 다음과 같은 것입니다. 기존 루프는 조기 중단 또는 반환을 허용하지만 스트림의 Foreach 메소드는이 방법을 직접 지원하지 않습니다. 이 기사는 이유를 설명하고 스트림 처리 시스템에서 조기 종료를 구현하기위한 대체 방법을 탐색합니다. 추가 읽기 : Java Stream API 개선 스트림 foreach를 이해하십시오 Foreach 메소드는 스트림의 각 요소에서 하나의 작업을 수행하는 터미널 작동입니다. 디자인 의도입니다

php magic 방법 (__construct, __destruct, __call, __get, __set 등)이란 무엇이며 사용 사례를 제공합니까? php magic 방법 (__construct, __destruct, __call, __get, __set 등)이란 무엇이며 사용 사례를 제공합니까? Apr 03, 2025 am 12:03 AM

PHP의 마법 방법은 무엇입니까? PHP의 마법 방법은 다음과 같습니다. 1. \ _ \ _ Construct, 객체를 초기화하는 데 사용됩니다. 2. \ _ \ _ 파괴, 자원을 정리하는 데 사용됩니다. 3. \ _ \ _ 호출, 존재하지 않는 메소드 호출을 처리하십시오. 4. \ _ \ _ get, 동적 속성 액세스를 구현하십시오. 5. \ _ \ _ Set, 동적 속성 설정을 구현하십시오. 이러한 방법은 특정 상황에서 자동으로 호출되어 코드 유연성과 효율성을 향상시킵니다.

매치 표현식 (PHP 8)과 스위치와 어떻게 다른지 설명하십시오. 매치 표현식 (PHP 8)과 스위치와 어떻게 다른지 설명하십시오. Apr 06, 2025 am 12:03 AM

PHP8에서 매치 표현식은 표현식의 값에 따라 다른 결과를 반환하는 새로운 제어 구조입니다. 1) 스위치 명령문과 유사하지만 실행 명령문 블록 대신 값을 반환합니다. 2) 경기 표현식은 엄격하게 비교되어 (===) 보안을 향상시킵니다. 3) 스위치 명세서에서 가능한 파손을 피하고 코드의 단순성과 가독성을 향상시킵니다.

CSRF (Cross-Site Request Grospory) 란 무엇이며 PHP에서 CSRF 보호를 어떻게 구현합니까? CSRF (Cross-Site Request Grospory) 란 무엇이며 PHP에서 CSRF 보호를 어떻게 구현합니까? Apr 07, 2025 am 12:02 AM

PHP에서는 예측할 수없는 토큰을 사용하여 CSRF 공격을 효과적으로 방지 할 수 있습니다. 특정 방법은 다음과 같습니다. 1. 형태로 CSRF 토큰을 생성하고 포함시킨다. 2. 요청을 처리 할 때 토큰의 유효성을 확인하십시오.

See all articles