有几个人曾经问我,有哪些最有用或最好的编程语言适宜学习?

姑且略过HTML/CSS不谈,我认为答案取决于你想通过编程来做什么。

要点速览

对只用一种语言来构建某个项目的情况而言,Javascript和它的框架是非常有用的。

Angular.js可以控制展示给用户的网站前端。

Node.js将作为管理网站所有内容的网络服务器。

Express.js在前端和服务器两者之间运行,对信息的来去进行导向。

MongoDB作为存储中心,用于存储从用户处获取的数据。MEAN(Mongo/Express/Angular/Node)——一个有助于构建你在一个Web应用中所需要的一切东西的结构化框架——是一套目前被大量初创公司所喜好的编程语言。这是一个完备的组件,它包含了基于单一语言来Web化地构建所有事物的技术。

我一直在用Egghead.io和Scotch.io来及时更新我的Angular.js和MEAN技术。Egghead的网站内容主要集中于有序地组织的教学视频。Scotch有一些关于构建Web应用的整个流程的很棒的图表,包括下面这张解释MEAN的图表:

它们都有很棒的教学视频,教你如何构建精巧的应用,例如基本的搜索引擎和新的表单验证方式(以确保若你创建输入表单,人们的实际输入将是有效标准下的值)。通过使用Angular.js,你可以使一个网站动画化并使它“动”起来,而不需要过多的设置。这是非常精巧的一种方式。

Python可读性和灵活性都非常好,最近它成为大学院校在教授计算机专业时选择的入门语言之一。

对于玩转数据以及用它的共通模块来完成各种你以前认为不可能的精巧工作来说——例如抓取完整的网页和进行高级科学计算,Python都是绝佳的。我是在Learn Python上开始学习Python的,它非常符合我“边做边学”的学习风格。

Java(以及其他更紧密地与计算机硬件交互的语言)对人类理解来说会稍难一些,尽管对于帮助你理解“代码的实际运行过程”和“程序员与计算机的交互过程”的绝大部分知识而言,它们是很棒的。

Java也用于在Android系统上的移动应用开发,而这将会是一直有需求的领域。

如果我们想简捷地将知识转换成金钱,那么,我曾见到业界对IOS开发者有着大量需求,而开发IOS应用所使用的Objective-C和Swift也并不那么难学习。

