学习云计算学哪种编程语言_我应该学习哪种编程语言?

news/2024/7/24 13:20:41 标签: python, java, 编程语言, 人工智能, 机器学习

学习云计算学哪种编程语言

I am getting  better at writing Python code and I am starting to feel an itch to extend my toolbox and learn more about programming. Therefore, one step in that direction is to learn a new programming language next year (i.e., 2016). I would like to learn a relatively new language and it should not be limited to web applications.

我在编写Python代码方面变得越来越好,并且开始感到渴望扩展我的工具箱并了解有关编程的更多信息。 因此,朝这个方向迈出的第一步是明年(即2016年)学习一种新的编程语言。 我想学习一种相对较新的语言,它不仅限于Web应用程序。

My main use when it comes to programming is, now, creating psychological experiments. I need an efficient and good language. It should be able to present text and images on the screen, play sounds, and collect responses from the keyboard, mouse, and other equipment (i.e., Arduino, custom-made response handles, etc). The timing of all above mentioned might be critical. That is the lag between the signal sent and, for instance, presentation of text on the screen should be minimal (note that I am aware that timing is also dependent on the hardware). However, I also use Python collect data from the web, and visualize data, and do other trivial things. Another language that I am learning, and  using for statistical analysis, is R.

现在,我在编程方面的主要用途是创建心理实验。 我需要一种高效且良好的语言。 它应该能够在屏幕上显示文本和图像,播放声音并从键盘,鼠标和其他设备(例如,Arduino,定制的响应手柄等)收集响应。 上述所有时间都可能很关键。 那就是发送信号与例如在屏幕上显示文本之间的时滞应该是最小的(请注意,我知道计时也取决于硬件)。 但是,我还使用Python从Web上收集数据,可视化数据以及执行其他琐碎的事情。 我正在学习并用于统计分析的另一种语言是R。

I have some more requirements. It should be:

我还有其他要求。 它应该是:

  • free,
  • open source,
  • cross-platform
  • 自由,
  • 开源
  • 跨平台

It would be preferable if the language is up and coming. That is, might be the next big language. It would of course also be good if there is a growing online community dealing with questions and issues on the language (i.e., blogs, tags on StackOverflow, etc).

如果语言即将来临,那将是更好的选择。 也就是说,可能是下一种主要语言。 当然,如果有一个不断增长的在线社区来处理有关语言的问题(例如,博客,StackOverflow上的标签等),这当然也很好。

In your suggestions, I would like, at least, one link, and a good introducing book to read. Links to guides, tutorials, online courses, forums, and other types of resources to learn from are welcome.

在您的建议中,我至少希望有一个链接和一本不错的入门书可供阅读。 欢迎链接到指南,教程,在线课程,论坛和其他类型的资源以供学习。

To summarize, I am looking for a versatile programming language. It must be pretty new and efficient. If you need to know more to be able to give me the best answer as possible; please ask me!

总而言之,我正在寻找一种通用的编程语言。 它必须是新的且高效的。 如果您需要了解更多信息,以便能够给我最好的答案; 请问我!

I will update this post during my journey to learning a new programming language. That is, the post will also list the best suggestions I get. According to my criteria.

在学习新的编程语言的过程中,我将更新本文。 也就是说,该帖子还将列出我得到的最佳建议。 根据我的标准。

Update: I went on to ask the same question at Quora and got some more suggestions. Knowing Python, which is an Object-oriented language (OO), one guy told me to learn a functional language. The first two he suggested are Java Virtual Machine (JVM) languages; Scala and Clojure. These two languages are fast. Scala offers both OO and functional programming whereas Clojure is more purely functional. Furthemore, the same guy suggested Erlang, Elixir, and Haskell. Erlang and Elixir are not as fast as Scala and Clojure. Haskell is the most pure functional language.

