Questions tagged «history»

有关编程和计算历史的问题。

10
为什么在2010-01年度Debian popcon图上Git提交者的数量突然增加?
几乎所有的文章我读过1比较Git和水银好像水银具有较好的命令行UX每个命令仅限于只有一个想法(不像说git checkout)。 但是在某个时候,Git突然变得超级流行,并且Debian popcon图上的Git提交者数量激增(见下图)。 资料来源:Debian 2010-01年发生的事情突然发生了变化。看起来GitHub早于2008年成立。
86 git  history  mercurial 

7
为什么字节为八位的历史是什么?
在决定使用八位组作为基本单位时,历史力量在起作用,需要进行权衡吗? 曾经有一些机器使用其他字长,但是今天对于非八位制,您必须寻找博物馆作品,用于嵌入式应用的专用芯片和DSP。字节是如何从计算机设计早期的混乱和创造力中演变出来的? 我可以想象,更少的位对处理足够的数据以使计算可行无效,而太多的位将导致昂贵的硬件。比赛中还有其他影响吗?为什么这些力量平衡到八位? (顺便说一句,如果我可以花时间旅行,我会回到“字节”被声明为8位的时候,并说服每个人将其变成12位,并用21世纪初期的小饰品贿赂他们。)
86 history  hardware  byte  bit 

3
为什么Python用C而不是C ++编写?
在Python的教程中,可以看到Python的原始实现是在C中实现的; 另一方面,用C编写的Python实现(...) 我很好奇为什么Python是用C而不是C ++编写的? 我想知道此决定的原因,答案应以历史参考为依据(而非基于观点)。


