进入编程世界的第一步

image

这是一篇翻译的文章,原文地址:https://medium.freecodecamp.org/my-first-steps-into-the-world-of-software-development-and-what-they-taught-me-6ee748cffb8f 需翻墙才能访问。如果有任何疑问,请参看原文或和我联系。

作为计算机科学系的新生,您在课堂上学到的东西与现实世界之间是脱节的。您学习理解不同的循环 - for, while, do while, 您可以编写一个基于命令的井字棋游戏,还写了许多令你头晕目眩的x86汇编程序。

但是,您对Facebook、或Reddit、或YouTube这样的公司如何工作一无所知,您甚至不知道从哪里开始。当您搜索“使用Python的公司”时,只是因为Python是您唯一懂的语言。有人谈论“Reddit …使用python作为后端”之类的事情。后端?那是什么意思?

编写命令行井字棋游戏和构建“真实”应用程之间存在着巨大的鸿沟,但没有人告诉您如何填充它。即使您已经学会了逻辑思考,您也不知道如何使用您学到的东西来构建您想要的东西。


情况就是这样:您需要积极主动到达您想去的地方。您并不总是有一个教授给出所有的项目模板和样板,而您只需填空就可以了。您并不总是有一个课程告诉您:“这是下一个需要学习的”。

#1:

没有人比您自己更能影响您的个人发展。您自己要决定想要学习什么,而不是每一步都要人帮助。这种自我导向的学习,Dan Luu称之为一种元技能,这是您成为软件开发人员所要掌握的最重要的技能之一。

幸运的是,我们现在有Google提供帮助。 搜索“如何使用python来建立一个网站”,您偶然发现了一个小而美的web框架,并尝试一下 - 您都不用了解框架是什么。您尝试从头开始阅读文档,不需要理解任何事情(“数据库抽象层?”),然后跳到安装步骤。

最后,按照一些可行的步骤!您将命令复制到您的终端上。有些东西叫pip,virtualenv,无所谓。您花一分钟的时间看这些信息,了解您在机器上做了什么。

#2:

我们通过理解来学习,而不是机械地遵循指南。您要习惯于学习而不是弄不明白就放弃。您会发现看似不可能完成的任务实际是一个更大的成长的机会 - 这只是一个需要多长时间的问题。

好的,看起来pip是一个包的安装工具,这些包您可以像导入内置的数学包一样导入它们。 Virtualenv似乎是将软件包隔离到特定项目的一种方法。您依然没有完全理解除了mkdir和cd之外的所有命令,但是您也不是一无所知。现在是时候进入快速入门指南了。

image

您按照最初的说明,当您运行该程序并在浏览器中首次看到“Hello,world”时应该会有巨大的惊喜吧!您心里暗暗想,再也不用写无聊的旧命令行程序了!可以肯定的是,这只是一小步,但这是您的浏览器中的代码,这非常重要。

您继续往下做,开始遇到许多您不完全理解的概念。路由? HTTP?GET? POST?什么是渲染模板?其中有些术语您似乎有些印象,但实际上并不知道它们的含义,于是您开始着手研究它们。就像您学习pip和virtualenv一样,您开始拼接一个应用程序如何工作的碎片图像

#3:

学习需要实践,就如同其他技能一样,它需要被磨练。就像其他实践技能一样,学习可以成为一种习惯。抓住每一个您必须学习的机会。记住:成功后更成功。养成一个习惯,不仅会使您的个人成长飙升,您的学习欲望也会增长

您可以使用模板来显示内容,就像使用其他任何HTML / CSS页面一样,但内容是动态的。您可以通过定义路由来控制显示在不同URL上的内容,甚至可以从其他网站获取内容用在您自己的应用程序中!

随着您越来越顺手,您开始感受到一定程度的把控能力,并为自己的独立学习感到自豪,这是您从任何课堂项目从未感受过的。您感到了力量,谁还需要上学呢?

当您获得信心时,开始感觉指南有点…基本。毕竟,这是一个快速入门指南。您会想,我可以做些比这更酷的事情。

所以您开始尝试。您使用pip和virtualenv来设置您的项目,因为这是您了解如何设置项目的唯一方法。您知道如何设置模板。您知道如何设置路由,HTTP请求,GET和POST。您甚至可以使用第三方的API,并阅读更多的文档。虽然您还是没有掌握一切,但是您正在一点一滴地学习。

最后,您构建了第一个独立完成的项目。这不是一步一步按照写给新手程序员的教程而完成的,也不是一个布置给上千名学生的课堂任务。一个真实的,有形的,真实的应用程序,如果您没有建立它,就不会存在。您会有有一种了不起的感觉。

image

接下来呢?现在您已经建立了一个应用程序,您该如何把它放在网上,这样每个人都可以使用它?真正的“后端”是什么?前端呢?

培养学习欲望是一件好事:总是有更多。就像一个了不起的电视连续剧,您永远也看不够 - 希望它永远不会结束。没有学习得太多这回事,软件开发的每一门学科都是一个全新的世界,您学的越多,向您开放的世界就越多。

某天,您会意识到成为一个“真正”的软件开发者没有固定单一的路径。每个人的成功之路都是独一无二的,铸就成功之路完全取决于您自己。

image

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值