Java编程入门第一课:HelloWorld

在之前的文章中,壹哥带大家搭建出了Java的开发环境,配置了JDK环境变量,并且我们也熟悉了dos命令行的操作。那么从这篇文章开始,壹哥就开始带各位真正地学习Java代码该怎么写。

———–前戏已做完,精彩即开始———-

全文大约3000】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图,让你更好的理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考……

壹哥在之前的文章中给大家讲过,我们Java程序的开发可以分为3步,即“编写、编译、执行”,如下图所示:

并且在不同的步骤执行后,还会产生不同的文件,如下所示:

根据这些可知,我们如果想要编写出一个合格的Java程序,需要经历如下步骤:

第一步,先编写出一个\”xxx.java\”的源码文件;

第二步,JDK对“xxx.java”文件进行编译,生成“xxx.class”的字节码文件;

第三步,JVM虚拟机加载并运行“xxx.class”字节码文件。

接下来,壹哥就会按照上面的步骤,带大家编写、编译、执行咱们的第一个Java程序,开心到飞起啦……

1. 准备开发工具

因为我们现在还没安装任何java的代码开发工具,所以一开始我们先采用最原始的开发工具,txt记事本!对,你没看错,其实windows系统自带的记事本就能开发java!这也是java开发较简单的一个有力证据,不需要复杂的开发工具。

当然,为了提高开发和编译效率,我们在真正进行企业级开发时,肯定不会闲得用记事本进行开发。壹哥在后面的文章中,会教大家使用eclipse和更高级的intellij idea。

2. 创建代码目录

为了方便我们管理自己的代码,我们可以先在某个盘符下创建一个文件夹,用来存储我们编写的java代码。比如壹哥在F盘下,创建一个名为JavaDemos的文件夹,如下图所示:

3. 创建HelloWorld.java文件

然后在该文件夹下创建一个HelloWorld.txt文件,如下图所示:

把该文件的后缀名改为.java,之后我们就在这个HelloWorld.java文件中编写第一个java案例。

大家注意看下图:

此时,我们的.txt文件,就已经从文本格式变成了JAVA文件格式,说明后缀名已经成功地被修改成了.java。大家一定要注意这一点,有的小伙伴会把文件修改成HelloWorld.java.txt形式,其实后缀还是txt,这不是java文件哦!

4. 编写代码

接下来我们就可以打开HelloWorld.java文件,在这里面编写我们的第一个java案例,如下图所示:

如果你之前一点java基础都没有,先不要管上面的代码是什么意思。请大家先照着壹哥的代码仔细敲出来即可,最后千万【别忘了保存文件】哦!上述代码如下:【代码块表示】

至此,我们就把第一个java案例的代码编写完毕了!

5. 代码详解

壹哥先对上述代码进行简单的解释,以后我再详细给大家讲解上述代码的具体含义,上述代码的含义如下:

public:关键字,表示“公开的”;

class关键字,表示用来定义一个类;

HelloWorld类名,要保证和我们的文件名一样;

static关键字,表示静态的,大家先记住意思,后面我会再细讲;

void表示方法没有返回值,大家先记住意思,后面我再细讲;

main主方法的名称,表示程序的入口,固定名称;

String[]:字符串数组类型;

args方法参数的名称,随意;

System.out.println(\”Hello World!\”):用来输出“Hello World!”这句话。

我们可以参考下图来更形象地理解上述代码的含义:

注意:

在Java里,所有的关键字、标识符都是严格区分大小写的!

至于上述代码的具体含义,对完全零基础的小白来说,肯定是懵圈的。大家先别急,先记住怎么写就好了,后面壹哥会一点点带你知道这些到底都是什么意思。接下来我们要开始对代码进行编译了,又往前进了一步哦。

现在代码已经编写完毕了,我们需要进行第2步操作了,即“编译程序”!在这一步,我们主要是利用JDK中自带的javac命令来实现编译功能。

1. 打开dos命令窗口

首先,我们要打开一个dos命令窗口,并利用cd命令切换到HelloWorld.java文件所在的目录,如下图所示:

2. 编译程序

接下来我们要使用javac命令编译HelloWorld.java源码文件。如果程序中没有错误,编译时就没有任何提示。编译完毕后,会在当前目录下生成一个名为HelloWorld.class的文件。该文件就是字节码文件,也就是可以执行的java程序。

