到底该学习什么编程语言

我到底该学习什么编程语言?

相信几乎所有的开发人员,都会有这样的感慨,我到底应该学习哪一门编程语言,我应该选择什么样的技术,这很正常,包括我自己,经常会出这样的疑问,那么作为一个过来人,我来谈谈我的看法

到底该学习什么编程语言

个人经历

我从大一开始接触编程,到现在为止已经很多年了,学习过的编程语言或者技术包括

  • C语言
  • C++
  • JAVA
  • C#
  • 汇编
  • GO
  • PHP
  • Android
  • React
  • Vue
  • Angularjs
  • Python
  • Laravel
  • ThinkPHP
  • ZendFramework
  • linux程序设计
  • 网络编程
  • 3d游戏引擎
  • Javascript
  • HTML
  • Spring
  • 还有其它的,想不起来了。。。。。

总的来说,学的东西,还是蛮多的,绝大部分的技术,我都深入钻研过,也花费了不少的时间,但是现在仔细想来,有的真的不值得,幸亏后来浪子回头。

到底该学习什么编程语言

早期学习

早期学习编程的时候,我和大家的感觉都是一样的,看到什么新鲜的东西,都想插一脚,当时也是这么做的,然后这个学一下那个学一下,但是学到最后,感觉还是很空虚,还是没学到啥,很多东西还是不懂,因为你停留在了语言的层面,而没有深入到某一个语言或者是工具的本质,你的计算机基础知识还不够,你缺乏基本功,所以很难看透问题的本质。

提升编程素养

今年前段时间,我去面试其他人,大部分时间我都不问招聘岗位的问题,我会问一些基础的编程问题,比如:你可以写出一个链表吗?假如说这个都不会,那就没有问下去的必要了。如果他回答了这些基本的问题,我会问他,看过一些书籍么?看过哪些书籍,从他看的书籍,我就可以看出来,面试人的基本现状。我不要求你需要会岗位的某些技能,但是你的编程素养告诉我,你是不是具备快速学习的能力。优秀的开发人员,可以在短时间(一周或者几天)上手一门编程,或者是掌握某个东西的精髓,这不是在开玩笑。

不管你学习哪一门编程,你的眼光应该不限于当前领域,比如说,我和我同事聊天的时候,我说每一个编程人员,都应该学习数据结构,基本的算法知识,今年面试前端的时候,我基本都会提到一个基本的问题,怎么来遍历页面上的dom,很可惜,没一个人能给我答案。
当看到别人简历上面出现React的时候,我会提出一个问题,React的setState方法为什么不会立即起作用,你别说,很神奇,面试的人答案只有一个:性能优化,不知道是哪个讲师告诉你的,真的是误人子弟。算法不是那么高深的问题,它应该渗透到我们写的每一个程序中,它不是某个具体的东西,而是一种抽象思维(在这之前,你首先需要学习具体的基本数据结构,列表,栈,二叉树等等)。

我总是推荐别人学习C语言,有人可能会说,我又用不到,学它干啥。这句话没错,你确实没用到,但是你知道嘛?你用的软件,包括但不限于Linux,Redis,Nginx等等都使用C写的,为什么要用它呢,因为它的效率,你可以完全掌控你的程序,超乎你想象,你有完全的内存控制权,你自己负责垃圾回收,总之你自己就是程序的上帝,但是这也赋予了你更多的责任,你有义务了解更多的编程知识,计算机知识,这样你的程序才能更好的运行,最重要的是它会培养你一种程序思维,学会站在计算机的角度思考问题,举个例子:
为什么JAVA的String 初始化了之后,不能变的更长,如果你学习了C语言,你可以很轻松的回答这个问题,这是内存分配的问题,真正的程序员,不是你可以做什么,而是,也许我可以搞个东西,比这个更好

到底该学习什么编程语言

上班很累,但是要狠

