美文网首页
编程浅谈(上)

编程浅谈(上)

作者: 逑飯 | 来源:发表于2017-02-15 20:37 被阅读0次

一.编程语言

现在就根据几门有代表性的主流编程语言来分析分析吧。那我们首先来看看这几种语言的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...

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

相关文章

  • 编程浅谈(上)

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

  • 三种程序设计语言概要

    引言 毕竟西邮编程气氛浓厚,加上大神学长学姐的支持和学弟学妹对编程的兴趣,上一篇简书文章《浅谈C语言历史》的分享效...

  • 白板编程,编程面试中的特点

    白板编程,编程面试中的特点 原文链接:白斑编程浅谈选取了一些与己有关的东西 技术面试中常见的问题 编码:考察面试者...

  • 浅谈面向对象编程与面向过程编程以及DDD充血Model

    浅谈面向对象编程与面向过程编程以及DDD充血Model 先抛出开头一个问题:一直在说OOP面向对象编程,你现在写的...

  • 面试

    面试总结 领扣 冷熊简历 白板编程浅谈——Why, What, How | lucida PHP程序员进阶学习书籍...

  • 线程高级篇-Lock锁和Condition条件

    原文:线程高级篇-Lock锁和Condition条件 参考:Java并发编程实战P252 浅谈Synchroniz...

  • 浅谈Socket编程

    说到Socket,想必大家会觉得陌生又熟悉。许多同学听说过Socket,但仅仅知道它翻译成中文叫做套接字,除此之外...

  • 浅谈CocoaAsyncSocket编程

    Socket就是一种特殊的文件。它是一个连接了两个用户的文件,任何一个用户向Socket里写数据,另一个用户都能看...

  • 浅谈网络编程

    引言 网络学习的核心内容就是网络协议的学习 网络协议:网络中进行数据交换而建立的规则、标准或者说是约定的集合因为不...

  • 浅谈链式编程

    前言 链式编程就是将多个方法用点语法链接起来,让代码更加简洁, 可读性更强.相信大家对Masonry都不陌生. 看...

网友评论

      本文标题:编程浅谈(上)

      本文链接:https://www.haomeiwen.com/subject/aqgqwttx.html