Questions tagged «language-agnostic»

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


30
GOTO仍然被认为有害吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 5年前关闭。 改善这个问题 每个人都知道Dijkstra写给编辑的信:转到被认为是有害的声明(也在此处是 .html成绩单和此处 .pdf),并且自那时以来一直在大力推动以尽可能避免使用goto声明。尽管可以使用goto生成无法维护的庞大代码,但仍保留在现代编程语言中。甚至Scheme中的高级连续控制结构也可以描述为复杂的goto。 什么情况下需要使用goto?什么时候最好避免? 作为后续问题:C提供了一对函数setjmp和longjmp,它们不仅可以在当前堆栈帧中而且可以在任何调用帧中转到。这些应该像goto一样危险吗?更危险吗? 迪克斯特拉本人对此感到遗憾,对此他不负责。在EWD1308的末尾(也在此处 .pdf),他写道: 最后是一个短故事,供记录。1968年,ACM通讯发布了我的文本,标题为“ goto声明被认为是有害的 ”,在后来的几年中,我的文本经常被引用,但是遗憾的是,经常看到这些文本的作者对此一无所知。标题,通过成为模板,成为了我成名的基石:我们几乎可以在X上看到标题为“ X认为有害”的各种文章,其中包括标题为“ Dijkstra认为有害”的文章。但是发生了什么事?我已经提交了标题为“ 反对goto陈述的案例 ”的论文为了加快出版速度,编辑将其更改为“编辑的信”,并在此过程中为其赋予了自己的发明的新标题!编辑是Niklaus Wirth。 与Dijkstra相匹配的,经过深思熟虑的经典论文是Donald E. Knuth撰写的结构化编程与go to语句。阅读既有助于重新建立上下文,也有助于对主题的非教条式理解。在本文中,Dijkstra对于此案的观点得到了报道,并且更加有力: 唐纳德·E·努斯(Donald E. Knuth):我相信提出这种观点实际上并不与迪杰斯特拉的想法完全不同意,因为他最近写了以下文章:“请不要陷入相信我对[去发言。我有不舒服的感觉,其他人正在一个宗教出来,仿佛编程的概念问题可以通过一个单一的技巧来解决,通过编码规则的简单形式! “


11
球对球碰撞-检测和处理
在Stack Overflow社区的帮助下,我编写了一个非常基本但有趣的物理模拟器。 单击并拖动鼠标以启动球。它会反弹并最终停在“地板”上。 我要添加的下一个重要功能是球与球之间的碰撞。球的运动分为轴速度和y速度向量。我有重力(每个步骤y向量的小减小),我有摩擦力(每个与壁碰撞的两个向量的小减小)。球以令人惊讶的现实方式诚实地移动。 我想我的问题分为两个部分: 检测球与球碰撞的最佳方法是什么? 我是否只有O(n ^ 2)循环遍历每个球并检查其他每个球以查看其半径是否重叠? 我使用什么方程式来处理球与球之间的碰撞?物理101 如何影响两个球的x / y向量速度?两个球朝哪个方向前进?如何将此应用于每个球? 处理“墙”的碰撞检测和所产生的矢量变化很容易,但我发现球与球之间的碰撞会更加复杂。对于墙,我只需要取适当的x或y向量的负值,然后沿正确的方向走即可。对于球,我认为不是那样。 一些快速的澄清:为简单起见,我现在可以进行完全弹性的碰撞,而且我的所有球现在都具有相同的质量,但将来可能会改变。 编辑:我发现有用的资源 带矢量的2d球物理:没有Trigonometry.pdf的 二维碰撞。pdf2d球碰撞检测示例:添加碰撞检测 成功! 我的球碰撞检测和响应效果很好! 相关代码: 碰撞检测: for (int i = 0; i < ballCount; i++) { for (int j = i + 1; j < ballCount; j++) { if (balls[i].colliding(balls[j])) { balls[i].resolveCollision(balls[j]); } } …


20
Stack Overflow如何生成其SEO友好的URL?
什么是一个很好的完整正则表达式或其他带有标题的过程: 您如何将标题更改为URL的一部分,例如Stack Overflow? 然后变成 how-do-you-change-a-title-to-be-part-of-the-url-like-stack-overflow Stack Overflow上的SEO友好URL中使用了什么? 我正在使用的开发环境是Ruby on Rails,但是如果还有其他特定于平台的解决方案(.NET,PHP和Django),我也希望看到这些。 我确信我(或其他读者)会在不同的平台上遇到相同的问题。 我正在使用自定义路由,我主要想知道如何将字符串更改为所有特殊字符都被删除,全部为小写字母并替换所有空格。

20
根据背景色确定字体颜色
给定一个系统(例如网站),该系统可让用户自定义某个部分的背景颜色,而不自定义字体颜色(将选项的数量保持在最低限度),因此可以通过编程方式确定“浅色”还是“深色”字体颜色是必要的吗? 我敢肯定有一些算法,但是我对颜色,亮度等还不够了解,无法靠自己解决。

13
使用的是ORM还是纯SQL?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 5年前关闭。 改善这个问题 对于我开发的某些应用程序(后来逐渐忘记了),我一直在编写纯SQL,主要是针对MySQL。尽管我在SQLAlchemy之类的python中使用过ORM ,但是我并没有坚持很长时间。通常这是文档或复杂性(从我的角度来看)使我退缩。 我这样看:如果要使用一种数据库,则使用ORM进行可移植性,使用普通SQL。我真的在寻求有关在开发需要数据库支持的应用程序时何时使用ORM或SQL的建议。 考虑一下,与使用ORM相比,仅使用轻量级包装器来处理数据库不一致会更好。


12
一个Unicode字符占用多少字节?
我对编码有点困惑。据我所知,旧的ASCII字符每个字符占用一个字节。Unicode字符需要多少个字节? 我假设一个Unicode字符可以包含任何语言的所有可能字符-我正确吗?那么每个字符需要多少个字节? UTF-7,UTF-6,UTF-16等是什么意思?它们是Unicode的不同版本吗? 我阅读了有关Unicode的Wikipedia文章,但对我来说却很难。我期待看到一个简单的答案。

2
为什么处理排序数组要比未排序数组慢?
我有500000个随机生成的Tuple<long,long,string>对象的列表,在这些对象上执行简单的“之间”搜索: var data = new List<Tuple<long,long,string>>(500000); ... var cnt = data.Count(t => t.Item1 <= x && t.Item2 >= x); 当我生成随机数组并为100个随机生成的值运行搜索时x,搜索将在大约四秒钟内完成。知道排序确实会对搜索产生很大的影响,但是,我决定在运行100次搜索之前先对数据进行排序Item1,然后再按,再按Item2,最后按Item3- 进行排序。由于分支预测,我希望排序后的版本执行得更快:我的想法是,一旦到达Item1 == x,所有进一步的检查t.Item1 <= x都会正确地预测分支为“ no take”,从而加快分支的尾部。搜索。令我惊讶的是,在排序数组上进行搜索的时间是原来的两倍! 我尝试切换实验顺序,并为随机数生成器使用了不同的种子,但是效果是一样的:在未排序的数组中搜索的速度几乎是在同一数组中搜索速度的两倍,但是排序! 有谁能很好地解释这种奇怪的影响?我测试的源代码如下;我正在使用.NET 4.0。 private const int TotalCount = 500000; private const int TotalQueries = 100; private static long NextLong(Random r) { var data …

9
'foo'到底是什么意思?
我希望这可以看作是一个编程问题,因为在任何编程教程中,您最终都会在代码示例中遇到“ foo”。(是的,对吧?) 'foo'到底是什么意思? 如果它的意思是什么,什么时候才开始使用它?



5
什么是ORM,它如何工作,应该如何使用?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 去年关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 有人建议我将ORM用于我正在设计的项目,但是我在查找有关其内容或工作方式方面遇到困难。 谁能给我关于ORM是什么以及它如何工作以及我应该如何开始使用它的简短解释?

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.