Questions tagged «language-agnostic»

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

2
在哪里可以学习编写词法分析器的基础知识?
我想学习如何编写词法分析器。我的大学课程有一个任务,我们必须编写一个解析器(和一个词法分析器一起使用),但这是在没有指导或反馈的情况下(超出标准)提供给我们的,所以我并没有从中学到太多。 在搜索了此主题之后,我只能找到相当高级的文章,这些文章着重于我认为比我所处的位置要走几步的领域。我想讨论一种为非常简单的语言编写词法分析器的基础知识,我可以以此为基础来研究标记更复杂的语言。 在此阶段,我对最佳实践或优化技术并不真正感兴趣,而宁愿关注重点。有什么好的资源可以帮助我入门?

14
选择用于学习数据结构和算法的编程语言[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 3年前关闭。 改善这个问题 的编程语言,你会推荐学习有关数据结构和算法吗? 考虑以下内容: 个人经验 语言功能(指针,OO等) 适用于学习DS和A概念 我问是因为那里有一些与编程语言无关的书(从数学角度编写,并使用伪代码)。如果我从其中一种中学到东西,那么我想选择一种编程语言来编写代码并运行算法。 然后,还有其他书籍介绍了DS&A概念,并以特定的编程语言编写了示例-我也想对这些算法进行编码-因此,在某种程度上,该语言也很适合。 无论哪种方式,我都必须选择一种语言,并且我希望始终坚持使用一种语言。撇开个人语言偏好,哪个最适合此目的?


6
为什么反射被称为反射而不是自省?
反射一词的由来是什么?似乎更像是内省。为什么不叫它呢? 内省:向内看; 特别是自我检查的行为或过程。 反射: 反映的行为或反映的状态。 一个图像; 表示; 对应物 对某事的想法的固定;详细的思考 考虑或冥想中出现的思想

26
您如何阻止临时解决方案永远持续下去?
说一个问题有两种可能的解决方案:第一种是快速但笨拙的。第二种是可取的,但实施起来将需要更长的时间。您需要快速解决问题,因此您决定尽快解决该问题,并计划在以后开始研究更好的解决方案。问题是,一旦问题得到缓解,它就会急剧下降到待办事项清单中。您仍然计划在某个时候提供更好的解决方案,但是很难证明现在就实施它是合理的。突然之间,您发现使用了效果不理想的解决方案已经花费了五年时间,并且诅咒了一段时间。 这听起来很熟悉吗?我知道在我工作的地方不止一次。一位同事描述,故意制作不良的GUI,以便长期使用它不会偶然。您有更好的策略吗?

21
获取应用程序的路径
最近,我搜索了如何在Java中获取应用程序的目录。我终于找到了答案,但是我需要很长的时间,因为搜索这样一个通用术语并不容易。我认为最好用多种语言来汇编如何实现此目的的列表。 如果您(不喜欢)这个主意,可以随意上/下投票,如果您喜欢,请贡献力量。 澄清: 在包含可执行文件的目录和当前工作目录(pwd在Unix下,由给定)之间有很好的区别。我最初对前者感兴趣,但也可以随意发布确定后者的方法(阐明您的意思)。

7
O(N log N)复杂度-与线性相似吗?
所以我想问这个琐碎的问题会被埋葬,但是我对某些事情有些困惑。 我已经用Java和C实现了quicksort,并且正在做一些基本的比较。该图显示为两条直线,C超过Java对应的100,000个随机整数快4毫秒。 我的测试代码可以在这里找到; android基准测试 我不确定(n log n)行是什么样子,但我不认为这是直线。我只是想检查这是否是预期的结果,并且我不应该尝试在我的代码中发现错误。 我将公式粘贴到excel中,对于以10为底的基数,它似乎是一条直线,一开始就有些扭结。这是因为log(n)和log(n + 1)之差线性增加吗? 谢谢, 加夫

13
检测波浪中的图案
我正在尝试从心电图读取图像并检测其中的每个主要波(P波,QRS复波和T波)。现在,我可以读取图像并得到一个代表(4.2; 4.4; 4.9; 4.7; ...)的矢量,代表心电图中的值,这是问题的一半。我需要一种算法,该算法可以遍历此向量并检测何时每个波开始和结束。 这是其中一个图表的示例: 如果它们始终具有相同的大小,则很容易,但是它不起作用,或者我知道心电图会产生多少波,但它也可以变化。有人有想法吗? 谢谢! 更新中 我要实现的示例: 鉴于浪潮 我可以提取向量 [0; 0; 20; 20; 20; 19; 18; 17; 17; 17; 17; 17; 16; 16; 16; 16; 16; 16; 16; 17; 17; 18; 19; 20; 21; 22; 23; 23; 23; 25; 25; 23; 22; 20; 19; 17; 16; 16; …

24
Code Golf:康威的人生游戏
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 挑战:编写实现John H. Conway的Game of Life细胞自动机的最短程序。[链接] 编辑:经过对竞争的一个星期,我选择了一个胜利者:pdehaan,管理由击败了Matlab解决一个字符用Perl。 对于那些还没有听说过“生命游戏”的人,您可以选择一个正方形的网格(理想情况下是无限个)。细胞可以是活的(填充的)或死亡的(空的)。通过应用以下规则,我们可以确定在下一个步骤中哪些细胞仍然存在: 任何具有少于两个活邻居的活细胞都会死亡,好像是由于人口不足造成的。 任何具有三个以上活邻居的活细胞都会死亡,就像人满为患一样。 任何有两个或三个活邻居的活细胞都可以存活到下一代。 具有正好三个活邻居的任何死细胞都将变成活细胞,就像通过繁殖一样。 您的程序将读取指定为命令行参数的40x80字符的ASCII文本文件,以及要执行的迭代次数(N)。最后,它将在N次迭代后将系统状态输出到ASCII文件out.txt。 这是运行相关文件的示例: in.txt: ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ..................................XX............................................ ..................................X............................................. .......................................X........................................ ................................XXXXXX.X........................................ ................................X............................................... .................................XX.XX...XX..................................... ..................................X.X....X.X.................................... ..................................X.X......X.................................... ...................................X.......XX................................... ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ ................................................................................ …


30
版本控制入门
我需要实现版本控制,即使是在家中进行开发也是如此。我已经阅读了有关Subversion在过去几年中的出色表现,并打算全力以赴地学习这一知识,直到我听说Git是即将推出的版本控制系统。 在这种情况下,我应该推迟一下,看看哪一个排名第一吗?它们的相对优势是什么? 我注意到Git的一个问题是功能齐全的GUI并不多,这对我团队中的许多用户而言都很重要。 同样,不介意关于如何开始使用另一种的建议。(教程等)

13
如何设计可扩展软件(插件体系结构)?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 改善这个问题 我需要一些资源来谈论如何将软件设计为可扩展的,即让其他人可以编写可为其添加功能的附件/插件。 你有什么建议吗?有没有讨论该主题的书? 我希望简短而切合实际的东西;一些理论和一些具体的例子。 我没有针对特定的语言,我希望能够理解核心思想,以便可以用任何一种语言来实现它。 并且出于同样的原因,我不希望使用其他人构建的框架(除非该框架不是非常高级,即不会隐藏太多),此刻我只想对自己进行主题并尝试各种实现方式。另外,框架通常假设用户对主题的了解。 更新 我不是在问OOP或允许我的类被继承。我说的是设计一个将部署在系统上的应用程序,以便在部署后可以由第三方加载项扩展。 例如,Notepad ++具有一个插件体系结构,您可以在其中将.dll文件放置在plugins文件夹中,并且它为应用程序添加了不存在的功能,例如颜色选择,代码段插入或许多其他功能。 (广泛的功能)。

24
“内存不足”是否是可恢复的错误?
我已经进行了很长时间的编程,并且看到的程序在内存不足时会尝试清理并退出,即正常失败。我不记得上一次看到一个实际尝试恢复并继续正常运行的情况了。 如此多的处理取决于能否成功分配内存,尤其是在垃圾回收语言中,似乎内存不足错误应归类为不可恢复。(不可恢复的错误包括堆栈溢出之类的东西。) 使它成为可恢复的错误的有力论据是什么?

12
什么是谓词?
作为一名业余编码员,我缺少一些基本知识。在过去的几天里,我一直在阅读一些东西,“谓词”一词不断出现。非常感谢您对此问题的解释。

10
什么是编程习语?
我看到“编程习惯用法”一词泛滥,好像人们通常都理解它一样。但是,在搜索结果和stackoverflow中,我看到了所有内容... 从微: 递增变量 代表无限循环 交换变量值 到中等: PIMPL 区域情报研究所 格式,注释,样式... 到宏: 编程范例或通用库功能作为习语 过程模型成语 习语的集合等于一个新的范例 是否有一个统一的“编程习惯用法”定义?由于“编程习惯用语”在许多范围内使用: 微观:句法差异或通用语法 媒介:常见样式和样式 宏:将编程范例作为习惯用法 在任何这些范围中使用该短语是否有效?到目前为止,答案集中在句法成语上。其他人也有效吗?

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.