被重命名extends Comparable[A]
,以extends Ordered[A]
和重命名def compareTo
,以def compare
足够的或者是有什么我应该照顾?
假设一个程序正在读取文件F.txt,另一个程序正在同时写入该文件.
(当我考虑如果我是系统程序员时如何实现此功能)我意识到可能存在歧义:
第一个项目会看到什么?
第二个程序在哪里写新字节?(即写入"就地"vs写入新文件,然后用新文件替换旧文件)
有多少程序可以同时写入同一个文件?
..也许是不那么明显的事情.
所以,我的问题是:
读/写文件功能的主要策略是什么?
哪些操作系统(Windows,Linux,Mac OS等)支持哪些?
它可以依赖于某种编程语言吗?(我可以假设Java可以尝试在所有支持的操作系统上提供一些统一的行为)
java filesystems operating-system programming-languages file
这可以以某种方式完成吗?
if((a || b) == 0) return 1;
return 0;
Run Code Online (Sandbox Code Playgroud)
所以就像...如果一个OR b等于零,那么...但它对我不起作用.我的真实代码是:
bool Circle2::contains(Line2 l) {
if((p1.distanceFrom(l.p1) || p1.distanceFrom(l.p2)) <= r) {
return 1;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud) 是否可以使用语言提供按需调用(CBN)和按值调用(CBV)评估策略?我的意思是不修复它并在另一个模拟,但让用户在需要时选择哪个.例如,让语言具有eval
Scheme中可用的功能,该功能可以接受来自用户的另一个参数,指定他想要的评估策略.
Wikipidea说,Perl有一个显性实现,可用作其规范的参考,而C语言则由标准ANSI ISO指定.
我学会了C语言而没有阅读单行标准,这是正常的吗?
我想知道标准(即自然语言文档)如何能够描述编程语言而不涉及任何主导实现.
language-agnostic programming-languages language-specifications
我知道什么是O(n)符号,我也理解如何得到O(n),O(n 2)等符号....
但是我如何得到log(N)?
PS:我知道Collections API和一些具有O(n log n)遍历时间的类.我需要一个简单的解释.
假设您必须实现一个有效解决NP难问题的工具,不可避免的内存使用量爆炸(输出大小在某些情况下指数输入大小)并且您特别关注此工具在运行时的性能时间.一旦知道了基础理论,源代码也必须是可读和可理解的,并且这个要求与工具本身的效率同样重要.
我个人认为3种语言可能适合这三个要求:c ++,scala,java.它们都提供了对数据类型的正确抽象,使得可以比较不同的结构或将相同的算法(这也很重要)应用于不同的数据类型.
C++具有静态编译和优化的优点,并且通过函数内联(如果数据结构和算法经过精心设计)和其他优化技术,可以在保持相当好的可读性的同时实现接近纯C的性能.如果您在数据表示中也非常谨慎,则可以优化缓存性能,当缓存未命中率较低时,缓存性能可以获得数量级的速度.
Java是JIT编译的,它允许在运行时应用优化,并且在这类算法中可能在不同的运行之间具有不同的行为,这可能是一个加号.我担心这样的方法可能会受到垃圾收集器的影响,但是在这种算法的情况下,通常连续分配内存并且Java堆性能比C/C++好得多,如果你在语言中实现自己的内存管理器,你可以甚至达到很好的效率.相反,这种方法无法内联方法调用(这会导致巨大的性能损失)并且无法控制缓存性能.在专业人士中,语法比C++更好,更清晰.
我对scala的担忧与Java大致相同,而且我无法控制语言的优化程度,除非我对编译器和标准库有深入的了解.但是好吧:我得到一个非常干净的语法:)
你对这个问题有什么看法?你有没有必须处理这个?您是否会使用这些语言中的任何一种语言实现具有此类属性和要求的算法,或者您会建议其他什么?你会如何比较它们?
if() {
}else {
if (IsAlternateRow=='true')
IsAlternateRow = 'false';
else
IsAlternateRow = 'true';
}
Run Code Online (Sandbox Code Playgroud)
我可以将if和else语句放在另一个else语句中吗?
algorithm ×2
java ×2
big-o ×1
c++ ×1
codeblocks ×1
comparison ×1
file ×1
filesystems ×1
interop ×1
javascript ×1
np ×1
overloading ×1
scala ×1