Ruby——尤其是当它与Rails一起使用时——是一种因其并不陡峭的学习曲线而被大量初创公司在初创时所用的语言(事实上,有一本叫Children's Book for Ruby的书)。

我自己正在学习Python以处理数据;学习Javascript和MEAN以创建Web应用;以及学习Java以对计算机科学有更深入的理解与构建移动应用。我认为这是一个可用的平衡良好的编程语言组合。

我已经有了一组学习清单和资源,用来帮助你我学习构建杰出作品所需要的东西。但实际上,这些都不是最好的编程语言。

最适宜学习的编程语言——以及如何着手去学习它

学习如何像一个程序员那样思考——学习如何通过简洁的代码来用数学解决问题,绝对是最适宜学习的东西。编程语言会演进,它们会改变,它们会衰落并不再受欢迎;一个编程语言社群会变化成另外一个。

现在伟大的Web应用可能会在几十年后被淘汰。不会改变的是对人们的逻辑思考和问题解决能力的需求——以及将它们变成在机器上运作的一个更简单的自动化流程的需求。

你可以寄希望于一个事实,那就是随着时代不断发展,如果你训练解决问题的技能,你将能够找到最适合你的语言,以及获得你建立伟大事业所需要的知识与金钱。

我已经开通了Project Euler,它提供一系列与数学和逻辑相关的编程问题。我在Codecademy workspace上尝试用Python构造整洁的代码来解决这些问题。这是一名Google招聘官所提到过的“一个学习编程的很好的训练步骤”,而我并不怀疑这一点。我感到我的大脑更敏锐了,并对我的能力更充满自信——不仅仅是编程能力,还有思考能力。

最适宜学习的编程语言最终还是位于编程核心的逻辑,数学和问题解决能力。“什么是最适宜学习的编程语言”这个问题并无对错,只要你理解编程的基础价值何在。

转载  作者:Roger Huang

简述几项关于web应用的开发技术的更多相关文章

  1. .NET Web开发技术简单整理

    在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何使用该技术,如何更好的使用该技术解决问题,而没有去关注它的相关性.关注它的理论支持,这种学习技术的方式是短平快.其实工作中有时候也是这样,公 ...

  2. 转载:.NET Web开发技术简单整理

    在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何使用该技术,如何更好的使用该技术解决问题,而没有去关注它的相关性.关注它的理论支持,这种学习技术的方式是短平快.其实工作中有时候也是这样,公 ...

  3. .NET Web开发技术简单整理 转

    .NET Web开发技术简单整理 原文:http://www.cnblogs.com/SanMaoSpace/p/3157293.html 在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何 ...

  4. Web开发技术发展历史

    Web开发技术发展历史   来自:天码营 原文:http://www.tianmaying.com/tutorial/web-history Web的诞生 提到Web,不得不提一个词就是"互 ...

  5. 十个最适合 Web 和 APP 开发的 NodeJS 框架

    在浏览器以外运行 JavaScript 对于 JavaScript 爱好者来说非常神奇,同时也肯定是 web 应用程序开发界最受欢迎的进步之一.全球各地的开发者张开双臂拥抱 NodeJS. 对于新手来 ...

  6. RDIFramework.NET ━ 9.7 操作权限项管理 ━ Web部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 9.7 操作权限项管理 -Web部分 随着经济全球化趋势的发展和企业间竞争的加剧,企业对管理要求不断变化.提高,越来越多的信息都表 ...

  7. 10 个最适合 Web 和 APP 开发的 NodeJS 框架

    在浏览器以外运行 JavaScript 对于 JavaScript 爱好者来说非常神奇,同时也肯定是 web 应用程序开发界最受欢迎的进步之一.全球各地的开发者张开双臂拥抱 NodeJS. 对于新手来 ...

  8. Web桌面应用框架3:Web桌面应用开发的N种Style

    研究Web桌面应用开发有一段时间了,总结了Web桌面应用开发的一些主流方式. 一.前端Style 这种方式的就是直接实现一个Web程序,再封装一个浏览器展示,相当粗暴和有效.著名的框架就是Electr ...

  9. Web和移动开发的未来

    Web和移动开发的未来 当我们与来自整个IT行业的专家交谈时,他们告诉我们技术,PWA和优化的持续整合是关键. 为了收集有关网络和移动开发当前和未来状况的见解,我们与19位IT主管进行了交流,我们问道 ...

随机推荐

  1. angular学习的一些小笔记(中)之基础ng指令

    一.布尔属性指令: ng-disabled:就是ng-disabled=true-->就指向不可用 <!doctype html> <html ng-app="&qu ...

  2. jQuery cxScroll 间歇式无缝滚动

    版本: jQuery v1.7+ jQuery cxScroll v1.2.2 注意事项: 内部会自动创建 prev 及 next 切换按钮,也可以在外部直接创建,若外部已创建或设置prevBtn: ...

  3. Immutable.js – JavaScript 不可变数据集合

    不可变数据是指一旦创建就不能被修改的数据,使得应用开发更简单,允许使用函数式编程技术,比如惰性评估.Immutable JS 提供一个惰性 Sequence,允许高效的队列方法链,类似 map 和 f ...

  4. 给你推荐10款优秀的 HTML5 动画工具

    HTML5 在过去三年快速增长,已经成为 Web 开发人员最喜欢的编程语言之一.强大的编程语言拥有开发更好的网页应用的能力. HTML5 中引入的新技术都非常好,像 Chrome.Firefox.Sa ...

  5. 13个风格独特的关于页面(About Pages)设计

    如何向其他人呈现你自己和你的作品呢?关于页面的设计是非常重要的,以让你的观众更多地了解你,你的工作和你的想法.这是一个很好的方式来获得更加个性化的展示效果. 设计一个漂亮的关于页面是具有挑战性的.出于 ...

  6. 2015年最佳的15个 Node.js 开发工具

    Node.js 越来月流行,这个基于 Google V8 引擎建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.在本文中,我们列出了2015年最佳的15个 Node.js 开发工具.这些工具 ...

  7. [outlook]打开以后就自动进入安全模式的解决方法。Outlook start in safe mode.

    给客户写了一个Outlook的add-in, 用现在时髦的话应该叫outlook的app. 这个add-in的作用就是把outlook中的email,直接上传到SharePoint中.想要代码的联系我 ...

  8. openssh/ntp/ftp漏洞

    这3种漏洞常规加固都要对应操作系统打官方漏洞升级包.既然这么说那下面就是不常规的: Openssh: 改ssh版本:whereis ssh //查看ssh目录cd 到该目录cp ssh ssh.bak ...

  9. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

  10. AFNetworking 3.0 源码解读 总结

    终于写完了 AFNetworking 的源码解读.这一过程耗时数天.当我回过头又重头到尾的读了一篇,又有所收获.不禁让我想起了当初上学时的种种情景.我们应该对知识进行反复的记忆和理解.下边是我总结的 ...