如何成为一名程序员(become a programmer)

成为一名程序员是一个日复一日、年复一年积累技能的过程,编程可以是有趣和有回报的(精神上、精神上和经济上)。本指南并没有承诺为成为程序员提供一种神奇简单的方法,而且步骤的顺序也不是神圣的,但您将获得如何成为现代编程领域之一的程序员的概述。...

方法1方法1/6:网络编程

  1. 1了解网络编程需要什么。Web应用程序是设计用于在internet架构之上工作的软件组件。这意味着可以通过Firefox或Internet Explorer等web浏览器软件访问应用程序。建立在互联网架构之上并不一定需要主动连接到互联网。这意味着Web应用程序是在标准Web技术之上构建的,例如:HttpFTPPOP3SMTPTCIP协议HttpLxmlColdFusionAspJSPPHPASP。网
  2. Image titled Become a Programmer Step 5
  3. 2浏览许多不同的网站,了解它们通常的样子。(单击鼠标右键,然后单击“查看源”或按F12键。)寻找网站类型/内容的多样性,而不是访问网站的数量。通常地您将需要访问以下每种类型的网站中的至少一种:企业存在网站(商业公司、非营利企业/组织、政府组织)网络索引引擎(搜索引擎、元搜索网站、专业搜索引擎、目录)数据挖掘网站个人网站信息/百科全书页面(维基、数据表、技术规范和手册,列出目录、博客和期刊、新闻和通讯社网站、黄页等)社交网站(社交门户、书签网站、笔记网站)协作网站(包括上述其他类别,如维基和博客)
  4. Image titled Become a Programmer Step 6
  5. 3至少学习一种头脑风暴技术/方法以及用于实施该方法的软件。例如:头脑风暴图表和MS Visio。
  6. Image titled Become a Programmer Step 7
  7. 4熟悉网站结构。这是在创建概念性网络图、网站地图和导航结构。
  8. Image titled Become a Programmer Step 8
  9. 5.参加图形设计速成班。尝试学习至少一个图形编辑/操作软件包(可选,但强烈推荐)
  10. Image titled Become a Programmer Step 9
  11. 6学习互联网基础设施的基本知识。这包括了解基本的Web服务协议(HTTP、FTP、SMTP和POP3或IMAP4)Web服务器软件(最好是针对您主要使用的平台的)Web浏览软件。电子邮件服务器和客户端软件
  12. Image titled Become a Programmer Step 10
  13. 7学习HTML和CSS语言。您可能还想获得“所见即所得(WYSIWYG)”软件包来编辑HTML。
  14. Image titled Become a Programmer Step 11
  15. 8学习XML和XML相关技术,如XSL和XPath(可选但推荐)。
  16. Image titled Become a Programmer Step 12
  17. 9创建简单的静态网站,直到你熟悉并熟悉HTML。
  18. Image titled Become a Programmer Step 13
  19. 10学习客户端脚本语言。大多数用户学习JavaScript。有些人学习VBScript,但这与大多数浏览器不兼容。
  20. Image titled Become a Programmer Step 14
  21. 11熟悉所学的客户端脚本语言。试着只用那种语言来发挥你的潜力。只有在您至少熟悉了客户端脚本语言之后,才能进入下一步。
  22. Image titled Become a Programmer Step 15
  23. 12至少学习一种服务器端编程语言。如果您选择将自己限制为一个服务器软件,请学习该软件支持的一种编程语言。如果没有,请在每个服务器软件上至少学习一种编程语言。
  24. Image titled Become a Programmer Step 16
  25. 13学习完服务器端编程语言后,为自己创建一个试点项目。
  26. Image titled Become a Programmer Step 17
  27. 14.建立自己的网站,开始在自己的网页上进行在线实验。
  28. Image titled Become a Programmer Step 18

