Questions tagged «language-features»

有关特定计算机语言的独特方面的问题,尤其是在编写方式或提供给程序员的表达能力方面。


5
Java instanceof运算符是否被视为反射,反射的定义是什么?
我今天与同事讨论了使用Java运算符的使用是否instanceof是一种反思。讨论很快演变成实际定义反射的内容。 那么,反射的定义是什么? 并instanceof认为使用了“使用反射”吗? 另外,如果instanceof将其视为反射,那么多态性还不是“利用反射”吗?如果没有,有什么区别?

3
在C#中,为什么在try块内声明的变量的作用域受到限制?
我想将错误处理添加到: var firstVariable = 1; var secondVariable = firstVariable; 以下内容无法编译: try { var firstVariable = 1; } catch {} try { var secondVariable = firstVariable; } catch {} 为什么try catch块必须像其他代码块一样影响变量的范围?除了保持一致性之外,对于我们而言,无需重构就能够使用错误处理包装代码是否有意义?

6
我怎么说编程语言可以编译成其他语言?
我怎么用英语说可以将编程语言编译成其他编程语言? 示例可以是Haxe。在网站上,该语言被称为“ Multiplatform”: 多平台:Haxe可以通过其快速编译器编译为所有流行的编程平台-JavaScript,Flash,NekoVM,PHP,C ++,C#和Java(很快) 但是多平台可能被误解为硬件或软件平台(win,mac,linux)。 那么最能描述这个能力的词是什么?

24
编程语言中有趣或独特的类型?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我们都看到过整数,浮点数,字符串和偶数十进制类型。您遇到过的最奇怪,独特或有用的类型有哪些?

1
Haskell记录的进度如何?
最近,我再次迷失了Haskell记录的问题,尤其是字段名称的唯一性。(这很痛苦...) 我已经读过SPJ和Greg Morrisett的Haskell记录提案,但是最近一次更新是在2003年。SPJ和Mark Jones撰写的 另一篇名为《 Haskell的轻量可扩展记录》的论文甚至更老:它来自1999年Haskell研讨会。 现在,我想知道为Haskell提供新记录的过程是否取得了任何进展。 有人对此有所了解吗?有人可以指点我进一步阅读吗?

