编程浅谈(上)

一.编程语言

现在就根据几门有代表性的主流编程语言来分析分析吧。那我们首先来看看这几种语言的Hello World程序

C语言
#include <stdio.h>
int main(void){
    printf("Hello World");
    return 0;
}
JAVA
public class Hello{
    public static void main(String args[]){
        System.out.println("Hello World");
    }
}
JavaScript
console.log('Hello World');
Python
print('Hello World')

咋一眼看来,C和Java的代码比较多,而JavaScript和Python只要一行代码就搞定了。但是无论一门编程语言是简单还是复杂,都各有他们的优势和劣势。

优势

  • C语言:涉及较底层,程序运行效率高(常用于硬件开发)
  • Java:工程语言,拥有各种设计模式,程序运行效率较高
  • JavaScript:脚本语言,目前是前端开发的不二选择,而且随着Node.js和各种框架,如Angular、React的流行,JavaScript依然成为最流行的全栈语言
  • Python:代码最为简洁,轮子众多,且是学习与研究人工智能的首选

二.编程套路

那么这么多编程语言,有没有一些相通的东西呐?
答案是:必须是有的!

所以来总结一下,有以下东西是必须要学的:

  1. 语言语法
  2. 面向对象的思想
  3. IO操作
  4. 网络编程
  5. 事件(包括视图)

然后我们一个一个来简单了解一下:

1. 语言语法
类型修饰符 变量名 = 数据

方法修饰符 方法名(参数){
    ......
}

基本套路就是这样,然后具体来看看吧

int i = 100;//Java和C
var i = 100;//JavaScript
i = 100  #Python

//Java和C
int add(int a,int b){
    return a+b;
}
//JavaScript
function add(a,b){
    return a+b;
}
#Python
def add(a,b):
    return a+b
2. 面向对象编程

将面向对象思想实现得最好的是Java,再,而且这也不是一句话能说得明白的,所以就用一段程序来说明吧

//一个动物接口,里面只存放要实现的行为
interface Animal{
    void breath();//呼吸
    void eat();//吃饭
    void move();//运动
} 

//一个人类抽象类,里面只存放一个具体
abstract class People implements Animal {
    @Override
    public abstract void eat();
    @Override
    public void breath() {
        System.out.println("用嘴呼吸");
    }
    @Override
    public void move() {
        System.out.println("用脚走路");
    }

    private String nationality;//人有国籍
    
    public People(String nationality){
        this.nationality=nationality;
    }
}

//小明是一个具体的人
public class XiaoMing extends People {
    public XiaoMing(String nationality) {
        super(nationality);
    }
    public void play(){
        System.out.println("小明贪玩");
    }
    @Override
    public void eat() {
        System.out.println("小明吃米饭");
    }
    
    @Override
    public void breath() {
        super.breath();
    }

    @Override
    public void move() {
        super.move();
    }
}

//好了,现在模具已经准备好了,开始把人造人小明造出来吧
public class Main(){
    public static void main(String args[]){
        Animal xiaoming=new XiaoMing("中国人");
        xiaoming.eat();
        xiaoming.breath();
        xiaoming.move();
        xiaoming.play();
    }
}

看代码晕了没?那说点人话吧。

  • 上帝造小明第一步:确定什么是动物,上帝说能跑、能吃、能动的就是动物。
  • 上帝造小明第二步:动物和动物之间也应该不一样吧,那再造个人类吧,人类是用嘴呼吸的(不是用腮),用脚走路的(不是用鳞片),但是人类吃什么主食是不能确定的,但是基本可以靠国籍确定,所以人类出生时要自带一个国籍。
  • 上帝造小明第三步:上帝决定人类应该是什么样子的了,就可以造他第一个作品——小明。小明也是人类,所以他也是用嘴呼吸的,用脚走路的,这是他作为人类的共有行为。小明是中国人,而且他吃米饭(但不是所有人类都吃米饭),并且他特别贪玩,这是小明作为他自己的行为。

现在问题来了,我们为什么要先刻动物模板,再刻人类模板,再刻小明呐?直接刻小明不好吗?

答案是:不好,下面我们有请上帝继续造东西。

第二天,小明拔了上帝的胡子,上帝一怒之下把小明拍没了。但是他又感到孤独了,于是按照动物模板来造狗类和猫类模板,然后上帝往泥巴上一压,很快就有了100只猫和100只狗。所以我们可见,虽然这种创造的方法一开始比较繁琐,但是一旦创建模板后就可以反复使用,比一只一只创建要快的多。

最后再讲讲一句代码Animal xiaoming=new XiaoMing("中国人");
这句代码可以写成People xiaoming=new XiaoMing("中国人");
还可以写成XiaoMing xiaoming=new XiaoMing("中国人");
xiaoming前面的修饰符(Animal或People或XiaoMing)代表他在上帝哪本花名册上,
new XiaoMing("中国人")代表用什么模板来造物。
在上述的情形下,没有任何区别,那为什么要写成这个样子呐?我们继续看上帝吧。

上帝花了7天,造出了小花(鱼)、小绿(狗)、小鸟(蛇)、小图(鸟)等一共5w个类别的100w只动物,如果他按照最具体的花名册记录,那么他会有100w本只有一条数据的花名册。如果他按照鱼类、鸟类来记录,那么他会有5w本花名册。如果他按照动物类来记录,那么他只有一本花名册。

三.IO操作

简单来说就是修改广义的文件,只要有相应的解析包就可以处理任意后缀的文件。但是也可以换一种说法,对电脑而言,无论是什么后缀(.doc、.png、.txt)都是0101010101110101010...

其中很重要的一块的是数据库,不具体深入了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,353评论 25 708
  • JavaScript 快速入门 面向对象编程创建对象构造函数忘记写new怎么办?原型继承class继承 面向对象编...
    染微言阅读 270评论 0 0
  • 《汽车销售那些事儿》目录 汽车销售那些事儿2 朱颜颜跟戴明磊在小会议室里抽着烟,你一句我一句地聊着。店里规定,禁止...
    Easyway阅读 406评论 0 1
  • 提到坚持,我们最容易联想到的往往是诸如“毅力”、“头悬梁、锥刺股”、“战胜自己”之类的词汇。因为从小就在“...
    载驰阅读 275评论 1 0
  • “禀赋效应” 当一个人没有某件物品时,他就倾向于低估这件物品的价值,而当他一旦拥有该物品,就会倾向于高估他的价值。...
    开拓者2021阅读 186评论 0 0