2.1 javac语法格式【代码块表示】

javac xxx.java

2.2 编译过程

具体过程如下图所示:

此时,我们就把HelloWorld.class字节码文件编译出来了!接下来就可以进行执行了。

要想执行编译好的字节码文件,我们可以使用JDK自带的java命令。对的哦,java本身也是一个命令!

1. java命令格式【代码块表示】

//注意:java命令后面的文件名,不要带.class后缀!!!

java xxx

2. 执行过程

具体执行过程,如下图所示:

执行完毕后,仔细观察,我们已经可以在cmd窗口中看到,系统成功地输出了\”Hello World!\”。似乎很多编程语言,第一个案例都是输出”Hello World!“,这是为什么呢?

注意:

java命令后面的HelloWorld,是不带.class后缀的哦!千万不要带!带了就出错!

至此,我们已经遵循java程序开发三步走的策略,成功地按照“编写、编译、执行”的步骤,实现了第一个java小案例!

上面的案例虽然猛一看很简单,但对初学者来说,真正动手敲代码的时候,可能还是会错误百出。接下来壹哥就给大家总结几个常见的错误,有则改之无则加勉。

1. 找不到文件

对新手来说,第一个常见的错误就是“找不到文件”,如下图所示:

产生上述错误的原因,可能如下:

1.文件名写错了;

2.文件后缀名有问题;

3.文件的路径写错了:类文件不在当前路径下,或者不在classpath路径下。

有些小伙伴的windows系统,文件的后缀名默认是隐藏的。壹哥建议大家不要隐藏自己的文件后缀名,那么怎么显示文件后缀名呢?我们可以点击“工具”菜单,然后选择“文件夹选项”,如下图所示:

接着点击【查看】选项卡,勾选掉【隐藏已知文件类型的扩展名】,这样以后就不会隐藏文件的后缀名了。如下图所示:

2. 编译错误

第二个常见的错误,是在编译阶段产生的,如下图所示:

之所以会出现上述错误,原因只有一个,就是自己的class类名和java文件名称不一样!大家要注意,java中public公开的类名,必须和java文件名一样,所以只要保证两者一致,就可以解决该问题!这个我们在后面会细说,现在先知道就好了!

———–正片已结束,来根事后烟———–

至此,壹哥就带大家编写出了第一个Java案例“HelloWorld”,不知道你有没有把今天的案例实现呢?

壹哥希望大家可以从第一个Java案例开始,认真、仔细对待每一个案例,动手编写每一行代码。作为一个未来的程序员,你一定要“勤动手、多动脑”,动手敲代码,动脑多思考。千万不要觉得今天的案例简单就不去练习!

壹哥见过太多眼高手低的学生,总以为代码很简单,实际编程时却错误百出。面试时说的头头是道,到了公司动手能力奇差无比,干不了几天就被公司给开除了,根本原因就是动手能力没有练出来!我希望大家从今天开始,无论多简单的案例,都要动手敲起来!

第一题

自己设计编写一个Java案例,输出两行语句,分别是 “你好,Java!” 和 “自己的姓名,Fighting!”

注意:

在cmd命令行输出中文时,可能会出现乱码,你先不用担心,以后我们再解决这个问题。

第二题

结合下图,再次理解Java实现跨平台的运行原理。

WINDOWS

JVM FOR WINDOWS

执行

孙玉昌4659

孙玉昌4659

LINUX

JVM FOR LINUX

执行

.CLASS

.JAVA

编译

解释

4659

孙玉昌

MACOS

字节码

源文件

执行

JVM FOR MACOS

OTHERS

执行

JVM FOR OTHERS

孙玉昌4659

孙玉昌4659

机器码

Hello World:代码编写和调试 | 第一部分·【4】

本文是第一部分第四篇,第一部分共六篇文章,目录如下:

  1. 市场的动量效应
  2. 动量策略的核心盈利因子
  3. Hello World: 广为人知的动量策略
  4. Hello World: 代码编写和调试
  5. Hello World: 研究与优化
  6. 骗术大揭秘与第一部分结语

本篇介绍本部分中的Hello World动量策略进行编码实现和调试过程。

前面几篇文章说了进行了很多描述性工作,本篇就直奔主题直接开始吧。不过再次强调一下:

