Questions tagged «programming-languages»

用于指示计算机执行计算步骤以完成任务的人工语言。它们允许程序员与计算机进行通信。

3
是否有任何机制可使编程语言更稳定(兼容)以进行更改?
有大量的编程语言。他们中的一些人长大后变得非常受欢迎。人们越来越多地使用这种语言。此类语言的创建者(或创始组织/社区)可能会尝试实施更改以使语言更好。但是有时由于向后兼容性而很难进行一些更改,并且这种丑陋的东西已经在该语言中存在多年了,并为许多用户所使用。 在语言设计阶段是否有任何架构原则或步骤可以帮助使其更稳定,以使语言设计人员不会害怕破坏向后兼容性?

10
从同一类构造的对象可以具有唯一的方法定义吗?
我知道这似乎是一个奇怪的问题,因为两个或更多共享同一类的对象的要点是它们的行为是相同的,即它们的方法是相同的。 但是,我很好奇是否有任何OOP语言可以让您以可以为对象的字段分配不同值的相同方式重新定义对象的方法。结果将是从同一类构造的对象不再表现出完全相同的行为。 如果我没记错的话,您可以使用此JavaScript吗?我问这个问题,为什么有人要这样做呢?

6
如今,游戏开发使用了哪些技术?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 每当我在在线论坛上问有关游戏开发的问题时,我总是会得到一些建议,例如学习画线算法,位级图像处理和视频解压缩等。 但是,以《战神3》之类的游戏为例,我很难相信可以使用如此低级的技术来开发这些游戏。 此类游戏的绝对威力无视任何可理解的(对我而言)编程方法。 除了游戏硬件,现在确实是个怪物。因此,有理由认为开发人员将在更高的抽象水平上工作。 游戏行业中最新的开发方法是什么?一个由30-35个开发人员组成的团队(其中大多数是管理和市场营销人员)如何能够制作出令人难以置信的游戏? 如果问题看起来太笼统,您能否解释《战神3》的体系结构?或者您将如何制作克隆?我认为应该客观地负责。

9
与歌迷打交道[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 7年前关闭。 我们可能都遇到过这样的人,那个开发人员只知道他的语言是一种真正的语言,并且不会为之闭嘴。你怎么像这样的人?我不想得罪任何人(尤其是因为我工作场所的狂热者是高级开发人员)。但是,当我不得不编写一个永远不会扔到存储库中的一次性脚本并且没有其他人需要知道的脚本时,我希望能够使用自己选择的脚本语言。 我必须处理的想法: 笑吧-“哈哈,是的,也许X语言要容易一些,我想我是受虐狂!” 顺其自然-我真的更喜欢避免这种情况,因为我承受不起与选择新语言有关的生产力下降。 隐藏我的语言-每当我编写脚本或自动执行某些操作时,请成为壁橱程序员并隐藏我的监视器。 您对此情况有何建议?

7
与C ++相比,C#是否能给您“更少的绳索来吊死自己”?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 乔尔·斯波斯基(Joel Spolsky)将C ++定义为“足以使自己吊死的绳索”。实际上,他在总结Scott Meyers的“ Effective C ++”: 这是一本书,基本上说,C ++足以将自己吊死,然后再延伸几英里,然后再变成一些伪装成M&M的自杀药。 我没有这本书的副本,但是有迹象表明,这本书的大部分内容与管理内存的陷阱有关,这似乎在C#中显得毫无意义,因为运行时会为您管理这些问题。 这是我的问题: C#是否可以避免仅通过精心编程才能避免的C ++陷阱?如果是这样,在何种程度上以及如何避免? 新C#程序员应该注意C#中是否存在新的,不同的陷阱?如果是这样,为什么不能通过C#设计来避免它们?

3
编译器如何了解其他类及其属性?
我正在写我的第一种面向对象的编程语言,到目前为止,它与创建单个“类”一样好。但是,假设我要上课,说ClassA和ClassB。只要这两个彼此无关,那么一切都很好。但是,说ClassA创建ClassB-提出了2个相关问题: -如何将编译时,编译器知道ClassA是ClassB即使存在,并且,如果是这样,它是如何知道它的属性? 到目前为止,我的想法是:而不是一次编译每个类(即扫描,解析和生成代码),每个“文件”(本质上不是真正的文件,而是一个“类”)我需要先扫描+解析每个类,然后为所有人生成代码?

3
Scala隐式函数的历史渊源
我的许多同事都将Scala称为具有复杂功能的复合体,甚至有人指责它具有所有这些新功能。尽管大多数程序员都知道OO功能,并且至少一些体面的程序员也了解函数式编程,但是特别是在Scala中有一个功能,我不知道它的历史渊源。 鉴于我们专业的主要口头禅是不重新发明轮子,我相当有信心,Scala没有任何实际的闻所未闻的功能,但是如果有必要,我会对此进行纠正。 为了解决实际问题,虽然我知道Scala的大多数功能的由来,但我从未见过类似其implicit声明的内容。是否有其他(较旧的!)语言也提供此功能? 区分隐式的不同情况(因为它们可能源自不同的来源),即隐式转换和隐式参数,是否有意义?

7
防御样板?
对我来说,样板代码显然是不好的。但是我遇到了一个开发人员,他在减少样板方面表现出了抵制。我意识到,随着时间的流逝,我对这种厌恶情绪还没有形成,经过深思熟虑的论点。 为了使我能够形成一个令人信服的理由,即主张减少样板,有哪些反对意见?换句话说,支持样板的论点是什么(如果有)? (我的意思是我通常认为是样板程序,但是一个很好的例子是Java中的getter和setter方法。)


7
为什么SQL被称为基于关系/功能的语言?
我们了解到,大多数语言都被分类为“基于关系的”或“高级”这两种语言。我以前从未使用过SQL,但是通过阅读其语法,它似乎更像是命令式/高级语法,而不是基于函数/关系的(Lisp,Haskell)? 或者可能是我对我的教授的讲义的解释是错误的...但是它确实将SQL列为基于关系的语言之一(与高级语言相对),并且将基于关系的语言等同于功能性的语言...或者也许是我不明白为什么SQL处理关系数据库这一事实使函数语言成为应实现的方式?(为什么在对编程语言进行分类时,“基于关系的”等同于“功能的”?) 谢谢 :)

