zoukankan      html  css  js  c++  java
  • 学习编程语言究竟学什么

    看了王垠的文章,觉得应该是程序语言的特性,所有程序语言里面,就是所谓“语言特性”。举一些语言特性的例子:

    • 变量定义
    • 算术运算
    • for 循环语句,while 循环语句
    • 函数定义,函数调用
    • 递归
    • 静态类型系统
    • 类型推导
    • lambda 函数
    • 面向对象
    • 垃圾回收
    • 指针算术
    • goto 语句

    这些语言特性,就像你在选择一台电脑的时候,看它里面是什么配置。选电脑的时候,没有人会说 Dell 一定是最好的,他们只会说这个型号里面装的是 Intel 的 i7 处理器,这个比 i5 的好,DDR3 的内存 比 DDR2 的快这么多,SSD 比磁盘快很多,ATI 的显卡是垃圾…… 如此等。

      

    很多初学者不了解,一个高明的程序员如果开始用一种新的程序语言,他往往不是去看这个语言的大部头手册或者书籍,而是先有一个需要解决的问题。手头有了问题,他可以用两分钟浏览一下这语言的手册,看看这语言大概长什么样。然后,他直接拿起一段例子代码来开始修改捣鼓,想法把这代码改成自己正想解决的问题。在这个简短的过程中,他很快的掌握了这个语言,并用它表达出心里的想法。

    在这个过程中,随着需求的出现,他可能会问这样的问题:

    • 这个语言的“变量定义”是什么语法,需要“声明类型”吗,还是可以用“类型推导”?
    • 它的“类型”是什么语法?是否支持“泛型”?泛型的 “variance” 如何表达?
    • 这个语言的“函数”是什么语法,“函数调用”是什么语法,可否使用“缺省参数”?  

    合理的入门语言

    所以初学者要想事半功倍,就应该从一种“合理”的,没有明显严重问题的语言出发,掌握最关键的语言特性,然后由此把这些概念应用到其它语言。哪些是合理的入门语言呢?我个人觉得这些语言都可以用来入门:

    • Scheme
    • C
    • Java
    • Python
    • JavaScript

    那么相比之下,我不推荐用哪些语言入门呢?

    • Shell
    • PowerShell
    • AWK
    • Perl
    • PHP
    • Basic
    • Go

    总的说来,你不应该使用所谓“ 脚本语言 ”作为入门语言,特别是那些源于早期 Unix 系统的脚本语言工具。PowerShell 虽然比 Unix 的 Shell 有所进步,然而它仍然没有摆脱脚本语言的根本问题——他们的设计者不知道他们自己在干什么 。

  • 相关阅读:
    Oracle 11g 新特性 安全性增强 说明
    Oracle 11g 新特性 安全性增强 说明
    Oracle 11g 新特性 Invisible Indexes(不可见的索引) 说明
    Oracle 只读表空间 说明
    Openfiler 配置 NFS 示例
    Oracle v$session 中sql_id 为 null 说明
    Oracle v$session 中sql_id 为 null 说明
    Oracle 11g 新特性 管理 SPFILE 说明
    Oracle 11.2.0.1 RAC GRID 无法启动 : Oracle High Availability Services startup failed
    Oracle 11g 新特性 管理 SPFILE 说明
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/7140418.html
Copyright © 2011-2022 走看看