2
在连接相邻的字符串文字时
C和C ++将相邻的字符串文字编译为单个字符串文字。例如: "Some text..." "and more text" 等效于: "Some text...and more text" 在其他C系列语言(如C#或Java)中,这是一种语法错误(顺便说一句很好)。 C和C ++这样做的理由/历史原因是什么?

4
为什么在Java中没有“仅子类”访问修饰符?
在Java中,方法有四个可用的访问修饰符: public -任何类都可以使用此方法。 protected -同一包中的类和任何包中的子类都可以使用此方法。 private -只有此类可以使用此方法。 no modifier (“包私有”)-只有同一包中的类才能使用此方法。 经常发生的事情是,我想在超类中拥有所有子类都可以使用的有用方法。但是其他类访问此方法没有任何意义,从某种意义上说,它将破坏封装。 因此,我必须在超类publicor中声明这些有用的方法protected,这至少在包中将它们公开给所有其他类。即使它们仅打算由子类使用。 有没有理由subclasses-only在Java中没有访问修饰符?对我来说似乎很奇怪。我想念什么吗? 同样,subclasses-only当您只想将变量公开给子类时,访问修饰符也很有用。在我身上发生的事情很多。

11
为什么推荐使用Python作为入门级编程语言?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 4年前关闭。 我在P.SE上阅读了更多问题,建议初学者选择Python作为他们的第一门编程语言。 不要误会我的意思,我喜欢Python。我很喜欢!但是它的哲学围绕着“我们都同意这里的成年人”。 从经验/知识的角度来看,初学者不是成年人。这就意味着即使您在伤口中幸存下来,也更容易朝自己的脚射击并养成一些不良习惯。 我在想,用一种“更静态”的语言,用脚踩枪会比较困难,因为它的限制性更大。 回到我的问题。为什么推荐使用Python作为入门级编程语言? 有哪些优点使其适合教授编程语言。还是...顾问的个人喜好?

10
可选参数是否有用或阻碍了应用程序维护?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 如标题所述,可选参数(例如C#中使用的那些参数)是否有用,还是对应用程序维护的障碍,应避免使用,因为它们会使代码更难于理解?

7
在Java中,为什么使受保护成员可以访问同一包的类?
从官方文件 ... 修饰符类包子类世界 公开YYYY 受保护的YYYN 没有修饰符YYNN 私人YNNN 问题是,我不记得有一个用例,在该用例中,我需要从同一包中的类访问受保护的成员。 执行此操作的原因是什么? 编辑:为澄清起见,我正在寻找一个特定的用例,其中同一包中的子类和类都需要访问受保护的字段或方法。 package some.package; public class A { protected void protectedMethod(){ // do something } } package another.package; public class B extends A{ public void someMethod(){ // accessible because B is a subclass of A protectedMethod(); } } package some.package; public class …

10
为什么动态类型语言不让开发人员指定类型?
我所知道的动态类型语言从不让开发人员指定变量的类型,或者至少对这种类型的支持非常有限。 例如,JavaScript方便时不提供任何机制来强制变量类型。PHP使您可以指定一些类型的方法参数,但是无法使用本机类型(int,string,等)的参数,也没有办法强制类型的参数比任何其他。 同时,可以方便地选择以动态类型语言指定变量的类型,而不是手动进行类型检查。 为什么会有这样的限制?是出于技术/性能方面的原因(我认为是JavaScript)还是出于政治方面的原因(我认为是PHP)?我不熟悉的其他动态类型语言是否属于这种情况? 编辑:在回答和评论之后,这是一个澄清的示例:假设我们在纯PHP中具有以下方法: public function CreateProduct($name, $description, $price, $quantity) { // Check the arguments. if (!is_string($name)) throw new Exception('The name argument is expected to be a string.'); if (!is_string($description)) throw new Exception('The description argument is expected to be a string.'); if (!is_float($price) || is_double($price)) throw new Exception('The price …

10
帮助我了解自Java 1.4.2以来错过的一切
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我即将开始我的职业生涯,最初是软件开发人员,我很可能会写很多Java代码。我对我将要写的具体内容并不了解,此外,无论如何我对代码都有广泛的兴趣。 由于不值得讨论的原因,我的上一次实习是让我只为Java 1.3和1.4 SDK进行编码。另外,我的大学教育主要集中在算法,数据结构和其他理论上,而不是语言功能或库上。 因此,考虑到以上几点,当前版本的Java(无论现在我们要增加多少?)中的哪些功能,类等,值得我花时间阅读,为什么?自1.4.2起我错过了什么,这使您作为程序员的生活更加轻松? 有关如何发现某个特定软件包或将其投入使用的示例和故事也很棒。

5
异构列表是否有特定目的?
来自C#和Java背景,我习惯于列表是同质的,这对我来说很有意义。当我开始使用Lisp时,我注意到列表可能是异类的。当我开始使用dynamicC#中的关键字时,我注意到,从C#4.0开始,也可能存在异构列表: List<dynamic> heterogeneousList 我的问题是什么?异构列表似乎在处理时会产生更多开销,并且如果您需要在一个地方存储不同的类型,则可能需要不同的数据结构。我的天真是在丑陋的面孔上浮出水面,还是真的有一次使用异类列表有用吗?

3
你为什么需要“自我”。在Python中引用实例变量?
我一直在编程多种语言,例如Java,Ruby,Haskell和Python。由于我从事的项目不同,我每天必须在多种语言之间切换。现在,问题是我常常忘记写代码,self因为Python中函数定义中的第一个参数与在同一对象上调用方法相同。 也就是说,我对Python的这种方法感到惊讶。基本上,我们必须键入更多内容才能完成工作,在Java和Ruby之类的语言中,通过自动引用当前对象中的变量使事情变得简单。 我的问题是为什么这是self必要的?纯粹是样式选择,还是有原因导致Python不能让您忽略selfJava和C ++的想法this?

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.