2012年2月6日,TIOBE发布了2012年2月编程语言排行榜。Objective-C延续上月的升势,占有率已然迈入7%的行列。而榜首的Java和C依旧占据头两位的名词。Python语言正在加速下跌,从去年的第四位跌至第八位。51CTO今天要向大家介绍的是排名18的LOGO语言。

LOGO语言是设计师用的吗?

如果你在搜索引擎里搜索LOGO这个词,出来最多的当然是好各大公司的标志。又有谁知道LOGO语言是什么呢?我们首先要回到1968年。这一年苏联入侵捷克斯洛伐克,马丁路德金遇刺身亡,而LOGO语言也在这一年诞生。

LOGO语言英文介绍,请参考:http://www.dmoz.org/Computers/Programming/Languages/Lisp/Logo/

LOGO语言是美国国家科学基金会所资助的一项专案研究,在麻省理工学院(MIT)的人工智能研究室完成。 LOGO源自西腊文,原意即为思想,是由一名叫佩伯特的心理学家在从事儿童学习的研究中,发现一些与他的想法相反的教学方法,并在一个假日中出外散步时,偶然间看到一个像海龟的机械装置触发灵感,于是利用他广博的知识及聪明的才智而最终完成了LOGO语言的设计。

LOGO语言是一种早期的编程语言,也是一种与自然语言非常接近的编程语言,它通过“绘图”的方式来学习编程,对初学者特别是儿童进行寓教于乐的教学方式。

LOGO语言是给小孩儿玩的?

LOGO语言的结构我们可以通过下面的代码样例来说明。比如我们要完成x := y + 3这样的功能,LOGO代码如下:

  1. make "x sum :y 3
  2. make "x sum :y "3

这样的代码想必还是容易理解的,也说明了LOGO语言是一门早期的语言,就像COBOL一样比较易懂。

LOGO语言中的循环语句

  1. REPEAT 4 [FD 100 LEFT 90]

基本LOGO语法实现原理:

1.与移动有关的指令:“前进”、“后退”和“归位”。前进命令可让海龟前移一定的单位数,例如:执行“Forward(前进) 50”命令后,小海龟则会向前移动50个单位;后退命令则可让小海龟向后移动,如果执行“Back(后退) 50”命令,那么小海龟的方向不会发生改变,而会向后退50个单位;执行归位命令后,不论当前小海龟的位置及方向怎样,它就会乖乖地回到绘图区的中央位置,并且朝向屏幕的正上方。

2.与转弯有关的指令:“右转”和 “左转”。右转命令可让小海龟按要求向右边转动一定的角度,例如:执行“Right(右转) 45”命令则小海龟的朝向将向右转动45度角;而左转命令则可让小海龟向左转动,如:执行“Left 45”命令则小海龟的朝向将向左转动45度角。这几种命令可以驱动小海龟绕其中心旋转一定的角度。

3.与控制有关的命令有REPEAT(重复)、IF…THEN…ELSE…(条件执行)等。如执行REPEAT 4[FORWARD 200 RlGHT 9O]就能画出图2中的正方形,如果直接将移动命令和转弯命令相结合,则写出的语句就比较多,但都是一些重复地使用4次“Forward 100”和“Right 90”命令。

那么我们就可以运用上面的语法,实现一个绘图功能,先看下面的代码:

  1. to spiral :size
  2. if  :size > 30 [stop] ; an exit condition
  3. fd :size rt 15        ; many lines of action
  4. spiral :size *1.02    ; the tailend recursive call
  5. end
  6. spiral 10

这段代码在LOGO中被执行后,将会绘出下面的图形。

什么?这个图形太丑了?51CTO的编辑承认确实很难看,还不如现在最流行的HTML 5绘制出来的图形好看。不过这段代码也太简单了,7行代码写出来也算不错的实践了。

LOGO语言之所以是儿童学习计算机编程最好的一种语言,就因为它是针对儿童而制作的编程语言,能使儿童在认知与技能上得到较大的发展。LOGO语言具有较强的针对性,因为对于儿童来说,“画画”比“文字处理”更具有活力,充分发挥自己的想象进行创作,而文字处理却比较枯燥,不适合儿童。LOGO则主要用于“图画”制作,并且采用了“海龟绘图”的方式,适合儿童的特点,能充分引起他们的兴趣和学习该门语言的积极性,达到寓教于乐的目的。在LOGO语言中,它的作图方式与现在所用的作图软件不一样,主要区别就在于LOGO语言的基本作图的方法可以不采用坐标方式,而是通过向前,后退、向左转、向右转、回家等儿童易于理解的语言和命令,这非常适合儿童的知识水平,使这些还未接触坐标为何物的儿童更容易上手。在用LOGO语言作图时,需要学习者对一些常见的几何特性进行理解,了解常用的距离、角度和度数的概念。

想试用LOGO语言,请下载:http://www.onlinedown.net/soft/50555.htm

下面是本期编程语言排行榜的其他排名数据和趋势走向。

前10名编程语言走势图

20到50名语言排行

下面是第50到100的编程语言排名

