如何自学电脑编程

众所周知,在飞速发展的信息时代,程序员是极具优势的工作。他们不仅很少被社会琐事困扰,而且报酬极高。但是零基础的初学者如何成为一名合格的程序员呢?那么我来分析一下初学者应该如何学习编程。

编程语言

做程序员,必须从学习编程语言开始。这是HelloGitHub给出的2022年5月编程语言排名:

如何自学电脑编程

从这个排名可以清楚的看到哪些语言比较受欢迎。我整理了一下自己对各种语言的看法,但是如何选择还是要看你自己的需求:

Python:它很适合初学者,简单易学,并且和人工智能关系密切。目前主要应用于web开发、应用开发、大数据、数据挖掘、科学计算、机器学习、人工智能、运维、自然语言处理等等。Ja:相对于C也是比较简单的语言,不过它的学习难度肯定比Python大,在这三个语言中难度中等,、目前主要应用于安卓和 IOS 的应用开发、视频游戏开发、桌面GUI、软件开发等等。C:难度最大,主要应用在操作系统、嵌入式领域和服务器领域。应用范围广,薪资待遇高。C++ 是 C 语言的一个超集,既有指针又有对象使它成为最复杂的语言。几乎所有现代编程语言都由C/C++发展而来,因此了解C/C++非常有利于快速掌握其他各类编程语言;JaScript: JaScript 是一种动态类型、弱类型、基于原型的直译式脚本语言,也是使用频率最高的给 HTML 网页增加动态功能的语言。作为脚本语言,JaScript 可立即运行而无需等待服务器响应,速度非常出色,并且它是动态类型语言,学习难度低。

这些各有特点,但是如果你想入门做程序员的话,我建议你选择Python和Ja,它们比c更容易上手。

算法和数据结构

作为初学者,当你学习编程语言到一定程度,接下来就是编程的通用技能:基本算法和数据结构。

你可能会说你以后想找的工作很简单,跟算法关系不大。基础知识就够了;但是你要知道,这个东西就像一个基础,你以后所有的工作都是在这个基础上进行的。如果以后不进入工作,你会在上面花费大量的时间、精力和金钱。

在我看来,这些是必须掌握的:

十种算法:二分搜索法、递归、排序、搜索、哈希算法、分治算法、回溯算法、贪婪算法、动态规划、字符串匹配算法。

10数据结构:栈、数组、链表、队列、堆、跳表、图、Trie树、哈希表、二叉树;

不要小看他们,他们每一个人都需要一年左右的时间来认真学习;尽量把这些东西理解透彻,至少以后看到这些问题就不用翻书了,然后就可以更进一步思考这些问题了:

编程框架是如何工作的?

主流编程框架和设计模式之间有哪些共同的模式?

List、Hash、key的应用场景和共性是什么?

……

每个问题都是一座山。当你想明白并想出可行的解决方案时,你的技术会比以前提升一个层次。

实操

“熟能生巧”,这句话用在编程的学习上特别贴切。

网上流行一句话,“我的眼睛和大脑可以,但我的手不行。”这些问题在学习编程的过程中也容易出现;也许你是靠看书看视频突然到了某个点,但你没有做到。很快又遇到相关问题,全忘了,这很正常。

所以找实用性高的个人项目,提高阅读和编译的速度,是学习编程的最佳选择。GitHub上有几个有趣的项目,可以参考一下:

lllyasviel/style2paints 这是一个能够根据用户自定义的颜色给线稿上色的工具。在这里,以ABCD这种格式呈现一些结果。你只需要上传你的的草图,选择一种样式,然后放置光源。就可以实现AI上色当结果在没有任何人为颜色校正的情况下立即获得时,我们将此结果视为全自动结果。当结果需要一些颜色校正时,人类可以很容易地在画布上放置一些颜色提示,以指导AI着色过程。seq2seq-couplet 这是一个使用 seq2seq 模型来进行对联(对对联)的项目。MisterBooo/LeetCodeAnimation 为了帮助大家更好的入门学习算法,经过半年的积累,创作者给大家整理了《剑指 Offer》系列的四十道题目,都是算法面试的高频题目,每一道题目都提供详细的分析、精美的配图、易于理解的动画视频,适合那些第一次刷题的同学,当然,也适合重复刷题的老手再次学习巩固基础。

本文介绍到这里,希望对初学者有所帮助。欢迎分享。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

发表回复

登录后才能评论