最新一则新闻迅速引起发酵,中国顶级科研机构中科院系统下属机构中科院合肥核能安全技术研究所90位科研人员集体离职,这一场离职,力压疫情、水灾、华为、特朗普,问鼎热搜。
今天我们来聊下入门做软件开发,也是我经常用来开发程序的主要语言,其实做程序开发之前,你必须得先了解电脑,网络,什么叫硬件,什么叫软件等等。这些东西日常使用已经比较普及了,网上介绍也比较详细,我就不在赘述这些基础了,直接说软件开发。
电脑或者手机只是一台机器,我们要用这台机器干什么,取决我们自己,电脑中都是二进制代码,但是电脑有鼠标键盘供我们输入信息进行交互,还有显示器来反馈图片视频信息,不管你是来写网页还是做游戏,还是音频视频,归根结底还是数据的计算、流转。
而程序就像是一个个操作工,或者说操作流程,实现数据的流程化运作。例如你输入数字1,显示器显示数字1,这就是一段程序。你调用计算机输入1+1,显示器显示结果2,这也是一段程序。只是他们功能不同,有程序负责存储,有的负责计算,还有的负责
下面我会用Java语言分享我入门程序开发的心得,以及我个人对程序开发的认知。
▊ 如何写第一个Java程序
这是所有Java程序员入门时都写过的代码,放到JDK中运行(这里的JDK是什么不用关心,你可以理解为环境,这也是写Java代码之前必装的软件,没有JDK就执行不了Java程序,网上对java安装的教程有很多,无非就是下载安装,这里就默认装软件都没问题)
老实说,你可以用记事本写,就是新建一个txt文档,使用ctrl+c,和ctrl+v 复制粘贴代码就行,然后改一下文件后缀,例:HelloWorld.java
当然,熟悉的人一般会用编辑器开发,例如IDEA或者Eclipse,这比文本写代码要方便、快捷、效率得多,当然,他们的本质都是敲写代码
放哪都行,放桌面或者放文件夹都可以,不过我建议最好一开始就养好习惯,专门的东西放到专门的地方,建好文件夹,要知道一个良好的习惯可能会在将来给你收获的东西会越来愈多,写代码只是软件行业中很小的一部分,决定你高度的,最重要的还是思维和习惯,这个就不展开讲了。
在你存储文件的地方打开命令行(shift+鼠标右键,选择在此处打开Powershell窗口,后者使用快捷键win+R,但要配合文件地址),
java执行程序有两步,
第一步是编译,命令行输入javac HelloWorld.java生成.class文件,这里的class文件是jdk会执行的文件,日后我们部署也是用class,class是一个字节码文件,现在记住这些名词就行。
很简单对吧,其实就是很简单的,你要干嘛,把程序写好,交给他执行就可以了,现在的编程语言都是高级语言,相比以前那些晦涩难懂的语言已经进步太多了。
你可能不要只写这么一个Hello World,但是你能写出来这个程序,就已经算是开始入门软件开发了。很多很复杂的东西就是这么一个个简单的东西拼凑起来的,不要急,后面要学的东西还很多,学不完的你放心。
这里我引用知乎上的一段内容,图文并茂,别有一番趣味
在说清楚“什么是Java”之前,我觉得我们可以先来认识“什么是计算机语言”。
计算机语言指用于人与计算机之间通讯的语言,用一套编写计算机程序的数字、字符和语法规划来组成各种指令,通过指令达到人与计算机的“沟通”。
如今通用的编程语言有两种形式:汇编语言和高级语言。
高级语言将许多相关的机器指令合成为单条指令,由于省略了很多细节,编程者也就不需要有太多繁杂的专业知识。
所以高级语言是绝大多数编程者的选择。
一位外国友人用《如果编程语言是武器》对各个编程的区别和特征做了生动形象的描述。
C语言是M1式加兰德步枪,很老但可靠。
(开发效率太低,开发门槛高,不要以为语法简单就门槛低,指针、内存、操作系统底层才是门槛所在)
C++是双截棍,挥舞起来很强悍,很吸引人,但需要你多年的磨练来掌握,很多人希望改用别的武器。
(太复杂,如果现在的程序员全部被强制去写C++,估计90%会崩溃或者转行)
Ruby 是一把外嵌红宝石的宝刀,人们使用它通常是因为看起来很炫。
(拥有广泛的工具及功能库,使得构建应用十分轻松,但很难找到关于Ruby良好的说明文档且运行速度差。)
PHP是水管子,你通常会把它的一段接到汽车的排气管,另一端插进车窗里,然后你坐进车里,开动引擎。
(拥有庞大而活跃的社区,面对Web开发难题都有现成的解决方案,但PHP错误处理机制比较糟糕,因为它的开发历史过长且需要支持大量旧有功能。)
Python是一种“v2/v3”双管枪,每次只能用一个管子发射,你永远不知道该用哪个管子发射好。
(因为该语言易于掌握拥有极高人气,但在语言设计上存在问题,在移动计算领域表现比较糟糕。)
JavaScript是一把宝剑,但没有剑柄。
(它的代码函数可立即运行,无需等待服务器做出回应,因此速度非常出色。但由于代码在用户计算机上执行,有时会被恶意活动所利用。)
Java是M240通用弹夹式自动机枪。
(同样的效果,Java用简练的语言即可进行输出,封装了大部分的算法,用自带的库/开发环境运算,所以运行速度能像机枪一样快~)
Scala是M240通用机枪的变种,但它的使用手册是用一种看不懂的方言写的,很多人怀疑那只是一些梦话。
不难看出以上威力最大的武器就是Java了。的确,相对而言Java是开发效率、开发门槛、性能、跨平台这几方面平衡得最好的语言
了解以上内容之后,就可以开始解释
Java,由Sun Microsystems公司于1995年5月推出,它是一种可以编写跨平台应用软件、完全面向对象的程序设计语言。
不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
20世纪末,硬件领域出现了单片式计算机系统,这种系统价格低廉,立即引起了研究人员的注意,由于C++程序过于复杂和庞大,研究人员开发了一种称为Oak的面向对象语言。这是Java的雏形。
1995年,业界为了使单调的静态网页能够“灵活”起来,急需开发一种程序。这时,Sun公司想起了那个被搁置很久的Oak,并将Oak更名为Java,它语言精简,程序非常小,适合在网络上传输。
1995年5月,Sun公司正式发布Java。从此Java一路披荆斩棘,在经历20多年的发展之后依然长盛不衰,常年雄踞各大编程语言排行榜第一位,这也凸显了其在IT技术领域的绝对统治力。
本文主要分享了所有程序员都会写的helloworld程序,其实编程语言什么的都是其次的,最重要的是具有软件开发思维和习惯,因为软件开发面对的是机器,一定要确认清楚规则和边界,加之设计出没有漏洞的逻辑,有朝一日,你也会成为程序员大牛。
欢迎关注我的公众号学习技术或投稿
长按上图,识别图中二维码即可关注
Mybatis 学习门槛低,简单易学,程序员直接编写原生态 sql,可严格控制 sql 执行性能,灵活度高,非常适合对关系数据模 型要求不高的软件开发,例如互联网软件、企业运营类软件等,因为这类软件需求变化频繁,一但...
小菜求教~我现在需要做一个网络相册的服务端~请问oss能帮上忙嚒?oss做存储方?我还需要自己开发一个服务端软件存储~还是怎样啊?求一个思路 在线等
我们公司是易正BPM软件开发的,是自己开发的,所有的表结构全都有,不知道这块应该怎样做,或者钉钉都有哪些公开的接口呢?回 3楼南樵的帖子 那个微应用我已经试过了,感觉还是不好。也无法提供相应的提示等信息服务...
软件架构的方式也随着运用面的扩大而变得丰富起来,并且还涌现出了很多流派,它们采用不同的观点来看待软件的架构,并根据其在开发软件系统时所取得的实际经验来总结并推广各自的观点。软件架构的流派和观点变得...
我们在开发软件或对运行软件的系统进行管理的时候,经常会遇到故障。有些故障是因代码问题而引发的编译错误,这种故障可以在短时间内修复;还有一些故障则会使大型系统停机,这将给公司带来每小时数百万的损失(具体...
可以从事一些系统管理员之类的工作啊,现在转web开发已经有些迟了,因为每一个细分领域都要经验的,你放弃4年多的经验,相当于从零开始了,现在搞web开发的人也很多,而且web开发主要是SQL,不知道你SQL掌握的怎样。...
2020年了,跨平台开发框架现在怎样了?多年来,跨平台移动开发已经获得了最流行软件开发趋势之一的声誉。这并不令人意外,因为采用跨平台开发技术使得软件工程师使用同一代码就能为不同平台构建应用程序,从而节省...
我认为一方面要熟悉不用框架或引擎如何写,比如写一个通讯框架,只有写过通讯程序的人,有过底层接口的使用经验,才能抽象出框架设计,框架原本就是为了以后更方便的重复开发软件而总结出来的封装,底层接口趟坑越多...
开发软件的主要部分是创建新算法或重新实现现有算法。其他部分则像重新组装乐高砖块或创建“管理”层。我依然梦想这样的工作,我的大部分时间(>50%)是在写算法,其他“管理”细节则留给其他人…… —— Ran Biron ...
软件?是购买服务器搭建就给么。。。。。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《》和《》。如果您发现本社区中有涉嫌抄袭的内容,填写进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云手机软件要进入用户中心怎么弄
从软件架构的演化来看,微服务架构是怎么出现的?
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。