Class 00 - 学习编程的方法&不同职业所使用的编程语言

2023-11-09

学习编程的方法

什么是编程?

简单来说其实就是你通过一些指令告诉计算机要做什么,让计算机帮忙解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
在这里插入图片描述

  • 其实日常生活中有可能你已经接触到了简单的编程。

  • 例如,使用电子表格函数执行计算,对数据进行排序,或者使用SQL告诉计算机如何从数据库中提取数据,把两个或者多个不同的数据表连接。编程甚至更进一步。它为您提供了对数据的最高级别控制。

要编程,首先需要了解一门编程语言。我们要学习编程语言的基础知识,以及它们如何帮助您处理数据。

在这里插入图片描述

程序设计语言是我们用来给计算机编写指令的文字和符号。您可以将编程语言视为连接人和计算机的桥梁,并允许他们进行通信。编程语言有自己的一套规则,用于如何使用这些单词和符号,称为语法。

语法告诉你如何安排你输入的单词和符号,使它们对计算机有意义。编码就是用特定编程语言的语法给计算机写指令。就像世界上各种各样的人类语言一样,有许多不同的编程语言可用于与计算机通信。

几乎任何你想做的事情都有一种语言,从设计网站到开发电子游戏,再到处理数据。例如,Python是一种通用语言,可以用于各种各样的事情,从使用人工智能到创建虚拟现实体验。

在这里插入图片描述

一旦你学会了第一语言,你就会发现学习其他语言更容易了。后面的教程中,我们将探索R的许多功能。请添加图片描述


在此之前,让我们讨论一下使用任何编程语言处理数据的一些好处。我觉得编程有三个好处:

  1. 编程可以帮你明确分析的步骤:

    • 编程语言向计算机发出指令有特定的规则和语法。
    • 当你告诉计算机做什么时,你的指令必须非常清晰。
    • 你所编写代码的方式不能有任何不一致的地方,如果有,代码将会出错无法工作。
    • 将你的想法转换为代码会迫使你准确地找出如何编写分析的每个步骤以及如何将所有步骤组合在一起。它给你的分析提供了一定程度的精确度。
  2. 编程可以帮你节省时间

    • 使用编程语言进行数据分析也可以节省大量时间。
    • 例如,以清理和转换数据的过程为例。只需一行代码,您就可以创建一个单独的数据集,而不会丢失任何数据。
    • 在另一行代码中,你可以对数据应用多个过滤器。这使你可以花费更少的时间准备数据,而将更多的时间用于分析本身。
  3. 编程可以帮你轻松地复制和共享您的工作。

    • 编程语言使重现分析变得容易。
    • 当你遇到可重复性工作,或者需要与其他人共享时,尤其在数据分析的工作中。他们可以仔细检查并帮助你解决问题。
    • 代码会自动存储分析的所有步骤,这样您就可以在未来的任何时间(几周、几个月甚至几年后)重现和共享你的的工作。
    • 举个例子:假设你正在做一个项目。你已经收集并清理了数据,并开始了分析,但结果却不一致。你怀疑是在处理过程中出现了错误。你想和同事交流请教这个问题,他们可以通过检查你的代码文件来找出问题所在。如果你使用电子表格,则可能需要重新进行整个分析财能现错误。在电子表格中记录和复制你的分析步骤还是比较困难的,但如果你使用一种编程语言,你所有的工作都可以在代码中重现和共享,从加载数据,到创建可视化,再到报告结果。另外你还可以通过更改代码来更新你的分析并修复出现的错误。

我希望这能让你更好地理解编程语言是什么。
下面将介绍一下不同职业方向所使用的编程语言。

不同职业所使用的编程语言

让我们来看看一些常见的职业方向所流行的编程语言。在文中还提供了一些附加资源列表(有些网需要翻越一下才能浏览。。。),供你了解所介绍的每种编程语言的更多信息。

数据分析

在这里插入图片描述

数据分析师:收集、转换和组织数据,以得出结论、做出预测,依据数据做出明智的决策。数据分析师使用的最流行的编程语言是RPython

R为数据分析提供了方便的统计功能,对于创建高级数据可视化非常有用。查看这些资源以了解更多关于R的信息:

Python是一种通用语言,您可以使用它来创建数据分析所需的内容。下面是一些开始学习Python的资源:

网页设计

在这里插入图片描述