16
在上计算机工程大学之前,我应该学习一种编程语言吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 4年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我将脚趾浸入C ++编程中,但实际上并没有深入研究它。我想知道在进入计算机工程大学之前是否真的需要学习它或其他语言,还是我还是要在学校学习它?

3
语法和语法有什么区别?
我了解语法和语义之间的区别- 语法:如何将符号组合以形成有效的表达式或语句。 语义:构成表达式或陈述的那些符号的含义。 但是语法是什么?例如:有时我听到人们说某些结构“在语法上是不正确的,但在语法上是正确的”。这是什么意思?


5
导出从Haskell获得的知识和技能的最兼容,使用最广泛的生产语言是什么?
我喜欢Haskell,简洁明了。虽然Haskell用于生产软件中,但根据我所见,它并未得到特别广泛的部署。在生产项目方面,最相似且仍被广泛使用的语言是什么,这样我可能会有滚雪球般的机会在行业中使用类似的出色产品? 大量平台上是否也提供了与第一部分相同的语言?如果没有,那么具有广泛平台部署的最佳替代方案是什么?我希望将一种语言放入待办事项清单,而不是庞大的人群或家庭。确凿的证据将是一个加号。

5
为什么不将JavaScript用于经典应用程序开发(编译软件)?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 在使用JavaScript进行Web开发的这些年中,我得出的结论是,它是一种不可思议的强大语言,您可以用它来做令人惊奇的事情。 它提供了丰富的功能,例如: 动态打字 一流的功能 嵌套函数 关闭 作为方法起作用 作为对象构造函数 基于原型 基于对象(几乎所有内容都是对象) 正则表达式 数组和对象文字 在我看来,使用这种语言几乎可以完成所有事情,您还可以模拟OO编程,因为它提供了极大的自由度并提供了许多不同的编码样式。 通过更多面向软件的自定义功能(I / O,文件系统,输入设备等),我认为使用它来开发应用程序将非常有用。 尽管据我所知,它仅在Web开发或现有软件中仅用作脚本语言。 直到最近,也许要感谢V8引擎,它已被更多地用于其他类型的任务(例如,请参见node.js)。 为什么到现在为止仅将其降级为仅用于Web开发?是什么使它远离软件开发?

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.