当我开始学习如何编程时,我希望他们告诉我
当我开始学习如何编程时,我希望他们告诉我
Mr. Kosal | shutterstock.com
学习编码可能非常具有挑战性,尤其是当您是自学成才的程序员时。让我给你一个例子。 “Jake 是一个热爱编程的年轻爱好者。有一天他醒来,打开他的笔记本电脑,在谷歌上随意搜索了一些——如何从事编程职业,如何自学从基础到高级的代码,等等。”你可以想象人们对这些问题的不同想法。如果您和 Jake 一样想从事编程事业,请坐下来喝杯咖啡,让我带您完成这段旅程。
在你开始学习任何编程语言之前,请确保你知道你想利用你的编程技能的领域。有很多编程领域,但我会解释最常见的。
编程领域
- 网络编程 — Web 编程是应用编程技能来开发、扩展和维护基于 Web 的应用程序。该领域常用的语言包括 HTML、CSS、PHP、Ruby、JavaScript、Python、Java、Golang。我的首选是 HTML、CSS、JavaScript 和 Golang。
- 移动编程(Android、ios) — 移动编程是开发在安卓和 ios 等手机操作系统上运行的原生(移动)应用程序。该领域使用的编程语言示例包括 Java、Swift、Kotlin、Flutter、JavaScript(React Native)。我的首选是 Swift、Kotlin 和 Flutter
- 系统编程(操作系统、设备驱动程序) — 系统编程是开发能够与硬件有效通信的操作系统和设备驱动程序。该领域通常使用低级编程语言。例如 C、C++、Rust、Fortran、Cobol。我的首选是 Rust 和 C++
- 人工智能 (AI) — 人工智能是机器,尤其是计算机系统对人类智能过程的模拟。人工智能的子集是机器学习、专家系统、自然语言处理、语音识别、计算机视觉。该领域广泛使用的语言包括 Python、R、C、C++、Java。我的首选是 Python 和 C++
- 云计算 — 云计算是从应用程序到存储和处理能力的按需计算服务的交付,通常是通过互联网并在即用即付的基础上。 Dropbox、谷歌、微软、亚马逊和许多其他公司都提供云计算服务。 Python、Java、JavaScript、Ruby、Golang、C++ 是云工程师使用的一些编程语言。
接下来是什么?
当您选择了一个您想利用您的技能的领域时,开始学习该领域的底层架构。当我说底层架构时,我的意思是对该领域的高级理解。例如,假设您决定进入分布式计算领域。你应该开始学习分布式计算中的基本概念,如软件架构(单体、微服务等)、工具(日志聚合、分布式跟踪、容器、Kubernetes、流等)、内聚、耦合、负载平衡、缓存、事件- 驱动架构、领域驱动设计、持续集成、持续交付、分布式队列、弹性搜索等。
笔记: 在选择要学习的编程语言之前,请确保您学习了所选领域的基本概念,因为编程语言是可以帮助您解决该领域问题的工具。尽管这不是一个硬性规则,因为您可以同时学习概念并使用任何语言实现。
在你的学习路径中你应该做什么和不应该做什么
- 确保您选择在您感兴趣的领域学习一门拥有庞大社区的编程语言,以便您可以提出您应该提出的任何问题,以防您在学习时遇到代码中的困难、错误和错误。
- 学习您选择学习的任何编程语言的基础知识。
- 如果您还没有超过初学者的水平并使用该语言构建个人项目,请不要跳入学习编程语言的库或框架。
- 通过构建项目来学习。最好的学习方法之一是应用你的新知识和技能来构建东西。
- 学习基本的数据结构和算法技能。 (数组、链表、哈希图、树、图、搜索算法、排序算法、图算法)。您很可能会将这些技能应用于解决编程中的技术问题。
- 通过阅读其他优秀程序员的代码来学习。 GitHub上有很多由优秀程序员编写的开源项目。
- 学习版本控制系统——Git
最后说明
在您构建项目之前不要跳入学习另一种编程语言,并巩固您当前编程语言的技能。原因是,编程语言只是解决技术问题的工具。一旦您对当前的语言感到满意,您就可以开始学习新的语言。我敢打赌,你将在下一门语言中学到的只是语法;因为,使用您的第一语言,您将学习每种编程语言的基本概念,例如控制流、变量、数据类型、逻辑操作、函数和方法、面向对象编程 (OOP) 等。一旦您在第一次学习了所有这些概念编程语言并掌握了它们,您将在下一门语言中学习的只是语法。
祝你在成为一名伟大的软件工程师的职业生涯中取得最好的成绩!
资源
书籍—— 清洁代码 , 破解编码面试 , 构建微服务 , 探索算法
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」