찾다
백엔드 개발PHP 튜토리얼零基础应该选择学习 Java、PHP 还是 Python?

感谢各位前辈的建议,已经开始学习php,已经看韩顺平老师的视频。
现在主要任务就是学习,等我学习有成再来分享经验=。=

回复内容:

被收藏7次,只有两个赞。路过的弟兄们,能不能顺手点个赞呀?
=============== 原答案的分割线 ==========
看了那么多答案,我想说,你们不要误人子弟。请相信我的回答。为了增加自己的说服力,必须亮一下自己的经历了。
清华大学硕士毕业,在北京写过两年Java,在杭州写过三年Python,深入定制过Python虚拟机,现在从事arm上的javascript虚机机的开发。虽然仍然不是什么牛人,但我觉得我的经验能对大多数新入门的从业人员提供参考。以下是正式回答。

这三门当中,首推Java。真的,Python当然是好,但是对于一个新入门的人,最重要的是先找到工作不是吗?而找工作的话,Java无疑是最容易的。对于跨行业的人而言,最困难的其实是第一步,那就是如何进入这个行业。如果你连进都进不来,第一份工作迟迟无法开始,那么好好努力,补上数据结构,设计模式,算法设计这些差距就根本无从说起,不是吗?

不要被什么科班出身之类的说法吓坏了。虽然我是科班出身,但我始终觉得,只要你肯努力,这里面并没有什么无法逾越的鸿沟,最重要的是不要好高骛远,也不要急于求成。学习和积累是有一个过程的,在程序员这个行当,你一分付出,就会有一分回报。尊重学习的内在规律,循序渐进,终有一天,你会成为你想成为的那个人的。

接着,我来谈谈具体的规划。
1. 了解Java的运行环境。搞清楚path和classpath是干什么的,怎么在命令行进行编译,执行。知道IDE的各个按钮后面真正发生了什么事情。
2. 掌握Java的语法。搞清楚包,接口,类,继承这些基本概念。掌握多态,overwrite,死背下IO的接口,包括InputStream/OutputStream和Writer/Reader,死背下网络编程和GUI编程的接口,死背JDBC接口。这一步,推荐的书是《 Thinking in Java》。
3. 掌握多线程编程。弄明白ConcurrencyHashMap是怎么实现的,搞清楚synchronized是怎么回事,弄明白为什么要有Runnable接口。

在第二步和第三步掌握到80%的时候,你就可以考虑找工作了。

4. 在工作中体会一下设计模式。推荐《Java与模式》这本书。看完里面的Decorator,IO接口你再也不会去死记硬背了。用的时候,根据Adaptor和Decorator的命名规则,自己临时推都推得出来。
5. 恶补数据结构。 搞清楚 LinkedList和 ArrayList的实现机制,了解它们的每一个接口的时间复杂度。同样的还有其他容器,Map啊,Set啊,都是一样的。栈,队列,二叉树,图贯穿编程始终,如果这一步你迈不过去,那就只能在低阶程序员里打转。
6. 如果有可能,最好对一些算法设计也有所涉猎。比如动态规则的思路,贪心算法,诸如KMP这种奇妙的算法等。这一步没有数据结构那么重要,学得好当然好,学不好也不用太挫败。

到了这一步,你和科班程序员之间的差距就不大了。可以在工作中独立承担开发任务了。

