当前位置: 首页 > news >正文

最适宜初学者学习的几种编程语言

对程序员或编程初学者来说,有哪些最有用或最好的编程语言适宜学习? 创业者Roger Huang将为大家推荐一些编程语言,并分享个人的经验与看法。Huang是一名连续创业者,目前他正专注于他的第二个创业项目,并给予他人职业成长的建议。

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

姑且略过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的图表:
image

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

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

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

Java(以及其他更紧密地与计算机硬件交互的语言)对人类理解来说会稍难一些,尽管对于帮助你理解“代码的实际运行过程”和“程序员与计算机的交互过程”的绝大部分知识而言,它们是很棒的。 Java也用于在安卓系统上的移动应用开发,而这将会是一直有需求的领域。 如果我们想简捷地将知识转换成金钱,那么,我曾见到业界对IOS开发者有着大量需求,而开发IOS应用所使用的Objective-C和Swift也并不那么难学习。 Ruby——尤其是当它与Rails一起使用时——是一种因其并不陡峭的学习曲线而被大量初创公司在初创时所用的语言(事实上,有一本叫Children's Book
for Ruby的书)。
我自己正在学习Python以处理数据;学习Javascript和MEAN以创建Web应用;以及学习Java以对计算机科学有更深入的理解与构建移动应用。我认为这是一个可用的平衡良好的编程语言组合。

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

最适宜学习的编程语言——以及如何着手去学习它 学习如何像一个程序员那样思考——学习如何通过简洁的代码来用数学解决问题,绝对是最适宜学习的东西。编程语言会演进,它们会改变,它们会衰落并不再受欢迎;一个编程语言社群会变化成另外一个。 现在伟大的Web应用可能会在几十年后被淘汰。不会改变的是对人们的逻辑思考和问题解决能力的需求——以及将它们变成在机器上运作的一个更简单的自动化流程的需求。 你可以寄希望于一个事实,那就是随着时代不断发展,如果你训练解决问题的技能,你将能够找到最适合你的语言,以及获得你建立伟大事业所需要的知识与金钱。 我已经开通了Project Euler,它提供一系列与数学和逻辑相关的编程问题。我在Codecademy workspace上尝试用Python构造整洁的代码来解决这些问题。这是一名Google招聘官所提到过的“一个学习编程的很好的训练步骤”,而我并不怀疑这一点。我感到我的大脑更敏锐了,并对我的能力更充满自信——不仅仅是编程能力,还有思考能力。
最适宜学习的编程语言最终还是位于编程核心的逻辑,数学和问题解决能力。“什么是最适宜学习的编程语言”这个问题并无对错,只要你理解编程的基础价值何在。

相关文章:

  • Google:这个安卓新漏洞其实没什么大不了
  • python 回溯法 子集树模板 系列 —— 14、最长公共子序列(LCS)
  • 开源中国 2013 大记事
  • 理解Scala的Symbol类型
  • Centos7修改主机名
  • MySQL改变表的存储引擎
  • 30 个 PHP 的 Excel 处理类
  • Factory Method模式 (一)
  • Androidn Notification的使用,解决找不到setLatestEventInfo方法
  • Mesos 框架的测试平台 minimesos
  • easyui的datagird动态设置当前页数
  • Spring-MVC
  • Irrlicht 3D Engine 笔记系列 之 教程6- 2D Graphics
  • 支撑起整个互联网时代的 7 款开源软件
  • 【Windows 10 应用开发】如何防止应用程序被截屏
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【Amaple教程】5. 插件
  • 【剑指offer】让抽象问题具体化
  • go语言学习初探(一)
  • JS实现简单的MVC模式开发小游戏
  • React-redux的原理以及使用
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • vue-loader 源码解析系列之 selector
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 从零开始在ubuntu上搭建node开发环境
  • 理清楚Vue的结构
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 前端代码风格自动化系列(二)之Commitlint
  • 微信小程序--------语音识别(前端自己也能玩)
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • #LLM入门|Prompt#3.3_存储_Memory
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (day6) 319. 灯泡开关
  • (办公)springboot配置aop处理请求.
  • (二)JAVA使用POI操作excel
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (一) storm的集群安装与配置
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (转)Android学习笔记 --- android任务栈和启动模式
  • 、写入Shellcode到注册表上线
  • .NET delegate 委托 、 Event 事件,接口回调
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
  • :not(:first-child)和:not(:last-child)的用法
  • @ComponentScan比较
  • @DateTimeFormat 和 @JsonFormat 注解详解
  • @拔赤:Web前端开发十日谈
  • [ linux ] linux 命令英文全称及解释
  • [ 环境搭建篇 ] 安装 java 环境并配置环境变量(附 JDK1.8 安装包)
  • [ 转载 ] SharePoint 资料