首页 > 转程序员,都去写一写前端代码吧

转程序员,都去写一写前端代码吧

转自: http://www.oschina.net/news/36972/programmer-write-frond-end-code

你可以认为我是一个极端的人,就像有许多人专注于自己的领域而不屑于其它“肤浅”的工作范畴一样。比如我见过不少认为做portal没有技术含量的 判定,做工程都是充满苦逼行为的言论,最近则还有那些“大数据”崇拜者的疯狂吐槽……我的极端则有些不同,我的极端在于我认为绝大多数优秀的程序员,都要 尝试多方面的事情。并不只有底层开发或者机器学习充满睿智的挑战,我做了几年网站,很难说这就是我最初的兴趣,虽然也在接触和学习其他的领域,但是依然觉 得,做网站仍旧充满挑战,互联网真是一个奇葩充斥的地方。

前端开发,则是这“多方面的事情”中的一个重要方面。潜心尝试过的人兴许会有这样的体会,这是一片崭新的世界,无论是理念、技巧,都有一种新鲜的感觉。如果你还没有尝试过,相信我,它会丰富你的视野,至少在设计和编码上,你会有崭新的认识。

JavaScript代码是存在诸多天生缺陷的,你可以找得到太多它的替代品和改进品。另一方面,它确实给了程序员很少的限制——如果你写过perl代码,你大概也深有体会,什么样的代码是自由的代码,什么样的代码是充满诗意的代码。 与之相对的大概是语法严格的Java代码,就像老实、规矩的孩子,他不会带给你多少破坏性,但是也没法带给你丰盈的代码美感。但是JavaScript有 N多类库,有足够活跃的语法自由度,有eval和prototype,还有那些动态语言的特性,你可以写出许多飘逸的代码。

另一方面,代码的自由一定带来代码层面规划和解耦的艺术。如果代码还处在漫山遍野全局var和全局function的温饱阶段,那么肯定是无法感受 到这一点的,而且在这个阶段也根本称不上会写JavaScript代码。有许多人说前端开发简单,如果只是把它理解成为“好上手”,或者说alert一个 字符串,改变一个div的颜色,那它还真是太好学了。再加上CSS的方便和简陋性让它连编程语言都算不上,而HTML又是容错性非常强的标记语言,所以你 可以很容易写出能看到效果的界面来。

写一个UI稍微复杂一点的产品代码,就会无比地感受到规划和解耦的力量。无论是HTML、CSS还是JavaScript,变量或者对象都是极易被 污染的,“模块化”显得举足轻重。在Java的世界里,你的武器很少,包、类、加载器又在你无意识的时候把这些繁琐的模块化的工作轻易化简完成了。但是写 前端代码的时候你发现需要自己去考虑了,比如页面的分块布局、CSS的继承树、JavaScript的绑定和匿名函数,还有那么多开源的库来帮助完成模块 化。

前端开发还可以帮助你成为最懂产品UI的程序员。程序员容易陷入使用各种技术去纠结实现的泥潭,但是却忽略了清晰、合理的用户需求。你写的界面,是 要去帮助用户解决问题的,无论是布局设计、配色还是行为回馈,都会始终帮助你专注于用户的实际操作。会写前端代码,可以帮助你容易地和用户沟通,快速地做 出界面原型,这比多少页胶片都强。少招一点美工和UI设计师,试着自己去设计界面,自己去切图和写样式,这些事情并没有那么困难,更何况还有 Bootstrap呢。:)

前端开发的过程中,你还可以感受到最快速的成就感和回馈。只需要一个浏览器,一个代码高亮的文本编辑器,好吧,也许你还需要一点帮助调试的小工具。 这就足够了,不用纠结在编译执行的过程,等待着应用的重启,不住地咒骂环境部署的繁琐。现在,你可以专注到你的代码设计和编写上。

前端开发应当成为工程师工具包中重要的一项工具。中国的程序员普遍“engineering”技巧丰富,学术领域显得差一些,但这并不代表工程技巧 缺乏价值。举例来说,你可以做出任何有意思、有价值的东西,如果你会写前端代码,可以自己做网站,你就可以不需要别人帮助,自己完成整个端到端的过程,不 管它是指你上线一个产品还是展示你的伟大成果。你真的可以独当一面。这也契合我所说的,程序员要做各方面的事情。

最后提醒一句,初涉前端开发,学习的材料很重要。就像VB会害了那些程序员新手一样(而且这一害就会影响很多年),前端的代码实在是太容易写烂掉了,需要筛选。

PS:看一看这个编程语言转换矩阵,就知道JavaScript有多大威力(图片来自微博@程序员的那些事):

程序员,都去写一写前端代码吧

转载于:https://www.cnblogs.com/meetrice/archive/2013/01/22/2871592.html