9
第一批编译器是如何制作的?
我总是对此感到疑惑,也许我需要一门关于编程语言的良好历史课程。但是,由于当今大多数编译器都是用C编写的,那么最早的编译器是如何编写的(在C之前是AKA),或者是所有语言都只是被解释了? 话虽这么说,我还是什至不了解第一种汇编语言是如何完成的,我理解什么是汇编语言,但是我看不到他们如何使非常第一的汇编语言起作用(例如,他们是如何使第一命令(如mov R21)或w / e设置为等效的二进制代码?

19
除了它的预定用途以外,是否有任何一种语言因其流行而广受欢迎?
采取这种情况: 程序员创建一种语言来解决某些问题。 然后,他发布了这种语言,以帮助其他人解决类似的问题。 另一个程序员发现,对于某些不同类别的问题,它实际上要好得多。 借助于此新应用程序,该语言随后主要在该应用程序中流行。 是否真的有这种情况发生? 换句话说,语言的预期目的是否与语言的实际使用方式或语言是否流行有关?语言具有广告目的甚至重要吗?

10
现代Web应用程序框架如何以及为什么演变为将URL路由与文件系统分离?
与大约10年前相比,我已经注意到使用路由样式将URL路径与文件系统分离的框架向框架的转变。这通常是在前控制器模式的帮助下完成的。 即,以前,URL路径直接映射到文件系统,因此反映了磁盘上的确切文件和文件夹,如今,实际的URL路径已编程为通过配置定向到特定的类,因此不再反映文件系统文件夹和文件结构。 题 这如何以及为什么变得司空见惯?它如何以及为什么决定将其“更好”到有效地摒弃了曾经司空见惯的直接归档方法? 其他答案 这里有一个类似的答案,有点涉及路由的概念以及一些优点和缺点:对于PHP框架,为什么要使用“路由”概念? 但是,它没有解决历史变化方面的问题,也没有解决这种变化如何或为什么逐渐发生的问题,到如今使用这种新的路由样式模式的新项目几乎都在哪里,而直接归档已经过时或被放弃了。 同样,提到的大多数优缺点似乎不足以保证进行这样的全球变更。我能看到推动这一变化的唯一好处也许是向最终用户隐藏了文件/文件夹系统,并且缺少?param=value&param2=value,这使得URL看起来有点干净。但是,这些是改变的唯一原因吗?如果是,为什么背后有这些原因? 例子: 我最熟悉PHP框架,许多流行的现代框架都使用这种分离的路由方法。为了使其正常工作,您可以在Apache或类似的Web服务器中设置URL重写,在该URL中,通常不再通过直接指向文件的URL路径触发Web应用程序功能。 Zend表现力 https://docs.zendframework.com/zend-expressive/features/router/aura/ https://docs.zendframework.com/zend-expressive/features/router/fast-route/ https://docs.zendframework。 com / zend-expressive / features / router / zf2 / Zend框架 https://docs.zendframework.com/zend-mvc/routing/ 拉拉韦尔 https://laravel.com/docs/5.5/routing CakePHP https://book.cakephp.org/3.0/en/development/routing.html

6
为什么在SQL查询中的“从”之前选择“选择”?[关闭]
这件事让我在学校很困扰。 五年前,当我学习SQL时,我总是想知道为什么我们首先指定想要的字段,然后再指定它们的来源。 根据我的想法,我们应该写: From Employee e Select e.Name 那么,为什么规范说以下内容? Select e.Name -- Eeeeek, what does e mean? From Employee e -- Ok, now I know what e is 我花了数周的时间来理解SQL,而且我知道很多时间都花在了错误的元素顺序上。 就像用C#编写: string name = employee.Name; var employee = this.GetEmployee(); 因此,我认为它具有历史原因。为什么?
67 sql  history  syntax 

10
为什么C胜过Pascal?[关闭]
我的理解是,在1980年代,也许也是在1990年代,Pascal和C在生产语言上几乎是一对一的。 帕斯卡的最终灭亡是仅由于Borland忽视了Delphi吗?还是还有更多的东西,例如运气不好或Pascal固有的错误(希望它复兴)。 我对可以支持的历史事实和观察感兴趣,而不是喜欢和不喜欢。

1
Dijkstra给志愿者做了什么任务,他的论文“谦虚的程序员”中提到了这一点?
在Dijkstra的论文“谦虚程序员”中,他提到自己给一些志愿者解决了一个问题: “我已经对真正有经验的志愿者进行了一些编程实验,但结果出乎意料,出乎意料。我的志愿者中没有一个人找到明显且最优雅的解决方案。经过仔细分析,结果发现有一个共同的来源:他们的重复概念与相关的受控变量要加强的思想紧密联系在一起,以至于他们在精神上看不见明显的事物。他们的解决方案效率低下,不必要地难以理解,并且花了很长时间才找到它们。” Dijkstra给志愿者的问题是什么?有什么解决方案?



14
为什么SQL注入预防机制会演变为使用参数化查询的方向?
在我看来,可以通过以下方式防止SQL注入攻击: 仔细筛选,过滤和编码输入(在插入SQL之前) 使用准备好的语句 /参数化查询 我想每个都有优点和缺点,但是为什么#2脱颖而出,或多或少地被认为是防止注入攻击的实际方法?是更安全,更不容易出错,还是还有其他因素? 据我了解,如果正确使用#1并注意所有警告,它可能与#2一样有效。 消毒,过滤和编码 在清除,过滤和编码的含义上,我感到有些困惑。我要说的是,出于我的目的,以上所有选项都可以考虑作为选项1。在这种情况下,我了解到清理和过滤有可能修改或丢弃输入数据,而编码可以按原样保留数据,但可以对其进行编码适当避免注射攻击。我认为转义数据可以视为对数据进行编码的一种方式。 参数化查询与编码库 有一些答案,其中parameterized queries和的概念encoding libraries可以互换使用。如果我错了,请指正我,但我印象深刻的是它们是不同的。 我的理解是encoding libraries,无论多么出色,他们总是有潜力修改SQL“程序”,因为在发送给RDBMS之前,他们正在对SQL本身进行更改。 Parameterized queries 另一方面,将SQL程序发送到RDBMS,然后优化查询,定义查询执行计划,选择要使用的索引等,然后插入数据,作为RDBMS内部的最后一步本身。 编码库 data -> (encoding library) | v SQL -> (SQL + encoded data) -> RDBMS (execution plan defined) -> execute statement 参数化查询 data | v SQL -> RDBMS (query execution plan defined) -> …


3
“字符串”的词源
因此很明显,一串东西是一系列的东西,因此是一系列字符/字节/等。也可以称为字符串。但是谁首先把它们叫做弦?什么时候?并且在什么情况下它停留在周围?我一直想知道这一点。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.