不管你是刚出校门,还是毕业多年的老油条,上班没有不累的,大家都很累,自己没有时间学习。对于这个问题,我只能说,你真的是因为忙没时间?你每天抽不出1个小时看看书?你每天耍手机的时间加在一起,你想过有多少时间?中午休息的时候,也可以看哈文档,博文啥的,看看别人的经验分享,都可以,真正技术好的,不是因为他真的很聪明,你看他12点之后还在干嘛?多年前,我学习Android的时候,有个Android大神,叫做罗升阳,他写了很多高质量的博客,此人是晚上熬出来的啊(这哥们儿,写了一本Android的书,很可惜,销量很差,最后这哥们儿把博客给停更了,再也不写博客了,因为太痛心了,熬夜给大家写博客,却没有换来丁点儿的回报,因为别人都不买他的书,看他的博客去了(白嫖),这件事给我影响深刻,然后我又去淘宝京东上面搜索了其它的一些关于android的书籍,销量贼高,但是我看了一下目录,质量啊,真的真的令人苦笑不已)

当初我学习linux编程的时候,也是每次都搞到凌晨,那么厚的书,想想都觉得可怕,你不对自己狠点儿,又想学到东西,怎么可能啊。

到底该学习什么编程语言

多实践

实践才是检验真理的唯一标准啊,光看或者是听,起不到多大的作用的,不要总把手插在裤兜儿里面(装酷的时候,我支持),在写这一篇博客之前,我也写了几篇博客,每一篇我都写了例子,但是又有多少,看一遍就算了,多少人下载下来亲自运行下,就不得而知了,这不是一种学习的态度,勤加练习才是王道,你觉得你是天才吗?天才也不是这么玩的啊。

到底该学习什么编程语言

如何学习一门编程语言

编程语言种类繁多,你不需要学习那么多,但是你一定要知道如何学习一门编程语言,要有一定的学习目标,下面举个例子:

  1. 如何定义变量
  2. 如何定义函数
  3. 如何定义类
  4. 如何实现继承
  5. 如何实现多态
  6. 如何定义和操作字符串
  7. 是否支持闭包
  8. 如何调用父类的函数
  9. 是否支持默认参数
  10. 参数的引用,值传递
  11. 如何实现代码模块化
  12. 如何导入第三方代码
  13. 三元表达式
  14. 当前语言提供了哪些功能
  15. 当前语言有些流行框架和工具
  16. 变量的作用域,是否支持全局变量

上面只是给大家举个例子,学一门编程语言的时候,一定要有目标,不能到处撞,开始学习一门语言的时候,你不需要学习比较高级的语言特性,因为暂时你还用不到,这些东西只会给你增加烦恼,在学习完这些基本的语言知识外,你可以写一些代码了,做做项目。

如果你是一个编程老手,这面的这个过程,它一天的时间就搞定了,这一点都不夸张,当初为了学习Unity3d(后来没学了),我学习C#的时候,我真的觉得基本的知识,就只需要一天,没有必要浪费那么多时间,项目搞起来。

到底该学习什么编程语言

回归正途

上面罗里吧嗦了一大推,我到底该学习什么编程语言?如果你认认真真的看了我上面说的,我想问你一个问题,你是否真的学好了自己领域的东西,如果你真的学好了,那么你也不需要考虑这个问题,因为,只要你想,你认认真真的学习一个月,可以抵得上一般的人几年的工作经验,你可能觉得很夸张,但是不然,你的基础在那里,上面都是我的真心话,每个人都有自己的选择,希望你能够有所收获,祝您周末愉快。

到底该学习什么编程语言

本作品采用《CC 协议》,转载必须注明作者和本文链接
微信:okayGoHome
本帖由系统于 4年前 自动加精
Dennis_Ritchie
讨论数量: 22
lmaster

其他的,不太清楚,但是感觉我学的很多语言的非常像。

一开始先学 php ,后来学过点 C , java 、C# 、C++ 。

发现 C 是真的牛,也真的是基础。

