计算机编程语言学习要点

简介: 计算机编程语言学习要点

前言


“我告诉你一个秘诀,一下子学会所有编程语言”——《半小时漫画计算机》


正文


第一个是面向对象


比如说封装、继承、多态、Prototype、Mixin、Traits、Duck Typing 等。这些概念每个语言都一样,只是在语法层面有所区别。

附上程序世界的一则笑话:

面试官:“你知道什么是对象吗”

程序员:“知道!但是我工作努力,上进心墙,暂时还没有打算找对象!”

面试官:“既然这样,那你知道什么是类吗?”

程序员:“我这人实在,工作努力,不知道什么叫累!”

面试官:“那知道什么是继承吗?”

程序员:“知道!但是我一分钱都没继承下来,我要努力工作,为自己,为公司创造价值!”


第二个是函数式编程


你得搞明白高阶函数、闭包、惰性求值、递归、不可变状态、无副作用这些概念。


第三个是元编程


Java 的动态代理,CgLib 这些工具初步具备了元编程的能力,可以在运行时创建新的类;而 Ruby、Python 的开放性让它们的元编程更强一些,但是想要真正地理解元编程,还得去看 Lisp 宏。尤其是,你要感受到代码即数据的强大力量!


第四个是并发模型


Java 主要是对线程做支持,你还要学习其他并发模型,比如:Python 有协程,Go 有 Goroutine,Erlang 采用的是 Actor。在这些并发模型中,还得考虑同步与互斥、锁、死锁、软件事务内存等技术。


第五个是虚拟机和垃圾回收


现在很多变成语言都是通过虚拟机来执行的,理解了虚拟机的实现,就能非常透彻地理解编程语言。为了解放程序员,垃圾回收几乎成为编程语言的标配,你一定得了解!而 JVM 垃圾回收是个集大成者,可以它为突破口。


第六个是静态类型、动态类型和类型推导


静态类型的语言在编译器就能确定类型,编译器能帮忙发现错误,做些优化,但是会增加代码量;动态类型是在运行期确定类型,非常灵活,但是在运行期间才能发现错误。所谓“动态一时爽,重构‘火葬场’”。而类型推导在 Java10 就引入了。



几乎所有的主流编程语言,都要转换成 AST 这么一个形式。有些语言还可以对 AST 做一些操作。


第八个是指针


指针是 C 语言的精华,虽然现在的 Java、Python、Ruby 等编程语言已经把指针干掉了,但理解指针对你理解计算机的底层运作大有好处。


尾声


编程语言之后是相互借鉴的,你把这些基本的概念学会了,将来出现了新的语言,你也没什么担心的,除非计算机不是冯·诺依曼计算机了。

目录
相关文章
|
安全 前端开发 数据安全/隐私保护
【教程】移动应用安全加固技术解析
【教程】移动应用安全加固技术解析
|
7月前
|
JSON 关系型数据库 MySQL
MySQL5.X和8.0有什么区别?
MySQL 8.0 相比 5.7 性能提升显著,支持 NoSQL、窗口函数、CTE、降序索引与隐藏索引,增强 JSON 处理,取消查询缓存以优化性能,默认使用 utf8mb4 编码,提升安全性、可靠性与高可用性,全面支持 ACID 事务和原子 DDL 操作。
442 5
|
8月前
|
CDN
阿里云CDN计费价格如何收费的?一文看懂
阿里云CDN计费包含基础费用与增值服务。基础费用可选按流量、带宽峰值或月结95带宽计费,默认按流量计费;增值服务如HTTPS、QUIC、WAF、实时日志等按使用量收费,不使用不计费。支持资源包抵扣,详情参考官方文档。
841 10
|
10月前
|
机器学习/深度学习 运维 分布式计算
人脸动态识别与管理系统:智能安防技术
本系统采用前沿算法与架构设计,具备精准识别、极速响应与稳定运行特性,专为高密度人流场景打造。支持超大规模人脸管理。
462 31
人脸动态识别与管理系统:智能安防技术
|
8月前
|
人工智能 JSON 前端开发
实战教程:构建能交互网页的 AI 助手——基于 Playwright MCP 的完整项目
本项目构建一个智能网页操作助手,结合AI与Playwright实现自然语言驱动的网页自动化。支持登录、填表、数据提取等复杂操作,采用Node.js + React全栈架构,集成Anthropic Claude模型,打造高效、可扩展的自动化解决方案。
|
11月前
|
存储 安全 数据库
抖音封号能注销吗?请问
一、封号与注销的底层逻辑关系 账号状态机模型
|
人工智能 数据中心
使用光模块Breakout功能减少AI训练中断故障
本文介绍了使用大成鹏通信光模块Breakout功能可以减少AI训练中断故障的问题。通过Breakout功能,单通道故障不会中断其他通道的数据转发,有效解决了传统光模块因单通道故障导致的训练中断问题。同时,还介绍了如何利用Breakout功能进行更灵活的AI基础网络组网。
508 0
|
SQL 分布式计算 数据挖掘
阿里云MaxCompute携手华大基因打造精准医疗应用云平台,十万基因组计算成本降低至1000美金以内
华大基因是中国最领先的基因科技公司,华大基因为消除人类病痛、经济危机、国家灾难、濒危动物保护、缩小贫富差距等方面提供分子遗传层面的技术支持。让我们结合maxcompute的技术特点,看看如何助力华大基因。
2935 13
|
人工智能 算法 新能源
TRIZ专利策略:快速技术创新,并实现高质量专利突破
在当今竞争激烈的市场中,高质量发明专利是企业核心竞争力的关键。TRIZ(发明问题解决理论)作为一种系统化的创新方法,通过分析问题本质、解决矛盾与冲突,为企业提供高效的专利突破路径。本文介绍了TRIZ的核心理念、特点及其在智能手机、新能源汽车、医疗器械等行业的成功应用案例,同时阐述了运用TRIZ实现高质量专利突破的具体步骤。无论企业追求技术领先还是规避侵权风险,TRIZ都能助力制定更优的专利策略。联系法思诺获取更多创新咨询与培训服务。
555 0
|
人工智能 运维 JavaScript
通义灵码 SWE-GPT:从 静态代码建模 迈向 软件开发过程长链推理
在本文中,作者介绍了 Lingma SWE-GPT,一款专为解决复杂软件改进任务设计的开源大型语言模型系列。
940 30