For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
对于每一位软件编程开发程序员来说,培养编程思维是非常重要的一个能力提升方法,而本文我们就通过案例分析来简单了解一下,程序员如何培养自己的编程思维。
务实问题解决:Lua、PHP、Perl
主流的编程语言并不是孤立存在的——它们作为一个更大的生态系统的一部分而存在,这个生态系统由发行者(企业和社区组织)、终端用户、框架开发者、工具开发者、教育工作者等等组成。
Lua是一种流行的编程语言,作为一种脚本引擎嵌入到大型程序中。标志性的例子是它被魔兽世界游戏用来编写客户端插件,它也被嵌入到了许多Linux发行版所使用的RPM组件中。与CPython相比,Lua运行时的大小通常只有CPython的十分之一,而且由于较弱的自省能力,它更容易与程序的其它部分以及服务器的操作系统隔离开来。Lua社区对Python生态的一个显著贡献是LuaJITFFI(ForeignFunctionInterface外来函数接口),它被CPython和PyPy采用,作为支持JIT的cffi接口库的基础。
PHP是另一种流行的编程语言,作为Linux-Apache-MySQL-PHPLAMP技术栈中的“P”而崛起,因为它专注于生成HTML页面,并且在早期的虚拟专用服务器(VirtualPrivateServer,简称VPS)提供商中广泛使用。尽管其设计上有诸多的概念性缺陷让人感到绝望,但它如今是几个极其流行的开源Web服务的基础,包括Drupal内容管理系统、Wordpress博客引擎和维基百科的MediaWiki引擎。PHP还支撑着一些重要的服务,比如Ushahidi平台,它是一个开源的社会化新闻发布社区。
像PHP一样,Perl也是基于Linux而崛起。但跟PHP专门作为Web开发平台不同,Perl是系统管理员的工具,在基于文本的Linux操作系统中,它使用正则表达式将命令的输出转成字符串,并进行操作。当sh、awk和sed都无法胜任某些任务时,Perl出现并派上了用场。
学习这些语言,在编程语言设计方面,不大可能获得什么漂亮审美或者优雅概念。学习它们,可能的是了解编程语言在现实中是如何被分发和采用的,以及这些在多大程度上取决于偶然的机会、历史意外事件、以及发行商在系统中默认集成而降低了使用门槛,而不是取决于语言本身固有的能力。Python进阶
特别是,它可以提供对以下项目的重要性的洞察:CKAN、OpenStackNFV、Blender、SciPy、OpenMDAO、PyGMO、PyCUDA、树莓派基金会和Python被大量商业组织采用,以保护它们在Python生态中不断的投入。
编程思维:Scratch、Logo
我经常跟函数式编程以及面向对象编程的拥护者们讨论,他们声称这类语言就像过程式语言一样易于学习。
如果我们谈论的是通过嵌入式编程(例如机器人)进行教学,在软件中建模的对象都有现实世界的对应物,比如学生们可以触摸的传感器、马达和继电器,那么,那我会认为OOP的人有一定的道理。
但是对于其他人,我现在有一个标准的挑战:拿起一本烹饪书,把其中一个食谱翻译成你认为是容易学习的编程语言,然后找一个能理解烹饪书中语言的学生,让其按照翻译好的食谱操作。其实,他们不需要真正地操作下去——只需做一个思想实验,就足以意识到他们声称的“很容易学”是假设了多少先验知识。
另一种解决这个问题的方法是去学习那些实际上被用来教孩子们编程思维的语言。
回顾并重新学习这些语言,有助于有经验的程序员放下固化的观念:它们所用的概念可以提醒我们,这些概念是我们如今认为理所当然的,但初学者们需要先学习。当这样做的时候,我们能够更好地与学生和其他初学者们相处,因为我们更有可能打开逻辑的枷锁,也不会再忽略那些有必要的学习步骤。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。