在TBQ3中,程序使用事件驱动系统,具体的内容驱动事件可以参考官方文档中的介绍。首先一个空白的框架在TQB3中创建后,常用的代码框架格式如下:

上图中包含了最常用到的5个事件处理函数。为了Hello World中的简化,我们仅仅使用OnBarClose事件处理程序,这个方法仅在Bar结束的时候调用一次,也就避免了信号闪烁。而OnBar则会在每次有Tick更新数据时都会调用。

注意:TBQ3中这种区分为策略的设计提供了更加细致化处理的可能。这种事件驱动方式可以大幅简化很多历史的策略的实现方式。如果手里有很多以前收集的旧版TB策略,应该考虑使用这种新的事件驱动逻辑去改写。

1.1)逻辑定义和代码实现

首先,我们要实现在前一篇文章中所实现的逻辑,并将其作为信号在图表中显示出来。出于简化目的,我们仅在OnBarClose事件处理函数中进行逻辑编写,以避免不必要的信号闪烁处理。代码实现如下:

1.2)图表目视检查

在完成信号代码书写之后,不应该马上进行转化为策略,首先要做的是在图表上面对信号进行检查,确认信号是否符合逻辑的设计。首先新建一个K线图表,进行策略单元设置,配置好标的和数据参数,在图表上右键添加策略。添加信号策略后,可以看到信号已经显示出来了:

如果通过目视检查确认,逻辑已经通过信号正确地表达了出来。则可以开始将信号转换为一个完整策略。

2.1)开平仓间隔限制

首先,为避免刚刚平仓后立即开仓,还需要额外添加一个小逻辑检查是否刚刚进行了平仓。通过增加一个封装方法来实现退出交易的Bar间隔数量检查:

这里使用了一个状态函数: BarsSinceExit,该函数返回最近平仓的位置到当前位置的Bar计数是否满足制定间隔nBars。图中红线部分新增。

2.2)增加Buy API调用

增加Buy() API调用的过程比较简单,仅需要将之前的绘图语句:

替换为对应的API调用即可。因为逻辑实现在OnBarClose事件处理程序中,所以直接使用当前的Close并不存在偷价(包含滑点后),也避免了信号闪烁。此外为了避免重复信号导致的重复开仓,可以使用平台提供的一个状态函数:` MarketPosition`,持多仓时返回1,空仓返回0,仅在空仓时允许开新仓。

2.3)退出机制

均线类最广为人知的退出机制是:“当价格跌破20均后,就平多仓”。出于演示目的,我们使用这个逻辑作为基础的退出机制。为了避免开仓和退出矛盾,我们还需要在之前的开仓策略中额外增加一句对收盘价是否大于maSlow的检查,同时完成退出持仓:

图中红线部分为新增代码。其中额外使用了另一个状态函数:BarsSinceEntry,来来计算当前是否是新开仓的Bar。这只是一个比较好的编程习惯。对于本处的代码逻辑,从信号条件中逻辑判断:`Close > maSlow` 已经确保了当前Bar不会马上退出持仓。

2.4)Hard TPSL

作为一个很好的编程习惯,我们还应该为每个策略添加一个固定TPSL数值。这样可以保证如果基于策略逻辑的退出机制失效时,我们依然有一个兜底的风控措施。后面其他文章会详细讨论TPSL以及通过Python实现更加精细化和可靠的TPSL。这里所聊的固定TPSL并非策略的一部分,仅仅从编程的角度看是一个最后的保险措施,甚至可能几乎不会被触发。所以此时的TPSL初始数值可以根据经验设定为非常大的数值,后续根据参数优化的结果进行调整(本文后面会提到),代码修改如下:

  • 声明止盈止损全局变量:
  • Buy调用后设定TPSL数值:
  • 添加TPSL逻辑:

2.5)图表目视检查

当完成:”逻辑 => 信号 => 策略”的转换之后,就可以通过图表进一步检查TBQ3展现出的的交易标记。当调用了Buy和Sell等API之后,TBQ3会在自动在装配了策略的图表上面执行回测,并增加交易图标显示,如下所示:

同时,为了方便目视调试,代码中使用注释标记了退出类型,更方便通过图表中目视来检查退出的原因和策略逻辑是否正确。如下所示:

这个目视过程和代码需要不断反复调试,直到通过目视的检查对结果满意。其中也可以使用比较简化的策略报告功能不断查看调试结果。这个过程非常像程序开发过程中的单元测试和调试开发阶段,通过不断地小样本的反复调试使程序达到可以通过冒烟测试的状态。