更多相关:

  • THE START更新堪称轻量级MATLAB的一款软件最新版-Maplesoft Maple 2019.2 中文版。Maple是符号和数字计算环境,也是一种多范式编程语言,由Maplesoft开发,还涵盖了技术计算的其他方面,包括可视化,数据分析,矩阵计算和MATLAB连接。MapleSim工具箱添加了用于多域物理建模和代码生成的...

  • 同学们,你们在学习他人的代码,是否见过这样的代码 def main(): def user_info(gender): 当你还是个小萌新时,你一定会认为这是个很牛逼的语法。 当你有了一点基础时,你一定会想要了解这个语法,并且尝试去使用它。 那么今天,我们便来了解这个牛语法。 有了一点点的python基础,我们来看这段代...

  •     自从用了这些快捷键,鼓励师也不需要了,代码开发效率蹭蹭提升!!! ctrl+shift+[折叠代码 (这个比ctrl+k ctrl+l、ctrl+k ctr+j不知道好用多少倍!) ctrl+shift+]展开代码 ctrl+shift+T打开手贱不小心关掉的窗口 【推荐】ctrl+shift+O打开当前文件...

  • 在提交代码之前,建议最好先Fetch代码下来(如果有冲突,系统会提示),然后再操作Merge到本地分支,这样做是为了避免有其他人同时修改了当前分支,如果直接用Ctrl+T(pull代码)极有可能覆盖本地分支最新代码,安全起见先Fetch代码(Ctrl+Alt+Shift+1)——所谓:小心驶得万年船!...

  • 每次复制代码时,如果代码里有 // 这样的注释就容易让格式乱掉,通过下面的设置就可以避免这种情况。 粘贴代码时取消自动缩进 VIM在粘贴代码时会自动缩进,把代码搞得一团糟糕,甚至可能因为某行的一个注释造成后面的代码全部被注释掉,我知道有同学这个时候会用vi去打开文件再粘贴上去(鄙人以前就是这样),其实需要先设置一下 s...

  • http://www.cnfeinfo.com/   JS后花园 QQ群 116366053714779824495692 主要无线前端团队博客推荐   奇舞团淘宝UED前端博客推荐   站点JsCSS无线说明Franky教主√   月影(十年踪迹)√   JKisJK(加宽)√   Rank√   紫云飞√   前端手记√   J...

  • 第六日:码农的宿命 【青春饭】      “码农”是IT从 业者一个自嘲的称号,也有从事没有发展前景的软件开发职位,靠写代码为生的意思。但我认为码农是一个爱称,编码的农民,和农民一样有着执着纯真朴实豪爽的 共性,仅仅分工不同而已。就好比农业社会对粮食的依赖,工业化进程对计算机应用也有着很强的依赖,大量的需求催生出这样一群人。他们有智慧...

  • EXCHANGE2003环境: 前端服务器:denver     后端服务器:sbs1 出现的问题: 当从一台XP客户端通过OWA进行访问时,如直接通过后端[url]http://sbs1/exchange[/url]访问则无任何问题。 但如通过前端[url]http://denver/exchange[/url]访问则可以进入邮箱...

  • 现在制作个人网页越来越流行,你会发现很多设计师、媒体人、职场人都建立了自己的网站,用来积累粉丝、展示作品、或者找工作。那么不懂技术知识、也没有太多资金的学生,可以建立自己的网站吗?当然也是可以的!其实个人网站建立的原理都差不多,不懂技术的情况下,可以使用自助建站系统,快速生成个人网站。个人网页制作教程如下:进入「上线了」官网,注册账号...

  • 在plugin.config中添加 stats_over_http.so 然后重启服务器,在浏览器中输入下面的地址查询 http://host:port/_stats 这里host是ATS所在的hostname或是ip,port就是侦听http连接的端口,按照配置我这里分别是10.10.110.162和8081 http:/...

  • 改动信息 详情可以查看ceph官网nautilus Dashboard功能 增加的新功能 支持多用户使用SSO的用户验证模式支持审计模式新的登录页,可以展示更多的集群健康指标使用swagger api的rest api文档 增加的新的管理特性 对于OSD的管理(将osd标记为down,out,修改osd的config ,恢复...

  • 1.Proteus中添加组件后双击引脚可以快速生成一个最近的端口。 2.按A调出设置界面 3.在String中写:net=H#,"H"可以换成自定义前缀。count为起始值,increment为增量。 4.依次点击想要编号的引脚。 转载于:https://www.cnblogs.com/viaduct/p/5842429.html...

  • 1.Goto Anything-快速查找(ctrl + P)   输入@+函数名可以快速找到函数输入#+文本可以快速进行文件内文本匹配2.命令模式Ctrl+Shift+P:打开命令面板    Ctrl+P:搜索项目中的文件   Ctrl+W:关闭当前打开文件  Ctrl+Shift+W:关闭所有打开文件 Ctrl+Shift+V:粘贴...