先学python还是c-14岁,应先学Python还是C语言?

推荐稳扎稳打路线

毕竟年轻,等工作的时候可就没时间这么自由了。大学再开始学都算晚的,很多底子薄的就很难有所建树了。

step. 1

学一门语言。其实学什么语言都可以,我不推荐只学一门学到头。语言都是互通的,C 也好,Java 也罢,甚至有人推荐 Python 给初学者也是可以的。但我想说清楚一个误区,就是编程语言和编程的区别,可以看我另一个回答,究竟是深入学习 Java 再学其他语言好还是应该同时学习好??www.zhihu.comzhihu-card-default.svg

下面是部分引用:很多人学习语言都忽略了一个本质问题,就是语言是可以被拆开的!!!

「语言 = 文字 + 语法」

或者,更抽象一点:

「语言 = 躯干 + 灵魂」

你想想啊。为什么你学了英语再去学法语会感觉学起来轻松很多?肯定是有「通性」的啊。来,看看这段代码:

int main(int a){

return a;

}

你告诉我这是啥语言?Java?C?重要吗?不重要!

很多语言「躯干」都很类似,上面举例的是 C 系列语言,Java、Python、C、C++、C#、Swift、Kotlin 等等都是类 C 语言。这样的例子我还可以举 100 个,你说我是不是会 100 种语言?

那么我们回归本质,什么是一门语言的灵魂?

看过《超体》吧,里面有一个片段是主角大脑开发率达到了 100%,此时身体已经消失了,到了意识与时空同在,处处皆有我的地步。这个例子很极端啊,我想说的意思是:语言这玩意儿学到了头其实已经没有语言了。你想想啊。大神讨论需求问题的时候会说:xx,你写个方法叫 yy,传个参数进去然后 balabala...... 你不觉得很菜的对话吗?正确姿势应该是:xx,这个支付接口就你写吧,我传个付款信息给你,然后你 balabala......

我们直面问题的时候如果不是那么容易分析,那我们就侧面解析。「什么是语言的灵魂」相当于「语言的灵魂是什么」相当于「学语言最终会学到什么」(如果问题最终是这样的那就太好了)。

我先根据个人经验列一下我接触 Java 以来学到的东西吧,题主参考参考。

Java 语言各种基础,变着花样地玩,创建对象都得 n 个姿势展开

Spring 全家桶,这是 Java EE 行家必备框架,犹如练得小乘佛法,方能开始西天取经去求那观世音菩萨大罗神仙手里的大乘佛法

第三方接口,这个我得单独提出来,接第三方服务基本都走 HTTP 协议,HTTP 你得知道是个啥吧?融云的 API 都要时间戳加密,加密算法得写吧?传数据一般都用 json 或者 xml,这是个啥你得知道吧?等等等等,你看,你学的东西是不是就丰富起来了?

接口编写,搞 Java 一般都是后端,写个接口给前端用得顺手拈来吧。那什么是 RESTful 得知道吧?HTTP 的 9 个请求方法得明白吧?人家前端文件传来传去传不上来你得 debug 吧?对每个 API 进行加密你得懂「切面」吧?用户访问自己的资源你得验证用户信息那 session 机制你得搞一个吧?

多机问题,很多东西单台服务器搞不定得多台跑,分布式架构你得设计设计吧?那服务器之间通信你得解决吧?数据库读写分离你得弄弄吧?更高级的权限控制问题你得琢磨琢磨吧?

等等等等,我就不多举例了。

什么是灵魂,你知道了吗?

是的,你发现除了 JavaSE 那些东西,很多玩意在其他语言下也都用到过。Java 下常用的框架 SpringMVC 在 Python 中也有 Django 与他基本完美一致。你最后会发现你在 Java 世界里学到的一些设计模式在别的语言里面有了新的解法,你会发现在 Java 里学到的切面编程在别的语言里面也会用到,你会发现在 Java 里学到的 HTTP 知识其他语言也这么玩的,不止 HTTP,还有 JSON、XML、单点登录、用户权限控制......

直到有一天,自己写着 Java 代码,突然来了一句:

var text = "emmmmmm...";

才发现自己不小心写成了 JavaScript。这个时候,你才会发现,其实语言的躯干如何根本不重要,因为你的大脑一直都只在乎灵魂啊。灵魂啊。灵魂啊。 专注自己的写作,而不是那支笔。

所以选择什么语言开始是其次的,选择什么语言陪伴终身才是一个重要的话题。个人推荐友好语言路线是:Python -> C/C++ -> Java -> JavaScript -> Kotlin/Swift/Go

没啥理由,易学。

step. 2

学一些算法。你这个年龄要是对计算机真的感兴趣(题外话:我当时学 Java 的时候也和你一个年纪,为了写安卓才学的 Java,所以学什么不是看自己要什么嘛?)就应该参加一下五学科竞赛,物理数学暂且不论,计算机得玩玩才行。NOI/NOIP 得琢磨琢磨才能满足自己的好奇心。搞两年,拿个好点的牌还是可以的。

推荐什么书的话还是老套路:《算法导论》

没其他的推荐书籍了,这本书够从初中啃到大学。吃透一本是关键,如果像接触一下其余的书开开眼界,倒是什么书都可以。不过我建议是以这本书为核心走,其余书为辅助。

step. 3

做一做项目。每次都写一个 main 方法,然后几个函数/方法搞定一丢丢算法不觉得有点小自满却少了点什么吗?做一做项目吧。等你语言基础过了,有点感觉了,就去做项目练手。我高中的时候就是拿 Android 的一个项目走的奖,高考时自招还是有点用的。随意什么点子都行,如果语言基础不牢,做了项目之后就会感觉:我对 xx 语言理解深入了好多 balabala 的。