需要特别注意的,目视检查结合策略报告的调试非常容易导致严重的过拟合!所以需要随机调整数据时间段来避免过拟合,并且使用调试过的时间段来重新测试。

本篇演示了一个简单的动量突破策略如何从一个策略逻辑首先转换为信号,然后在转换为策略代码的过程。当我们对实现的策略进行目视检查完成后,下一步将进入更加依赖于TBQ软件的优化和分析过程。届时策略的具体绩效情况也更加一目了然。

50 种不同编程语言的“Hello World”,你知多少?

历经 70 年,不断出现的编程语言为开发者解决了哪些难题?其存在又有怎样的特性?本文将以「Hello World」为例,花样呈现 50 种编程语言。

作者 | Sylvain Saurel

译者 | 风车云马,责编 | 屠敏

以下为译文:

当我们学习一门编程语言时,都是从“Hello, World!”开始。所有程序员在其职业生涯中,都至少接触过一个经典的“Hello, World!” 程序。通常程序员会使用多种编程语言,多的甚至实现了十几种。

还有一种称为TTHW(Time to “Hello, World!”)的方法,来衡量程序员创建一个新的“Hello, World!”程序的时间。

你可以用多少种不同的语言编写一个“Hello, World!”程序,你的答案是什么?

让我们在计算机编程的世界里回顾一翻。我会向你展示50种不同编程语言编写的“Hello, World!”程序。同时让你看到计算机编程语言随时间的演变。

1. 汇编语言- 1949

汇编语言创建于1949年。下面我介绍一种经典的汇编语言,适用于Intel 8080 8位处理器,该处理器后来在1974年4月正式推出。

2. Fortran – 1957

Fortran编程语言是Formula Translation的派生。它是一种汇编命令式程序设计语言,特别适合于数值计算和科学计算。Fortran语言创建于1957年,用这种语言写的“Hello, World!”:

在Fortran 90或95版本中,程序“Hello, World!”可以这样写:

3.Lisp – 1958

Lisp是最古老的命令式和函数式编程语言。它最初创建于1958年,在20世纪70年代和80年代,Lisp最终成为人工智能世界中非常流行的语言。

4. Cobol – 1959

Cobol编程语言于1959年正式创建,2019年刚刚60周年。Cobol是COmmon Business Oriented Language的缩写,它原本是一种用于编写业务应用程序的公共语言。到2019年,Cobol仍然广泛应用于银行和保险领域。

5. BASIC – 19

BASIC是Beginner’s All-purpose Symbolic Instruction Code的首字母缩写,它是一种高级编程语言,其主要特点是易用性。

6. Logo – 1968

Logo是为了更容易使用Lisp语言,经常被称为“Lisp without brackets”。具体来说,Logo是一种面向对象的编程语言。

7. B – 1969

创建于1969年的B语言现在已经过时了,但它仍然扮演着重要的角色,因为它激发了C语言的灵感,而C语言至今仍被广泛使用。

8. Pascal – 1970

Pascal是创建于1970年的命令式编程语言。它是为教学目的而设计的,其特点是语法清晰、严谨,有助于良好的程序结构。

Turbo Pascal创建于3年,是Pascal编程语言的集成开发环境。它在20世纪80年代和90年代取得了巨大的成功。

9. Forth – 1970

Forth是一种基于命令式的计算机编程语言,由Charles H. Moore于20世纪60年代发明,其第一个版本于1970年发布。它在4年被ANSI标准化,并在7年被ISO采用。

10. C – 1972

C语言是1972年在贝尔实验室发明的,当时丹尼斯·里奇(Dennis Ritchie)和肯·汤普森(Ken Thompson)正在开发UNIX。Ken Thompson之前开发了B语言。Dennis Ritchie决定从B语言中获得灵感,通过添加类型来创建C语言。

11. Smalltalk – 1972

特别是受到Lisp语言的启发,Smalltalk是一种面向对象、自反性和动态类型的编程语言,发明于1972年。Smalltalk是最早拥有集成开发环境的编程语言之一。

12. Prolog – 1972

Prolog是一种与人工智能和计算语言学相关的逻辑编程语言。Prolog创建于1972年。

13. ML – 19

