标签: programming-languages

为何选择功能语言

我在这里看到很多关于函数式语言和东西的讨论.你为什么要使用"传统"语言?他们做得更好?他们更糟糕的是什么?什么是理想的函数式编程应用程序?

programming-languages functional-programming

330
推荐指数
16
解决办法
18万
查看次数

编译语言与口译语言

我正在努力更好地理解这种差异.我在网上找到了很多解释,但它们倾向于抽象的差异而不是实际的含义.

我的大部分编程经验都是CPython(动态,解释)和Java(静态,编译).但是,据我所知,还有其他类型的解释和编译语言.除了可执行文件可以从编译语言编写的程序中分发之外,每种类型都有任何优点/缺点吗?通常,我听到有人认为解释性语言可以交互使用,但我相信编译语言也可以有交互式实现,对吗?

python java compiler-construction interpreter programming-languages

263
推荐指数
9
解决办法
20万
查看次数

用什么语言编写Windows,Mac OS X和Linux?

我只是想知道谁知道Windows,Mac OS X和Linux是由哪些编程语言组成的,以及OS的每个部分使用的语言(即:内核,插件架构,GUI组件等).

我假设每种语言都有多种语言,显然我知道Linux内核是用C语言编写的.

我完全猜测Mac OS X包含很多Objective-C代码,因为它是源自NeXT的Apple语言.

Windows,我听说包含C,C++和Intel Assembly.Linux或Mac OS是否包含任何汇编代码?

此外,操作系统开发人员是否使用Ruby,Python等脚本语言来编写操作系统的部分脚本?操作系统的哪些部分将用每种语言编写?

linux windows macos operating-system programming-languages

260
推荐指数
9
解决办法
35万
查看次数

流行语言的语言书籍/教程

不久前,我是一名初学者,试图找到我想要学习的语言的好书/教程.即便如此,有时候我需要为我正在进行的新项目相对快速地学习语言.这篇文章的重点是记录这些语言的一些最佳教程和书籍.我将以我能找到的最好的列表开始列表,但希望你们那里可以提供更好的建议/新语言.这是我发现的:

由于现在可以编辑维基,我可以控制社区.如果您有任何建议,请将其放在本节中.我决定还添加一个部分,一般是更好的程序员书籍和在线参考.我们再次欢迎所有建议.

一般编程

在线教程
编程的基础由Karl Seguin的-从Codebetter,它基于C#的,但思想响全线真实的,不能相信没有一个人张贴了这个尚未实际.
如何编写不可维护的代码 - 一本反手册,教你如何以最不可能的方式编写代码.如果很多这些建议没有如此真实,那将会很有趣.
维基书籍的编程部分 - 由Jim Robert建议在不同的完成阶段拥有大量关于多种语言的书籍/教程
基础知识要感受一种语言.

书籍
代码完整 - 这本书不言而喻,它在很多方面都非常出色.
务实的程序员 - 与编码人员合作的下一个最好的事情,教给你他们所知道的一切.
掌握正则表达式 - 正则表达式是每个程序员工具箱中必不可少的工具.这本书由Patrick Lozzi推荐,是了解他们能力的好方法.
在算法Ç,C++Java的 -一个伟大的方式来学习所有的经典算法,如果你深入找到Knuth的书有点太.

C

在线教程
这个教程看起来非常简洁和深入,查看材料并且看起来非常好.不知道新程序员会有多友好.
书籍
K&R C - 肯定是经典.可能有人认为所有程序员都应该阅读它.
C Primer Plus - 由Imran推荐作为初学程序员的终极C书.
C:参考手册 - Patrick Lozzi推荐的一个很好的参考.

C++

在线教程cplusplus.com
上的教程似乎是最完整的.我在这里找到了另一个教程,但它不包括像多态这样的主题,我认为这是必不可少的.如果您来自C,教程可能是最适合您的.

另一个有用的教程,C++ Annotation.在Ubuntu系列中,您可以通过c++-annotation从Synaptic安装软件包获得多种格式的电子书(pdf,txt,Postscript和LaTex)(安装包可以在/usr/share/doc/c++-annotation/.

书籍
C++编程语言 - 对任何C++程序员都至关重要.
C++ Primer Plus - Orginally添加了一个拼写错误,但亚马逊的评论非常好,我会保留它,直到有人说这是一个哑弹.
有效的C++ …

programming-languages

249
推荐指数
8
解决办法
10万
查看次数

函数重载按返回类型?

为什么更多主流的静态类型语言不支持返回类型的函数/方法重载?我想不出那样做.通过参数类型支持过载似乎没有那么有用或合理.怎么这么不受欢迎呢?

programming-languages overloading language-design function-calls

248
推荐指数
5
解决办法
10万
查看次数

238
推荐指数
8
解决办法
9万
查看次数

没有null的语言的最佳解释

当程序员抱怨空错误/异常时,有人经常会问我们做什么而没有null.

我对选项类型的酷感有一些基本的想法,但我没有最好的表达它的知识或语言技巧.对于普通程序员可以接近的方式写的以下内容有什么好的解释,我们可以指出那个人?

  • 默认情况下,引用/指针的不可取性是可以为空的
  • 选项类型的工作原理包括简化检查空案例的策略
    • 模式匹配和
    • monadic理解
  • 替代解决方案,如消息吃零
  • (我错过了其他方面)

null programming-languages functional-programming nullpointerexception non-nullable

223
推荐指数
7
解决办法
4万
查看次数

为什么不经常在汇编中编写程序?

似乎主流观点认为汇编编程需要更长时间并且比C等更高级别的语言更难编程.因此,似乎建议或假设出于这些原因更好地编写更高级别的语言并且为了更好的便携性.

最近我一直在写x86汇编,我突然意识到这些原因可能不是真的,除了可能的可移植性.也许这更多的是熟悉并且知道如何很好地编写装配.我还注意到汇编中的编程与HLL中的编程完全不同.也许一个优秀且经验丰富的汇编程序员可以像经验丰富的C程序员用C语言一样轻松快速地编写程序.

也许是因为汇编程序设计与HLL完全不同,因此需要不同的思维,方法和方法,这使得为不熟悉的程序编程看起来很尴尬,因此给它编写程序的坏名称.

如果可移植性不是问题,那么真的,C会对NASM这样的好汇编程序有什么影响?

编辑: 只是指出.在汇编时编写时,不必只是在指令代码中编写.您可以使用宏和过程以及您自己的约定来进行各种抽象,以使程序更加模块化,更易于维护和更易于阅读.这是熟悉如何编写良好汇编的地方.

c assembly programming-languages

216
推荐指数
12
解决办法
27万
查看次数

动态类型语言与静态类型语言

与静态类型语言相比,动态类型语言的优点和局限是什么?

另请参阅:对动态语言的热爱(更具争议性的话题......)

type-systems programming-languages dynamic-languages

202
推荐指数
5
解决办法
12万
查看次数

什么是声明性编程?

我一直听到这个词在几个不同的背景下被抛出.它是什么?

glossary programming-languages declarative

186
推荐指数
12
解决办法
10万
查看次数