Questions tagged «language-choice»

指编程语言选择。

5
项目规模和语言的严格程度之间是否存在关联?
我向我的一位同事解释了语言严格性和范式之间的区别,最后我断言: 诸如动​​态语言和解释语言之类的宽容语言最适合用于原型和小型项目或中型Web应用程序。当选择带有Node.js的优雅动态语言(例如Python或JavaScript)时,其好处是: 快速发展, 减少样板代码, 能够吸引年轻的,有创造力的程序员,他们逃离 Java之类的“企业语言”。 静态类型化/编译语言最适合要求更高严格性的应用程序,例如业务关键型应用程序或中型到大型应用程序。 数十年来发展起来的著名范例和模式, 易于进行静态检查, 能够找到许多具有数十年经验的专业开发人员。 严格的语言(例如Haskell,Ada)或技术(例如C#中的代码合同)更适合于优先考虑安全性而不是灵活性(即使Haskell可以非常灵活)的系统,例如生命攸关的系统和预计非常稳定的系统。好处是: 能够在编译时捕获尽可能多的错误, 易于进行静态检查, 易于形式证明。 但是,通过查看大型公司用于大型项目的语言和技术,看来我的主张是错误的。例如,Python已成功用于大型系统,例如YouTube或其他需要大量严格性的Google应用程序。 项目规模与应使用的语言/范例的严格程度之间是否仍然存在关联? 我忘记了要考虑的第三个因素吗? 我哪里错了?

6
选择功能性编程语言
最近,我读了很多有关函数式编程语言的主题(实际上,几乎是去年)。我真的很想选一个并彻底学习它。 上学期,我被介绍给Scheme。我爱它。喜欢语法的极端简单性,同调性原则,宏(卫生和非卫生),过程的n个类等。 Scheme的问题在于它是一种学术语言。我认为它不是真正在生产环境中使用的。我也不认为拥有我们的简历特别好。因此,我一直在寻找替代方案。它们很多,而且它们的流行程度似乎都差不多。 我还考虑过一些其他功能语言的想法: Clojure:这听起来很不错,因为它可以访问Java世界,面向可伸缩性和并发性,但是Java世界现在不处于边缘吗?我已经非常了解Java,但是根据JVM添加更多能量是否明智? Haskell:看起来像是一种很受赞赏的语言,但是根据我的阅读,它也更多是一种学术语言。 Lisp:一直存在至今。它似乎具有Scheme所提供的大部分功能。它有一个很大的社区。据我所知,它可能是业界使用最广泛的函数式编程语言。 F#:不是真的考虑过。我不是MS资料的忠实拥护者。我没有钱购买他们的软件(我可以让他们摆脱大学联盟的束缚,但我更倾向于使用社区驱动的解决方案)。虽然...我想这将是最佳的职业导向选择。 今晚,我倾向于Lisp。一周前是Haskell。在此之前是Clojure。在过去的一年中,我在做一些Scheme是为了娱乐,而不是因为您知道的原因而推动它。现在,我想变得认真起来(关于学习一个,关于使用它进行实际的项目,关于也许最终与其进行专业合作)。我的问题是,我需要先深入学习它们,然后才能选择其中的一个。

9
我应该如何从Lisp开始?[关闭]
我已经编程多年了,以各种方式遍历Blub(BASIC,汇编语言,C,C ++,Visual Basic,Java,Ruby,而没有“ Blub-ness”的特殊顺序),并且我想学习Lisp。但是,在时间有限(家庭,全职工作等)的情况下,我有很多兴趣,而对于当前的Blub(Java),我感到很满意。 因此,我的问题是,假设我是一个真正想学习Lisp的人,那么要取得良好的结果来证明Lisp在Web开发中的优越性,将采取哪些初步步骤?也许我错过了重点,但这就是我最初看到Lisp知识应用的方式。 我在考虑“使用方言A,使用IDE B,按照第C页的说明,在使用顾问D的单子之后质疑您的理智”。我想知道这里的人们认为什么是A,B,C甚至D的最佳值。此外,还讨论了学习如此强大的语言而不是成为Rails的相对价值。专家。 仅添加更多细节,我将在MacOS(或Linux VM)上进行开发-无需基于Windows的方法。 那些浏览的注意事项 我将让这个问题保持一段时间,以便在我能够探索建议之后就可以提供有关建议的反馈。如果您碰巧正在浏览并且觉得自己有需要添加的内容,请这样做。我真的很欢迎您的反馈。 有趣的链接 假设您是从Java背景来的Lisp,那么这组链接将使您快速入门。 使用Intellij的La Clojure插件集成Lisp(视频广播) Web Lisp 实用Common Lisp的在线版本(C / o Frank Shearar) Lisp的土地一(+ (+ very quirky) game based)中的方式,但让这一切如此简单 在MacOS上安装Clojure和Sublime 2是一个很好的入门指南 看看《Clojure在行动》一书。为我工作。


11
在某些任务中可以使用贵公司不支持的语言吗?
我在一家支持多种语言的公司工作:COBOL,VB6,C#和Java。 我在主要工作中使用这些语言,但是我经常发现自己要用Python编写一些次要程序(例如脚本),因为我发现它是完成此类任务的最佳工具。 例如:分析师给了我一个复杂的CSV文件来填充一些数据库表,因此我将使用Python对其进行解析并创建一个数据库脚本。 有什么问题? 我看到的主要问题是这些快速且肮脏的脚本中的一些部分正逐渐变得越来越重要,并且: 我的公司不支持Python 它们不受版本控制(我以其他方式对其进行备份) 我的同事不了解Python 分析人员甚至已经开始在电子邮件中引用它们(“启动导出脚本...”),因此比我最初想象的需要更多的时间。 我应该补充一点,这些脚本只是不属于主项目的实用程序;他们只是帮助在更短的时间内完成琐碎的任务。对于我自己的小任务,它们有很大帮助。 简而言之,如果我是偶然的彩票赢家,我的同事将需要在没有这些脚本的情况下保持项目的生命。例如,他们会花费更多时间手动修复CSV错误。 这是常见的情况吗?难道我做错了什么?我该怎么办?

13
为什么操作系统会在C和C ++中做底层工作?为什么不只是C ++?
在Windows的Wikipedia页面上,它指出Windows是用Assembly语言编写的,用于引导加载程序和任务切换器,以及C 和 C ++语言的内核例程。 IIRC,您可以从extern "C"'d块调用C ++函数。我可以将C用于内核函数,这样纯C应用程序就可以使用它们(诸如此类printf),但是如果它们只能包装在一个extern "C "块中,那么为什么要用C语言编写代码?

11
为什么推荐使用Python作为入门级编程语言?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 4年前关闭。 我在P.SE上阅读了更多问题,建议初学者选择Python作为他们的第一门编程语言。 不要误会我的意思,我喜欢Python。我很喜欢!但是它的哲学围绕着“我们都同意这里的成年人”。 从经验/知识的角度来看,初学者不是成年人。这就意味着即使您在伤口中幸存下来,也更容易朝自己的脚射击并养成一些不良习惯。 我在想,用一种“更静态”的语言,用脚踩枪会比较困难,因为它的限制性更大。 回到我的问题。为什么推荐使用Python作为入门级编程语言? 有哪些优点使其适合教授编程语言。还是...顾问的个人喜好?

9
说服高层管理人员考虑使用函数式编程,有什么好的事实依据?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 对于为什么函数式编程是一个好主意,有大量的“理论”论证(要解决一个开放的问题,太多了,这是正确的)。 但是,大多数都是基于理论(“优雅”等)或针对开发人员的论证。 问题是,当他们的目标是向大公司的高级管理层介绍这个想法时,大多数人完全没有用,其中一些人甚至都不是开发人员,而所有人都在乎业务论点:成本,人力资本管理,产品交付,客户服务和收入;以及理论上无法完全支持的定量事实。 就考虑将功能性编程作为一种概念(不是任何特定的语言)进行考虑,相对于过程/ OOP的典型组合,例如Java / C ++ /(Perl | Python),是否有任何令人信服的论点可以解决这些业务问题?。 最好是,我正在寻找定量的和/或基于研究或案例研究的论据。例如,“根据此参考,Lisp / F#中的多线程系统的错误率是Java的10%”或“ 80%的顶尖毕业生表示对期望的技术(称为函数式编程)的偏爱是前三大兴趣之一”。 我知道Graham提出了函数式编程的用例以备不时之需,并假设他的某些论点对较大的成熟公司有效,对此他持开放态度。 psI完全意识到,您可以在Perl中完成类似于函数式编程的工作,可能是Python,甚至(甚至)Java 8或C ++14。但是,这并不意味着使用Perl,C ++或Java的组织会认可函数vs即使是那些语言中的OOP /过程方法 就此语言而言,“大”定义为足以拥有专门的开发工程/工具组的大小,该组指示允许所有开发人员使用/执行的操作;至少有数百名低端开发者。

9
与歌迷打交道[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 7年前关闭。 我们可能都遇到过这样的人,那个开发人员只知道他的语言是一种真正的语言,并且不会为之闭嘴。你怎么像这样的人?我不想得罪任何人(尤其是因为我工作场所的狂热者是高级开发人员)。但是,当我不得不编写一个永远不会扔到存储库中的一次性脚本并且没有其他人需要知道的脚本时,我希望能够使用自己选择的脚本语言。 我必须处理的想法: 笑吧-“哈哈,是的,也许X语言要容易一些,我想我是受虐狂!” 顺其自然-我真的更喜欢避免这种情况,因为我承受不起与选择新语言有关的生产力下降。 隐藏我的语言-每当我编写脚本或自动执行某些操作时,请成为壁橱程序员并隐藏我的监视器。 您对此情况有何建议?

2
对于服务器端沙盒脚本,我有哪些选择?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 我正在建立一个公共网站,用户可以在其中共享数据和脚本以运行某些数据。该脚本在某种沙箱中在服务器端运行,而在此周期中没有其他交互:我的Perl程序从数据库中读取用户制作的脚本,将要处理的数据添加到脚本中(即JSON文档),然后调用解释器,返回响应(JSON文档或纯文本),我使用perl脚本将其保存到数据库。该脚本应该可以自己访问添加到脚本语言中的内置函数,但是仅此而已。 因此,我偶然发现了node.js作为一个JavaScript解释器,大约一个小时前就使用了Google的V8(v8对这种事情有意义吗?)。我也想到了CoffeeScript,因为它看起来不错并且仍然是Javascript。 我认为javascript足够广泛并且更易于“沙盒化”,因为它没有操作系统调用或任何远程不安全的东西(我认为)。 顺便说一句,我在Perl和Php上为前端编写系统。 为了改善这个问题:我之所以选择Javascript,是因为我认为可以使用node.js来实现它既安全又简单,但是实现这种任务还有哪些其他选择呢??蟒蛇?我只是找不到有关如何以适当方式运行沙盒解释器的信息。

3
将新的JVM编程语言引入已建立的企业环境
想象一下,您当前的工作场所是一家Java商店。有很多有关Java语言的丰富知识,并且有一个完善的构建和部署过程来以流畅,敏捷的方式处理所有事情。 有一天,一个项目问世了,它大声疾呼要用Ruby编写。只有高级开发人员才有关于Ruby的任何线索,但有一个普遍的概念,因为JRuby存在于JVM中,所以可以继续使用和支持现有的基础结构。同样,JRuby可以展示一种以更少的代码实现更好的方式来实现当前应用程序的方法,因此这可能表示正在进行的迁移。 请记住,JRuby只是一个示例,它可以等效地是Clojure或Groovy或在JVM上运行的任何其他程序。 问题是,您将如何引入这种变化-如果有的话?

4
OCaml对数值分析有好处吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 4年前关闭。 我目前正在使用C和一些FORTRAN来求解微分方程的数值系统。 我对这两种语言都有点受够了,但是我需要一些(相当)高效的代码...我正在考虑切换到OCaml。 这值得么?
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.