其实很多人都是在不断的项目中成长的,单纯学语言真的学不会的。就好像很多人必须要在英语环境中才能学会英语一样,单纯背语法真的会让自己变蠢。

setp. 4

逛社区、论坛等知名平台。其实这步应该和 step. 3 一起操作。百度贴吧我不推荐了,毕竟风气不好,很多民科容易误导初学者。国内的话 bilibili 其实是个视频资源不错的地方,CSDN 虽然内容「冗余」(滑稽脸)过高,但还是一个相对不错的地方,知乎和简书的专栏也是值得去逛一逛的。也有很多个人博客可以浏览,比如 阮一峰 这样的老牌大牛。

如果学习那就必然有至少两种方式,一个是需求性学习,一个是系统性学习。需求性就是想学什么就去学,系统性就是一点点知识点一个不漏踩完地学。这些平台基本都是提供了两种方式的内容,比如知乎有人开的专栏专门讲「SpringBoot 的开发从入门到精通」(莫名想笑,又是一个从入门到精通,大家不要在意,这里随便取个名字而已)就是比较偏向系统性学习的方式,比如我自己随意写一篇 CAS 单点登录的文章就算是需求性的方式。

系统性学习相对枯燥和漫无目的,没有一个不错的环境的话,很少有人能坚持下来。但我还是推荐一些视频资源的站点吧:coursera、youtube、网易云课堂都是可以选择的方案。

setp. 5

你还年轻,刚好赶上这个时代。其实第五步是什么已经不重要了,走完前面的路你就算进了这一行,接下来该何去何从自己到时候心里也应该有数。这里我只想说一些题外话:

曾经屠龙的少年长大后却成了恶龙。曾经有很多意气风发的年轻人,他们都是一个个才俊,想着去打败当时占领世界的恶龙,可随着时间岁月的洗礼,他们虽然成功了,但大部分也都成了恶龙。

技术是无罪的,但正如刀剑无眼一样。

勿作恶,虔诚善行。

以上,愿你有一个美好少年。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个问题有不同的答案,具体取决于您的学习目的和兴趣。 如果您的目标是成为一名程序员或软件工程师,那么学习 Python 通常会更加实用。Python 是一种通用编程语言,应用广泛,特别是在数据分析、人工智能和科学计算方面。此外,Python 也是一种易于学习和使用的语言,因此适合初学者入门。 然而,如果您的兴趣更倾向于计算机科学的理论和概念,或者您希望学习更深入的编程知识,那么学习 C 语言可能更为适合。C 语言是一种底层语言,通常被用于系统级编程和嵌入式系统开发等领域。学习 C 语言可以帮助您深入了解计算机的底层机制和运作方式。 综上所述,选择学习哪种语言应该根据您的兴趣和目标来确定。如果您希望快速上手并实现一些实际的编程任务,那么学习 Python 是个不错的选择;如果您想更深入地理解计算机科学,那么学习 C 语言也会非常有益。 ### 回答2: 学习编程语言的选择要根据个人需求和兴趣来决定。如果你是初学者,并且希望快速掌握编程概念和基础知识,那么我建议先学Python语言。 Python语言以其简单易学的特点而闻名,语法相对简洁,易于理解和阅读。它被广泛用于科学计算、数据分析、人工智能等领域。Python还有丰富的第三方库和框架,使开发变得更加高效。学习Python不仅可以快速入门编程,还能够将抽象的编程概念应用于实际项目中。 另一方面,如果你对底层编程和系统级开发更感兴趣,或者计划进入嵌入式系统、网络安全、操作系统等领域,那么学习C语言可能更适合你。C语言是一种低级别的编程语言,其重点是对内存和硬件的控制。虽然C语言的学习曲线较陡峭,但它可以提供更深入的编程理解和技能。 总而言之,学习编程语言应该根据个人兴趣、学习目标和职业规划来决定。如果你希望快速入门,并且对数据分析、机器学习等领域感兴趣,那么开始学习Python是一个不错的选择。如果你对系统级编程和底层开发感兴趣,或者希望掌握更深入的编程知识,那么学习C语言可能更适合你。无论你选择学习哪种语言,掌握编程基础和思维方式是最重要的,这将使你在学习和实践中更有自信和能力。 ### 回答3: 关于先学C语言还是先学Python语言的问题,我个人的观点是应该先学Python语言。 首先,Python语言相对于C语言来说更加易学易懂。Python采用的是一种高级编程语言,具有简洁、清晰的语法结构和丰富的内置函数,使得编写代码更加简单直观。相比之下,C语言更加底层,需要掌握更多的语法规则和底层概念,学习曲线较为陡峭。 其次,Python语言具有更广泛的应用领域。Python在数据科学、人工智能、网络编程等领域拥有广泛的应用,并且Python的库和框架较为完善,提供了丰富的工具和函数,能够快速实现各种功能。而C语言主要用于系统开发、嵌入式编程等领域,应用范围较为有限。 另外,Python语言的代码可读性较高,更加适合初学者进行学习和开发。Python语言具有简洁明了的语法结构和自然语言类似的表达方式,使得代码更易于理解和维护。这对于初学者来说非常重要,有助于他们培养良好的编码习惯和思维方式。 综上所述,无论是从学习难度、应用领域还是代码可读性来看,我建议初学者先学Python语言。通过掌握Python的基本语法和常用库,可以更好地理解编程的基本思想和方法,为进一步学习其他编程语言打下坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值