网页设计师负责包含文本、图形和视频的网页的样式和布局。网页设计师通常使用超文本标记语言v5 (HTML5)和层叠样式表(CSS)来创建网页。

HTML5为网页提供结构,并用于连接到托管平台。以下资源可以了解更多关于HTML5和CSS的信息:

  • HTML教程: HTML的介绍,链接到HTML5的功能,示例和参考资料
  • HTML5小抄: HTML5标签,属性和与HTML4的兼容性的一个方便的总结
  • HTML5和CSS基础课程: 一个免费的W3C edX课程;如果要获得经过认证的课程证书需要付费的

CSS用于网页设计和控制图形元素(颜色,布局和字体)和多个设备(大屏幕,移动屏幕和打印机)上的页面呈现。看看这些CSS的小抄:

移动应用开发

在这里插入图片描述

移动应用程序开发人员通过编程创建在电脑、手机和平板电脑上使用的应用程序。对于移动应用程序开发者来说,最流行的编程语言是Swift、Java和c#。

Swift (适用于Apple平台)是一种面向macOS、iOS、watchOS和tvOS的开源脚本语言。它的主要目标是使应用程序运行得更快。浏览这些资源了解更多关于Swift的信息:

  • Swift.org: 一个开源社区,提供学习如何使用Swift的资源,包括视频和示例代码
  • Swift开发者网站: 一个苹果开发者网站,为想要使用Swift的开发者提供信息
  • Swift开发资源: 苹果的文档,示例代码,视频和推荐书籍的集合

Java (Android设备)是Android开发的官方语言。文章我想开发Android应用程序-我应该学习哪种语言?探讨了用于Android开发的其他一些语言。查看这些Java参考资料:

c#是一种面向对象的编程语言,广泛用于在 .net 开源开发者平台上创建移动应用程序。Xamarin扩展了.net平台,为开发人员提供了一个框架,可以为iOS和Android创建跨平台移动应用程序。这里有一些资源可以帮助你学习c#:

Web应用开发

在这里插入图片描述

web应用程序开发人员设计和开发跨web使用的网络应用程序。web应用程序开发人员最常用的编程语言是Java、Python、Ruby和PHP。

Java 被广泛用于创建可以在多个客户端上运行的企业web应用程序。Java的主要优势在于它的“一次编写,随处运行”(WORA)方法。浏览这些参考资料以了解有关Java的更多信息:

Python是一种通用编程语言。请查看数据分析一节中列出的Python参考资料。

Ruby是一种通用的、面向对象的编程语言,用于开发web应用程序。Ruby和Ruby on Rails不一样,后者是一个使用Ruby运行的开源web应用程序框架。浏览这些参考资料以了解更多关于Ruby的信息:

  • Ruby新闻: 关于最新Ruby版本的信息和其他资源的链接
  • Ruby文档: 包括指南、教程和参考资料,以帮助您更多地了解Ruby
  • Ruby程序员指南: 一个Ruby的教程和参考指南
  • 从Codecademy学习Ruby: 是一个提供免费基本互动课程的网站,每月订阅即可访问其他活动

PHP是一种特别适合web应用程序开发的脚本语言。它基于另一种编程语言Perl。PHP简单、灵活,而且相对容易学习。查看这些参考资料以了解更多关于PHP的信息:

游戏开发

在这里插入图片描述

游戏开发者是专门从事电子游戏创作的应用开发者。游戏开发者最常用的编程语言是c#和c++。

c#是一种面向对象的编程语言,广泛用于制作游戏。查看移动应用程序开发人员一节中列出的c#资源。

c++是C语言的扩展,也用于创建主机游戏,如Xbox。浏览有关c++的更多资讯:

Tips:学习编程语言的技巧

当你开始学习一门新的编程语言时,这里有一些建议可以参考:

  • 找一个练习项目,并使用编程语言来帮助你完成它。这会使得学习过程更加实际和有趣。
  • 记住编程的概念和一些逻辑规则。其中许多概念和和规则在编程语言之间是相通的。所以,在你学会了一门语言之后,学习第二或第三门编程语言往往会容易得多。
  • 用最适合你的记录方法(手写或打字),创建并保存好你的的笔记和小抄。
  • 创建一个在线信文档,当你在各种不同的编程环境中工作时,你可以很随时随地的访问它。


从电子表格到 SQL 再到 R