更新 :我在Quora上问了同样的问题,并得到了更多建议。 一个人知道Python是一种面向对象的语言 (OO),就告诉我学习一种功能语言。 他建议的前两种是Java虚拟机 (JVM)语言。 斯卡拉(Scala)和Clojure 。 这两种语言速度很快。 Scala提供OO和函数式编程,而Clojure则纯粹是函数式的。 此外,同一个人还推荐了Erlang , Elixir和Haskell 。 Erlang和Elixir不如Scala和Clojure快。 Haskell是最纯粹的功能语言。

Another suggestion was TypeScript. TypeScript seems to be Object-oriented and based on JavaScript. I thought JavaScript was mainly for Webb applications but it is not. Appearently you can write Node.js applications which run as desktop applications. These applications can interact with Arduino devices. This is interesting since I am playing around with an Arduino board that will be used in two projects.

另一个建议是TypeScript 。 TypeScript似乎是面向对象的,并且基于JavaScript。 我认为JavaScript主要用于Webb应用程序,但事实并非如此。 显然,您可以编写作为桌面应用程序运行的Node.js应用程序。 这些应用程序可以与Arduino设备进行交互。 这很有趣,因为我正在玩一个将在两个项目中使用的Arduino板。

The four earlier suggestions:

先前的四个建议:

  1. Ruby
  2. JavaScript – node.js –
  3. C#
  4. Rust
  1. Ruby
  2. JavaScript – node.js –
  3. C#

What programming language should I learn? Right now I am leaning on towards one of the JVM languages (i.e., Scala or Clojure). Please leave a comment with what language you think I should learn. And why!

我应该学习哪种编程语言? 现在,我倾向于使用一种JVM语言(即Scala或Clojure)。 请以您认为我应该学习哪种语言发表评论。 又为什么!

翻译自: https://www.pybloggers.com/2015/12/what-programming-language-should-i-learn/

学习云计算学哪种编程语言


http://www.niftyadmin.cn/n/984342.html

相关文章

Linux shell 脚本入门教程+实例

原文:http://www.wiquan.com/article/136 为什么要进行shell编程在Linux系统中,虽然有各种各样的图形化接口工具,但是shell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使…

spring MVC笔记1

1.主流的mvc构架包括: struts1, webwork, strut2, spring mvc, jsf 2.spring MVC特点: 功能组件划分细致 灵活、强大 设计思想优秀 3.spring mvc的作用: 、以Controller为中心完成对系统流程的控制管理 、从请求中收集数据 、对传入参数进行验证 、根据请求调…

悟 - 软件工程 方法论

那软件开发来说一下这个方法论 1,规则 设计者设计任何框架都是有规则的, 使用者要先了解设计者的初衷,并熟悉规则,才能利用好 2,共识 任何问题,在业界都有很多解决方案,随着技术的发展&…

PragPub的实用递归方案

Jared Tobin is one of our consultants at fugue.co—he’s a programmer and researcher based out of Auckland, New Zealand. Jared’s article in this month’s issue of PragPub, The Pragmatic Bookshelf’s magazine affiliation, is a helpful read if you’re inter…

马哥linux学习笔记:DNS相关配置

域名系统(英文:Domain Name System,缩写:DNS)是因特网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名…

悟 - 思想 ,情感

1,情感 2019年4月3日前,我总想磨灭自己的情感,是自己变得理性,接近冷血(无情感) 今天,2019年4月3日 突然悟道,应该顺应自己的情感,但不是放纵情感, 理性地…

安装python 和ide_Python IDE和代码编辑器(指南)

安装python 和ideWriting Python using IDLE or the Python Shell is great for simple things, but those tools quickly turn larger programming projects into frustrating pits of despair. Using an IDE, or even just a good dedicated code editor, makes coding fun—…

php 7兼容性检查器,window_如何用好Windows7的兼容性检查工具,  早在Windows Vista时代,我们 - phpStudy...

早在Windows Vista时代,我们就已经接受了“兼容性”这一概念,Windows 7在保留原有兼容性检查工具的情况下,新增加了一个名为“兼容性疑难解答”的功能,在程序出现兼容性方面的问题时,这个功能可以引导用户进行自助解决…