Questions tagged «programming-languages»

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

8
是否有理由在编程语言中使用底部类型?
底部类型是一种主要出现在数学类型理论中的构造。也称为空类型。它是没有值的类型,但是是所有类型的子类型。 如果函数的返回类型是底部类型,则表示它不返回。期。也许它永远循环,或者抛出异常。 在编程语言中使用这种奇怪的类型有什么意义?这种情况并不常见,但是它存在于某些环境中,例如Scala和Lisp。

7
为什么分号和逗号在for循环中互换?
在许多语言中(从C到JavaScript的广泛列表): 逗号,分隔参数(例如func(a, b, c)),而 分号;分隔顺序指令(例如instruction1; instruction2; instruction3)。 那么,为什么要使用相同的for循环语言来反转此映射: for ( init1, init2; condition; inc1, inc2 ) { instruction1; instruction2; } 而不是(对我来说似乎更自然) for ( init1; init2, condition, inc1; inc2 ) { instruction1; instruction2; } ? 当然,for(通常)不是一个函数,但是参数(即init,condition,increment)的行为更像指令序列的函数的参数。 是由于历史原因/惯例造成的,还是in ,和;in循环互换的合理依据?

3
Node.js有何独特之处?[关闭]
最近,Node.js得到了很多好评。我不是一个经常接触网络应用程序的开发人员。从对Nodes.js的裸露理解中,它的优点是:我们只有一个线程可以处理多个连接,提供基于事件的体系结构。 但是,例如在Java中,我只能使用NIO / AIO创建一个线程(据我的理解,这是非阻塞API),并使用该线程处理多个连接,并且我提供了一个基于事件的体系结构来实现数据处理逻辑(通过提供一些回调等不那么困难)? 鉴于JVM是比V8更成熟的VM(我希望它也可以运行得更快),并且基于事件的处理体系结构似乎很难创建,我不确定Node.js为何吸引了如此多的关注。我错过了一些要点吗?


6
我如何学习从零到Web开发的Python?[关闭]
我正在研究用于网络开发的Python。 假设我已经具备Java(JSP / Servlets)的一些基本的Web开发经验,我已经熟悉Web设计(HTML,CSS,JS),基本的编程概念,并且我对Python完全陌生,那么我该怎么做以结构化的方式学习Python,最终将引导我使用Python和Django进行Web开发吗? 我并不急于用Python制作Web应用程序,因此我真的很想彻底学习它,以免在我对涉及Python中的Web开发的技术的了解上保持任何差距。有书籍,资源或技巧可以帮助我吗?我应该按什么顺序阅读它们? 更新: 当我说以结构化的方式学习时,我的意思是从基础开始,然后学习高级内容,而又不离开Python必须提供的一些重要细节/功能。我想知道如何将我在编程中已经知道的东西应用于Python。

28
什么时候可以创建自己的编程语言?
从长远来看,是否有更好的杀手级应用程序,算法问题类别等等,可以创造出自己的语言? PS:可以肯定的是,我的意思是一种新的编程语言和一个编译器,而不是现有语言的新编译器。 编辑:谢谢你的答案。您能提供一些示例,这些示例绝对不需要创建DSL,或者说DSL可能是个好主意?



9
什么是最正交的编程语言?[关闭]
我发现自己不得不教新生关于特殊语言规则(例如数组到指针的衰减)的烦恼,这些规则与编程本身完全无关。所以我想知道: 什么是特殊语言规则数量最少的编程语言,其中的一切都是一流的,并且可以在不麻烦的技术限制下进行编写?这样的语言难道不是完美的教学语言吗? 主持人备注 我们正在寻找能提供一些解释和上下文的长答案。不要只列出一种语言:请说明为什么您认为该语言可以回答问题。没有解释任何内容的答案将被删除。有关更多信息,请参见良好主观,不良主观。

13
为什么仍首选C ++来构建沉重的GUI应用程序而不是最新的动态语言?[关闭]
我看到大多数包含大量GUI内容的应用程序通常都是使用C ++开发的。大多数游戏/浏览器都是用C ++编写的。 我们不能仅使用最新的动态语言开发更好的GUI应用程序吗?我知道Java并不是一个很好的选择。但是,像python这样的语言本来就建立在C上呢?最新的语言难道不应该比他们的祖先更好吗?为什么相对于最新的语言,为什么我们仍然需要使用古老的C ++? 我也想知道,在C ++中,什么是负责GUI处理的更快速度?另一方面,其他最新语言缺乏什么呢?



26
最令人费解的编程语言?[关闭]
从合理的通用编程语言中,您发现哪一种最容易弯曲? 我一直在听很多编程播客,并花一些时间来学习一些新语言,这些新语言被认为是即将到来且很重要的。我不一定要谈论BrainFuck,但是您认为哪种语言会挑战通用的编程范例? 对我来说,我在1990年代进行了一些功能和逻辑编程(例如Prolog),所以我不能说我在那找到了什么特别的东西。 我还远未成为专家,但即使到今天,对我来说,最令人吃惊的编程语言是Perl。并不是因为“ Hello World”很难实现,而是因为词汇上的灵活性如此之大,以至于某些最难的解决方案可以用诗般的方式分解,以至于我不得不走出航站楼以清醒头脑。我并不是说我可能会出售商业软件实现,只是有一个明显的原因使Perl声名远播。只需看看其中的基本书籍清单即可。 那么,什么是能促进您更好的编程和实践的思维语言?

10
为什么没有基于高级语言的操作系统?低级语言是否更有效?
在不冒昧的情况下,我想请您考虑一下这种可能性。如今,大多数操作系统都基于相当低级的语言(主要是C / C ++),即使是新的操作系统(例如Android)也使用JNI,底层实现也使用C语言 实际上,(这是一个个人观察),许多用C编写的程序的运行速度比其高级程序要快得多(例如:传输(Ubuntu上的bittorrent客户端)比Vuze(Java)或Deluge(Python)快很多。 )。即使PyPy是一个例外,即使python编译器也是用C编写的。 那么,这是否有特定原因?为什么我们所有具有出色的“ OOP”概念的所谓“高级语言”都不能用于构建可靠的OS? 所以我基本上有两个问题。 为什么用低级语言编写的应用程序比HLL同行更有效?低级语言是否会由于低级语言和更容易转换为机器代码的简单原因而表现更好? 为什么我们没有完全基于高级语言的成熟操作系统?


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.