用户不讨厌滚动条

做为网页设计师,我首次担任高级角色的前提是重新设计一个现存的网站。

我工作了大约六个月,办公室秘书给我一箱前任网页设计师留下的文件。这种箱子是用来装10令打印纸的,现在它足足装了15令。我扒着这些文件,试图找到有价值的信息。

这时候,一张纸掉落在我前面的地板上。上面打印着一封邮件,写明了以前首页的要求。它包含一份浏览器窗口的分析快照,正文写到,

“首页最大尺寸:970x722.不允许用户使用滚动条。” > >

网站由于屈从于web 1.0时代就而在了设计上,两年之后需要重新设计。页底甚至在我的Mac显示屏都不能到达屏幕底部。

“头版”、“底版”起先是报纸行业创造的术语,指报纸对折以后上面或下面的部分。后来被引入到网页,不需要滚动网页就可看到的内容。

事实上,网页不属于报纸时代的一部分,过去不是,可能将来也不是。出现过滚动条可怕的时期,页面载入速度非常非常慢,设计“头版”变成了网页的重要工作。行业在变化。视差网站介绍向全球的网页设计师和用户公开了新的观点。

我见到网页设计师都要说,

现在可以设计带滚动条的网页了,用户知道用一两个手指就可以搞定。 > >

你的页面仍然是有吸引力的,重要内容不需用户滚动就可看到。然而,界定内容,试着把所有重要信息塞进局促的空间是不好的设计,也会大幅降低可用性和用户的满意度。

基于“如果必要用户会使用滚动条”来设计网站 > >...

如何廉价地教学生编程(二)

这些电脑上的BASIC比较简单,一般情况下很多老师能够学会再教。这并不是让学生为编写现代的app,这样做只是为了做得更好。他们会更开心地敲代码,教核心逻辑技能等等。对于commodore 64,电脑的架构有很好的文档。学得快的学生就可以学习机器语言编程的概念、RAM和ROM工作原理等知识。我借助Richard Mansfield的书学习6502机器语言的《面向初学者的机器语言》(http://www.amazon.com/Machine-Language-Beginners-Richard-Mansfield/dp/0942386116

理解位、字节、机器指令、ram和rom等概念至关重要,有助于领悟高级编程语言。是的,长期来看,语言底层的经验能够培养出更好的程序员。实际上,甚至今天廉价的嵌入式设备还在使用一些来自于机器语言编程中的准则。

除了动辄数百美元的现代电脑,这些低成本的老式电脑能够提供极好的学习体验。或许你也教电子学。它们能够方便地与各种DIY的项目集成。因特网增强了它们,它们便宜,你可以让学生拆开来看看它们的组成。

由于老式BASIC解释器简单且缺乏许多现代语言结构,语言的关键部分能够移入到基于BASIC的某些现代语言中。网上有很多BASIC编译器,有免费的(像FreeBasic),有转换成C的(像BCX),还有独立的专业级编译器(PowerBasic)。你不认为BASIC现在还活得好好吗?

考虑个例子。看视频:http://www.youtube.com/watch?v=D9fvdfE59_Y

在视频的4分33秒处暂停,留意那台便携式电脑上运行的、控制Chevrons令人惊奇的水下深水管道设备(ROV)软件是什么,它就是用PowerBasic写的(我自己的GUI引擎也是用PowerBasic build的)。

我在80年代从Commodore 64(TI/99)电脑学到的东西使我今天准备好了编写现代软件。除了Basic(比如机器语言),这些电脑上的低级编程使我打下了编写现代软件的基础,我用这些基础技能仅仅需要最低硬件配置就可以写出高效运行的软件。我甚至用Commodore 64(Abacus Basic编译器)初次体验了编译器的用法,还用Abacus编译器写出了我自己的Commodore下的编译器,因此我写了一个适合家庭玩的视频游戏并卖给了Compute Gazette杂志,从中挣了1500美元。

就个人而言,我认为年轻人从80年代的电脑学到的东西要比今天一般以游戏等环境来教编程的某些软件学到的多些。计算机动画和图像是复杂的工程,如果一个学生使用拖拽对象、辅以几行伪代码就ok的游戏软件包,然后他们就会认为编程是简单的,只需做很少的工作就可以完成有价值的事情。如果让学生体验Commodore 64,起初他们不会对一个简单的 PRINT “Hello”留下多深的印象,但是给时间让他们学习其原理,当他们搞清楚了这些古怪的事情,并能做一些图像,那么他们才能学到有价值的东西。

...

如何廉价地教学生编程(一)

你有兴趣教孩子编程吗?

做为一个父亲,你想帮助孩子学习编程,却没有太多钱吗?

做为一名老师,你也有兴趣教学生编程,但是学校缺乏投入,因此你不得不自掏腰包吗?

好吧,这里有个廉价的方案,它会让很多专业程序员、大学教授愤怒,但当我说这是可行的时候,还请你相信我。

忘记现代电脑和编程工具

首先买一台能够承受得起的电脑,就可以开始教学了,所有编程的东西都可以搞定。大多数家庭和教室都可能有电视。顺利的话,还有合适的大屏幕电视。只是我们在讨论电脑,为什么现在是电视呢?

上世纪80年代家用电脑刚刚开始,早期电脑和今天比起来相当昂贵,在那个年代,那是令人惊奇的机器。有意思的是,那些电脑除了最后命运终结在了垃圾场,还有一些一直都保留着,仍然可以通过Ebay、二手店等地方淘到。有的人或许认为这些电脑如此老旧、应该淘汰或毫无用处了。对,它们不能运行photoshop等软件,但是我们仅仅用它们来完成工作,教孩子们如何编程。好吧,他们不能运行微软的Visual Studio,实际上它们有一些更好的东东,比如内置的BASIC。好,你也许听人说BASIC是落后的语言,我们需要学习如何使用最新的面向对象语言写软件。呵呵,我们还是不要讨论老掉牙的观点了。特别地老式版本的家用电脑上的BASIC对于编程教学是非常有价值的。让我阐述一下为什么、又是如何使用它们来教编程的核心准则,并且非常低廉。

BASIC和家用电脑

老式版本上的BASIC相当好学,它更接近人类语言。语法简单,因此不容易犯一些面向对象东东带来的复杂度和时间损耗等错误。这些BASIC是解释型的,意味着它比编译型语言要慢,后者能够即时运行即时返回结果。这非常重要,学生可以对代码和电脑干了什么有更好的理解。一定要相信我说的。我就是在这样的电脑上开始编程的,使用Basic和一些东东一直持续了数十年。实际上,我个人认为核心编程技巧最近几年已经失去了很多,原因在于使用老式电脑和内置Basic语言也可以学到的现代编程语言。

编程和逻辑相关,使用数学控制逻辑,还要理解代码流。它不应该是在开发环境里拖拖拽拽,也不是搞3D游戏、手机app。今天大部分编程是通过掩盖了程序员真实编程过程的高级工具、类库、语言实现的。今天的程序员有个倾向,程序员写得代码越少越好。但是,和我有相似体会的程序员会思考代码本身,他们能够用代码工作,有时候比那些用高级拖拖拽拽开发系统的程序员要好。为什么?因为他们理解写好代码的真实力量。

80年代家用电脑以及我们能从中学到什么

如果你在找电脑编程教学的省钱方法,参考以下步骤:

  1. 买一台内置Basic语言的80年代家用电脑。两种较好的电脑是Commodore 64和Texas Instruments...