标签: programming-languages

从片段中检测编程语言

在一段代码中检测使用哪种编程语言的最佳方法是什么?

programming-languages language-detection

110
推荐指数
6
解决办法
8万
查看次数

真正理解程序和功能之间的区别

我真的很难理解程序函数编程范例之间的区别.

以下是维基百科关于函数式编程的前两段:

在计算机科学中,函数式编程是一种编程范式,它将计算视为数学函数的评估,并避免状态和可变数据.它强调功能的应用,与强调状态变化的命令式编程风格形成对比.函数式编程的根源在于lambda演算,这是一种在20世纪30年代开发的用于研究函数定义,函数应用和递归的正式系统.许多函数式编程语言可以被视为lambda演算的详细说明.

在实践中,数学函数与命令式编程中使用的"函数"概念之间的区别在于命令式函数可能具有副作用,从而改变程序状态的值.因此,它们缺乏参照透明度,即相同的语言表达式可能在不同的时间导致不同的值,这取决于执行程序的状态.相反,在函数代码中,函数的输出值仅取决于输入到函数的参数,因此f使用相同的参数值调用函数 两次x将产生相同的结果f(x).消除副作用可以更容易理解和预测程序的行为,这是开发函数式编程的关键动机之一.

在第2段中,它说

相反,在函数代码中,函数的输出值仅取决于输入到函数的参数,因此f使用相同的参数值调用函数两次x将产生相同的结果f(x).

程序编程的情况不一样吗?

什么应该在程序性和功能性中脱颖而出?

procedural-programming programming-languages functional-programming

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

标量与原始数据类型 - 它们是一样的吗?

在我读过的各种文章中,有时会引用原始数据类型,有时会引用标量.

我对每个的理解是它们是简单的数据类型,如int,boolean,char等.

是否有我遗漏的东西意味着你应该使用特定的术语或者这些术语是否可以互换?每个维基百科页面都没有显示任何明显的内容.

如果这些条款只是可以互换的,那么这是首选条款?

scalar types programming-languages terminology primitive-types

108
推荐指数
3
解决办法
5万
查看次数

何时将语言视为脚本语言?

什么使语言成为脚本语言?我听说有人说"当它被解释而不是编译".这将使PHP(例如)成为脚本语言.这是唯一的标准吗?还是有其他标准吗?

也可以看看:

scripting programming-languages terminology semantics

107
推荐指数
9
解决办法
13万
查看次数

在Python中显示带有两个小数位的浮点数

我有一个函数采用浮点数参数(通常是带有一个有效数字的整数或小数),我需要输出一个带有两个小数位(5 - > 5.00,5.5 - > 5.50等)的字符串中的值.我怎么能用Python做到这一点?

python string floating-point programming-languages

107
推荐指数
9
解决办法
25万
查看次数

是否可以使用静态类型的完整Lisp变体?

是否可以使用静态类型的完整Lisp变体?这样的事情存在甚至是否有意义?我相信Lisp语言的优点之一就是它的定义简单.静态类型会破坏这个核心原则吗?

lisp programming-languages static-typing

101
推荐指数
4
解决办法
2万
查看次数

100
推荐指数
7
解决办法
18万
查看次数

函数式编程语言如何工作?

如果函数式编程语言不能保存任何状态,他们如何做一些简单的事情,比如从用户那里读取输入?他们如何"存储"输入(或存储任何数据?)

例如:这个简单的C语言如何转换为像Haskell这样的函数式编程语言?

#include<stdio.h>
int main() {
    int no;
    scanf("%d",&no);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

(我的问题受到了这篇优秀文章的启发:"名词王国的执行".阅读它让我更好地理解了什么是面向对象的编程,Java如何以一种极端的方式实现它,以及函数式编程语言是如何实现的对比.)

oop paradigms haskell programming-languages functional-programming

91
推荐指数
6
解决办法
1万
查看次数

JavaScript之外的任何其他语言在大括号开始位置(同一行和下一行)之间是否有区别?

今天,当我随机阅读O'Reilly书中的JavaScript模式时,我发现了一件有趣的事情(第27页供参考).

在Javascript中,在某些情况下,如果大括号的起始位置不同,则会有所不同.

function test_function1() {
    return
    {
        name: 'rajat'
    };
}

var obj = test_function1();
alert(obj);  //Shows "undefined"
Run Code Online (Sandbox Code Playgroud)

function test_function2() {
    return {
        name: 'rajat'
    };
}

var obj = test_function2();
alert(obj); //Shows object
Run Code Online (Sandbox Code Playgroud)

JSfiddle演示

有没有其他语言有这种行为?如果是这样,那么我肯定要改变我的习惯.. :)

我主要关注PHP,C,C++,Java和ruby.

javascript language-agnostic programming-languages language-design

91
推荐指数
5
解决办法
2512
查看次数

配置文件在什么时候成为编程语言?

我一直在考虑配置文件及其与代码的关系一段时间了,根据风的日期和方向,我的意见似乎发生了变化.虽然我不断回过头来学习Lisp时的第一次实现:数据和代码之间几乎没有什么区别.对配置文件来说,这似乎是双重的.从正确的角度来看,Perl脚本只不过是perl的配置文件.这往往会对QA和分工等任务造成相当严重的后果,例如谁应该负责更改配置文件.

从配置文件到完全成熟的语言的蠕变通常很慢,似乎是由拥有通用系统的愿望驱动的.大多数项目似乎从一些配置项开始很小,比如在哪里写日志,在哪里查找数据,用户名和密码等等.但随后它们开始增长:功能开始能够打开或关闭,操作的时间和顺序开始被控制,并且,不可避免地,有人想要开始向其添加逻辑(例如,如果机器是X则使用10,如果机器是Y则使用15).在某个时刻,配置文件成为特定于域的语言,并且在那时写得很差.

现在我已经漫步到舞台上,这是我的问题:

  1. 配置文件的真正目的是什么?
  2. 是否应该尝试保持配置文件简单?
  3. 谁应该负责对它们进行更改(开发人员,用户,管理员等)?
  4. 它们应该是源控制的吗(参见问题3)?

正如我之前所说,我对这些问题的回答不断变化,但现在我在想:

  1. 允许非程序员快速更改大块行为
  2. 是的,任何非粗粒度的东西都应该是代码
  3. 用户应负责配置文件,程序员应负责配置文件和代码之间的配置层,以便对应用程序进行更精细的控制
  4. 不,但细粒度的中间层应该是

configuration programming-languages config configuration-files

90
推荐指数
4
解决办法
1万
查看次数