尽管R语言对与你来说可能是全新的,但它实际上与你在工作中使用到的其他工具有很多相似之处,比如:电子表格,SQL。
在下面文中,将比较电子表格、SQL和R语言,以便更好地了解如何使用它们。


电子表格、SQL和R:一个比较

作为一名数据分析师,你很有可能在不同的职业阶段会使用到SQL、R和电子表格。每种工具都有自己的优点和缺点,但它们都能使数据分析过程更便捷、更高效。这三者有两个共同之处:

  • 它们都使用过滤器: 例如,你可以使用这三个工具中的任何一个轻松过滤数据集。在R中,你可以使用过滤器函数。它执行的任务与基本的(SELECT - FROM - WHERE )SQL查询相同。在电子表格中,您可以使用菜单选项创建过滤器。

  • 它们都使用函数: 在电子表格中,你会在公式中使用函数,而在SQL中,你在查询中使用函数。在R中,你将在代码中使用函数,这是分析流程的一部分

下表给出了一些重点问题,以了解这三个工具相互比较的优势和使用范围。

重点问题 电子表格 SQL R
这是什么? 一种使用行和列来组织数据并允许通过公式、函数和内置特性进行分析和操作的程序 一种数据库编程语言,用于与数据库通信以进行数据分析 用于统计分析、可视化和其他数据分析的通用编程语言
主要优势是什么? 包括各种可视化工具和特性 允许用户根据需要操纵和重组数据,以帮助分析 提供一种可访问的语言来组织、修改和清理数据框架,并创建深刻的数据可视化
哪些数据集最适合使用? 较小的数据集 更大的数据集 更大的数据集
数据的来源是什么? 手动输入或从外部源导入 从外部数据库访问 安装时用R加载,从计算机导入,或从外部源加载
我的分析数据通常存储在哪里? 在你电脑上的电子表格文件里 在被访问数据库的表内 在你电脑里的R文件里
我是否使用公式和函数?
我可以创建可视化吗? 是的,通过使用额外的工具,如数据库管理系统(DBMS)或商业智能(BI)工具

