Questions tagged «programming-languages»

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

6
编程语言中一等/二等/三等值的数学基础是什么?
添加 刚发现两个相关问题 /math//q/1759680/1281 /programming//a/2582804/156458 在编程语言中,来自Michael Scott的Programming Language Pragmatics 通常,如果编程语言中的值可以作为参数传递,从子例程返回或分配给变量,则称其具有 第一类状态。在大多数编程语言中,简单类型(例如整数和字符)是第一类的值。相比之下,“第二类”值可以作为参数传递,但不能从子例程返回或分配给变量,并且“第三类”值甚至不能作为参数传递。 标签是大多数编程语言中的三等值,但在Algol中是二等值。子例程显示最多的变化。它们是所有函数式编程语言和大多数脚本语言中的一流值。它们也是C#中的第一类值,并且在某些限制下,在其他几种命令性语言中(包括Fortran,Modula-2和-3,Ada 95,C和C ++),也是第一类值。11在大多数其他命令式语言中,它们是二等值,在Ada 83中是三等值。 编程语言中一等/二等/三等值的数学基础是什么? 该术语使我想起了一阶/二阶逻辑,但是它们有关系吗? 在我看来,它们之间的区别在于可以使用哪种特定情况下的值 作为参数传递, 从子例程返回,或者 分配给变量。 为什么特定案例很重要,而其他案例没有提到? 谢谢。

5
设计语言是否可以强制执行“干净代码”?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 因此,我正在用C ++编写我的第一个项目,似乎需要更多的精力来使代码“干净”,而不仅仅是工作。也就是说,似乎C ++允许编写丑陋但有效的代码。 这让我开始思考, 编程语言可以通过设计强制执行干净的代码吗?已经有这样的语言了吗? 另外,如何将其作为设计原则纳入编程语言开发/理论中?使用什么样的措施?

1
使用唯一性类型实现安全的并行性
一段时间以来,我一直对唯一性类型感兴趣,以替代纯函数式语言中的monad。不幸的是,这是CS研究的一个深奥领域,有关具有唯一性类型的编程的在线资源非常少。 显而易见,如何将唯一性类型用于实现状态数据结构,例如引用(“框”)和数组,尽管这使我无法理解如何使用它们来实现其他常见的状态数据结构。 例如,可以实现唯一类型的锁定吗?可以使用唯一性类型在线程之间共享可变数据吗?是否可以使用唯一类型来构建同步原语(例如互斥体),或者是否需要传递消息?


2
Scala中的Nothing是其他所有类型的子类型
我正在上马丁·奥德斯基(Martin Odersky)的scala函数编程课程,到目前为止,我已经学到了两件事,但它们没有任何意义: Scala不支持多重继承 Nothing 是其他所有类型的子类型 这两个语句不能同时存在,那么这是如何完成的呢?“其他类型的子类型”到底是什么意思 编辑1 在Scala API中,Nothing其定义为abstract final class Nothing extends Any...那么如何扩展其他类?

6
2011年的C编程
已关闭。这个问题需要更加集中。它当前不接受答案。 6年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 许多个月前,我削减了C代码为生,主要是在维护支持各种操作系统(Linux,* BSD,HPUX,VMS等)的POP3服务器的同时。 我计划通过使用C语言编写简单的FORTH来提高我的C语言技能,并学习一些有关语言实现的知识。 但是我想知道自2000年以来C世界中的事情如何(或是否发生了变化)。当我想到C时,我认为... comp.lang.c 尽可能使用ANSI C(但C89和C99并未得到广泛支持) gcc -Wall -ansi -pedantic 代替静态分析工具 埃马克斯 标签 Autoconf + make(有关VMS,HP-UX等优点,请参见第2点) 在过去的11年中一直用C编写的任何人都可以让我知道这些年来发生了什么变化(如果有的话,-)。 (在其他新闻中,我已经做了十多年了)。

8
程序代码与OOP代码
我已经用程序样式完成了一个PHP的13000+行的项目[因为我对此非常熟悉,尽管我知道OOP],并且该项目运行得很好。 但是我应该将其转换为OOP吗?[ 因为世界上正忙着OOP ] 我的代码不需要OOP的任何功能[封装,基本上是继承...]! 所以我该怎么做? 如果将其转换为OOP,将会获得什么样的帮助?