4年前 评论

那为什么大佬现在专注PHP开发,而不是Java或者C? :smile:

4年前 评论

受教了,我要回去死磕c了

4年前 评论
pork 3年前
剑尘 3年前

赞一个,是那么个理

4年前 评论

感觉就没停止过学习。现在因为 ant design pro 后台漂亮,开始学 react 了。

4年前 评论

写得很淳朴,说出了心声。

4年前 评论

对我很有启发,想学C语言、算法、计算机组成等基础,觉得基础好了,很多东西,拿起文档就可以直接开始撸。

4年前 评论

emm...,我学的是网络构建,后面找工作,Linux 严格,入了 Windows,工作中 为了效率用了 Bat 批处理、VBS、注册表、按键精灵等等搞了一堆,

后面学了 Python 不好找,找了 PHP

再后面去了深圳有做过一个月 Canvas,自己下班学了 React

回来之后用了 Laravel,学了 Vue,

最后使用 Laravel + React + Material-UI,工作是 TP 5,APICloud + Vue

算是勉勉强强会点网络知识,架设服务器和应用,前后端全栈搞点小玩意儿。

C 是基础,算法也是基础,还有 PHP、Laravel 底层,要学的还有很多。。。

以上。

4年前 评论

加油,好好熬夜,我要看(白嫖)你的博客。

4年前 评论

大佬前辈,对于我个人而言,我感觉你这贴说了跟没说一样。
如果你能,把你学过的那些语言的特点总结出来,及他们更适合应用在什么类型的项目上,或者你目前工作用的是哪几种语言,为什么选择这几种语言。如此,便会给大家一个更清晰的方向。虽然,你不说,大家也心中有数。但很想知道,为什么是 Laravel?以后还会是 Laravel 吗? 你学过 GO ,我听说 GO 具备了 C 的性能 和比 JAVA 更优秀的单线程 ,感觉很不错。 可为什么你没有选择?你有用GO写过项目吗?

个人认为,选择学习某种语言,大多因为工作所需,环境所逼,个人际遇。而后,才是自学成长,深入研究,撑权扭转乾坤。
我相信,谁也不愿意最后才知道自己是开着拖拉机,去跟法拉利赛跑的,除非他跑不动了。

抱歉,我说上面那些,其实是想向你请教一个问题:如果写一个社区与商城为一体的网站,你是选择你熟悉的语言,还是选择适合此类网站的语言。如果是选择适合此类网站的语言,你会选择那种?

4年前 评论
小李世界 3年前
Dennis_Ritchie (楼主) 4年前
bing_ (作者) 4年前
bing_ (作者) 3年前
chihokyo

关于碎片化学习还有熬夜写博客提一下不同的意见哈。望见谅。

确实谁都能抽出来每天1小时学习,我也经常利用碎片化时间学习。
每天大概有2个小时都在了解一下新的IT动向和学习一些所谓的小技巧,但是我发现碎片化的学习不一定能带来你实际工作上或者是编程素养上的进步。
因为这个真的有个人差异的,大部分都是一般的编程者,不是人人都是大神吧,学习效率上有很大的不同,不一定大家都能真正学到东西。
我很赞同那种一天进步一点点的道理,不积硅步无以至千里,但我觉得很多编程和技巧真的容易快速遗忘,如果不是实际运用碎片化的时间可能对大多数人提升不大。碎片化时间学习不如抽出一段时间来专注于一项技术的学习和总结来的深刻,这是我的感受哈。

另外,如果是自己选择或者兴趣使然熬夜写博客,我很尊敬这种燃烧生命来奉献的人。

但真的个体差异熬夜对身体还是不好的吧。劳逸结合最好。

以上就是我想说的2点,不一定对,但也是提供了另一种观点。

4年前 评论
threecloud 1年前

关于熬夜的问题,我觉得与其熬夜,为何不四五点起来呢

3年前 评论
不正 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!