ML是一种基于Lisp的函数式编程语言。

14. Scheme – 1975

Scheme创建于1975年,是一种支持函数式和命令式编程的多范式编程语言。这是基于Lisp的三大语言之一,另两种是Common Lisp和最近创建的Clojure。

15. SQL – 1978

SQL(Structured Query Language)结构化查询语言,是一种用于操作关系数据库的标准化计算机语言。它也可以设计“Hello, World!”。

16. C++ – 0

最初在0年由Bjarne Stroustrup以C和类的名义创建,后来在3年以c++语言命名。c++编程语言现在已被ISO标准化,并广泛应用于工业和其他领域。

17. Ada – 3

Ada是一种面向对象的编程语言,于0年初开发,3年正式发布。“Ada”这个名字是为了纪念Ada Lovelace,她是有史以来第一位女计算机科学家。

Ada通常用于高可靠性和安全性的实时和嵌入式系统。

18. Common Lisp – 4

Common Lisp,通常缩写为CL,是由ANSI标准化的Lisp语言规范。

19. MATLAB – 4

MATLAB,用于“矩阵实验室”,是一种用于数值计算的脚本语言。MATLAB的开发环境也叫这个名字。

20. Eiffel – 5

Eiffel是一种面向对象的编程语言。Eiffel基于当今非常流行的概念,如契约编程或重用。

21. Objective-C – 6

Objective-C是一种自反的面向对象编程语言。它是C编程语言的扩展,与c++类似,但在动态消息分发或动态加载方面与c++有很大的不同。

如今,它主要用于苹果的操作系统:macOS及其iOS衍生产品。

22. Erlang – 6

Erlang编程语言支持几种范例:并发、实时、分布式。它基于actor模型,具有容错和热更新功能,能够开发高可用性应用程序。

23. Perl – 7

Perl是Larry Wall在7年创建的一种编程语言,用于轻松地处理基于文本的信息。Perl是一种解释语言,它受到C语言的控制和打印结构的启发,也受到shell脚本语言的启发。

24. Caml – 7

Caml是Categorical Abstract Machine Language的缩写,是一种面向程序安全性和可靠性的通用编程语言。Caml支持函数式、命令式和面向对象的编程风格。它也是一种非常独特的语言。

25. Tcl – 8

Tcl是工具命令语言,是John Ousterhout在8年开发的一种脚本语言。这种动态类型语言是跨平台的、可扩展的、易于学习的,并且基于12条语法规则。Tcl很容易与C编程语言进行交互。

0年,John Ousterhout为Tcl开发了一个名为Tk的扩展,这是一个用于创建可移植图形界面的库。因此,今天提到Tcl时,更多的是指Tcl/Tk的组合。

26. Haskell – 0

Haskell是一种基于lambda计算和组合逻辑的函数式编程语言。

27. Python – 1

Python是一种解释性编程语言,具有多范式、多平台的特点。Python支持结构化、函数式和面向对象的命令式编程。这些年来,Python变得非常流行,甚至在2019年成为最受欢迎的语言之一。

Python 或更高版本中的“Hello, World!”:

28. Visual Basic – 1

Visual Basic,简称VB,是第三代事件编程语言,是微软为其COM编程模型创建的集成开发环境。

29. Lua – 3

Lua创建于3年,是一种自反的命令式脚本语言,用于嵌入其他应用程序以扩展功能。

30. Ruby – 5

Matsumoto Yukihiro由于对自己的Smalltalk和Lisp开发经历感到失望,于3年开始在Emacs下设计Ruby语言。他在5年发布了第一版。Ruby是解释型的、面向对象的、多范式的编程语言。

31. Java – 5

Java是James Gosling在5年创建的一种面向对象的编程语言,至今仍是业界最流行和使用最多的语言。Java允许完成客户机到web应用程序的所有工作,而谷歌将其作为Android移动操作系统上开发应用程序的语言,进一步扩展了它的功能。

32. JavaScript – 5

JavaScript是一种脚本编程语言,主要用于Web,但现在可以在服务器端使用Node.js等。JavaScript是一种面向原型的编程语言。

33. PHP – 5

就编程语言而言,5年无疑是极其重要的一年,因为在Java和JavaScript之后,PHP也在这一年诞生。PHP主要用于Web,是一种面向对象的命令式语言,可以像其他解释语言一样在本地工作。

34. Rebol – 7