7. 进阶,这时候就可以有自己的思考了。Java发展到现在,被用在各种各样的情景之中,说它是应用最广泛的编程语言并不过分。你在打好基础以后,就可以考虑应该向哪个方向发展了。比如服务端的架构,最好能学习一下JavaEE。JEE一直以来,都是让人觉得门槛太高。这个其实可以从Spring入手,搞清楚反射,控制反转,依赖注射都是什么鬼(这些神叨叨的名词其实都是为了解决Java本身不够动态这个缺陷而出现的,这里不展开,我只想提醒的是,这些概念没有什么大不了的东西,不要被爱装逼的家伙吓住了)。还有消息这个东西,还有ORM这个东西,都去搞搞清楚。想一下它们要解决什么问题,再猜一下他们是怎么实现的。我面试的时候发现,其实大多数优秀的开发者,即使以前没思考过这个问题,让他现场设计一下Hibernate,都能设计得差不多。这说明,这些框架性的东没有什么大不了的。有了基础,你也能设计出来。关键是要去动脑筋想。以上是以服务端开发举例,那么对于客户端,你就去思考事件响应机制是如何工作的(这个我不熟悉,就不再多说了)。还可以深入研究一下JVM的源代码,以及其实现机制,了解一下垃圾回收算法等等。

到了这一步,你就可以应聘Java高级开发了。如果运气好,年薪30万是有可能的。保底也要20万了。

8. 架构。到了这一步,你就算是登堂入室,真正迈入高级开发人员了。这一步,你要思考更多的东西,比如,如何处理高并发,如何应对分布式系统,如何提供更健壮的数据服务。到了这一步,那就没有什么可以参考的,现成的东西了。全靠自己的悟性了。那最后能达到什么高度,就不是我这个层次能点评的了。

编程的世界永远向所有热爱编程的人开放,这是一个自由,平等,共享的世界,我始终是这样坚信的。

希望你能成为一个成功的程序员。祝好。
以上。 我想说的是,选择一门编程语言,任何一门语言。然后,赶紧开始你神奇的编程之旅吧。
当你开始学习计算机编程的时候,碰到的第一个障碍就是挑选一门编程语言。初学者经常犯的一个错误,就是去询问那些富有经验的开发者,他们应该选择哪种编程语言。

事实真相是,这个问题根本不重要

我正式开始学习计算机编程时,老师采用的编程语言是 Pascal。这距离我在孩童时期初次接触和摆弄 ST BASIC 已经很多年了。那是在 1998 年,我十七岁。如果碰巧你对 Pascal 还不熟悉的话,以下是一个代码示例:

program HelloWorld;  
begin  
  WriteLn('Hello World')
end.
你既然私信我,那我就勉力一答,说直白点。

你太小看你口中的码农了。就是二本科班出身,经过四年大学游戏性学习,最后加上三个月培训班,2500税前撑死了。基础没学好,仅靠那几个月的培训班课程,码农也当不了,那叫徭役。

你一个零基础土木出身的,不是因为兴趣而是因为it看上去很赚钱就想为了生计而投身,而且做这个决定似乎只花了几天时间,还想在半年内速成找到6000税后的工作,这是华为中兴这一档公司技术类校招的水平(2014)。在北京,你有任何竞争力吗?

不愿意做土木就辞职在家,你还有挑工作的余地,为了买房才想去工作,属于根本不缺钱的状态。你私信我让我给你提建议,看到你的家庭条件我羡慕死了好吗,哪有心情给你提建议。

劝你一句,搞好it,最主要靠的是踏实,不是智商。当然你智力拔群就当我没说,但目测你不是因为打个游戏就能让你英语数学都学不好了。而你,一没学it的兴趣,二没踏实的性格,真的不是在浪费我的时间吗?

最后甩干货:coursera.org/learn/pyth 这个学不下来的话,就别瞎费劲了。 现在去掷骰子 1 2就Java 3 4就PHP 5 6就Python 掷到什么就立马开始学 也别在来问怎么学XX语言 你来来回回看了5天知乎决定学什么语言?我5天早都把Java基本语法看完了开始慢慢刷leetcode了
你要知道 你能不能拿到买得起房子的工作 他至少也要会C++ Python Java PHP Ruby C# Objective-C中的3门吧 至少数据结构学的好吧 何况你不是科班 编译原理 OS还不一定能敢的上科班出身的 有时间在这纠结?要我跟你说UCB的学生大一上Python 大一下就Java写数据结构了么?差距? 学 Python!学 Python!学 Python!
我觉得我应该有资格聊聊这个问题。而且我不会聊关于语言的优劣,而是关于一个人能力和决心的问题。
我本科是商科,在学校没有上过一节关于编程的课,数学到线性代数就没学了,而且我感觉自己这门还学得不算好。
13年毕业后一直到15年底才正式进入互联网公司,全职开始编程。 进入公司半年不到,现在开始自己立项目,负责搭建团队。

