身边非计算机专业的同窗、朋友蛮多的,谈到程序可能会有一两个会说本身会写几行Hello world!.javascript
但菜鸟程序员怎么可能就只会几行Hello world呢?php
理科最重要的就是理解,一句hello world 几行代码,好比java
若是用Cpython
1 #include<stdio.h> 2 int main(){ 3 printf("hello world"); 4 return 0; 5 }
//line1,引入基本输入输出库ios
//line2,建立入口函数,而且是一个具备返回值的入口函数,这里定义为intc++
//line3,调用打印方法,而且传递字符串"hello world"程序员
//line4,由于该函数是有返回值的函数,因此在此处返回一个int类型的值 es6
我记得我刚刚学c语言的时候就一直纠结为何要返回0(实际上是上课走神了),sql
返回值在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上
做为一个菜鸟程序员要与时俱进,要学的不少
且随疾风前行,身后一许流星
吾虽浪迹天涯, 却未迷失本心