Questions tagged «programming-languages»

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

7
为什么有那么多语言按价值传递?
即使是像C这样的具有显式指针操作的语言,也总是按值传递(您可以按引用传递它们,但这不是默认行为)。 这有什么好处,为什么这么多的语言通过值传递,为什么其他的语言通过引用传递?(我不确定Haskell是通过引用传递的,尽管我不确定)。

2
第一种ATM编程语言
最初的ATM机执行自动提款机之类的任务,它们是离线机器,可以处理浸渍有Carbon和6位PIN码的打孔卡。 一张卡的最大提款额为10磅,每张卡只能一次性使用-ATM吞咽卡! 当我查看编程语言的时间轴时,1967年在伦敦安装了第一台ATM ,在那十年之前有很多编程语言。我也不知道硬件,但是它是用哪种编程语言编写的?(还使用了哪些硬件?) *我没有找到John Shepherd-Barron(70年代ATM发明者)的详细传记 更新资料 我发现了这张照片,这张照片取自于1972年在伊朗的一家报纸。 翻译的PS: 右边显示Rad-lon先生(如果拼写正确),Barros的经理(如果拼写正确)国际教育学院,以及计算机亭专家Jim Sutherland先生。 在本文的其余部分中,这些被称为“自动计算机亭”的ATM随本moto进行了广告宣传: Rad-lon先生(如果拼写正确)将其卡放到自动计算机亭的一个特定位置,并在10秒钟后提取现金。 另外两个问题是: 1-这些自动提款机有多快?(当年10秒内退出) 2-我在Internet上没有找到任何有关“自动计算机亭”的文字,这是有效的还是在那个时候被称为计算机?

6
Lisp仍然具有其他编程语言未采用的任何特殊功能吗?
Lisp仍然具有其他编程语言未采用的任何特殊功能吗? Lisp是指所有Lisp编程语言的整体。有人告诉我Lisp多么惊人,并且知道许多语言都受到Lisp的启发。但是Lisp是否仍然具有任何其他语言无法完成的专有设计功能? 我问这个问题的原因是,最近,我自己是一名业余程序员,所以我开始学习Clojure只是为了好玩,结果是我发现了很多与Lisp相关的帖子和​​评论,但只说了一件事:“ Lisp是独一无二的”,但其他现代编程语言已经采用并窃取了Lisp的许多想法,例如条件,递归和作为一等公民的功能。甚至元编程也可以用多种语言完成。 我错过了什么吗?“ Lisp还是不一样”吗? 或我很幸运,因为其他现代语言从Lisp窃取了所有的好东西,因此不必深入研究Lisp的括号,而“ Lisp是不同的”。

4
Google在Go语言上投入了多少?
我已经阅读了很多有关Go语言的内容,而且看起来很有希望。在决定对语言进行更多努力之前,我缺少的最后重要信息是:Google或其他公司在开发工作上投入了多少金钱/人力?如果无法提供此信息,您是否还有其他信息可表明Google对项目的承诺。它是否被用作新投资或类似投资的主要语言(我想这还为时过早,但我不知道)?

8
同时学习多种语言[关闭]
学习新语言时,最好是100%致力于一种语言,然后等到您“掌握”了另一种语言,或者同时学习不同的语言后,再继续学习呢? 如果重要的话,我目前正在学习C ++,我也想知道Java和Python。

9
动态类型语言是否值得所有批评?[关闭]
我已经在Internet上阅读了几篇有关企业中编程语言选择的文章。最近,许多动态类型的语言已经流行,例如Ruby,Python,PHP和Erlang。但是许多企业仍然使用静态类型的语言,例如C,C ++,C#和Java。 是的,静态类型语言的好处之一是可以在编译时而不是运行时更早地发现编程错误。但是动态类型语言也有优势。(更多关于维基百科) 企业之所以开始不使用Erlang,Ruby和Python之类的语言的主要原因,似乎是因为它们是动态类型的。这似乎也是StackOverflow上的人决定反对Erlang的主要原因。请参阅您为什么决定“反对” Erlang。 但是,对于企业中的动态类型,似乎存在强烈的批评,但是我真的不明白为什么它如此强大。 真的,为什么在企业中对动态类型的批评如此之多?它对项目成本的影响真的很大吗?但是也许我错了。

6
为什么某些函数式编程语言在函数应用程序中使用空格?
在看过一些用于函数式编程的语言之后,我总是想知道为什么某些fp语言会在功能应用程序(和定义)中使用一个或多个空格字符,而大多数(全部?)命令式/面向对象的语言都在使用括号,这似乎在是更数学的方式。我也认为后者的样式比没有括号的样式更清晰易读。 因此,如果我们有一个函数f(x)=x²,则有两种调用方法: FP: f x 例子: ML,Ocaml,F# 哈斯克尔 LISP,方案(以某种方式) 非FP: f(x) 例子: 几乎所有命令式语言(我知道,请参阅评论/答案) Erlang Scala(也允许单个参数使用“运算符”) “省略”括号的原因是什么?