后面我们开始详细介绍R语言,以及如何使用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Class 00 - 学习编程的方法&不同职业所使用的编程语言 的相关文章

  • 如何替换 Pandas Dataframe 中不在列表中的所有值? [复制]

    这个问题在这里已经有答案了 我有一个值列表 如何替换 Dataframe 列中不在给定值列表中的所有值 例如 gt gt gt df pd DataFrame D ND D garbage columns S gt gt gt df S 0
  • 在 Python 中解析 TCL 列表

    我需要在双括号上拆分以空格分隔的 TCL 列表 例如 OUTPUT 172 25 50 10 01 01 Ethernet 172 25 50 10 01 02 Ethernet Traffic Item 1 172 25 50 10 01
  • 让 VoiceChannel.members 和 Guild.members 返回完整列表的问题

    每当我尝试使用 VoiceChannel members 或 Guild members 时 它都不会提供适用成员的完整列表 我从文本命令的上下文中获取 VoiceChannel 和 Guild 如下所示 bot command name
  • Gunicorn 工作人员无论如何都会超时

    我正在尝试通过gunicorn运行一个简单的烧瓶应用程序 但是无论我做什么 我的工作人员都会超时 无论是否有针对应用程序的活动 工作人员在我设置任何内容后总是会超时timeout值到 是什么导致它们超时 当我发出请求时 请求成功通过 但工作
  • 如何在 Matplotlib 饼图周围绘制箭头以将每个标签指向圆圈中各自的部分?

    我一直在用 Matplotlib 绘制一些图表 我有一个饼图 想要在图表周围绘制箭头 使每个标签都指向图表 我有一个例子 这是我当前的代码 import matplotlib pyplot as plt plt rcParams font
  • 为什么 dataclasses.astuple 返回类属性的深层副本?

    在下面的代码中astuple函数正在执行数据类的类属性的深层复制 为什么它不能产生与函数相同的结果my tuple import copy import dataclasses dataclasses dataclass class Dem
  • 在 Python 中将列表元素作为单独的项目返回

    Stackoverflow 的朋友们大家好 我有一个计算列表的函数 我想单独返回列表的每个元素 如下所示 接收此返回的函数旨在处理未定义数量的参数 def foo my list 1 2 3 4 return 1 2 3 4 列表中的元素数
  • matplotlib 图中点的标签

    所以这是一个关于已发布的解决方案的问题 我试图在我拥有的 matplotlib 散点图中的点上放置一些数据标签 我试图在这里模仿解决方案 是否有与 MATLAB 的 datacursormode 等效的 matplotlib https s
  • pandas DataFrame.join 的运行时间是多少(大“O”顺序)?

    这个问题更具概念性 理论性 与非常大的数据集的运行时间有关 所以我很抱歉没有一个最小的例子来展示 我有一堆来自两个不同传感器的数据帧 我需要最终将它们连接成两个very来自两个不同传感器的大数据帧 df snsr1 and df snsr2
  • 多输出堆叠回归器

    一次性问题 我正在尝试构建一个多输入堆叠回归器 添加到 sklearn 0 22 据我了解 我必须结合StackingRegressor and MultiOutputRegressor 经过多次尝试 这似乎是正确的顺序 import nu
  • Django Rest Framework 是否有第三方应用程序来自动生成 swagger.yaml 文件?

    我有大量的 API 端点编写在django rest framework并且不断增加和更新 如何创建和维护最新的 API 文档 我当前的版本是 Create swagger yaml文件并以某种方式在每次端点更改时自动生成 然后使用此文件作
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新
  • 使用主题交换运行多个 Celery 任务

    我正在用 Celery 替换一些自制代码 但很难复制当前的行为 我期望的行为如下 创建新用户时 应向tasks与交换user created路由键 该消息应该触发两个 Celery 任务 即send user activate email
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • Python 内置的 super() 是否违反了 DRY?

    显然这是有原因的 但我没有足够的经验来认识到这一点 这是Python中给出的例子docs http docs python org 2 library functions html super class C B def method se
  • 嵌套作用域和 Lambda

    def funct x 4 action lambda n x n return action x funct print x 2 prints 16 我不太明白为什么2会自动分配给n n是返回的匿名函数的参数funct 完全等价的定义fu
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • Firebase Firestore:获取文档的生成 ID (Python)

    我可以创建一个新文档 带有自动生成的 ID 并存储对其的引用 如下所示 my data key value doc ref db collection u campaigns add my data 我可以像这样访问数据本身 print d
  • 如何在 Flask 中的视图函数/会话之间传递复杂对象

    我正在编写一个 Web 应用程序 当 且仅当 用户登录时 该应用程序从第三方服务器接收大量数据 这些数据被解析为自定义对象并存储在list 现在 用户在应用程序中使用这些数据 调用不同的视图 例如发送不同的请求 我不确定什么是最好的模式在视
  • 将索引与值交换的最快方法

    考虑pd Series s s pd Series list abcdefghij list ABCDEFGHIJ s A a B b C c D d E e F f G g H h I i J j dtype object 交换索引和值并

