问题标签 [language-features]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
2338 浏览

php - php的整体设计理念是什么?

我最近通过一个客户端的 Drupal 应用程序第一次接触 PHP (5)。体验当然没有什么困难(例如文档很好),但我从来没有想过,“这真的很聪明!”,或者“哇,这使用起来很有趣!” 此外,我无法准确预测函数将如何命名,也无法确定要遵循的指导原则。

这与 Ruby 形成鲜明对比,例如,在 Ruby 中,一切都是对象,方法是可预测的和伪多态的,块使用起来很有趣(仅举几个例子)。其他语言的对比亮点:Python 的列表推导改变了你对迭代的看法,C 用它的指针和位操作把你带回了硬件,javascript 的无名函数和对哈希的高级支持令人惊讶,甚至 SQL 在它的硬性迫使你欣赏你的数据并以相关的方式思考它。

那么考虑到这一点,php的亮点是什么?该语言的整体设计理念是什么?我知道 php 总体上并不享有很高的声誉,但我一直听说这是一个认知问题,因为大量非专业开发人员敲打复制和粘贴代码。

编辑:

好的,所以共识是 PHP 是 web 程序员的扳手。我可以接受。我只是在寻找一个洞察力,但我想我已经有了它。例如,我当然很欣赏 mod_php/libphp。而且我能够在没有任何 PHP 经验的情况下在两周内完成我的应用程序,所以我想这也是不言而喻的。

感谢您的帖子。

0 投票
7 回答
16000 浏览

python - 是否可以在运行时替换 Python 函数/方法装饰器?

如果我有一个功能:

是否可以在运行时替换装饰器?

0 投票
9 回答
909 浏览

java - 如何通过浏览器本地下发Java程序

我想编写一个完全在一台机器上本地运行的应用程序——不需要连接到互联网或任何外部机器。

我在想,使用 Web 浏览器作为这个应用程序的平台是个好主意,这样我就不必搞乱很多 UI 的东西——我可以相当快地将网页拼凑在一起,并利用CSS 在整个应用程序中获得一致的样式。

但是,我想与相关机器上的 MYSQL 数据库进行交互。考虑到这一点,我想我可以以某种方式使用 Java 来处理用户从应用程序输入的信息,并通过 JDBC 将其传送到数据库。

我知道我可以使用小程序来执行此操作,但不利的一面是我希望用户能够将文件保存到本地机器 - 我已经读过小程序在沙箱中运行,这会阻止它们获得任何访问本地机器。

我也知道我可以使用 PHP,但我想利用 Java 非常适合的面向对象设计。

有没有人有任何想法、建议或指向教程/网页的链接可以帮助我决定如何最好地解决这个问题。

任何想法都非常感谢..

0 投票
2 回答
7419 浏览

javascript - 循环遍历它们时,javascript对象中的字段顺序是否可预测?

在php中,如果你有以下代码:

您知道条目将按照它们添加到数组中的顺序列出。

现在,我可以假设相同的规则适用于下面的 Javascript 等效项吗?


这是以下内容的副本:元素顺序 - javascript 中的 for (... in ...) 循环

0 投票
18 回答
39228 浏览

c - C 宏有什么用?

我已经写了一点 C 语言,我可以很好地阅读它以大致了解它在做什么,但是每次我遇到一个宏时,它都让我彻底崩溃。我最终不得不记住宏是什么,并在阅读时将其替换在脑海中。我遇到的那些直观易懂的总是像小函数一样,所以我一直想知道为什么它们不只是函数。

我可以理解需要在预处理器中为调试或跨平台构建定义不同的构建类型,但定义任意替换的能力似乎只会使已经很难理解的语言变得更加难以理解。

为什么要为 C 引入如此复杂的预处理器?有没有人有一个使用它的例子,这会让我明白为什么它似乎仍然用于#debug 样式条件编译以外的其他目的?

编辑:

阅读了许多答案,我仍然不明白。最常见的答案是内联代码。如果 inline 关键字不这样做,那么要么它有充分的理由不这样做,要么实现需要修复。我不明白为什么需要一种完全不同的机制,这意味着“真正内联这段代码”(除了在内联之前编写的代码之外)。我也不理解提到的“如果它太愚蠢而不能放入函数中”的想法。当然,任何接受输入并产生输出的代码都最好放在函数中。我想我可能没有得到它,因为我不习惯编写 C 的微优化,但预处理器感觉就像是一些简单问题的复杂解决方案。

0 投票
7 回答
6372 浏览

c# - 空合并赋值运算符?

如果 C# 允许 ??= 运算符,那就太好了。我发现自己经常写以下内容:

我宁愿这样写:

想法?新的语言扩展总是因其性质而引起争议。

0 投票
4 回答
328 浏览

language-features - 三值变量,最大值、最小值、实际值

很久以前,我使用专家系统语言 Egeria 开发系统。它有一个非常有用的功能,其中变量具有三个值,最小值、最大值和电流。以这种方式,可以计算部分已知值的概率,结果以一个范围结束。我不记得语法,但它是这样的:-

我的问题是,这种方法叫什么,当前的语言是否实现了它?

0 投票
6 回答
35502 浏览

python - Python 函数中的最大参数数是多少?

众所周知,Python 函数最多可以有 256 个参数。我很想知道这个限制是否适用*args以及**kwargs何时以下列方式展开:

我问是因为,假设可能存在大于 256 个项目的列表被展开为一组*argsor的情况**kwargs

0 投票
8 回答
2594 浏览

python - 如果 Ruby 和 Python 都允许猴子补丁,为什么在 Ruby 中更有争议?

在我听到的许多关于 Ruby 的讨论中,人们表达了他们对该语言的保留意见,猴子修补问题成为他们主要关注的问题之一。

然而,我很少听到在 Python 上下文中提出的相同论点,尽管 Python 语言也允许这样做。

为什么会有这种区别?

Python 是否包含不同类型的保护措施以最大程度地降低此功能的风险?

0 投票
16 回答
2312 浏览

language-features - Cobol 的优点是什么?

我喜欢花时间研究语言的酷特性,即使我不会很快有机会使用它们,但总是听到关于 Cobol 的坏消息,但我相信它一定有一些不错的特性变得和以前一样重要。那么可以从 Cobol 中学到哪些好的特性呢?