Rebol是一种高级脚本编程语言,它建立在denotational语义的基础上,自称为“消息传递语言”。这是一个“Hello, World!”:

35. ActionScript — 8

ActionScript是一种用于客户端应用程序(如Adobe Flash和Adobe Flex)和服务器(Flash media server、JRun、Macromedia Generator)的编程语言。ActionScript在Unity graphics中用作脚本语言。

36. D – 9

D是一种命令式的面向对象和多范式的编程语言。D的灵感来自许多语言,包括c++、Java和Eiffel。尽管D有很多优点,但它还未取得创造者所期望的那样成功。

37. C# – 2000

c#是微软在2000年与Sun就Java语言发生争执后创建的。c#是一种面向对象的编程语言,用于在Microsoft上开发。该语言派生于c++和Java,使用它们的一般语法和一些概念。c#也可以用于开发ASP上的web应用程序。

38. Groovy – 2003

Groovy是一种运行在Java平台上的面向对象编程语言。Groovy是Java语言的替代品,它的灵感来自Python、Ruby或Smalltalk。

39. Scala – 2003

Scala是一种多范式编程语言,旨在以简洁优雅的形式表达常见的编程模型。Scala通过静态类型集成了面向对象和函数式编程的范例。

40. F# – 2005

f#是一种函数式、命令式和面向对象的编程语言,由Microsoft开发。f#源自与之高度兼容的OCaml编程语言。这两种编程语言与ML语言属于同一语系。

41. Windows PowerShell – 2006

Windows PowerShell是微软开发的一套软件,包括一个命令行界面、一种称为PowerShell的脚本语言和一个开发工具包。从Windows 7开始PowerShell作为标准语言。

42. Clojure – 2007

Clojure是一种经过编译的跨平台函数式编程语言,旨在创建安全且易于分发的程序。Clojure是基于Lisp的三大语言之一。Clojure可以转换为Java代码、JavaScript代码和. net代码。因此,Clojure可以在JVM、CLR、浏览器和Node.js上使用。

43. Go – 2009

Go是一种经过编译的并发式编程语言,灵感来自C和Pascal。这种语言是由谷歌从Robert Griesemer、Rob Pike和Ken Thompson(他在1969年创造了B语言)最初提出的概念发展而来的。

44. Rust – 2010

Rust是由Mozilla设计和开发的多范型编译的编程语言。Rust是“一种安全、并发、实用的语言”,同时支持纯函数式编程风格、actor模型、过程式编程以及面向对象编程。Rust常被称为c++的潜在继承者之一。

45. Dart – 2011

Dart是一种由谷歌开发的web编程语言。它最初的目的是取代JavaScript。目前,Dart还没有达到它的目标,开发人员的首要任务是将Dart转换成与所有现代浏览器兼容的JavaScript代码。Dart也可以用于服务器端编程。

Dart是Flutter用于开发移动应用程序的语言。

46. Kotlin — 2011

Kotlin是一种面向对象的函数式编程语言,具有静态类型,允许在Java虚拟机、JavaScript和本地的多种平台进行编译。2017年,谷歌使Kotlin成为继Java之后Android官方支持的第二种编程语言。

47. Ceylon – 2011

Ceylon由Red Hat创建,是一种高级开放源码编程语言,具有强类型和静态类型。它的语法与Java相似。它可以编译为Java或JavaScript。

48. TypeScript – 2012

TypeScript是一种免费的开源编程语言,由微软开发,旨在提高JavaScript代码的安全性。TypeScript语言是JavaScript的一个超集,它被转换成JavaScript,这样任何web浏览器或JavaScript引擎都可以应用。

49. Julia – 2012

Julia是一种用于科学计算的高级、强大和动态编程语言,其语法为其他类似开发环境(如MATLAB、R或Python)的用户所熟悉。

50. Swift – 2014

Swift是一种经过编译的、多范式的对象编程语言,其设计目标是简单、高性能和安全。它是由苹果公司开发的开源软件,从而与Objective-C一起成为开发移动iOS应用程序的解决方案。

结论

通过这次时间旅行,用50种不同语言编写了“Hello, World!”程序,向人们展示了70年来计算机编程语言的变迁。

原文:https://medium/javarevisited/70-years-of-hello-world-with-50-programming-languages-2400de893a97

本文为 CSDN 翻译,

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。