编程浅谈(上)

一.编程语言

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容

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