1.看看周围
目前编程是一个非常广泛的领域。所以你最好四处看看,看看你能往哪个方向走。因为如果你知道所有可能的方式,你就能选择适合你的那一种,而不是自己一个人闭门造车、埋头苦干。不要通过试错的方式来选择未来,这个过程将有助于你选择你应该学习的技术。
有些网站程序员使用Wordpress或其他内容管理系统(CMS)来搭建网站,因为他们了解这些必备的技能,并能很好的维护网站,使网站可以像客户希望的那样工作。要做到这一点,这些人需要了解JavaScript、HTML和CSS。
网站开发人员——这应该是世界上对“程序员”最流行的解释。但是编程不仅仅是关于Wordpress网站的。它远不止这些。编程被分为若干个领域。首先,我将给出三个前端领域的例子。前端编程是对用户/客户端看到的东西进行编程,也就是界面。
简而言之:
网络应用程序编程——构建商业在线应用程序(如银行应用程序,或影视应用程序)。这些是满足特定用户群体需求的特定应用程序。它们不是用来管理内容的(像Wordpress),而是用来管理过程的(说白了,就是让人们能够完成一些任务)。除了JavaScript、HTML和CSS,程序员还需要了解一些web应用程序编程的其他技术。具体什么技术取决于项目,例如:SCSS,TypeScript和以下任何一个框架:Ember,Angular,Vue或React。(框架是应用程序的桥梁或者说结构,具有构建它的特性)。
桌面应用程序编程——和上面一样,但它是可以安装在Windows系统上的应用程序编程。这组不同于前一组。它使用了其他技术。例如,Windows编程可以使用c#语言和.net框架。
移动应用程序编程——你可以编写安装在移动设备上的应用程序。主要在Android和ios系统的设备上运行。Android的编程主要使用Java(Kotlin)编程语言,iOS的编程主要使用Objective-C以及Swift语言。
这些都是前端领域的例子。现在让我们转到后端领域。后台这一块的东西,客户端/用户是看不到的,但对系统来说至关重要:
数据库编程——数据库如MySQL和MSSQL。数据库相当于一个高级电子表格。在数据库存储更多的数据,并允许以编程方式操作它。添加数据、删除数据、更改数据。此外,它还允许设置处理数据的不同方式。例如,拒绝不完整的数据,或从不同的表收集数据。数据库系统使用SQL语言的变体(例如用于MSSQL的T-SQL),该语言允许对数据进行各种操作编码。也有不使用SQL语言的数据库。它们使用了一个神秘的名字:NoSQL
这里添加MySql以及MsSql图片
后端编程——后端开发人员处理数据库和前端之间的数据,或者需要合作的不同系统之间的数据。几乎每一种编程语言都可以用于后端。但由于后端有特定的用例,人们倾向于使用与前端不同的语言。例如:PHP,Ruby,Python,Java,但也有JavaScipt。
大多数程序员分为前端开发人员和后端开发人员。但是也有全栈开发人员。全栈开发人员是一个了解前端和后端技术的人。他/她可以负责设置应用程序的所有事情:数据库、后端和用户界面。
但这些并不是所有的领域。在这个叙述中依然省略了其他很多领域。我们有越来越多先进的设备,传感器,为信息系统提供数据。这些也需要编程。这被称为嵌入式编程。嵌入式编程主要是用C和c++语言完成的,因为这些语言允许程序员访问低级抽象层。它节省了这些小设备的资源。
另一个蓬勃发展的编程领域是数据分析。数据分析的开发人员在公司中使用大型数据集,并根据这些数据为商业结论准备结果。程序员使用不同的语言集,包括Python和R(是的,这是一种编程语言的名称,只是一个字母R)。
还有一个领域是遗留应用编程。较早的程序开发人员知道遗留应用构建的技术,虽然这些技术已经不再流行了,但这些系统还需要运行,尽管它们是多年前构建的。
包括其他的编程领域,这里我就不一一列举了,但你想找到它们是可能的。
这一点到此结束。为什么它如此重要?如果你知道你感兴趣的领域,你就可以选择你喜欢的领域,进而选择与这个领域相关的技术。你要知道学习几项技术要比学习项技术容易得多。
假设你已经知道你感兴趣的领域?下一步应该选择什么呢?
2.选择技术
为了更进一步,你需要对你应该学习的技术做出明智的决定。但说实话,你很难得到一个好的建议。你可以问别人,或者去学习或参加训练营。但无论哪种方式,你最终都会学到:
a)什么是流行的。
b)教你的人知道什么。
c)什么样的东西对人们有用。
了解在你感兴趣的领域工作的公司所使用的技术。搜索工作机会,看看需要什么技术。不要因为有20种技术就失去热情。我经常读到,人们知道一点这个,一点那个,但他们仍然不知道如何成为一名程序员,因为他们迷路了。这是真的,编程是一个非常广泛的领域,你不可能学会所有的东西,你需要选择方向并坚持下去。这样你就增加了成功的机会。
3.选择学习方法
这一点非常重要,每个开发人员对于如何学习都有自己的看法。如果你在网上寻找答案,你会发现很多正确的想法。有人会建议你去看视频,还有些人告诉你要看书,也有些人会说培训是最好的,也有些软件开发人员明白从官方文档中学习才是最好的,许多官方文档其实就是我们需要的学习资料。当然,还有一些开发商说,大学教育是无用的。我对这样的言论感到难过。
你不知道怎么样学习,这完全自然。每个人说的都不一样,就我个人而言,我会推荐电子书和视频教程,因为我喜欢这些。但这是一个不恰当的、也没有帮助的回答。
事实上,你如何学习并不重要。你还记得你在学校是怎么学习的吗?它看起来怎么样?老师有没有让你们学一点这个,一点那个?它们之间有没有联系?在学校里每个人都会学到复杂的东西。但那些对你来说无关紧要的东西,每个人都不怎么记得。
这是因为在学校学习是有系统、有方法的,一步一步来的,该系统是经过数百年的经验开发出来的。如果你对学习编程感兴趣,你能为自己做的最好的事情就是选择一种有条理、有系统的方法。那么,让我们扪心自问,什么是最有条理、最系统的学习方法?
(1)读书。只要稍微细心一点,你就会找到一本循序渐进地教授知识的书。从容易到困难的事情。从A到Z,但是需要你喜欢阅读。
(2)视频教程和在线课程。如果作者准备的教程是通顺的、有条理地,那么它一定会帮助你学习,尤其是如果你喜欢观察和学习的话。
(3)培训。许多人排斥培训,但密集的编程训练会使你从中受益。而且如果你喜欢和团队中的人一起工作,这就更好了。
我唯一想让你知道的是,不要用非系统、非系统和不完整的方法来学习编程。想象一下,你从BiliBili上的视频课程(它是免费的)中学到了一个主题的50%,但没有“后半部分”。你又不得不寻找其他的课程,但在另一门课上,有些东西你学过,所以你知道,但还有一些你不知道的事情。因而导致学到的东西完全不同,这种知识片面而且消极。所以对于初学者来说,完整的、系统的、内容涵盖了从A到Z的知识获取才是我们应当刻意追求的。
在即将结束这一点时,我还想指出一个非常重要的问题。我读到有人建议初学者用英语内容学习,这些人不知道他们在做什么,当你是一个初学者时不要让你的学习变得更难,学习是循序渐进的,你会中文,完全不必为了学编程而去看英文文档,这只会让你的挫败感更加强烈。你完全可以使用中文从一堆英文教程中学会程序是怎么编写的。
4.设定一个目标
在规划职业生涯时,目标常常被人忽略。人们开始学习一门课程,然后去一个培训机构,接下来随着时间的流逝,几个月后你就不记得之前学过什么了。看起来你好像学到了一些东西,但你到底做到了什么?
为了使学习更容易,设定一个目标是一个很好的主意。例如,你可以发誓在一个月内读完一本页的书籍,或者在6个月内找到初级开发人员的工作。
如果你设定一个目标,一切都会具现化,我们只需要围绕着这个目标就可以了。这是我们的天性,目标让我们的生活更容易。
5.系统地学习
当你已经有了一个目标,下一步就是制定一个学习计划。每天一小时去学习一些有意义的东西。
有什么办法能让系统学习变得更简单吗?学习编程需要集中注意力。试试这个,向大家宣布:下午6点我将学习编程一个小时,请不要打扰我。关掉手机,退出