【Java】计算机软件、博客的重要性、编程语言介绍和发展史
之前学得不踏实,重新复习一遍,打扎实基础中。
记录 Java核心技术-宋红康_2019版 & Java零基础学习-秦疆
文章目录
软件开发介绍
软件开发
什么是计算机?
Computer:全称电子计算机,俗称电脑。
能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。
由硬件和软件所组成
常见的形式有台式计算机、笔记本计算机、大型计算机。
广泛应用在:科学计算,数据处理,自动控制,计算机辅助设计(CAD),人工智能(AI),网络等领域
当今社会已经离不开计算机了,能做的东西特别多 ,开发创造。
硬件及冯诺依曼结构
一些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础
计算机硬件
- CPU
- 主板
- 内存
- 电源、主机箱
- 硬盘
- 显卡
- 键盘、鼠标
- 显示器
- 等等。。。
计算机软件
软件,即一系列按照特定顺序组织的计算机数据和指令的集合,有系统软件和应用软件之分。
Computer software, or simply software, is a collection of data or computer instructions that tell the computer how to work.
怎么去工作
In computer science and software engineering, computer software is all information processed by computer systems, programs and data. Computer software includes computer programs, libraries and related non-executable data, such as online documentation or digital media.
计算机软件可以使计算机按照事先预定好的顺序完成特定的功能
计算机软件按照其功能划分为系统软件与应用软件
系统软件:
- DOS(Disk Operating System), Windwos , Linux, Unix, Mac, Android , iOS
应用软件:
Microsoft Office,QQ,微信,英雄联盟LOL,
绝地求生…
跑在系统之上
制作软件过程 ,借助一些开发工具计算机语言来制作软件
如IntelliJ IDEA ,语言方便交流 人与计算机之间 C、C++、Java、Python
人机交互方式
- 图形化界面(Graphical User Interface GUI):这种方式简单直观,使用者易于接受,容易上手操作。Windows
- 命令行方式(Command Line Interface CLI):需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记住住一些命令。Linux
Pascal之父Nicklaus Wirth: “Algorithms+Data Structures=Programs”
程序 = 算法 + 数据结构
博客的重要性
- 博客,英文名为Blog,它的正式名称为网络日记
- 为什么要写博客?
- 需要总结和思考。有时候我们一直赶路,却忘了放慢脚步
- 提升文笔组织能力
- 提升学习总结能力
- 提升逻辑思维能力
- 帮助他人,结交朋友
冰冻三尺非一日之寒,写博客也是,坚持下去。
从学习之初 养成这样一个良好的习惯,受益是无穷的。
我好久好久没有系统写博客了,一开始就知道博客、Github、StackOverflow、LeetCode的重要性,但总是不去写不去做不去总结不去发表,只是简单的记录一下在印象笔记里, 错过了大把的时间,我一直学啦学啦,机械学呀,学呀 ,不去认真的思考总结记录,写博客输出。一直输入 ,也没什么输出没去活用, 练习两年半的Java实习生,现在想想,不知道自己学了啥会些啥能做啥,以前学习阶段不写,现在后悔不已,真想暴打一顿当年那个混小子,
完成第一篇,一年之后还是能坚持做完? 两年之后呢 还是能坚持做吗 我需要思考这个问题。
Q:经常问我。你有没有写博客呢 一个技术人员连博客都没写,这算什么技术人员,都没学扎实。
学了很多东西,学了后面的,前面的忘记了,复习前面的后面又忘了,学到后面什么也不会。
每一章,每一小节总结 ,一大章学完了,大章总结 ,整体学完,整体总结 不断去了解,去总结。本来写程序只有我和天能看懂 过一个月那就只有天能看懂了,天懂,我不懂,怎么行呢,每一个细节,去扣,不断完善,相当于记录一个知识库,在不断的积累完善。
Q:什么都会写项目的时候什么都不会,这是为什么呢?
A:究其原因是为什么呢? 就是不会总结,错了之后,不以为然 ,下次还错 。
遇到大量的问题,平常我们会利用搜索引擎去搜,搜到的那些文章其实就是别人的博客别人总结起来的问题解决方案。
别人就帮助了我,如果我写出来好的东西,我是不是也可以帮助别人,这是一个互相帮助的过程,自己也会非常的快乐(我还是有点用的) 看着周边的人在不停的学,我想着去追赶优秀的人的脚步 。
学编程学死了,本来就宅,学完编程就更宅了,我学到自闭了 加上我不怎么运动,久坐不动 ,真成了个死肥宅,没想到没成为了一个技术宅 反而成了一个死废柴、小肥仔,天天和计算机交流交流,好几个月都没怎么和人说话,嗯嗯。
计算机编程语言介绍和发展史
奥运:更高、更快、更强
计算机语言:更容易、更强
机器语言
汇编语言
高级语言
什么是计算机语言
语言:是人与人之间用于沟通的一种方式。例如:中国人与中国人用普通话沟通。而 中国人要和英国人交流,就要学习英语。
计算机语言:人与计算机交流的方式。
如果人要与计算机交流,那么就要学习计算机语言。
计算机语言有很多种。如:C ,C++ ,Java ,PHP , Kotlin,Python,Scala等。
我想和计算机好好的交流。
第一代语言
机器语言, 指令以二进制代码形式存在 。
我们都知道计算机的基本计算方式都是基于二进制的方式
二进制:0 1
这种代码是直接输入给计算机使用的,不经过任何的转换
第二代语言
汇编语言 使用助记符表示一条机器指令
解决人类无法读懂机器语言的问题
指令代替二进制
目前应用:
- 逆向工程
- 机器人
- 病毒
- 。。。
第三代语言
发挥极致,用计算机解决我们身边的问题
高级语言
大体上分为:面向过程和面向对象两大类
C语言是典型的面向过程的语言。C++、Java是典型的面向对象的语言。
C、Pascal、Fortran面向过程的语言
C++面向过程/面向对象
Java跨平台的纯面向对象的语言
.NET跨语言的平台
Python、Scala…
聊聊各种语言:
- C语言
- C++语言
- JAVA语言
- C#语言 C Sharp
- Python、PHP、JavaScript
- 。。。。。。
Java C+±-
基础上,来拿改进 完善 更好 创新 。
参考资料
1.史无“全”例:宋红康2019版—30天搞定Java核心技术
【Java】计算机软件、博客的重要性、编程语言介绍和发展史的更多相关文章
- [敏捷软工团队博客]The Agiles 团队介绍&团队采访
项目 内容 课程:北航-2020-春-敏捷软工 博客园班级博客 作业要求 团队作业-团队介绍和采访 团队名称来源 The Agile is The Agile. 敏捷就是敏捷.我们只是敏捷的践行者罢了 ...
- 最值得收藏的java技术博客(Java篇)
第一个:java_my_life 作者介绍:找不到原作者信息.大概做了翻阅全部是2012年的博客. 博客主要内容:主要内容是关于Java设计模式的一些讲解和学习笔记,在相信对学习设计模式的同学帮助很大 ...
- 100个高质量Java开发者博客
ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博客,然后不段补充到这个列表.欢迎你也参与推荐优质的Java开发博客.(声明一下:我们的数学不是体育老师教的!:) ...
- Java 开源博客——B3log Solo 0.6.6 正式版公布了!
Java 开源博客 -- B3log Solo 0.6.6 正式版公布了!欢迎大家下载. 该版本号引入了数据库连接池:Druid. 另外,欢迎观摩 B3log 团队的新项目:Noty,也很欢迎大家參与 ...
- 转:100个高质量Java开发者博客
原文来自于:http://www.importnew.com/7469.html ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博客,然后不段补充到这个列表.欢 ...
- Java 开源博客——B3log Solo 0.6.7 正式版公布了!
Java 开源博客 -- B3log Solo 0.6.7 正式版公布了!欢迎大家下载. 另外,欢迎观摩 B3log 团队的新项目:Wide,也很欢迎大家參与进来 :-) 特性 基于标签的文章分类 P ...
- Java 开源博客——B3log Solo 0.6.1 正式版发布了!
Java 开源博客 —— B3LOG Solo 0.6.1 正式版发布了!欢迎大家下载. 该版本主要是改善细节体验,并加入了一款 Metro 风格的皮肤. 特性 基于标签的文章分类 Ping Goog ...
- Java开源博客My-Blog(SpringBoot+Docker)系列文章
My Blog 1.Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦 2.My-Blog搭建过程:如何让一个网站从零到可以上线访问 3.将数据的初始化放到 ...
- 【伯乐在线】100个高质量Java开发者博客
本文由 ImportNew - 夏千林 翻译自 programcreek.欢迎加入翻译小组.转载请见文末要求. ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博 ...
随机推荐
- Linux 设置日期时间
linux 日期设置 直接设置日期和时间 date -s 2019-02-11 date -s 12:12:12 date -s "2019-02-11 12:12:12"
- Flink开发中的问题
1. 流与批处理的区别 流处理系统 流处理系统,其节点间数据传输的标准模型是:当一条数据被处理完成后,序列化到缓存中,然后立刻通过网络传输到下一个节点,由下一个节点继续处理. 批处理系统 批处理系统, ...
- 太酷炫了!!我会Python 导包八种方法,你呢?
1. 直接 import 人尽皆知的方法,直接导入即可 >>> import os >>> os.getcwd() '/home/wangbm'复制代码 与此类似的 ...
- 容器编排系统K8s之StatefulSet控制器
前文我们聊到了k8s的configmap和secret资源的说明和相关使用示例,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14194944.html:今天 ...
- ipython快捷键
IPython Notebook有两种不同的键盘输入模式(编辑模式和命令模式). 编辑模式:允许你输入代码或者文本到一个单元格(cell这里我译作单元格)内,并且单元格外面有灰色的选中框(注:Jupy ...
- GraduateDesign-给APP添加获取位置信息和天气预报的功能(json)
首先,我的app需要通过网络来获取当前所在的位置.这里我找到了一个json来获取本地位置信息. http://int.dpool.sina.com.cn/iplookup/iplookup.php?f ...
- 在Ubuntu14.04下配置Samba 完成linux和windows之间的文件共享
在Windows和Linux之间传递文件可以使用Samba服务.下面是安装步骤: 1. 安装Samba. sudo apt-get install samba 2. 修改配置文件 sudo gedit ...
- 重入锁ReentrantLock
- 基于websocket的netty demo
前面2文 基于http的netty demo 基于socket的netty demo 讲了netty在http和socket的使用,下面讲讲netty如何使用websocket websocket是h ...
- 线程上下文类加载器(Context ClassLoader)
1.线程上下文类加载器是从jdk1.2开始引入的,类Thread中的getContextClassLoader()与setContextClassLoader(ClassLoader c1),分别用来 ...