6
表达力具体指的是什么?
维基百科将表现力定义为: ..可以用该语言表示和传达的思想的广度。 “想法”是否指我们可以与机器通信的事物(操作,结构,算法等?)?还是它是指可以被捕获并与其他人交流的“人类”概念? 如何评估和衡量表达能力? 例如,如果我们采用JavaScript之类的语言,并对变量名称施加了怪异的限制,例如变量必须是一个8位数字,并带有下划线,match/^_[0-9]{8}$/,我们会失去表达能力吗? 还是那只会是荒唐而又烦人的? 澄清: 表达能力是由语言固有的一般思想衡量的: 整数和字符串 循环 有条件的 或该语言可以代表的特定,独特想法的数量: 整数1,2 ... 2 ^ 32 包含“狐狸怎么说”的字符串 和“ wah pah pah pah pah pah pow” 每个青蛙在我的收藏青蛙 如果青蛙是绿色的,或者做什么,那就做什么




12
如果编程基础很强,那么任何编程语言都可以轻松掌握。事实还是神话?[关闭]
一个具有相当好的编程基础的人真的可以轻松学习任何编程语言,这是真的吗? 好吧,当我说到编程语言时,我指的是敏捷和动态语言,例如PHP,Perl,Ruby等,而不是遥远的过去的编程语言。 在某种程度上,我只研究过Java,groovy和flex。因此,从粗略的角度考虑,我是一名业余程序员,但还是一名快速学习者,要在任何一种这种语言上立足需要多长时间?

11
当编码开始变得无聊时,该怎么办?[关闭]
我从6岁开始使用Commodore 64编程。现在我28岁,我必须完成计算机科学一级学位的4门课程。 这些年来,我开始对编写代码感到无聊。我已经学习了理论计算机语言的计算机科学课程,并且在网络安全领域学习了10年的C系统编码,但是编写代码并没有带来任何刺激。 我可以用C,C ++,Python或任何您想要的语言编写代码,但是我对自己的工作并不感到兴奋。我感觉不到任何挑战。我已经编写了多线程代码,HTTPS MITM代理和WSGI应用程序,而无需任何特定的算法技能。 我觉得所有这些新东西都是一样的,其中包含了更简单(或更多个)的抽象或自动化,但是对我来说,这些听起来都是一样的。一遍又一遍地。可计算语言都是图灵可计算的,因此编码仅是部分函数此子集中相似模式的复制。 在日常工作中,即使寻找错误,对代码进行基准测试或解决X,Y,Z库问题,也感到无聊。 我是一个很好奇的人。我总是被某些东西刺激。但是,即使我查看出色的代码,我也无法做到。我对事情的运作方式感到更自在。 现在是时候提高我的职业了吗?还是要获得更多具有挑战性的计算机科学知识?也许会获得CS的专业学位? 我已经开始阅读有关项目管理“ Peopleware”的第一本书,并且我对软件开发生命周期越来越感兴趣。您建议做什么? 也许像我的一些朋友一样试图进入Google或Microsoft或Apple。或者,也许是更具管理性的职业道路。我还试图找到一本有关沟通规则和“人格特征”的好书,以使我为进入管理领域做好准备。 有什么建议么? PS:我很感兴趣,我并不沮丧 :)我喜欢爬山,徒步旅行,照相和我是运动登山者,我喜欢游泳和运动,有时候我会跑步,实际上我读了一本关于我的国家(意大利)从AC到今天的故事的书,我很喜欢旅行(今年夏天,我赚了4000Km,看到西班牙有很多地方可以爬上去,仅用了3周的时间,这不是假期,而是马拉松,长达24公里的徒步旅行使我的疝气受伤),我热爱戏剧和生活。 多亏了所有人,思考所有答案为我提供了使自己的道路更加清晰的机会。 出于总结目的,我们可以概括投票最多的答案。 首先,所有的人的票了必要性,以使我们的工作支持你的生活,而不是唯一的理由留在生活中(这不是我的情况),所以,如果你唯一的理由生活,如果工作,你来的太快真的很沮丧 正如人们所说的那样,维也纳不等您:) 在此提醒之后,人们建议: 增加技术复杂性我实际上正在努力增加挑战并减少对此的无聊。 将专业领域更改为非技术领域,试图成为经理,或者在与您的工作相关的非技术领域取得一些进步。 在另一种技术挑战中改变专业领域,您是系统程序员吗?尝试减少对人的应用程序的开发,以便您可以使用有用的软件更轻松地查看人 在您的学术道路上提高计算机科学学位 出于我的目的,正确的答案是在计算机科学领域取得进步,就我的感觉而言,我认为编程不是获得计算机科学的唯一途径,而且我认为与计算机工程专业人士不同的是,获得计算机科学的其他道路会更好。

5
不良做法-将案例切换到设置环境
在我担任开发人员的最近三年中,我看到了许多示例,这些示例中的人们使用switch语句设置URL的路径(后端和前端)。下面是一个示例: 后端示例(C#): public static string getHost(EnvironmentEnum environment){ var path = String.Empty; switch (environment) { case EnvironmentEnum.dev: path = "http://localhost:55793/"; break; case EnvironmentEnum.uat: path = "http://dev.yourpath.com/"; break; case EnvironmentEnum.production: path = "http://yourpath.com/"; break; } return path; } 前端示例(JavaScript): (function () { if (window.location.host.indexOf("localhost") !== -1) { window.serviceUrl = "http://localhost:57939/"; } else …


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.