毕业前2年,都是在传统行业,工作中没有任何涉及到编程的事情。从13年开始,我自己学了下Python。一开始主要是对政治方面很感兴趣,爬下了中国领导干部资料库所有资料,做了下关于领导人出生年月的统计分析。(PS爬虫项目强烈推荐这个网站,没有任何限制,新手村专用)
后来又自己做了几个小项目,懂得了怎么爬取数据,解析网页,和存到数据库。 凭着这些能力和大学中学得一些统计相关的课程,进入了一家互联网公司做数据挖掘和爬虫相关的工作。

进入公司几个月之后,明显感觉我和一些用Java的同事的不同(不是全部)。 我学得更快,Python我是自己学的,我懂怎么在没有老师的教导下获取信息,达到目的。我做得更主动,公司有些Java同事,往往是被需求赶着的生物,推一步才走一步,有时候还根本推不动。 而我在需求没来之前,自己就去发现需求,自己就去提前满足没被提出来的需求。

(我觉得人如果太被动,就容易进入舒适区,无法更好的学习。主动学得更快。)

后来因为我满足了某些老板很看重的需求,所以让我来建立团队满足这部分更大的需求。然后我招人,照样也只招Python的, 并不是因为我只会Python,这几月里面Java入了门,C#也会了不少。而是用Python的程序员天生和会国内主流语言的程序员不一样。

Python因为在中国市场不旺,所以导致培训机构不热衷开设这部分的班级,而且这门语言在中国大学没有做到像Java,C++那样普及。 所有会Python的程序员都是自学的,会Python本身就证明你有能力独立解决问题,有能力快速的成长。 招进来的人,都能很快的达到预期效果,这是大部分Java程序员做不到的。

(我并不是说全部,一部分Java程序员,可能学习能力更强。不过筛选成本比Python高)

所以你作为Python 程序员,在现在就有了天然的标签,你会学习,你懂学习,你能独立解决问题。这是大部分公司需要的。

有这些标签,为什么要去首先学那些国内的主流语言?(国际上Python也是主流语言)
如果你说是为了更好的找工作,我可以和你说Python在某些方面更有竞争力。

我最近在招Python工程师,基本上是来一个简历我要看一下。(因为太少了) 而我们公司其他项目找的Java工程师,同事说简历根本看不完。

可能你会说我们公司是特例,事实上Python工程师出名的难招。很多公司因此把项目改成了Java。国内很多基于python的网站开始招聘java工程师,原因是什么? - Java
他们不想要会Python的工程师吗? 不,仅仅是太太太太太难招了。

最后再说Python最快入门转行攻略。
学爬虫。
2个星期入门, 6个星期搞清楚爬去,解析,录入数据库的流程,加多个项目。 你就准备好跳吧。
需求?
旺盛到爆。

最后打个广告,深圳地区,长期招聘Python爬虫工程师,征信相关的大数据项目。不看经验,不看背景。 只看做过什么项目。有兴趣的请私信我。 不会批评题主对“程序员”的看法,毕竟隔行如隔山,不知水深是正常的。
我单纯的评论题主的主干问题。有点本末倒置了,不是先选语言去干活,而是选活干,然后用需要的语言。
这三种语言没有难易之分,严格的来说甚至可以说没有可比性,没有一个能完全替代另外两个。题主选一个你觉得名字好听的。
然后赶紧开始吧,25不小了,等你达到这个行业“能干活”的初等水平,普通速度应该是3年(毕竟你数学和英语不好,这两个对程序员都很重要),努力一点2年。那时候二十七八了,也快结婚了吧,结婚的时候初涉新行业,你自己掂量一下,谨慎选择。 随便选一个能坚持下来就好。
但是一般都不好坚持,正常人一般都必须陷入一个“不得不”的情况下才能坚持到底。 有些答案给楼主泼冷水,我并不能认同,作为一个从商科转到cs的人来讲,我也不认为转cs是什么不可能的,我一商科都过去了,你们理工科还不行吗?认为为了生计转cs不合适的,难道大家上大学不是为了生计?