方法2方法2/6:桌面应用程序编程

  1. 1了解桌面应用程序编程。大多数桌面程序员为业务解决方案编写代码,因此了解业务、组织和财务结构将大大节省时间。
  2. Image titled Become a Programmer Step 19
  3. 2了解不同的计算机硬件架构。一门数字电路设计入门课程和另一门计算机体系结构课程很有用;然而,有些人认为这是一个先进的起点,所以读两三篇教程文章(比如这篇和这篇)就足够了。然后,在学习了第一种编程语言之后,您可以回到这一步。
  4. Image titled Become a Programmer Step 20
  5. 3.学习入门级(儿童)编程语言。不要因为你比别人叫你“孩子”还大就羞于学这种语言。这些编程语言的一个例子就是Scratch。这些编程语言可以极大地减轻学习第一种编程语言的痛苦。但是,此步骤是可选的。也可以在上一步之前完成。
  6. Image titled Become a Programmer Step 21
  7. 4.介绍过程式、面向对象和函数式编程范例。
  8. Image titled Become a Programmer Step 22
  9. 5.学习过程编程语言之一的入门课程。无论您以后选择哪种语言作为您的首选语言,它都需要在一定程度上进行过程编程。此外,大多数程序员都认为,过程编程是最容易作为一个起点来理解编程的。
  10. Image titled Become a Programmer Step 23
  11. 6至少学习一种高级建模技术,如UML或ORM。
  12. Image titled Become a Programmer Step 24
  13. 7.开始编写一些小型控制台或类似控制台的应用程序。你可以利用编程语言书籍中常见的小练习。为此,请选择一种工具,用您正在编写的编程语言编写程序。
  14. Image titled Become a Programmer Step 25
  15. 8.用你选择的编程语言学习更高级的课程。确保你很好地理解了以下概念,并且在继续之前可以相对轻松地应用它们:向程序用户输入和输出信息。程序语言中程序的逻辑流和执行流。声明、分配和比较变量。分支编程构造,比如if。。然后else,然后选择/切换。。案例循环构造,例如while。。做,做。。例如:。。下一个用于创建和调用过程和函数的编程语言语法。数据类型并对其进行操作。用户定义的数据类型(记录/结构/单元)及其使用。如果您的语言支持重载函数,请理解它。您选择的语言(指针、窥视等)的内存访问方法如果您的语言支持运算符重载,请理解它。如果您的语言支持委托/函数指针,请理解它。
  16. Image titled Become a Programmer Step 26
  17. 9运用你所学的先进技术。
  18. Image titled Become a Programmer Step 27
  19. 10.在另一种编程范式中至少学习一种编程语言的入门课程。建议学习每种模式中的一种编程语言,大多数高级程序员都是这样做的。然而,你通常从一种开始,应用你的知识并练习一段时间,然后在你已经有了编程的实际经验之后再学习另一种。尝试以下语言领域之一:逻辑编程范式。函数式编程范式。面向对象的范例。
  20. Image titled Become a Programmer Step 28
  21. 11试着比较一下你迄今为止学过的两种编程语言。评估每种方法的优缺点。通常可以通过以下方式完成:用第一种编程语言对早期工作进行简单采样,然后用第二种编程语言重新编写。创建一个新项目,并尝试使用两种语言实现它。有时,根据您对项目和语言的选择,您可能无法用其中一种语言实现项目!编写一份备忘单或汇总表,比较两种语言中的相似结构以及每种语言特有的功能。试着用另一种语言模仿这两种语言中的一种所独有的功能。
  22. Image titled Become a Programmer Step 29
  23. 12使用所学语言之一学习可视化编程概念。几乎所有编程语言都有支持可视化编程的版本/库,还有一些支持控制台或类似控制台的编程。这可以通过以下方式实现:了解事件驱动编程。大多数可视化编程在某种程度上依赖于事件和事件处理(使用您选择的编程语言)。尽可能多地尝试桌面软件,并了解该软件的功能。大多数软件开发公司都提供其产品的beta测试版本,您可以使用这些版本来测试软件。了解用户界面的最新进展。阅读一些关于图形用户界面的文章或教程。
  24. Image titled Become a Programmer Step 30
  25. 13开始将你的知识应用到你设计的小软件项目上。试着将你的编程专业知识应用到你日常生活中遇到的问题上。例如,编写大量重命名文件的程序,直观地比较文本文件,将目录中文件的名称复制到内存/文本文件,等等。一开始要简单。
  26. Image titled Become a Programmer Step 31
  27. 14创建一个虚拟毕业设计。应用到目前为止所学的可视化编程技术,完成这篇文章。
  28. Image titled Become a Programmer Step 32
  29. 15通过参加高级课程,特别注意细节,并从在线资源中学习更多有关框架的技巧和窍门,扩大您对之前学习的可视化框架/库/软件包的理解。
  30. Image titled Become a Programmer Step 33
  31. 16为您的编程语言搜索其他可视元素包/库,并学习它们。
  32. Image titled Become a Programmer Step 34
  33. 17.修一门图形课程(不是图形设计)。对于想要编写吸引人的用户界面元素的程序员来说,这将非常有帮助。
  34. Image titled Become a Programmer Step 35
  35. 18考虑成为一名游戏程序员(可选)。游戏编程在大多数情况下被认为是桌面编程。如果你想成为一名游戏程序员,你需要在完成这些步骤后学习更多关于游戏编程的知识。图形课程是游戏程序员的必修课,前面步骤中选择的第二种语言应该是逻辑/函数编程语言(最好是Prolog或Lisp)。
  36. Image titled Become a Programmer Step 36

