但首先,让我们解决房间里的大象。

“所以你主修什么学科? 计算机科学?’
在过去的几年中,埃森哲和大通公司的同事,我好多年没有和我谈论过的朋友,甚至是家人,都轻易地问过我这个问题一百多次。 随后的对话始终是相同的。
我 :我实际上是在学习神经科学!
X人 :*茫然地看着我,然后试图做出礼貌的回应*
人物X : 但是……您是一家技术咨询公司/银行的实习生。 而且您不只是编程或设计东西吗?
我 :是的!
人物X : *继续茫然地注视*
人物X :嗯……那你为什么是神经科学专业的学生?
我 :恩,主要是因为我对大脑感兴趣。 但我也是预科医师!
人物X :*看起来比冒犯更冒犯*
X人 :*表明下面的内容是陈述,而不是问题*。那么,您的实习基本上是没有用的。
我 :不?
人物X :那么您从中学到的技能到底对您有用? 您在这里做什么?!
我不会骗你的,几乎我与某人进行的关于该主题的所有对话都遵循与我上面所写内容相同的概述。 在这一点上,我或多或少有义务解释自己,所以我尝试去解释。 一世
我 :恩,我真的很喜欢建造东西。 我也喜欢学习新技能。
X人 :你疯了。 我想,无论漂浮在船上的是什么。
老实说,这是可以理解的回应。 如果我想成为一名医生,我将如何处理软件开发?
首先,编程可以教您解决问题。 关于软件开发的困难部分不是编码的实际行为。 它提出了解决方案背后的逻辑。 学会像程序员那样思考不仅对编写脚本或构建应用程序有用,而且还可以使您成为更好的思想家和更好的问题解决者。
我觉得我应该有一个“两个”,但是a,我没有。 不过,我已经足够了-有趣的部分! 大多数人只是问我“我如何学习编程?”,这个问题的答案比看起来要复杂得多,因为它取决于您想对所学技能进行的操作。
这是一篇很长的文章-随意浏览,仅阅读您想要的部分,具体取决于您希望通过所学的技能来完成。 另外,我也不会获得薪金支持或推荐本文中提及的任何内容。 我提到的所有链接/教程都经过并使用了自己(尽管在某些情况下只是点点滴滴)。
您是一个完整的初学者,想一路奔跑
学习Python。
Python很容易学习,因为(至少使用更简单的代码块)它几乎和英语一样可读。 您可以使用它来编写脚本-例如,如果您重命名了许多文件,或者自己执行了大量繁琐的计算,则可以轻松编写Python脚本来自动为您执行这些任务。
该语言具有庞大的用户群和大量的初学者支持。 您可以下载数百个(即使不是数千个)库,这些库将为您做各种事情,您甚至可以使用它来创建Web应用程序(Django是Python Web框架,但稍后会介绍更多)。
首先,前往python.org/downloads,并下载最新版本的Python(在撰写本文时为3.7.0)。 Macs随附Python 2,但我建议下载最新版本,以便您可以保持最新。
接下来,拉起https://www.codecademy.com/learn/learn-python。 Codecademy很棒(实际上是我学习Python的方式),并且拥有入门所需的一切(您实际上直接在网站上进行编码),并且它引导您完成一系列教程。
使用完后,请随时访问https://www.learnpython.org/并进行浏览,浏览已了解的内容,并阅读不了解的内容。
您是一个完全的初学者,可以以较慢的步伐移动以更全面地学习面向对象的编程
学习Java。
Java是一种面向对象的编程语言。 我不会详细介绍,但是如果您愿意的话,您可以在这里阅读这意味着什么。 无论如何,Java可以使您对面向对象编程语言的内容有非常扎实的理解。 它不仅会教您像程序员一样思考,而且还将使您对编程的基础有所了解。
首先,在此处下载Java SE Development Kit(JDK)。 接下来,下载Eclipse Photon。 我建议阅读本教程,了解如何正确设置Eclipse以进行Java编程。
最后,选择有关Udemy的这些教程之一,以进行以下操作:
面向初学者的Java教程
完整的初学者Java教程(Java,JavaFx和Maven)
第一个是免费的,如果您不想花钱开始,这是一个很好的起点。 第二个则超出了基础知识,但确实要花一些钱。 在撰写本文时,它目前的价格为14.99美元,但通常为194.99美元。 专家提示:Udemy非常适合教自己,好,任何东西-但在他们的一门课程上花费不会超过$ 20.00。 如果您等不及,几乎他们所有的课程都会一次或一次以不到20美元的价格出售。
您想学习建立网站
学习HTML和CSS。
HTML和CSS是两种语言,它们几乎可以创建您在互联网上遇到的每个网页(通常还有很多其他东西)。 从技术上讲,它们不是“编程”语言; 它们就是标记语言。 它们损害了每个页面的“静态”部分-页面上的所有文本和图像内容(这就是HTML所做的),以及页面的外观(颜色,字体,位置等)-CSS确实)。
您无需“下载”任何内容即可开始编写HTML和CSS-从技术上讲,您可以打开记事本(Windows)或TextEdit(Mac),将要创建的文件另存为“ .html”或“ .css”文件,然后在网络浏览器中打开“ .html”,就可以了。 但是,有一些非常强大的代码编辑器对于Web开发非常有用。 我个人最喜欢的是VSCode,它速度快,外观漂亮,并且有许多有用的扩展程序可以下载。
JavaScript是网页中使用的另一种语言(如果您希望网站上的用户与网站互动或对其进行任何操作,则几乎需要某种形式的JavaScript)。 人们通常一起学习HTML和CSS,然后学习JavaScript。 Udemy上的本课程将达到目的,可以帮助您学习全部三个方面。
注意事项:仅HTML,CSS和JavaScript只会使您能够构建静态网页。 静态网站的内容不会而且永远不会改变。 实际上,当您希望每个用户看到相同的内容时,这些功能很有用。 您不能存储特定于用户的信息。
您想建立更复杂的网站
步骤1:完成最后一部分。
往上看。
步骤2:学习Angular 4或ReactJS。
Angular和React是所谓的Web框架。 您可以在此处找到有关Web框架的很好的解释。 这两个只是一堆中的两个(但它们是我个人的最爱)。
如果您想学习Angular,请尝试Google的“英雄之旅”教程-就教程而言,它是相当不错的。 小心; Angular的第一个版本AngularJS与Angular 4完全不同,因此请确保在查找时发现卡住的内容是仅搜索Angular 4(或2-与4十分相似)的解决方案。 有关使用Angular构建的示例网站,请访问我的个人网站georgesaieed.com。
如果您想学习React,请参阅此官方教程。 在教授基础知识方面,它也做得很好。
为了学习更复杂的概念,请务必在Udemy,PluralSight或Udacity中搜索更多高级课程。
步骤3:为您的应用程序设置一个后端。
这就是事情开始变得复杂的地方–后端将允许您存储用户数据,执行身份验证以登录用户等。如果我说实话,在Web开发方面,我主要处理前端-开发(您在网站上实际看到的内容以及直接与之交互的逻辑),因此我在这方面没有太多经验。 无论如何,这是一个入门的好教程。 我强烈建议您在解决此问题之前先熟悉HTML / CSS / JavaScript / Angular。
您想要构建iOS应用程序
iOS开发需要Mac。 尽管从技术上讲它并不需要iPhone,但是让您可以测试您所构建的应用程序还是非常有用的,尽管您可以使用计算机的内置iPhone模拟器进行测试。
首先,前往Apple并下载XCode。 该软件将允许您构建本机iOS应用程序。 现在,iOS应用程序是用一种称为Swift的编程语言构建的-入门后很容易上手,而且我认为它比Objective-C(这是您用来构建应用程序的方法)要容易得多。
我最喜欢的两个iOS应用开发教程是design + code和The Complete iOS App Development Bootcamp。 第一个有点贵(尽管如果您是学生,您可以将其减半!),但是绝对出色 ; 您可以构建一个非常强大的应用程序,同时还可以在此过程中学习一些有关设计的知识。 第二个也很棒–您可以构建各种不同的应用程序,从音乐应用程序到天气应用程序再到Whatsapp克隆。
您想要构建Android应用程序
第1步:向上滚动,学习一些Java。
进一步阅读。
步骤2:完成以下课程之一:
学习Android应用程序开发(Udemy-免费)
完整的Android N开发人员课程(Udemy-$ 14.99)
完整的Android和Java开发人员课程(Udemy-14.99美元)
这就是所有人!
这几乎就是我所了解的程度–那里有更多的编程语言,但是这些语言可以帮助您入门,具体取决于您想做什么。 以下是一些更一般的资源,它们在您进行软件开发的过程中会有所帮助:
StackOverflow —坦率地说,这绝对是编程资源的全部。 如果您对无法解决的问题,代码中的某些问题或与编程相关的任何问题有疑问,那么很有可能有人已经在您的网站上提出了您的问题并得到了答复。
Codecademy-我之前已经提到过,但是它有很多不同的教程,从Python到Ruby到Web开发再到学习Unix命令行。
这份荒谬的资源清单-包含许多不同编程语言的大量资源的链接。
最后:学习编程并不容易。 您将不需要一个星期,一个月甚至一年的时间。 几乎不可能对任何编程语言都一无所知,而且每个人无论遇到多少知识都会遇到问题。 如果一次迈出一步,您将逐渐变得越来越好,并且您将能够创建更好,更复杂的程序,游戏,网站或以上所有内容(取决于您要学习的内容) )。
我知道这是一本长篇小说,但希望对您有所帮助。 如果您在旅途中有任何疑问或疑虑,请随时给我发送电子邮件,祝您好运!