• 学习编程语言究竟学什么


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

    • 变量定义
    • 算术运算
    • 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 有所进步,然而它仍然没有摆脱脚本语言的根本问题——他们的设计者不知道他们自己在干什么 。

  • 相关阅读:
    2019-9-23-dotnet-判断特定进程存在方法
    2019-7-4-win10-uwp-处理用户点击关闭按钮
    2019-7-4-win10-uwp-处理用户点击关闭按钮
    2019-9-2-如何使用本模板搭建博客
    2019-8-31-dotnet-使用-System.CommandLine-写命令行程序
    2018-11-3-WPF-内部的5个窗口之-MediaContextNotificationWindow
    2019-4-7-VisualStudio-解决方案筛选器-slnf-文件
    2019-9-2-用自动机的思想说明光速
    2019-10-26-dotnet-core-发布只有一个-exe-的方法
    2018-2-13-win10-uwp-获取按钮鼠标左键按下
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/7140418.html
Copyright © 2020-2023  润新知