计算机答题串无名氏No.63704741 返回主串
2024-09-08(日)13:12:19 ID:6S0Btd7 回应
po近期处于待业期,没什么固定的项目做,希望能够在答疑的过程强迫自己学习新的知识。
欢迎各位提问,也欢迎肥哥参与答疑串。
----------告示----------
答疑的效率不高,所以希望肥哥别问需要很强的及时性的问题。
例如:
>xxx题用什么算法解决。
>我这里有个报错,如何解决。
这类的问题,没有测试环境很难解答,这也是为什么本串放在了老中医而不是代码串。
本串主要用于解答相对抽象的概念,或者对计算机的“质疑”与“好奇”。
例如:
>为什么计算机使用的是二进制而不是三进制,分明三进制的单位信息存储量更大。
>如何看待AI发展对计算机行业的冲击,未来就业会更困难吗?
po会尽量去吸取相关的知识,汇总后进行分析解答。
提出问题过一段时间来收获结果就好。
----------叠甲----------
人无完人,观点与知识也不尽然,po会尽量保证结论的可信度与逻辑性,若出现疏漏欢迎肥哥指正,望海涵。
无标题无名氏No.63707863
2024-09-08(日)19:15:19 ID: 6S0Btd7 (PO主)
>>No.63705120
首先要说明的是“先有数据库,再有数据库语言”。
所以以下会先聊数据库问题( ´∀`)
肥哥提到了效率问题。>>No.63706936
>关于效率问题的基本解释
大多数情况下越高级的语言在实现某项功能时会有更差的执行性能。
原因是高级语言通常是由低级语言实现的,在低级语言形成高级语言的过程中,会添加较多的“降低出错概率”的检测机制,相关机制增强了高级语言的可读性,但是添加了这些“步骤”的情况下,语言的“直接运行效率”就会受到影响。
效率先简单聊一下,如果觉得不太清楚可以追问,我会详细解释效率降低的原因。
>关于“为什么大部分语言可以实现数据创建与存储,还要专门设计`数据库语言`。”
这里分为三点解释。
1.为什么设计数据库而不是直接进行数据存储。
在进行数据存储时,我们并不是简单的“存进去”就好了,在实际的实现中,需要考虑程序的时间复杂度与空间复杂度等相关问题。(相关参考学科为:软件工程原理)
如何更快的查询到某一个具体数据,在数据量较低的情况下,差异是不明显。
但当数据体量达到了是十亿百亿级别,百分之一的差异也是极其显著的,能够明显降低存储与查询成本的。
那么如何快速的进行查询,简单的进行存储就是一门较为高深的学科,而数据库就是一群精于此学科的人,设计出来的效率较高的数据存储软件,这是数据库的产生原因。
2.为什么设计“数据库语言”。
能够理解问题1的情况下,本问题就很好解答了。
设计出来的程序如何调用?
这就需要有“数据库语言”来实现,相当于提供了一个统一的数据调用接口,只不过它有一定的解析能力,让你看起来像是“数据库语言”罢了,实际上是符合特定结构的调用指令,和肥哥平常自己写的代码,对外提供的接口没有区别。
3.那么我们是否可以其他语言去实现数据库的功能呢?
答案是可以,但是没必要。
计算机是一个庞杂的学科,我们不可能精通于其中的每一项工作,那么直接使用其他顶尖人才创建好的现有产品,是一个很简单的降低我们开发成本的行为。
我们没必要投入过多精力到“开发一个存储数据的模块”这件事上去,让更多的精力聚焦于我们想要实现的功能,这就是相互调用与模块化的意义。
简单总结就是:
可以实现,但是别人设计的程序专精于数据存储领域,直接使用“数据库语言”实现数据库的即可,没必要投入重复实现已有的功能。
PS:题外话,实际上po工作过的较为大型的企业都会开发属于自己的数据库,因为大家对于数据的调用需求与方式不同,现有的数据库已经不满足他们的数据调用需求。
无标题无名氏No.63708289
2024-09-08(日)19:44:11 ID: 6S0Btd7 (PO主)
>>No.63705123
可以先看一下:
>>No.63705773 后半段 与>>No.63707863的“关于效率问题的基本解释”
这两个解释思路相似,即大多数“高级语言”并不直接作用于硬件,而C距离硬件相对近一些。
以下为相对详细的解释。
>编程语言对硬件的操作性到底是如何体现的
这里其实是肥哥对于“编程语言”的定义认知不够清晰导致的。
我们对“编程语言”简单分类可以分为三类。
机器语言:作用于硬件,机器可以“直接理解”运行的语言,无需编译,在硬件中已经写好了对应的运行逻辑。
低级语言:通常是指汇编语言,微处理器与微控制器等,对应不同的机器语言集,也就是说可以通过微处理器翻译成硬件再让硬件“理解”。
高级语言:即“高度封装的编程语言”。C、python、java、golang、rust等皆在此列,但是高级语言中也有“相对低级”与“相对高级”的说法,这个与语言的封装程度有关。
我们用python与C举例,相当多的python包的底层逻辑是使用C实现的,我们做一个极简的类比。(不绝对正确,只是方便理解。)
一个python程序要操作硬件。
步骤是python->c->汇编语言->机器语言。
一个C程序需要操作硬件。
步骤是c->汇编语言->机器语言。
可以明显的看到直接使用C会省去python-c的过程。
所以对于“编程语言对硬件的操纵性到底是如何体现的”这点,我们可以定义为“程序对于硬件的调用需要经过哪些步骤”,来抽象量化。
>为什么说C语言对硬件的操纵能力较好
能够理解上一个问题,这部分就好理解了,因为C语言比其他的语言“更低级”,它几乎只是汇编语言的简单封装,所以“翻译”成机器语言的路径更短。
那么如何简单判断语言是否“低级”呢,我们可以通过语言的解析流程与可读性去分析,通常可读性越低的语言,性能越高。
因为通常对人类来说易读的东西,对机器来说很难理解,但是对机器来说易读的东西,对人类来说很难理解。
所以如果肥哥想分析自己学习的语言“效率”如何,可以通过分析其转化为汇编语言期间需要的路径来实现简易分析。| ω・´)
无标题无名氏No.63708441
2024-09-08(日)19:57:05 ID: 6S0Btd7 (PO主)
>>No.63706281
我看了一下前两位肥哥的解释,已经蛮清楚的了,有解释也有例子。(*゚∇゚)
我来做一些直接解释的补充。
在计算机中,“环境”一词通常是指程序运行时需要的一系列条件与设置。
条件可能是网络条件、硬件条件、也可能是软件条件。
我们需要调整这些条件使得软件处于一个可以运行的“情景” 这种可运行“情景”,我们称之为“环境”。
所以“环境”可以简单的定义为“程序运行的情景”,而“配置环境”就是“调试情景”,目的是使程序处于可以运行的环境状态。
>举例
程序运行需要python环境。
解释为:程序需要运行在一个存在python应用并且系统知晓python应用的使用路径的情景下。
这样就是为什么我们需要下载python应用并且配置系统路径。
可以理解为一种属于计算机的“黑话”,翻译出来太长大家懒得说罢了|∀` )
无标题无名氏No.63708504
2024-09-08(日)20:01:38 ID: 6S0Btd7 (PO主)
多谢肥哥的提问,让我复习了一下计算机原理与软件工程原理。
目前没有新的问题,我直接进行一个dota2的启动!( ゚ 3゚)
无标题无名氏No.63710010
2024-09-08(日)22:16:50 ID: 6S0Btd7 (PO主)
>>No.63708522
迟来了三分钟但是需要等很久,这就是缘分( ゚ 3゚)
这个问题描述没太看懂具体要问的目的,我理解为:
希望知道对这个损失函数进行SGD,这个SGD采样的目标是样本还是函数。
不知道这样理解是否正确。
我把这个问题送给我AI在读的朋友了,回答会迟一些。
AI属于我的盲区( ・_ゝ・),我顺便学习一下。
无标题无名氏No.63710210
2024-09-08(日)22:34:10 ID: 6S0Btd7 (PO主)
>>No.63710010
问题稍微有点模糊,和朋友没太讨论出结果,这个函数是误差值取平均值,作为误差值也就是有限和。
SDG是随机梯度下降策略,根据随机样本损失函数梯度对获得参数进行优化。
也就是对样本进行采样,目的是优化函数,并不是对函数进行采样。
只能先提供这么多信息,需要进一步明晰问题|-` )
无标题无名氏No.63710256
2024-09-08(日)22:38:50 ID: 6S0Btd7 (PO主)
>>No.63708547
server系列服务器是windows提供给企业用户的系统,相对于普通windows,提供了更多的虚拟化,安全性等服务器更看重的特性。
服务器上用windows基本上就是这个系列的系统。
算法需要系统支持我没见过这种情景,一般是应用有服务器版本需求。
windows server的兼容性不错,可以运行一下试试,出问题再去针对性调整。
无标题无名氏No.63710397
2024-09-08(日)22:49:47 ID: 6S0Btd7 (PO主)
>>No.63708578
目前开发游戏的引擎主要还是Unity 使用的是C#、unreal engin 使用的是C++、RPG maker用到是ruby。
每种引擎的特性不一样,针对的游戏类型也不一样。
如果想独立开发的话,推荐先想想自己想做什么类型的游戏,而后针对性进行引擎挑选与学习。
极其不建议直接从无引擎开始,学习成本过高。
不过学了java学别的也不会很困难,写代码是做游戏过程中最简单的一步,加油| ω・´)
无标题无名氏No.63710410
2024-09-08(日)22:50:39 ID: 6S0Btd7 (PO主)
>>No.63710251
和朋友没聊那么多,明天我再多看点paper再来和肥哥沟通相关问题(;´Д`)
学无止境。