方法3方法3/6:分布式应用程序编程

  1. 1支持分布式应用程序编程。许多人认为分布式应用程序编程是最难学的,需要计算机和通信技术方面的各种知识。
  2. Image titled Become a Programmer Step 37
  3. 2快速介绍电话系统及其硬件。此步骤是可选的。然而,它在理解网络拓扑结构时非常有用。
  4. Image titled Become a Programmer Step 38
  5. 3熟悉网络硬件架构和设备,如集线器、交换机和路由器。
  6. Image titled Become a Programmer Step 39
  7. 4.学习网络协议和要点课程。在开始编写分布式应用程序之前,您需要充分了解开放系统互连(OSI)模型、以太网、IP、TCP、UDP和HTTP。
  8. Image titled Become a Programmer Step 40
  9. 5学习XML语言并熟悉它。
  10. Image titled Become a Programmer Step 41
  11. 6.从学习shell脚本语言开始。对于基于Windows的编程,这将是任何与Windows脚本主机一起工作的脚本。对于基于Linux的编程,Bash脚本和Perl就足够了。出于以下原因,强烈建议在这两种平台上使用JavaScript:几乎任何操作系统中的任何脚本主机都支持它(Windows脚本主机默认支持JavaScript,大多数Linux发行版都有一个支持JavaScript脚本控制台的包)。许多开发人员认为它更容易学习。当你需要选择第二种编程语言(C、C++、C#、Java和J#都有ALGOL派生的语法)时,它有一个ALGOL派生的语法,可以让你熟悉更多其他编程语言。通过学习JavaScript,您可以熟悉网页的客户端脚本,这是一个额外的副作用!
  12. Image titled Become a Programmer Step 42
  13. 7首先,仅使用您选择的脚本语言应用程序编程。稍后,您可以根据脚本语言及其支持的内容使用更高级的编程技术和范例。所有脚本语言在某种程度上都有一些过程编程方面。
  14. Image titled Become a Programmer Step 43
  15. 8使用所学的脚本语言编写执行机器间通信的脚本。了解这样做的必要性。简单的沟通就足够了。
  16. Image titled Become a Programmer Step 44
  17. 9转换为桌面脚本/编程语言。最好是一种多范例语言,比如Python。简单介绍一下第二语言。Java被大多数程序员认为是首选语言,原因有很多。然而,C#在这一领域的发展势头很快。Java和C#是首选的,原因如下:它们是面向对象的编程语言,可以保护大型团队中的程序员免受实现细节的影响,因为它们都支持组件(预编译的代码单元,用于执行特定任务,并可用于其他程序)。它们支持事件驱动编程,以及某种程度上的OO和过程编程。该语言所基于的框架是自然分布的(在Java的情况下)。许多处理网络的现成软件包的可用性,包括开源代码和框架内置软件包;这使得程序员更容易在他人工作的基础上进行开发。
  18. Image titled Become a Programmer Step 45
  19. 10.更多地关注语言的核心特性,尤其是那些支持网络的特性。不要太关注用户界面元素,比如输出、窗口设计和技术,以及用户界面元素。
  20. Image titled Become a Programmer Step 46
  21. 11学习分布式应用程序设计和体系结构课程。这可以通过书籍、在线教程或学术课程来实现。然而,理解分布式应用程序的体系结构及其概念是必要的。
  22. Image titled Become a Programmer Step 47
  23. 12了解如何使用您选择的编程语言构建服务组件和服务。
  24. Image titled Become a Programmer Step 48
  25. 13学习以下一项或多项技术。建议您至少对所有这些内容进行一次介绍。大多数分布式应用程序程序员不会停留在一两种编程语言上,而是在每个操作系统上至少学习一种编程语言。这是因为如果你想让你的应用程序“分布式”,你应该至少为每个主要的操作系统提供一个版本。公共对象请求代理体系结构(CORBA)、简单对象访问协议(SOAP)、异步JavaScript和XML(AJAX)分布式组件对象模型(DCOM)。NET远程处理XML Web服务
  26. Image titled Become a Programmer Step 49

方法4方法4/6:库/平台/框架/核心编程

  1. 1了解什么是核心编程。核心程序员只是高级程序员,他们将编程应用程序转换为编程代码单元,供其他程序员使用。
  2. Image titled Become a Programmer Step 50
  3. 2学习支持构建可重用组件/包的编程语言(如果您还没有这样做)。
  4. Image titled Become a Programmer Step 51
  5. 3.学习UML和ORM高级课程。大多数库开发人员使用其中一个或两个。
  6. Image titled Become a Programmer Step 52
  7. 4.修一门软件工程课程。
  8. Image titled Become a Programmer Step 53
  9. 5至少学习模块化、基于组件、面向对象和事件驱动的编程技术和概念。你涵盖的编程范例和语言越多,你作为库/包程序员就越成功。
  10. Image titled Become a Programmer Step 54
  11. 6了解更多关于这些操作系统支持的不同操作系统和编程框架的信息。
  12. Image titled Become a Programmer Step 55
  13. 7将学习重点放在独立于平台的框架、编程语言和技术上。
  14. Image titled Become a Programmer Step 56
  15. 8如果您目前学习的编程语言有ANSI/ISO/IEEE/W3C标准版本,请掌握这些标准。尽可能使用标准代码。
  16. Image titled Become a Programmer Step 57
  17. 9尝试模仿简单的、已经建立的库,尤其是开源库。这在成为库/包程序员的早期阶段很有用。从简单的软件包开始,比如单位转换和中间科学计算软件包。如果你是一名大学生,利用你的非编程课程,尝试将它们的方程式和科学核心作为库来实现。
  18. Image titled Become a Programmer Step 58
  19. 10在编程领域搜索并尝试开源软件包。首先下载软件包的二进制文件/可执行文件。试着使用它,找出它的优点和缺点。完成后,下载源代码,并尝试弄清楚它是如何完成的。尝试重新创建这些库或其中的一部分。首先,在看到代码之后,然后在看到代码之前,这样做。在以后的阶段,尝试改进这些库。
  20. Image titled Become a Programmer Step 59
  21. 11了解用于向程序员分发和部署组件的不同方法。通常,库/包程序员倾向于递归和/或迭代地思考他们遇到的所有问题。试着把每个问题看作是一系列较小的问题(一系列较简单的任务),或者是一个重复的过程,将问题的范围缩小到较小的范围,然后将这些范围相互叠加。库/包程序员倾向于泛化。也就是说,当面对一个简单的具体问题时,他们通常会想到一个更一般的问题,并试图解决这个一般问题,而这个一般问题会自动解决较小的问题。
  22. Image titled Become a Programmer Step 60

方法5方法5/6:系统编程

  1. 1了解系统编程需要什么。系统程序员处理的是编程科学,而不是它的具体实现。不要把自己绑在特定的平台上。
  2. Image titled Become a Programmer Step 61
  3. 2对于桌面应用程序程序员,请遵循前三个步骤。
  4. Image titled Become a Programmer Step 62
  5. 3.学习线性代数入门课程。
  6. Image titled Become a Programmer Step 63
  7. 4.学习微积分课程。
  8. Image titled Become a Programmer Step 64
  9. 5.选修逻辑和/或离散数学课程。
  10. Image titled Become a Programmer Step 65
  11. 6介绍不同的裸操作系统。这可以通过以下方式实现:了解操作系统的安装方式。学习如何在一台电脑上安装不同的操作系统(可选,但推荐)。安装多个操作系统。不要在系统上安装任何帮助软件包;相反,使用操作系统提供的简单功能。
  12. Image titled Become a Programmer Step 66
  13. 7.参加计算机硬件体系结构课程(或者阅读书籍)。
  14. Image titled Become a Programmer Step 67
  15. 8了解不同的计算机硬件平台。
  16. Image titled Become a Programmer Step 68
  17. 9初步熟悉所选硬件平台/操作系统的汇编语言。稍后,您将学习其他平台/系统的组装。
  18. Image titled Become a Programmer Step 69
  19. 10学习ANSI C和C++语言,以及程序编程的概念。
  20. Image titled Become a Programmer Step 70
  21. 11在选择的平台上理解和实践C/C++标准库。请特别注意标准模板库(STL)和活动模板库(ATL)。
  22. Image titled Become a Programmer Step 71
  23. 12搜索在线资源、书籍和课程,了解您特定平台的C风格。
  24. Image titled Become a Programmer Step 72
  25. 13.练习用C和C++创建高级代码。
  26. Image titled Become a Programmer Step 73
  27. 14了解更多高级组装。
  28. Image titled Become a Programmer Step 74
  29. 15.学习操作系统设计课程。
  30. Image titled Become a Programmer Step 75
  31. 16.查找并阅读您选择的特定平台的文档。如果选择基于Unix的操作系统,这将更容易。很好地理解你以后将使用的系统。
  32. Image titled Become a Programmer Step 76
  33. 17.练习你学到的知识。首先创建小型系统实用程序。尝试重新创建系统中已有的小工具通常很有用。尝试将其他操作系统中可用的实用程序移植到您的系统中。
  34. Image titled Become a Programmer Step 77
  35. 18.按照最有用的顺序学习语言。这是第一种编程语言唯一重要的地方。先学习ANSI C,不是C++,不是C#,不是Java,也不是D。然后学习C++。将第一语言仅限于C和C是因为系统编程要求程序员熟悉以下概念:源代码的真实完整编译。低级对象输出文件。链接二进制文件。低级机器语言/汇编编程。有些人说C语言是一种伪装的/更容易学习的汇编语言。它还支持随时在代码中插入汇编语言代码,而且只是过程性的(如汇编)。
  36. Image titled Become a Programmer Step 78

方法6方法6/6:编程科学

  1. 1了解编程科学家的工作。编程科学家是非常高级的程序员,他们不是开发应用程序,而是开发计算技术,如加密、编程语言和数据挖掘算法。如果没有学术研究和奉献精神,这一水平很难达到。
  2. Image titled Become a Programmer Step 79
  3. 2积累相当于四年计算机科学学位的科学知识。这可以通过以下两种方式来实现:获得实际的学位(这是通常发生的事情)。从一所现代大学获得此类学位的课程大纲,并通过自学或单独课程的形式选修这些课程。这在理论上是可以实现的,但推荐的路径是第一条。
  4. Image titled Become a Programmer Step 80
  5. 3.确定专业领域。越具体越好。这取决于你的喜好。然而这里列出了计算机编程科学的一些主要主题:算法设计(搜索、排序、加密、解密和通信中的错误检测是一些例子)编程语言/编译器设计/优化人工智能领域(模式识别、语音识别、自然语言处理、神经网络)机器人科学编程Super计算机辅助设计/建模(CAD/CAM)虚拟现实计算机图形学(计算机图形学通常被错误地与图形设计或图形用户界面设计混淆。计算机图形学是研究如何在计算机系统中表示和操作图形的领域。)
  6. Image titled Become a Programmer Step 81
  7. 4.考虑获得更高的学位。你可能想攻读硕士或博士学位。
  8. Image titled Become a Programmer Step 82
  9. 5学习与所选编程领域相关的技术和编程语言。
  10. Image titled Become a Programmer Step 83
  • 无论你想尝试什么类型的编程,或者想达到什么水平,都可以考虑在学校或当地社区大学上课。不要被“计算机科学”这样的术语吓倒任何不需要任何先决条件就可以进入的课程都应该专注于教授编程的基础知识,但事先与讲师或顾问核实,以确保这是你想要的,因为像“计算机素养”这样的课程可能更侧重于熟悉office应用程序等。
  • 发表于 2022-05-16 12:55
  • 阅读 ( 46 )
  • 分类:IT

你可能感兴趣的文章

什么是数控程序员?(a cnc programmer?)

...制用于切割、成型和成型原木和金属产品的重型设备。CNC程序员现在可以向计算机系统输入高度详细的指令,引导机械臂和工具执行精密加工作业。熟练的数控编程人员能够大大提高生产效率和成品质量。 ...

  • 发布于 2021-12-22 04:59
  • 阅读 ( 354 )

什么是初级程序员?(a junior programmer?)

... 初级程序员也称为入门级或实习程序员。这个词通常用来形容刚从大学毕业,并获得第一份程序员工作的人。当你成为一名程序员时,你会有一个陡峭的学习曲线,在你职业生...

  • 发布于 2021-12-22 06:11
  • 阅读 ( 133 )

如何我会成为一名软件测试人员吗?(i become a software tester?)

公司雇佣软件测试人员来验证其产品的质量,并帮助发现和消除任何缺陷。精确的测...

  • 发布于 2022-02-12 01:12
  • 阅读 ( 152 )

如何我会成为一名计算机程序员吗?(i become a computer programmer?)

... 要成为一名计算机程序员,有三条途径可供选择:高等教育、网站开发和开源编码。所有这些途径都需要数学、创造力、逻辑处理能力和对细节的高度关注。薪水的多少和晋升机会的类型取...

  • 发布于 2022-02-12 05:32
  • 阅读 ( 192 )

如何我会成为一名数控程序员吗?(i become a cnc programmer?)

... 如果你想成为一名CNC程序员,大多数雇主只要求你拥有高中文凭或GED。然而,在某些就业情况下,你可能需要拥有CNC编程的副学士学位或该领域的专业证书。更高级别的职位可能需要学士学位...

  • 发布于 2022-02-13 09:31
  • 阅读 ( 136 )

如何我成为一名安卓程序员?(i become an android programmer?)

...roid®的智能手机所使用的计算机软件。要成为一名Android®程序员,个人需要学习Android®编程语言。这种计算机软件可以从互联网上免费下载。 ...

  • 发布于 2022-02-13 21:23
  • 阅读 ( 165 )

如何我会成为一名gis开发者吗?(i become a gis developer?)

...学习计算机科学和地理信息系统(GIS)课程。有必要学习如何创建基于web的计算机应用程序,并了解GIS软件的各种功能。此外,熟悉地图坐标系和投影也很重要。掌握了基础知识后,你可以通过实习和开发自己的应用程序来获得...

  • 发布于 2022-02-14 09:09
  • 阅读 ( 143 )

如何我成为一名Python®程序员?(i become a python® programmer?)

... 要成为一个Python®程序员,你需要学习如何使用Python®编程语言,以便有效地使用该语言编写代码。有许多方法可以做到这一点,包括在学校或技术学院学习课程,或使用书籍或在线教学自...

  • 发布于 2022-02-14 15:07
  • 阅读 ( 88 )

如何我成为一名软件架构师?(i become a software architect?)

...件或一个网络应用程序从开始到结束都能顺利运行。这类程序员通常掌握强大的动态计算机编程语言,如Perl或Python或Visual Basic(VB)的内涵和外延。重要的是,软件架构师要了解一个软件应用程序的幕后过程,以便在出现问题时...

  • 发布于 2022-02-14 16:47
  • 阅读 ( 93 )

如何我会成为一名车床技师吗?(i become a lathe machinist?)

...常,从这些机构毕业的人有资格成为几种不同类型机器的程序员。雇主通常倾向于雇佣在各种机器方面有经验的申请人,如车床、铣床和其他工业机器。勤工助学计划的另一个优势是你在商店环境中获得的经验。。 ...

  • 发布于 2022-02-15 03:14
  • 阅读 ( 74 )
csafbs65797
csafbs65797

0 篇文章

相关推荐