9
在“正确的工作工具”和熟悉程度之间取得平衡
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 因此,在选择用于项目的语言时,在理想的世界中选择语言是因为它是完成工作的正确工具。但是,我通常更喜欢使用一种我会流利的语言,而不是我必须学习的一种语言或仅是一种对话性的语言。当然,语言流利性还要求您了解该语言中适用的库。仅仅因为我真的很喜欢像Java这样的通用语言并不意味着我应该一直使用它,但是同时这并不意味着我每次都要进行一些文本处理时都应该使用Perl之类的东西。如何在这里找到余额?

15
位运算符有什么用处?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 编程语言通常带有各种位运算符(例如,按位左移和右移,按位AND,OR,XOR ...)。这些虽然很少使用,但至少我的经验是这样。有时将它们用于编程挑战或面试问题中,或者可能需要解决方案,例如: 不使用任何相等运算符,创建一个函数,true当两个值相等时返回 在不使用第三个变量的情况下,交换两个变量的值 然后这些,可能在现实世界中很少使用。我猜他们应该更快,因为它们直接在低级别上操纵内存。 为什么在大多数编程语言中都可以找到这种语言?任何现实的用例?

14
在现代软件开发中,好的代码是不可能的吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 看起来,即使开发人员工具变得更加牢固和强大,编写好的代码也已成为挑战。即使这些工具功能更强大,代码质量也没有得到改善。我提出了两个重要因素,时间更少,项目更复杂。由于我们今天使用的工具功能更强大,因此更容易编写更复杂的代码,但是由于没有时间进行计划并且不回头,会降低代码质量,并增加错误和维护量。并不是说我们以前没有编写复杂的代码。是我们编写了更复杂的代码。 我的问题是:考虑到我们拥有更强大的语言和工具。 为什么编写好的代码更加困难? 因素,时间和复杂性是否对此有所贡献? 方法是否正确实施? 我考虑的项目类型是具有较大复杂性和业务逻辑的企业应用程序。“好代码”的定义是个人的,请不要卡在“好代码”的解释中。

10
Java开发人员如何看待Scala?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我注意到IDE的支持远非如此,但该语言本身更清晰地支持函数式编程习惯用法。

8
如果每年要学习一种新的编程语言,该清单应该是什么?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 在“实用程序员”的第一章中,第一个学习目标是: 每年至少学习一种新语言。不同的语言以不同的方式解决相同的问题。通过学习几种不同的方法,您可以帮助拓宽思路,避免发疯。[...] 为了在职业生涯中实现这一目标,语言列表可能会很长(特别是如果您不想“进入”管理阶段)。显然,对程序员(或任何形式)的教育将使您开始使用商业上有用的语言的核心(职位发布中的常用列表:C,C ++,Ruby,Python,JavaScript,C#,Java,VB等)。 )。另外,正式或非正式的学习计划可能涵盖了功能方法(通过诸如Haskell,LISP或ML衍生语言之类的方法) 但是,一旦了解到该列表的合理子集,下一步是什么?为什么?

3
静态分析类型是否可以替代?
编程语言中的静态类型有助于在编译时强制执行某些保证,但是类型是此工作的唯一工具吗?还有其他指定不变式的方法吗? 例如,一种语言或环境可以帮助强制执行有关数组长度或函数输入之间关系的保证。我只是在类型系统之外还没有听说过这样的事情。 我想知道一个相关的事情是,如果有任何非陈述方式做静态分析(类型声明,大部分)。


2
为什么C在TIOBE受欢迎程度索引中如此之高,而C ++也在此之下,却没有那么受欢迎?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我无法解决这个问题。如果使用了很多C,但不是C ++,有人可以向我解释使C比C ++更常用的最重要原因吗?这些C代码在哪里写? 这是否与高度依赖命令式编程但不能承受实现或调整C ++编译器的成本的工业部门有关?有那么多内核黑客吗? tiobe是否相关?我从没涉足任何文章,也没有发表评论或解释tiobe的排名是多少,它实际上表明了该行业的喜好,以及它可以表明该行业的实际用途,从而确定了该行业的实际需求。很难解释。 我只是觉得奇怪,即使这些C / C ++职位很烂,许多公司也想要C#,php,java职位,而不是C或C ++职位(只是与我的失业状况和我的采访有关)。我会选择那些。还是这意味着语言炒作在这里起着重要作用?

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.