但是我想泼其他方面,比如你大学四年游戏浪费时间。我是否可以大胆猜测,你土木毕业找工作不好真的是因为本专业不好吗?不是因为你自己浪费了大学四年吗?虽然土木可能没有it那么耀眼,但我认识的土木毕业也并不差啊,尤其中国这样急需大量建设的国家,我们认识的一些土木、建筑类的同学并没有混得差啊。。。我爸以前总工,现在总监理,老给我讲公司其实很缺优秀的后继年轻人,优秀公司愿意培养自然也愿意花钱留住你。但很多后继实在不堪重用,甚至某些top名校的都是。。。一看就是大学4年游戏过来。。。所以你原来的专业其实也是很好的。。。

当然如果下定决心搞it也行,但是你需要明白程序员是一种什么状态。我社工的同学放假叫出去玩,我说不去要写作业被别人认作高冷,但cs就是这样的啊,尤其我一转过来的,比别人更努力但不一定能比别人拿更好的成绩,但是只有更努力。。。

我同系的一个同学,以前他女朋友嫌他陪她时间少,后来她也转cs了,结果变成嫌他太烦。。。你现在cs基础为0所以给你说什么技术怎么难学你也没有概念。但是你要明白,学cs非常辛苦,即使不上升到学cs的地步,学一些培训班技术去找工作那也是不轻松。。。

做好早上起来到晚上睡觉,除了吃饭拉翔都写代码的准备,那题主就可以转了。。。

至于具体的话,我觉得php吧,不仅好入门,还没多线程这种高级运用,和html/css/js等混编,适合web开发,而web又需求量大。java看起来好上手,但毕竟编译型,很多高级特性不掌握不能说学会了java,光一个多线程可能就能把非科班难倒。python是好东西,但是需求量有点小,而且很多不是纯应用开发,比如做统计、人工智能。。。

