zoukankan      html  css  js  c++  java
  • 如何入门计算机高级程序语言,进化菜鸟程序员

    身边非计算机专业的同学、朋友蛮多的,谈到程序可能会有一两个会说自己会写几行Hello world!.

    但菜鸟程序员怎么可能就只会几行Hello world呢?

    理科最重要的就是理解,一句hello world 几行代码,比如

    如果用C

    1 #include<stdio.h>
    2 int main(){
    3   printf("hello world");
    4   return 0;  
    5 }

    //line1,引入基本输入输出库

    //line2,创建入口函数,并且是一个具有返回值的入口函数,这里定义为int

    //line3,调用打印方法,并且传递字符串"hello world"

    //line4,因为该函数是有返回值的函数,所以在此处返回一个int类型的值  

    我记得我刚刚学c语言的时候就一直纠结为什么要返回0(其实是上课走神了),

    返回值在main函数中其实返回任何int类型参数都不会对我们所需要的结果产生影响

    具体为什么要int main 可以查询相关资料

    //line5,结束

    以上只是一个例子。

    计算机高级语言分为面向对象 和 面向过程的语言。

    所有语言都可以用面向过程的方式去开发,但是面向对象不一定了,C语言就是一门只能面向过程的语言。

    现在大家经常能听到的 譬如 C++,C#,Python,Java,go等等等等 都是支持面向对象的。

    且不分过程还是对象

    一门计算机语言,它需要什么?也就是所有的计算机语言它们有什么共同点?

    1. 变量 

    强类型的语言 比如c java等都需要指定一个变量的数据类型,像python javascript 等语言都不需要对变量进行指定数据类型

    python声明

    num = 1
    print(num)//输出:1

    javascript声明

    var num = 1
    console.log(num)//输出:1
    let number = 1
    console.log(number)//输出:1 
    //这里只是列举,具体let 和 var 的差别可以百度,还有const可以声明一个常量,js在es6中很多变化,=>语法糖类似java的lambda语法
    //详情可以百度,也可以参考这个博客 https://www.jianshu.com/p/287e0bb867ae

    java声明

    int num = 1;
    System.out.println(num);//输出:1

    go声明

    var str string = "1"
    print(str) //输出:1

    掌握各个语言的语法特点其实不是件难事,只要去使用就能很快掌握,多敲代码少看书,重在实践

    2. 函数(方法/method)

    函数里面有个特别的函数,就是main函数,main函数是整个函数的入口,程序从这开始运行

    函数是为了减少代码的冗余,让你不用把代码都写在一个main方法里面

    你要学习一门语言也需要对语言的一些常用的包(库)以及这里面的一些函数要熟悉

    比如c++ iostream 里面 cout  cin,像php(世界上最好的语言)就有丰富的函数,

    但是你不用记住它们,因为我们可以百度(百度/谷歌是程序猿最好的工具,如果你不愿意百度,你可以放弃学习计算机了)

    c++ demo

    #include<iostream>//引出c++ 输入输出库
    
    using namespace std;//使用std命令空间
    void print(){//声明这是一个无参无返回值的方法
        cout << "I love X" << endl; //打印 参数 并且换行
    }
    
    int main(){ //程序入口函数
        print();//调用已经声明好的方法
    }

    javascript demo

    1 function print(str){//声明这是一个带参数的方法
    2   console.log(str)  //打印参数到控制台
    3 }
    4 
    5 var s = "I love U"//声明一个字符串
    6 print(s);//调用方法并且传递参数

    go demo

    package main //包名
    
    func main() {//程序入口
        str:=printToConsole("I love a beautiful girl!")//声明str并且获取方法的返回值
        print("\n",str)//打印str
    }
    
    func printToConsole(s string)(string)  {//声明一个参数为string类型返回值为string方法
        print(s)//打印参数
        var name string= "I typed it successfully"//声明一个字符串变量
        return name//返回一个字符串
    }

    3. 流程控制 

    像 if else 语句,for 循环,while循环,switch ...

    几乎所有语言都差不多我这里列举一个JavaScript和go的例子

    javascipt demo

     1  var i = 0 //声明一个变量并且赋值
     2  for (i; i < 10; i++) {//使用for循环
     3     console.log(i)//打印
     4     if (i > 6) {//if判断如果大于6 才执行下面的语句
     5       console.log("I love a beautiful girl!")
     6     }
     7     switch (i) {//switch 分支判断
     8       case 1:console.log("I just hava 1 pen")//当i = 1时怎样怎样
     9         break//退出分支判断
    10       case 2: print(i)//当i = 2时怎样怎样
    11         break
    12       case 3: print(i)//当i = 3时怎样怎样
    13         break
    14       default:console.log("I hava to many pens")//当i = 都是上面想要时怎样怎样
    15         break
    16     }
    17   }
    18   function print(num) {//声明一个带参数无返回值的方法
    19     console.log("I hava" + num + "pens")//打印 
    20   }

    go demo

    package main //包名
    
    func main() { //程序入口
    
        for i := 1; i < 10; i++ {//for循环
            print(i,"\n")//打印 \n为windows换行符
            if i < 2 {//当i小于2怎样怎样
                print("I met a beautiful girl!", "\n")
            } else if i <= 8 {//当i小于并且8怎样怎样
                print("I love the beautiful girl!", "\n")
            } else if i > 8 {//当i大于8怎样怎样
                print("The girl married me!", "\n")
            }
        }
    
    }

    以上呢是一些基础的东西,学完这些就算入门,有这些呢你可以写一个命令行的计算器或者一些简单的程序,

    但是作为高级语言他还需要以下一些功能,也是进阶所必要学的

    4. 多线程 (并发编程)

    多线程是为了更合理的使用计算机cpu资源,更详细的解释可以参考百度百科

    5. IO(文件输入输出)

    IO可以对文件进行读写,比如我经常干的--->做报表的时候:

    让程序来生成excel以及计算出所需要的数据 填到excel上,自己就负责写几句sql就好了

    以及将excel的内容读取到公司系统当中

    6. 网络通信

    网络通信顾名思义就是进行数据的交互,这里就需要掌握socket,

    你可以通过这个写一个聊天室等等等程序

    如果你会java,可以看netty框架

    更多的细节就百度吧


    其实学习程序还有一个最重要的就是环境,比如c++ 开发 在window上你需要mingw 在Linux上你需要一个gcc

    //一般来说,写好程序到运行有三个流程,1.编写能通过编译的代码 2.编译 3.运行

    还有就是一个好的的IDE(集成开发环境) ,使用IDE可以便捷开发。

    这边我推荐 如果是学习C++ 可以使用 dev c++(windows版) ,非常好用的工具,里面集成了编译器所以不需要再装mingw了

    如果是javascript的话,可以使用 vs code,这是一款微软的良心软件

    其他的语言的话就上jetbrains官网找相应的IDE,不过都是收费的,如果你是学生的话,就可以享受学生资格带来的福利(免费使用相关软件,详情百度)


    如果你从未接触过计算机语言,我的建议是学习javascript,环境太简单了,一个浏览器就搞定

    不要把程序搞复杂了,就是几个if else 几个方法,一堆变量,加减乘除啊。

    //如果你看别人不爽 看看c的stdlib.h ,main里面加一行 system("shutdown -s -t 10");

    //编译成.exe后缀的文件后把他的常用软件图标引用到这个exe上

    作为一个菜鸟程序员要与时俱进,要学的很多

     

    且随疾风前行,身后一许流星

    吾虽浪迹天涯, 却未迷失本心

     

  • 相关阅读:
    下拉框插件开发 (一)
    工厂模式 抽象工厂模式
    闭包 构建函数 简单工厂模式
    js继承
    浅谈js观察者模式
    浅谈js单例模式
    localstorage本地存储
    Vi 配置文件
    Vi Command
    我的Firs博客
  • 原文地址:https://www.cnblogs.com/97jay/p/9035510.html
Copyright © 2011-2022 走看看