编程就是调用API?如何成为造轮子的程序员

2023-05-16

是,编程就是调用各种API。

什么是API,就是别人把较复杂的代码封装成一个个函数,你不用管函数怎么实现的,直接用就好。

从这个角度讲,使用所有库,框架,模板,系统,编程语言,其实都是“调用API”。

不管是使用C语言的print语句,还是使用Java开发Android应用,都是在调用API。

比如你刚开始用Java写业务,你觉得Spring、Netty这些就是轮子。

但换个角度,Spring、Netty的作者不还是得依赖Java的API。

再深究一点JVM还是C写的呢,那是不是对Java来说C就是轮子?

再往下细究,C下面是不是还有汇编?汇编对应的是不是就是CPU指令集了?

CPU指令集再向下就是电路(硬件)了,已经脱离软件的范畴了。

所以,如果说不想成为一个API调用者的话,终极解决方案就是去设计CPU指令集,否则终归是要调用别人的API的。


总结:除非你能控制 CPU 里面的电位水平,否则谁不是在调用 API?
从调用 API 中抽象出业务逻辑和领域知识才是程序员的价值!

来源:https://www.zhihu.com/question/353022841

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

编程就是调用API?如何成为造轮子的程序员 的相关文章

  • 关于电机转子初始位置检测的方法

    目录 电机转子检测的目的对位置的几种方法使用d轴电流吸合时的电角度解算使用q轴电流吸合时的电角度解算总结 电机转子检测的目的 电机实现闭环需要电机的转速和转子实际位置的反馈量 其中对于转子位置的反馈量最为麻烦 xff0c 因为电机的转子检测
  • FreeRTOS的学习(三)——中断机制

    FreeRTOS的学习系列文章目录 FreeRTOS的学习 xff08 一 xff09 STM32上的移植问题 FreeRTOS的学习 xff08 二 xff09 任务优先级问题 FreeRTOS的学习 xff08 三 xff09 中断机制
  • 基于F28335的Simulink代码生成(七)——成果展示

    基于F28335的Simulink代码生成系列文章目录 基于F28335的Simulink代码生成 xff08 一 xff09 搞懂模型的运行逻辑 基于F28335的Simulink代码生成 xff08 二 xff09 EPWM模块同步设置
  • FreeRTOS的学习(五)——系统延时

    FreeRTOS的学习系列文章目录 FreeRTOS的学习 xff08 一 xff09 STM32上的移植问题 FreeRTOS的学习 xff08 二 xff09 任务优先级问题 FreeRTOS的学习 xff08 三 xff09 中断机制
  • FreeRTOS的学习(六)——系统时钟

    FreeRTOS的学习系列文章目录 FreeRTOS的学习 xff08 一 xff09 STM32上的移植问题 FreeRTOS的学习 xff08 二 xff09 任务优先级问题 FreeRTOS的学习 xff08 三 xff09 中断机制
  • FreeRTOS的学习(七)——2.队列入队源码分析

    FreeRTOS的学习系列文章目录 FreeRTOS的学习 xff08 一 xff09 STM32上的移植问题 FreeRTOS的学习 xff08 二 xff09 任务优先级问题 FreeRTOS的学习 xff08 三 xff09 中断机制
  • 温故知新(六)——状态观测器

    目录 1 什么是状态观测器 2 Luenberger状态观测器 1 什么是状态观测器 为了对系统实现状态反馈 xff0c 状态观测器应运而生 状态观测器是一种通过原受控系统的输入 输出量来重新构建一个与原系统相似的动态系统 它的输出信号的状
  • FreeRTOS的学习(八)——4.互斥信号量

    FreeRTOS的学习系列文章目录 FreeRTOS的学习 xff08 一 xff09 STM32上的移植问题 FreeRTOS的学习 xff08 二 xff09 任务优先级问题 FreeRTOS的学习 xff08 三 xff09 中断机制
  • FreeRTOS的学习(十三)——任务创建

    FreeRTOS的学习系列文章目录 FreeRTOS的学习 xff08 一 xff09 STM32上的移植问题 FreeRTOS的学习 xff08 二 xff09 任务优先级问题 FreeRTOS的学习 xff08 三 xff09 中断机制
  • FreeRTOS的学习(十四)——PendSV异常

    FreeRTOS的学习系列文章目录 FreeRTOS的学习 xff08 一 xff09 STM32上的移植问题 FreeRTOS的学习 xff08 二 xff09 任务优先级问题 FreeRTOS的学习 xff08 三 xff09 中断机制
  • adb命令大全

    目录 基本用法 命令语法 为命令指定目标设备 启动 停止 查看 adb 版本 以 root 权限运行 adbd 指定 adb server 的网络端口 设备连接管理 查询已连接设备 模拟器 USB 连接 无线连接 xff08 需要借助 US
  • Sallen-Key二阶低通滤波器——设计问题浅析

    目录 前言1 Sallen Key二阶低通滤波器结构2 截止频率3 结语 前言 这两天接了个简单的活 xff0c 关于设计一个Sallen Key二阶低通滤波器 xff0c 有一些体会 1 Sallen Key二阶低通滤波器结构 这个结构很
  • VsCode之常见操作01 修改背景颜色

    改变 Vscode的背景颜色 file 61 61 gt preferences 61 61 gt color theme 分别提供了亮色 xff0c 暗色主模版 也可以使用 快捷键 crtl 43 k crtl 43 t 61 61 gt
  • 学习Java一年的心得体会

    趁着这个时间 xff0c 写下我这一年来学习Java的总结 从17年的7月13号至今 xff0c 已经入坑一年了 xff0c 有汗水也有收获 最开始是在淘宝买了个五块钱的JAVA视频教程 xff0c 有基础 xff0c 进阶以及一些实战 说
  • 《Python数据结构与算法分析》读书笔记三——基本数据结构(一)

    文章目录 3 1 本章目标3 2 何谓线性数据结构3 3 栈3 3 1 何谓栈3 3 2 栈抽象数据类型3 3 3 用Python实现栈3 3 4 匹配括号3 3 5 普通情况 xff1a 匹配符号3 3 6 将十进制数转换成二进制数3 3
  • C++数据结构与算法——哈希表实现(链式法)

    解决散列冲突 文件结构字典类概念代码 哈希类概念代码 有序链表概念代码 哈希表实现概念代码 测试主函数代码输出 文件结构 字典类 概念 代码 span class token comment dictionary h span span c
  • Ubuntu编译安装LLVM(13.0.1)

    参考官方教程 xff1a https llvm org docs GettingStarted html 环境要求 我的电脑是Ubuntu 20 04虚拟机 xff0c 看一下官网的要求 xff1a 硬件要求 xff1a 软件要求 xff1
  • Ubuntu 20.04 安装docker报错

    在下载公钥后运行sudo apt update报错 xff0c 错误如图 xff1a 试了这两种方法都不好使 xff1a span class token function sudo span apt key adv keyserver k
  • 超声波传感器知识(第四部分):测量精度的影响

    摘要 xff1a 对于超声波传感器 xff0c 测量精度通常是指模拟输出的测量值的绝对精度 基于回波传输时间 xff0c 超声波传感器的测量精度依靠数个物理参数 这些参数通常与空气和内部偏差相关 对于超声波传感器 xff0c 测量精度通常是
  • STM32学习之旅④ USART串口和上位机通信

    STM32系列博客 xff1a STM32学习之旅 开发环境搭建STM32学习之旅 固件库的使用及工程模板的建立STM32学习之旅 从点灯到代码移植STM32学习之旅 USART串口和上位机通信STM32学习之旅 SPI控制TFT xff0

