标签: programming-languages

学习理解不同方法和概念的重要语言是什么?

当你拥有的是一对断线钳和一瓶伏特加酒时,一切看起来就像是Wolf Blitzer船库门上的锁.(如果你不读xkcd,用锤子和钉子代替)

我目前正在编写Clojure,Python,Java和PHP,所以我熟悉C和LISP语法以及空白事物.我知道命令式,功能性,不可变性,OOP和几种类型的系统和其他东西.现在我想要更多!

什么是采用不同方法的语言,对实际工具选择或理论理解有用?

我不想学习另一种函数式语言(Haskell)或其他命令式OOP语言(Ruby),也不想练习像Brainfuck这样不切实际的有趣语言.

我发现自己的一个非常有趣的事情是基于单声道堆栈的语言,如Factor.

只有当我觉得我理解了大多数概念并对我的所有问题都有答案时,我才想开始考虑我自己的玩具语言,以包含我所有的个人喜好.

language-agnostic programming-languages

172
推荐指数
11
解决办法
3万
查看次数

SQL甚至TSQL图灵是否完整?

今天在办公室提出了这个问题.我没有计划做这样的事情,但理论上你可以在SQL中编写一个编译器吗?乍一看,在我看来,虽然对于许多类型的问题非常麻烦,但我觉得它是完整的.

如果它没有完成,那么它需要什么呢?

注意:我不想做任何事情,比如在SQL中编写编译器,我知道这样做会很愚蠢,所以如果我们能够避免讨论,我会很感激.

sql t-sql language-features programming-languages

157
推荐指数
5
解决办法
6万
查看次数

编程中的术语"上下文"?

我已经编程了几个月了,一个经常使用的词是类中的"上下文".喜欢ServletContext(Java),Activity(Android),Service(Java,Android),NSManagedContext(Objective-C,iOS).

通过查看词典,我看到这个词意味着:情境,环境,环境等等.但是,因为我不是母语为英语的人,所以我不明白我应该直接将其翻译成什么.例如,如果我要编写一个已命名的类SomeClassContext,或者一个具有上下文参数的方法,我不明白何时应该将其命名为context,因为我不理解它.

我一直在寻找Stack Overflow的上下文,但没有问题/答案能够帮助我.

如果有人可以向我提供解释,我会很高兴.

language-agnostic programming-languages terminology

152
推荐指数
6
解决办法
4万
查看次数

Type和Class有什么区别?

什么使一个类型与类不同,反之亦然?

(在一般语言不可知的意义上)

language-agnostic glossary types programming-languages class

136
推荐指数
6
解决办法
5万
查看次数

互斥和临界区有什么区别?

请从Linux,Windows的角度解释一下?

我用C#编程,这两个术语会有所不同.请尽可能多地发布,举例等等......

谢谢

linux windows multithreading programming-languages

130
推荐指数
8
解决办法
9万
查看次数

每种编程语言中的文件I/O.

这必须是所有程序员不时有的常见问题.如何从文本文件中读取一行?然后下一个问题是我如何写回来.

当然,大多数人在日常编程中都使用高级框架(可以在答案中使用)但有时候知道如何在较低级别进行编程也很好.

我自己知道该怎么做的C,C++以及Objective-C,但它肯定会得心应手,看看它是如何在所有流行的语言来完成,如果仅仅是为了帮助我们做出什么语言来尽我们的文件IO在一个更好的决定.特别是我认为这将是有趣的,看看它是如何在字符串操作语言完成,如:python,ruby当然perl.

所以我想在这里我们可以创建一个社区资源,我们可以为我们的配置文件加注星标,并参考我们何时需要以某种新语言进行文件I/O. 更不用说曝光我们都会得到我们日常不处理的语言.

这是你需要回答的方式:

  1. 创建一个名为" fileio.txt " 的新文本文件
  2. 将第一行"hello"写入文本文件.
  3. 将第二行"world"附加到文本文件.
  4. 将第二行"world"读入输入字符串.
  5. 将输入字符串打印到控制台.

澄清:

  • 您应该仅针对每个答案以一种编程语言显示如何执行此操作.
  • 假设文本文件事先不存在
  • 写完第一行后,无需重新打开文本文件

对语言没有特别限制. C,C++,C#,Java,Objective-C都是伟大的.

如果你知道如何做到这一点的Prolog,Haskell,Fortran,Lisp,或Basic则请请便.

language-agnostic file-io programming-languages

127
推荐指数
54
解决办法
8万
查看次数

为什么变量名不能以数字开头?

我在回答问题时曾与一位新的C++开发人员合作:"为什么变量名称不能以数字开头?"

我无法想出答案,除了一些数字可以包含文本(123456L,123456U),如果编译器认为所有带有一些字母字符的数字都是变量名称,那就不可能.

这是正确的答案吗?还有其他原因吗?

string 2BeOrNot2Be = "that is the question"; // Why won't this compile?
Run Code Online (Sandbox Code Playgroud)

c++ variables programming-languages language-design variable-names

126
推荐指数
10
解决办法
9万
查看次数

依赖方法类型有哪些引人注目的用例?

依赖方法类型以前曾是一个实验性功能,现在默认情况下已在中继中启用,显然这似乎在Scala社区中引起了一些兴奋.

初看起来,这并不是显而易见的.Heiko Seeberger在这里发布了一个简单的依赖方法类型示例,从评论中可以看出,可以很容易地在方法上使用类型参数进行复制.所以这不是一个非常引人注目的例子.(我可能会遗漏一些明显的东西.如果是这样,请纠正我.)

对于依赖方法类型的用例有哪些实用且有用的例子,它们明显优于替代方法?

我们可以用以前不可能/容易的事情做些什么有趣的事情?

他们通过现有的类型系统功能为我们买了什么?

此外,依赖方法类型是否类似于或从其他高级类型语言(如Haskell,OCaml)的类型系统中找到的任何功能中汲取灵感?

haskell type-systems programming-languages scala dependent-method-type

124
推荐指数
3
解决办法
1万
查看次数

我应该使用乘法还是除法?

这是一个愚蠢有趣的问题:

假设我们必须执行一个简单的操作,我们需要一半的变量值.有通常这样做的方法有两种:

y = x / 2.0;
// or...
y = x * 0.5;
Run Code Online (Sandbox Code Playgroud)

假设我们正在使用语言提供的标准运算符,哪一个具有更好的性能?

我猜测乘法通常更好,所以当我编码时我会坚持这一点,但我想证实这一点.

虽然我个人对Python 2.4-2.5 的答案感兴趣,但也可以发布其他语言的答案!如果您愿意,也可以随意发布其他更好的方式(比如使用按位移位运算符).

performance programming-languages

113
推荐指数
11
解决办法
6万
查看次数

编译语言和解释语言有什么区别?

在阅读了关于这个主题的一些材料之后,我仍然不确定编译语言和解释语言之间的区别是什么.我被告知这是Java和JavaScript之间的差异之一.请有人帮我理解吗?

javascript java programming-languages

113
推荐指数
4
解决办法
15万
查看次数