Questions tagged «language-agnostic»

将此标签用于独立于任何特定编程语言的编程问题。

30
数组与链表
为什么有人要在数组上使用链表? 毫无疑问,对链接列表进行编码比使用数组要花费更多的工作,并且您可能会想知道什么可以证明需要付出额外的努力。 我认为在链表中插入新元素很简单,但这是数组中的一项主要工作。与使用数组存储在数组中相比,使用链表存储还有其他优势吗? 这个问题不是一个重复这个问题,因为在这个问题涉及的一般数据结构的另一个问题是专门关于特定Java类要求。

6
为什么浮点数不正确?
为什么有些数字存储为浮点数时会失去准确性? 例如,十进制数9.2可以精确地表示为两个十进制整数(92/10)之比,两个整数都可以精确地表示为二进制(0b1011100/0b1010)。但是,存储为浮点数的相同比率永远不会完全等于9.2: 32-bit "single precision" float: 9.19999980926513671875 64-bit "double precision" float: 9.199999999999999289457264239899814128875732421875 这样一个看似简单的数字怎么会“太大”而无法在64位内存中表达呢?


24
为什么不将异常用作常规控制流?
为了避免我可能会使用Google的所有标准答案,我将提供一个示例,您可以随意攻击。 C#和Java(和太多的人)有很多类型的一些“溢出”的行为我不喜欢在所有(如type.MaxValue + type.SmallestValue == type.MinValue例如: int.MaxValue + 1 == int.MinValue)。 但是,从我的恶毒天性来看,我会通过将这种行为扩展为“ Overridden” DateTime类型来加重这种伤害。(我知道DateTime它在.NET中是密封的,但是出于这个示例的缘故,我使用的伪语言与C#完全一样,但DateTime没有密封)。 覆盖的Add方法: /// <summary> /// Increments this date with a timespan, but loops when /// the maximum value for datetime is exceeded. /// </summary> /// <param name="ts">The timespan to (try to) add</param> /// <returns>The Date, incremented with …

5
什么是“一流”物品?
在给定的编程语言中,什么时候将对象或其他东西称为“一流”,为什么?它们与没有语言的语言有何不同? 编辑。当一个人说“一切都是对象”时(就像在Python中一样),他的确意味着“一切都是一流的”吗?

15
您能解释一下流的概念吗?
我知道流是字节序列的表示。每个流都提供用于将字节读写到其给定的后备存储的方法。但是流的意义是什么?为什么我们与之交互的后备商店本身不存在? 不管出于什么原因,这个概念都无法满足我的需求。我读了很多文章,但我想我需要一个类比。

7
设计模式:工厂vs工厂方法vs抽象工厂
我正在从网站上阅读设计模式 我在这里读到了有关Factory,Factory方法和Abstract工厂的信息,但是它们是如此混乱,在定义上不清楚。根据定义 工厂-创建对象而不将实例化逻辑暴露给客户端,并通过通用接口引用新创建的对象。是Factory Method的简化版本 工厂方法-定义用于创建对象的接口,但让子类决定要实例化的类,并通过通用接口引用新创建的对象。 抽象工厂-提供用于创建相关对象族的接口,而无需显式指定其类。 我还查看了有关抽象工厂与工厂方法的其他stackoverflow线程,但是在那里绘制的UML图使我的理解更糟。 谁能告诉我 这三种模式有何不同? 什么时候使用? 还有可能的话,是否有与这些模式相关的Java示例?

17
可以将每个递归转换为迭代吗?
一个reddit线程提出了一个看似有趣的问题: 尾递归函数可以简单地转换为迭代函数。其他的可以通过使用显式堆栈进行转换。可以将每个递归转换成迭代吗? 帖子中的(counter?)示例是一对: (define (num-ways x y) (case ((= x 0) 1) ((= y 0) 1) (num-ways2 x y) )) (define (num-ways2 x y) (+ (num-ways (- x 1) y) (num-ways x (- y 1))



23
为什么将变量“ i”和“ j”用于计数器?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它当前不接受新的答案或互动。 我知道这似乎是一个绝对愚蠢的问题,但是我很好奇,不想问... 为什么“ i”和“ j”成为在大多数控制结构中用作计数器的变量? 尽管常识告诉我它们就像X一样,用于表示未知值,但我不禁要认为一定有一个原因,使得每个人都一遍又一遍地以相同的方式被教导。 是因为它实际上是为最佳做法或惯例而推荐的,还是它背后有些晦涩的原因? 以防万一,我知道我可以给他们我想要的任何名称,并且变量名称不相关。

17
最佳一般SVN忽略模式?
什么是最好的(或尽可能好的)通用SVN忽略模式使用? 有许多不同的IDE,编辑器,编译器,插件,平台等特定文件和一些“重叠”的文件类型(即某些类型的项目需要,而其他类型的项目则不需要)。 但是,无论开发环境的具体情况如何,您都绝对不想将大量文件类型自动包含在源代码管理中。 这个问题的答案可以作为任何项目的一个很好的起点-仅要求他们添加一些所需的特定于环境的项目。它也可以适用于其他版本控制系统(VCS)。


24
要学会了解不同的方法和概念的重要语言是什么?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 9年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 当您只有一对断线钳和一瓶伏特加酒时,一切看起来都像沃尔夫·布利策(Wolf Blitzer)船屋门上的锁一样。(如果您不阅读xkcd,请用锤子和钉子代替) 我目前正在编写Clojure,Python,Java和PHP,所以我对C和LISP语法以及空白很熟悉。我知道命令式,功能性,不变式,OOP和几个类型的系统以及其他东西。现在我想要更多! 什么语言采用不同的方法,并且对于选择实用工具或理论理解都将有用? 我不想学习另一种功能语言(Haskell)或另一种命令式OOP语言(Ruby),也不想练习像Brainfuck这样不切实际的有趣语言。 我发现自己很有趣的一件事是像Factor这样的基于单字符堆栈的语言。 只有当我觉得自己能理解大多数概念并回答所有问题时,我才想开始考虑自己的玩具语言以包含我的所有个人喜好。


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.