(Visual) FoxPro, ABC, Algol, Alice, Awk, Bash, bc, BETA, BlitzMax, Boo, Bourne shell, C++/CLI, CL (OS/400), Clean, Clojure, cT, Dart, Dylan, Eiffel, Euphoria, Factor, Icon, Inform, Io, J, JScript.NET, Korn shell, LabVIEW, LabWindows/CVI, Ladder Logic, Lingo, Max/MSP, Modula-2, MUMPS, NATURAL, Oberon, Occam, OpenCL, Oz, PILOT, PowerShell, Revolution, REXX, S, S-PLUS, SAS, Scala, VBScript, VHDL, Z shell

下面给出了编程语言类别的一年变化趋势

2012年2月编程语言排行榜:用图形编程的LOGO语言相关推荐

  1. 2012年11月编程语言排行榜:Objective-C有望再次成为年度语言

    不管你是否关注,TIOBE 依然会在每月初发布最新的编程语言排行榜.根据最新的数据来看,Objective-C 有望再次成为 2012 年的年度语言. 现在距离 TIOBE 宣布年度语言只剩 2 个月 ...

  2. 2012年3月编程语言排行榜:JavaScript超越Perl和Python

    2012年3月编程语言排行榜:JavaScript超越Perl和Python TIOBE 于昨日公布了2012年3月编程语言指数排行榜.排名前三的语言是:Java.C 和 C#. 在本月排行榜中,Ja ...

  3. 2012年4月编程语言排行榜:C语言重返第一

    声明:本文非原创,为了让大家看到最新资讯,所以改为原创. 原文地址:http://blog.jobbole.com/17101/ TIOBE 于今日公布了2012年4月编程语言指数排行榜.排名前三的语 ...

  4. TIOBE 2012年9月编程语言排行榜:C语言老当益壮

    摘要:TIOBE编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员.课程和第三方厂商的数量.这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程 ...

  5. 2012年9月编程语言排行榜 Java并不应该被取代

    [51CTO独家特稿]TIOBE今天公布了九月份编程语言排行榜,八月和七月相比来说,并没太多显著的变化,PHP从第7的位置上升到第六,但比2011年来说仍有下滑的趋势.另外还有变化的则是Lua和上月相 ...

  6. 2012年12月编程语言排行榜:年度语言非Objective-C莫属

    声明:本文非原创,为了让大家看到最新资讯,所以改为原创(对原创文章稍做了修改). 原文地址:http://news.cnblogs.com/n/165622/ TIOBE 带来了最新的编程语言排行榜, ...

  7. 2012年7月编程语言排行榜:Objective-C超越C++

    TIOBE发布了2012年7月份的编程语言排行榜,本月最大的看点要数Objective-C超越 C++ ,成为新科探花. Objective-C之前一直是一个默默无闻的小众语言,随着苹果iPhone. ...

  8. 2012年5月编程语言排行榜:C再次位居第一 Java 占有率持续下降

    Java 自从上个月丢掉第一个的宝座以后,这个月的的占有率持续下降.在过去8年中,前10名的编程语言几乎没有变化,支持 Objective-C 把 Delphi 给挤了出去.人们对新语言的接受程度进展 ...

  9. TIOBE 6 月编程语言排行榜:Python 有望超越 C 语言成为第一名

    整理 | 苏宓 出品 | CSDN(ID:CSDNnews) TIOBE 官方最新发布了 6 月的编程语言榜单,这个月榜单中又有怎样的发展趋势? Python 有望成为第一名 在本月榜单中,位居第二名 ...

  10. TIOBE 2011年7月编程语言排行榜:Objective-C成为年度语言

    TIOBE 7月份编程语言排行榜已经发布,本月热点关注的语言是Objective-C将成为年度语言.前三甲依然是Java.C.C++,4至10名依次为C#.PHP.Objective-C.Visual ...

最新文章

  1. docker logs 查看实时日志
  2. oc 自定义导航栏背景
  3. Singleton + Proxy 模式+AOP
  4. 30岁学python编程_朋友问我,你都30岁了学编程来得及吗
  5. C++ vector 内存分配与回收机制
  6. go语言学习路线图_开篇:Go 语言的优势与学习路线图
  7. mysql日期函数转换_Mysql日期函数大全 转
  8. selenium java maven testNg环境搭建
  9. python opencv 二值化 计算白色像素点并计算比例输出可视化
  10. 秩为1的矩阵的性质总结
  11. STM8L051F3_03_CLK应用
  12. 沧小海基于xilinx srio核的学习笔记之第四章 Xilinx SRIO的示例分析(二)
  13. MT666数字程序测试
  14. 晶体三极管共射放大电路(共射基本放大电路)的研究与设计
  15. C语言实现逆波兰表示法(栈)
  16. Seguros Sura选择Akur8来提升其在拉美市场的保险定价流程
  17. 浅谈简单线性回归(Simple linear regression)part3SEE,MSE,SSE的关系
  18. python 爬取智联招聘
  19. python程序性能分析
  20. 让梦想照进现实,运动框架再次递进

热门文章

  1. mysql按笔划排序_Sql Server数据库汉字按字母、笔划、拼音首字母、排序
  2. 北京54坐标系转经纬度坐标系教程
  3. acer软件保护卡怎么解除_Acer和Founder软件保护卡驱动卸载方法
  4. 电机正反转的远程计算机控制,plc控制电机正反转原理图
  5. bcrypt加密工具
  6. matlab多元函数求导数,MATLAB多元函数导数 - 范文中心
  7. java规则引擎Drools实战
  8. python手机号归属地查询
  9. 决策树结果可视化中文乱码问题解决方案
  10. HelloWorld的Java代码