热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Erlang(1):安装erlang虚拟机

最近做的也有项目失败了,新的项目可能要用erlang。就尽管研究一下吧。把别人的教程和自己遇到的困难写一下,可能理解得更好。因为我之前写的C++比较多,所以这将要不断地跟C++来比较

最近做的也有项目失败了,新的项目可能要用erlang。就尽管研究一下吧。

把别人的教程和自己遇到的困难写一下,可能理解得更好。

因为我之前写的C++比较多,所以这将要不断地跟C++来比较,才能更好地把握语言的本质,否则只是一个写业务的,好像erlang新手工资还比C++低。


1.网上找到了一本《erlang程序设计》中文版的书。是十年前的东西了。应该可以浏览一下,但是当做入门教程的话,是在是太旧了。

跟所有的编程语言教程的书一样,一开始就是大吹牛B。这些就略过了。

补充:找到了一个2014年出版的书,应该非常新了。

erlang程序设计


2.erlang是自称面向并发的语言,采用的是消息模型。
进程之间并不共享任何数据,完全避免了引入锁的必要。
提供一系列的并发原语。
面向并发编程。


3.

erlang是使用虚拟机来运行的,这一点跟java很像,都是运行在虚拟机上的语言。

这种语言都是通过编译,生成一种中间码,这种中间码可以在任何安装了虚拟机的计算机中运行。

非常方便与跨平台。

对比C++,C++是生成二进制文件的,在哪个平台编译,就在哪个平台运行。不同编译器生成的库,一般是不能共用的。


3.安装,说了很多废话,先看看怎么写个HelloWorld出来才是王道。直接上网找吧:

发现了两个网址,http://www.cnerlang.com/ erlang中文社区,不知打是不是官方的。

英文官网:http://www.erlang.org/。在里面可以找到安装程序。

在网页:http://www.erlang.org/downloads,下载页面:

OTP 19.2 Readme File 更新说明文件
OTP 19.2 Source File (101028910) 源码,erlang是一个开源项目,在Github上面也可以下载
OTP 19.2 Windows 32-bit Binary File (101028910) windows32位系统安装文件
OTP 19.2 Windows 64-bit Binary File (101891457) windows64位系统安装文件
OTP 19.2 HTML Documentation File (34761971) html说明文档,这个是在线帮助文档了
OTP 19.2 Man Pages File (1409661)  我也不知道这是啥了。

下载了64位的安装文件。

OTP最初是开放电信平台(Open Telecom Platform)的缩写。在erlang里面提供一些库和实现方式。类似与C++的基础库和STL


4.下载后直接安装,没什么特别的地方。

安装完后运行:


打开了一个控制台程序。


erlang以".+回车"作为一个完整命令的结束。

输入:io:format("Hello World!").


错了好多次,终于输出了个hello world。

就这样,算是完成了一门语言的第一步,Hello World。



推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 原文链接:http:littleq.logdown.composts20131011kerl-to-manage-erlang-versions-on-your-system最近又回到 ... [详细]
  • 近期看见一篇来自Intel的很有意思的分析文章,作者提到在他向45名与会的各公司程序员开发经理战略师提问“什么是实施并行编程的最大障碍”时,下面五个因素 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 关于CMS收集器的知识介绍和优缺点分析
    本文介绍了CMS收集器的概念、运行过程和优缺点,并解释了垃圾回收器的作用和实践。CMS收集器是一种基于标记-清除算法的垃圾回收器,适用于互联网站和B/S系统等对响应速度和停顿时间有较高要求的应用。同时,还提供了其他垃圾回收器的参考资料。 ... [详细]
author-avatar
詹建红_335
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有