与君共勉。。。 java,比较容易让你明白编程的原理。
要是科班出身,我会建议就应该从cpp开始。
其实语言之间的差异相当小。特别是从低到高,一般自学很快就可以搞定。
如果掌握了计算机组成原理,操作系统,数据结构,离散数学。
那么这些语言几乎都是随便翻翻就拿来用了。
实际工作中有时候抓不到专业的人,场景就是这样的。
你会php(python\c#)不?
不会。
那我这里有段代码,你先拿去看看。照着改改。

然后改吧改吧就给改出来了。 个人觉的还是学强类型语言Java比较好,养成良好的编码习惯,之后学什么都快的
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
PHP와 Python : 다른 패러다임이 설명되었습니다PHP와 Python : 다른 패러다임이 설명되었습니다Apr 18, 2025 am 12:26 AM

PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

PHP와 Python : 그들의 역사에 깊은 다이빙PHP와 Python : 그들의 역사에 깊은 다이빙Apr 18, 2025 am 12:25 AM

PHP는 1994 년에 시작되었으며 Rasmuslerdorf에 의해 개발되었습니다. 원래 웹 사이트 방문자를 추적하는 데 사용되었으며 점차 서버 측 스크립팅 언어로 진화했으며 웹 개발에 널리 사용되었습니다. Python은 1980 년대 후반 Guidovan Rossum에 의해 개발되었으며 1991 년에 처음 출시되었습니다. 코드 가독성과 단순성을 강조하며 과학 컴퓨팅, 데이터 분석 및 기타 분야에 적합합니다.

PHP와 Python 중에서 선택 : 가이드PHP와 Python 중에서 선택 : 가이드Apr 18, 2025 am 12:24 AM

PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

PHP 및 프레임 워크 : 언어 현대화PHP 및 프레임 워크 : 언어 현대화Apr 18, 2025 am 12:14 AM

PHP는 현대화 프로세스에서 많은 웹 사이트 및 응용 프로그램을 지원하고 프레임 워크를 통해 개발 요구에 적응하기 때문에 여전히 중요합니다. 1.PHP7은 성능을 향상시키고 새로운 기능을 소개합니다. 2. Laravel, Symfony 및 Codeigniter와 같은 현대 프레임 워크는 개발을 단순화하고 코드 품질을 향상시킵니다. 3. 성능 최적화 및 모범 사례는 응용 프로그램 효율성을 더욱 향상시킵니다.

PHP의 영향 : 웹 개발 및 그 이상PHP의 영향 : 웹 개발 및 그 이상Apr 18, 2025 am 12:10 AM

phphassignificallyimpactedwebdevelopmentandextendsbeyondit

스칼라 유형, 반환 유형, 노조 유형 및 무효 유형을 포함한 PHP 유형의 힌트 작업은 어떻게 작동합니까?스칼라 유형, 반환 유형, 노조 유형 및 무효 유형을 포함한 PHP 유형의 힌트 작업은 어떻게 작동합니까?Apr 17, 2025 am 12:25 AM

PHP 유형은 코드 품질과 가독성을 향상시키기위한 프롬프트입니다. 1) 스칼라 유형 팁 : PHP7.0이므로 int, float 등과 같은 기능 매개 변수에 기본 데이터 유형을 지정할 수 있습니다. 2) 반환 유형 프롬프트 : 기능 반환 값 유형의 일관성을 확인하십시오. 3) Union 유형 프롬프트 : PHP8.0이므로 기능 매개 변수 또는 반환 값에 여러 유형을 지정할 수 있습니다. 4) Nullable 유형 프롬프트 : NULL 값을 포함하고 널 값을 반환 할 수있는 기능을 포함 할 수 있습니다.

PHP는 객체 클로닝 (클론 키워드) 및 __clone 마법 방법을 어떻게 처리합니까?PHP는 객체 클로닝 (클론 키워드) 및 __clone 마법 방법을 어떻게 처리합니까?Apr 17, 2025 am 12:24 AM

PHP에서는 클론 키워드를 사용하여 객체 사본을 만들고 \ _ \ _ Clone Magic 메소드를 통해 클로닝 동작을 사용자 정의하십시오. 1. 복제 키워드를 사용하여 얕은 사본을 만들어 객체의 속성을 복제하지만 객체의 속성은 아닙니다. 2. \ _ \ _ 클론 방법은 얕은 복사 문제를 피하기 위해 중첩 된 물체를 깊이 복사 할 수 있습니다. 3. 복제의 순환 참조 및 성능 문제를 피하고 클로닝 작업을 최적화하여 효율성을 향상시키기 위해주의를 기울이십시오.

PHP vs. Python : 사용 사례 및 응용 프로그램PHP vs. Python : 사용 사례 및 응용 프로그램Apr 17, 2025 am 12:23 AM

PHP는 웹 개발 및 컨텐츠 관리 시스템에 적합하며 Python은 데이터 과학, 기계 학습 및 자동화 스크립트에 적합합니다. 1.PHP는 빠르고 확장 가능한 웹 사이트 및 응용 프로그램을 구축하는 데 잘 작동하며 WordPress와 같은 CMS에서 일반적으로 사용됩니다. 2. Python은 Numpy 및 Tensorflow와 같은 풍부한 라이브러리를 통해 데이터 과학 및 기계 학습 분야에서 뛰어난 공연을했습니다.

See all articles

핫 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는