学了十几种编程语言后,我有哪些感悟?
写代码这几年,我接触过不少语言:Java、Python、JavaScript、Go、C、SQL……
今天聊聊我的一些感悟。
语言是工具
编程语言只是工具,用来解决问题的工具。
就像你可以用锤子钉钉子,也可以用螺丝刀拧螺丝。不同的工具适合不同的场景。
Java适合做企业级开发,Python适合做数据分析,JavaScript适合做前端……
没有最好的语言,只有最适合的语言。
语言之间是相通的
学会一门语言之后,学第二门会快很多。
因为编程的核心概念是相通的:变量、条件、循环、函数、面向对象……
这些概念在每种语言里都有,只是写法不一样。
所以不用担心"我学Java会不会以后转不了其他语言",能转,很容易。
先精一门,再学其他
虽然语言相通,但我建议先把一门语言学精。
如果你每种语言都只会皮毛,那其实什么都不会。
把一门语言学到能熟练使用、能解决实际问题的程度,再考虑学其他语言。
语言只是表面
真正重要的不是语言语法,而是:
算法和数据结构
用任何语言都要用到。
设计模式
怎么组织代码,让代码更好维护。
系统设计
怎么设计一个系统,让它能承受高并发、易扩展。
领域知识
你做的业务领域的知识。
这些东西比语言重要多了。语言可以换,这些能力是通用的。
我现在的状态
主力语言是Java,因为工作需要。
Python会一点,写脚本、处理数据的时候用。
JavaScript会一点,需要做前端的时候能看懂、能改。
Go最近在学,因为想了解一下。
其他语言,需要的时候再学。
给初学者的建议
1. 不要纠结第一门语言
选哪个都行,学编程的目的是学会编程思维,不是学会某种语言。
2. 先把一门学精
不要今天Java明天Python,最后什么都不会。
3. 有基础之后可以尝试其他语言
有了一门语言的基础,学其他语言会很快。
4. 根据需要学习
不要为了学而学。工作需要什么就学什么,做项目需要什么就学什么。
最后
语言只是工具,不要太执着于某一种语言。
关键是提升自己解决问题的能力,这个能力是不受语言限制的。