随机推荐

  • java什么时候需要用序列化?

    文章目录 一 Java序列化概述 二 什么时候用序列化 三 项目创建很多对象怎么优化 场景 优化思路一 加条件判断 优化思路二 使用clone浅拷贝 一 Java序列化概述 简单说就是为了保存在内存中的各种对象的状态 也就是实例变量 不是方
  • vscode 缩进,取消自动格式化,溢出不换行

    Ctrl P gt 在输入框中输入 settings json 打开第一个 取消自动换行 editor wordWrap off 代码缩进 editor tabSize 4 取消每次保存的时候自动格式化 editor formatOnSav
  • 离散数学:常用的数学符号

    x A x 是 A 的元素 x A x 不是 A 的元素 A B A 是 B 的子集 或 A 包含于 B B 包含 A A B A 是 B 的真子集 A B B 不包含 A 或 A 不包含 B A B A 与 B 有相同的元素 A B A
  • zookeeper的Linux下安装和使用 单机版/集群版

    这个是单节点的 集群的在另一篇文章里做了说明 一 解压zookeeper的tar包 二 到zookeeper的conf目录下 拷贝zoo sample cfg 为zoo cfg 记住名字必须叫zoo cfg root VM 0 7 cent
  • 【高级篇 / SDWAN】(7.0) ❀ 07. DNS 解析最快的宽带优先上网 ❀ FortiGate 防火墙

    自从配置SD WAN之后 很多人反应网速变慢了 打开网站卡半天 你有没有接到过这种投诉 其实这是因为DNS解析的原因 由于多条宽带属于不同的运营商 而运营商自带的DNS对自己宽带的解析很快 但对其它宽带就会报错 所以我们只能使用通用DNS
  • 2021-08-06

    在编译OKVIS中 执行make j8时报错的解决方法 1 根据github上OKVIS的安装步骤一步一步执行 由于github经常进不去 我就进了gitee网站查到OKVIS的安装步骤 参考链接 https gitee com bill4
  • vue 引入 二维码

    vue cli3 动态生成二维码 不带logo的 第一步 先下载插件 npm install qrcodejs2 save 第二步 在需要生成二维码的 页面 导入 import QRCode from qrcodejs2 第三步 在页面中引
  • [云原生专题-34]:K8S - 核心概念 - 网络 - Web服务器与反向代理服务器nginx入门介绍

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122806880 目录 第1章 常见网
  • 深入了解一下C语言scanf()库函数

    目录 一 scanf函数的定义 二 scanf函数的返回值 三 scanf函数的控制符 四 scanf函数控制符的使用 1 一般用法 2 scanf 函数 控制符的用法 2 1 控制符的两种形式 2 2 字符的使用 3 键盘缓冲区残余信息问
  • Confluence 6 管理应用服务器内存设置

    应用服务器中的最小和最大 JVM Heap 空间配置将会影响系统的性能 Confluence 管理员可能希望对默认的配置进行修改 基于你系统的负载不同配置情况也会有所不同 请参考页面 Server Hardware Requirements
  • sed命令常见用法

    常见sed命令的操作 a 增加 在当前行下面增加一行指定内容 c 整行替换 将选定行替换为指定内容 d 删除 删除选定的行 w 将行写入新文件 r 从文件中读取 i 插入 在选定行上面插入一行指定内容 p 打印 如果同时指定行 表示打印指定
  • 五彩斑斓的黑

  • c++操作sqllite

    项目中需要使用的sqllite 有想过使用内存的结果 好像都不大使用 最接近的算是vector了 但是查询方式不大好 而且数据有好几个字段 所以考虑了数据库 sqllite目前已经到了3了 好快 好像这个数据库也不弱 就先用着吧 其实挺简单
  • FPGA—串口RS232(附实现代码)

    目录 1 理论 1 1 串口简介 1 2 RS232信号线 1 3 RS232通信协议简介 2 实操 2 1 硬件资源 2 2 顶层模块 2 2 1 模块说明 2 2 2 RTL 代码 2 2 3 仿真验证 2 3 串口数据接收模块 2 3
  • PyCharm集成SVN,检出、提交代码

    工作需要 使用PyCharm集成SVN 进行代码管理 搜索网上资料 没有讲的很清楚的 自己动手摸索 大致了解了使用方法 遂记录下来 希望他人少走些弯路
  • 比较Opencv自带的frontface检测器

    CascadeClassifier haarcascade frontalface alt new CascadeClassifier xml haarcascade frontalface alt xml CascadeClassifie
  • 【Linux】Linux服务器解决python3.7与openssl的低版本不兼容的问题

    安装了Python3 7之后 遇到的一个很麻烦的坑就是与系统自带的ssl版本不兼容 Python3 7需要的openssl的版本为1 0 2或者1 1 x 这个requirements在config Python3 7的时候使用 with
  • c++栈实现表达式求值

    文章目录 前言 一 思想分析 二 具体实现 前言 后缀表达式的算法思想与具体实现 一 思想分析 设定两个栈 操作数栈 OPND 操作符栈 OPTR 栈初始化 置操作数栈 OPND 为空 操作符栈 OPTR 中预设一个优先级最低的操作符 自左
  • Shell Expect 命令

    expect可以实现shell实现不了的用户交互的需求 expect可以将交互写在一个脚本上 完成很多自动化的动作 比如ssh ftp登陆等 都是需要交互需求的 expect是需要安装的 直接yum y install expect安装即可
  • Class 00 - 学习编程的方法&不同职业所使用的编程语言

    Class 00 学习编程的方法 不同职业所使用的编程语言 学习编程的方法 什么是编程 不同职业所使用的编程语言 数据分析 网页设计 移动应用开发 Web应用开发 游戏开发 Tips 学习编程语言的技巧 从电子表格到 SQL 再到 R 电子