随机推荐

  • STM32-F407入门学习专题(五) STM32外设之DMA

    目录 1 DMA 2 DMA功能框图 2 1 外设通道选择 2 2 仲裁器 2 3 FIFO 2 4存储器端口 外设端口 3 DMA传输配置 1 DMA DMA xff08 Direct Memory Access xff09 xff0c
  • Linux修改用户名主机名

    首先修改主机名 george 64 George JI sudo vi etc hostname sudo password for george Daiver 修改hosts文件 george 64 George JI sudo vi e
  • SVO2安装,编译和运行q

    一 编译环境配置及安装 github address GitHub uzh rpg rpg svo pro open SVO2是在SVO的基础上的升级版 xff0c 其与SVO的不同在于 xff1a 1 SVO2 0支持透视 xff0c 鱼
  • 【统计学】Q1、Median、Q3含义

    五数概括法 xff08 Five number Summary xff09 是一种对数据离散程度的描述方法 1 Min xff1a 最小值 xff1b 2 Q1 xff1a 第一四分位数 xff08 又称 xff1a 下四分位数 xff0c
  • 【Android安全】Android app开发者证书和代码签名机制

    参考链接 xff1a 安卓证书相关验证机制 xff1a https duanqz github io 2017 09 01 Android Digital Signature xff08 部分内容不准确 xff09 关于META INF文件
  • 【Android安全】IDA 处理伪代码JUMPOUT指令(Undefine + Create Function)

    IDA 处理伪代码JUMPOUT指令 函数被IDA错误合并 IDA分析so时 xff0c 可能会遇到反编译结果不准确的情况 xff0c 如下 xff1a 这里的两个JUMPOUT其实解析有问题 xff0c 如下 xff1a 例如loc 18
  • 【Android安全】小米8刷机、救砖、root教程

    线刷 xff1a 通过计算机上的刷机软件把ROM 通过数据线传输 并安装到手机内存中 ROM包以tgz为后缀 卡刷 xff1a 把所需要的ROM下载或者复制到内存 SD卡根目录中 小米8救砖教程 xff08 线刷 xff09 按照https
  • 【Android抓包】Ubuntu mitmProxy配置

    Ubuntu 安装 mitmProxy 直接使用编译好的二进制包 参考 xff1a https cuiqingcai com 31053 html Linux E4 B8 8B E7 9A 84 E5 AE 89 E8 A3 85 直接下载
  • 【CSDN】查看自己的CSDN积分

    查看自己的CSDN积分 如何查看自己的CSDN博客积分 CSDN藏的比较深 xff0c 链接如下 xff1a https mp csdn net mp blog analysis article all CSDN博客积分与博客等级 参考 x
  • 【符号输入】打出撇号′

    打出撇号 撇号 xff08 apostrophe xff09 xff1a 搜狗输入法调成中文 xff0c 输入fen xff0c 第5个就是撇号
  • 【Android安全】xiaomi手机关闭adb安装应用时的确认提示

    xiaomi手机关闭adb安装应用时的确认提示 为了自动化测试 xff0c 需要关闭adb安装应用时的确认提示 需要分两步来关闭 xff1a 首先 xff0c 开发者选项 gt 启动MIUI优化 gt 关闭 xff08 第一步过后授权管理
  • 【python】报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte in position : illegal multibyte

    python读文件时报错 xff1a Traceback span class token punctuation span most recent call last span class token punctuation span F
  • STM32介绍

    目录 STM32 分类 STM8 和 STM32 分类 STM32 命名方法 STM32F103RCT6 寻找 IO 的功能 存储器映射 存储器 Block0 内部区域功能划分 存储器 Block1 内部区域功能划分 存储器 Block2
  • Putty串口打开无反应

    第一次使用putty的串口 xff0c 可能理所当然认为在Serial那里设置好参数 xff0c 然后点击Open就行了 但是显然不是 xff0c Putty的UI设计有问题 xff0c 不管你点击哪一个项 xff0c Open按钮始终都存
  • 【Android安全】r0capture使用

    r0capture使用 下载地址 xff1a https github com r0ysue r0capture 手机端启动frida server PC端安装frida client 命令 xff1a python r0capture s
  • MobaXterm或Xshell连接不上虚拟机ubuntu

    MobaXterm使用教程 xff1a MobaXterm官网下载 MobaXterm使用教程1 MobaXterm使用教程2 Xshell 使用教程 xff1a 恒源云远程登录Linux实例 包含下载地址和使用教程 Xshell使用教程
  • 591 标签验证器(模拟、栈匹配括号)

    1 问题描述 xff1a 给定一个表示代码片段的字符串 xff0c 你需要实现一个验证器来解析这段代码 xff0c 并返回它是否合法 合法的代码片段需要遵守以下的所有规则 xff1a 代码必须被合法的闭合标签包围 否则 xff0c 代码是无
  • 算法:最长公共子序列

    10 8算法实验报告 最长公共子序列 题目 输出两个字符串的最长公共子序列 要求1 不使用辅助数组 span class token comment 要求1 xff1a 不使用辅助数组 span span class token keywo
  • 呆呆和你谈谈入职CVTE一个月的感受

    呆呆和你谈谈入职CVTE一个月的感受 你盼世界 xff0c 我盼望你无bug Hello 大家好 xff01 我是霖呆呆 xff01 啊啊啊啊啊 至6 18日入职新公司CVTE已经一个多月了 xff0c 在 你盼世界 xff0c 我盼望你无
  • 编程就是调用API?如何成为造轮子的程序员

    是 xff0c 编程就是调用各种API 什么是API xff0c 就是别人把较复杂的代码封装成一个个函数 xff0c 你不用管函数怎么实现的 xff0c 直接用就好 从这个角度讲 xff0c 使用所有库 xff0c 框架 xff0c 模板