您的位置  > 互联网

开发届大牛不要吹毛求疵了?计算机专业大一迷茫求指点

【计算机专业的新手,可以看看我的这篇回答:计算机专业新生,迷茫,请指教——王进东的回答】

本文的目录如下:

1个平台

1.1 桌面平台:【1.1.1 Linux、1.1.2、1.1.2.1 .NET平台、1.1.2.2非.NET平台、1.1.3 Mac】

1.2 移动平台:[1.2.1 、1.2.2 iOS、1.2.3 手机]

1.3 Web平台:【1.3.1前端,1.3.2后端】

2种语言

[2.1 C、2.2 C++、2.3 C#、2.4 Java、2.5 HTML、2.6 PHP、2.7、2.8 ASP.NET、2.9 其他]

3个工具

[3.1、3.2、3.3 IDEA、3.4、3.5 XCode、3.6]

4辅助

[4.1 数据库、4.2、4.3 MOOC]

1. 平台

1.1 桌面平台

桌面平台按操作系统分类,分为Linux和Mac三个平台。

1.1.1 Linux

Linux是著名黑客Linus在大学时开发的开源操作系统,基于早期的Unix内核。 由于其优秀的功能和开源的管理方式,吸引了全球大量的开发者。 Linux一般用于服务器,因为它作为操作系统极其优秀,适合作为服务器系统在后台持续稳定地运行。 Linux 上的编程比较基础,考验你对命令的掌握程度。 不过,对于新手来说还是有一定难度。 虽然说掌握了Linux就是高手,但至少这种说法是片面的。 不过,学习Linux确实可以提高你对计算机的理解。 这方面比较好的一本书叫《鸟哥的Linux私房菜》()。 有很多专门为学习Linux而写的书,受到业界的高度评价。

1.1.2

它是使用最广泛的操作系统。 大致可分为个人用户版(专业版、基础版、家庭版等)和服务器版()。 不过由于Win10的推出,现在全平台实现了统一的内核管理,并且增加了嵌入式版本。 网络编程是最基本的,因为大多数人都在使用它。 从QQ到英雄联盟,从Qvod到书店管理系统,从ATM机到银行交易,基本上都会用到(当然,后端很大一部分是Linux。而Linux是最重要的操作系统)。 编程框架有很多,大致可以分为两类:一类是微软公司(仅限微软)出品的以.NET为代表的编程框架,另一类是其他第三方平台。

1.1.2.1.NET平台

以前,.NET 只能在某些版本的操作系统上运行。 .NET 附带的更新也从 1.0 升级到了今天的 4.5。 以.NET为矩阵,微软现在已经开源了.NET,Apple和Linux都可以使用它。 通过mono,.NET可以在各种操作系统上调用。 不过,恐怕他们中的大多数人都真正专注于.NET 开发。 有MFC(C++,很老)、(C#,主流)、WPF(C#)等编程框架。

- MFC:一个很古老的编程框架,用C++编写,有控件、事件、服务,非常完整。 缺点是太旧,不好用。 高校里还是有课程用到它的(比如图像处理等),但是这样做是事倍功半,所以不推荐;

-:一个非常主流的编程框架,很多软件都是使用这个框架制作的。 使用C#作为编程语言非常稳定、易于使用、开发成本低。

- WPF:微软新的编程架构,拥有华丽的界面。 它采用XAML+C#作为开发语言,优秀的MVC架构是未来的趋势。 不幸的是,它在发布时伴随着Vista系统的失败,以及其巨大的资源消耗,所以基本上没有多少人在使用它。 不过它的思想很先进,一路用下来赶上了win8、win10(商店应用)。

1.1.2.2 非.NET平台

非.NET平台上的框架通常可以跨平台使用。

- Qt:诺基亚生产的编程框架,用 C++ 开发。 它有自己的接口库,支持跨平台。 前几年很流行,但现在已经不流行了。

- Java平台:Java本身是一种语言,但是有很多基于Java的开源框架和平台,比如Swing等,它们都提供了自己的控件。 但由于Java本身就是虚拟机,运行效率太低。 目前,随着硬件平台效率的提高,这已经不再是问题。 大多数服务器在后台运行 Java。

- 还有其他平台,在互联网上很少使用。

1.1.3 苹果电脑

Mac 是苹果公司的专有操作系统。 苹果系统中的很大一部分软件都是使用Mac下的软件开发工具制作的。 Mac下的开发框架叫Cocoa,Mac下的叫(有额外的接触)。 当然,Mac下的软件也可以使用上述跨平台框架进行开发。 关于这方面我不会讲太多细节。

1.2 移动平台

现在最流行的就是移动平台,这一点是毫无疑问的。

1.2.1 安卓

是一款开源操作系统,于 2008 年首次推出,后来被收购。 它是现在最流行的操作系统。 内核是基于Linux的。 由于其开源特性,易于定制,使其在短短几年内迅速占领了三分之二的移动操作系统。 开发基于提供的SDK(软件开发工具包)。 主要的开发语言是Java(用于编写后台逻辑)和XML(用于编写界面)。 关于开发的书有一些,这方面比较有代表性的就是【《疯狂讲义》】(疯狂讲义_百度百科)。 早期(2013年之前)开发环境是配套的SDK、模拟器等,后来有一套完整的开发效率非常高,现在基本都用来开发了。

- 【视频教程】(开发开发从入门到精通视频教程-麦子学院)

1.2.2 iOS

iOS 是 Apple 和 iPad 的操作系统。 只能在苹果机器上开发,也只能在苹果产品上使用。 iOS是一款极其优秀的移动操作系统。 开发初期,很多都借鉴了iOS的开发经验(当然后来也互相抄袭)。 iOS开发是使用苹果公司生产的XCode软件进行的。 该软件还可以用于Mac下的软件开发。 XCode是一套完整的开发工具,可以设计界面、调试、上传到应用商店等。iOS开发使用-C编程语言和Swift编程语言。 后者是Apple于2013年6月推出的新一代编程语言,它结合了当前所有语言的优秀特性,有望取代-C。 所以Swift一直很受欢迎。 这方面的教程包括:

- 【斯坦福大学公开课iOS开发】(斯坦福大学公开课:iOS 8开发)

- iOS开发指南等

1.2.3 电话

Phone是微软出品的手机操作系统,现已升级到10版本,其开发环境采用C#开发,与开发软件(WPF)基本是同一模型。 虽然我在大学里做的最多的是WP(因为上手很快而且微软的教程很棒),但是它的市场份额已经很多年没有上升了。 希望通过这次疫情,能够给予一些力量。 不会提供这方面的教程。

1.3 网络平台

Web平台的编程基本上是基于服务器的编程。 这个方面分为网页(前端)和服务(后端)。

1.3.1 前端

前端就是我们看到的网页。 比如【百度】(百度一下就知道了)的主页很简洁,【QQ浏览器】(QQ浏览器9官网-浏览器_浏览器下载_微信电脑版)的主页很酷等等。 这些是用什么实现的? 后面会介绍实现语言。一般来说

- HTML是所有网页语言的起源,所有网页都必须使用它;

- CSS 是一个样式选择器。 字体、颜色等全部由CSS控制;

- 是一个Web脚本(与Java无关),用于编写简单的后台逻辑交互和前端界面交互;

- html5是html的最新版本,支持很多界面功能。 QQ浏览器首页采用html5制作。

1.3.2 后端

后端对用户来说是不可见的。 从注册用户到处理数十万条数据,全部由后端完成。 这方面典型的开发语言有C++、Java、PHP、ASP等,后端是基于服务器进行开发的。 基本上在软件工程中处于非常顶尖的位置。 Java这方面的开发在业界非常流行,因为Java不像C++那么难写,而且它有很多框架,比如等等,非常适合编写后台数据交互。

2.语言

计算机编程语言有数百种,从智能手机到服务器集群,所有运行的程序都是用各种编程语言编写的。 没有一个进程比另一个进程更高尚,它们都各司其职,完成我们赋予它们的任务。

计算机专业的学生一般都是从C或者C++开始学习编程。 这两种语言在大多数高级语言中出现较早,影响较大。 对于计算机专业来说,当然要学好这两门语言,为以后学习其他语言打基础。

对于非计算机专业或以前从未接触过编程的学生,不建议开始学习C和C++,因为它们很难,也没有必要。 强烈建议有这些背景的学生学习。 因为首先它是跨平台的,其次没有特别复杂的语法(至少日常使用不需要),最重要的是有各种包可以支持你做各种事情!

2.1℃

C是基础语言。 它不是面向对象的,而是面向过程的语言。 C诞生于1972年,其优异的特性和高效率使其长期占据编程语言排行榜第一名。 C可广泛应用于桌面、服务器、嵌入式开发。

- 【C编程视频教程】(C编程案例教程(2015年秋季)-学堂在线MOOC平台)

2.2 C++

C++可以看作是C的扩展,增加了面向对象的机制。 什么是面向对象? 简单来说,所有要操作的对象都是对象。 例如,人是一个物体,狗也是一个物体。 然后您可以定义对对象的操作。 例如,走路是一种功能,吃饭也是一种功能。 这样设计的好处是可以封装多次使用,而且还可以继承。 保留整体相似性而不失个体个性。 例如,张三和李四都是继承人,但张三吃饭需要三分钟,李四需要十分钟。 这就是个性。 面向对象设计思想可以进一步阐述【这里】(什么是面向对象编程思想?-Java-知乎),它基本上是所有现代主流语言的基础。 它是面向对象的,可以非常快速地学习所有语言。 C++可以广泛应用于桌面、服务器和嵌入式编程,应用非常广泛。 但由于其语法较难(主要是指针操作)且没有现成的SDK进行封装,所以不太适合编写应用程序。 可以说C++无所不能。 它太基础了,而且是高级语言中效率最高的。 然而,根据技术专业的不同,它并不适合为各种平台编写应用程序。

- [C++ 编程视频教程](C++ | C++ 编程)

2.3 C#

C#是微软于2000年在.NET平台上推出的一种编程语言。 它没有指针,集成了大多数面向对象语言的精髓。 它易学、易用、高效。 它是主流的桌面应用程序和一些服务器后端编程。 语言。

- 【C#视频教程】(C#编程-学堂在线慕课平台)

2.4 Java

Java 与 C# 类似,几乎很简单。 但Java是跨平台的,可以用来编写桌面、移动()和后端服务器。 它用途广泛,框架最多。

- 【Java视频教程】(学堂在线-最大的中文MOOC平台)

2.5 html

HTML、CSS等都是用来开发网页前端界面显示的语言,而且非常轻量级。

- [html 和其他教程]( - 学习编码,免费)

2.6 php

PHP 是一种用于开发服务器后端的语言。 它非常容易学习和使用,并且语法非常简单。

- [php教程](PHP教程)

2.7

它是一种执行效率很低的脚本语言,但语法却极其简单。 如果用C++写几十行,只需要几行就可以完成。 理论上可以在任何地方使用,但基本常用在后端服务器和一些科学研究中。 作为一种脚本语言,它非常出色。

- [教程]( - 学习编码,免费)

- 推荐教程:发布3个教程

2.8 ASP.NET

它是微软开发的一个框架,用于编写服务器后端和部分前端。 使用 C# 和 html 进行编程。

- 【视频教程】(ASP.NET基础实例教程-我要自学网络)

2.9 其他

还有几十种其他语言,但它们并不是很常用。 这个就不再介绍了。 学习面向对象编程的思想,你将能够毫无畏惧地走遍世界。

3.工具

3.1

微软生产的世界上最强大的编程工具中没有之一。 VS 可广泛用于桌面、服务器和移动编程。 最新的VS也可用于和iOS。 其性能和强大功能堪称宇宙第一。 它是编写C、C++和C#的天然平台,也可以用来编写HTML等。

- [VS官网](首页)

3.2

它是免费的开源软件。 它是一个软件平台,具有丰富的插件,可以用来编写Java、PHP、C++等,也可以编写桌面和服务器应用程序。

- [官方网站]( - 已开放。)

3.3 思路

IDEA是捷克一家公司出品的付费编程软件。 是的,更换。 你可以称之为java世界。 用于开发任何基于Java的应用程序。 它是基于该软件的框架开发的。

- [IDEA官网](: Tools for and Teams)

3.4

开发 集成工具。

- [网站](/link?url=9Z5z&wd=&eqid=f)

3.5 代码

XCode用于开发iOS和Mac的软件,这意味着它只能在苹果电脑上运行。 XCode 可以编写的语言主要有 C/C++、-C 和 swift。 个人感觉其他的XCode都不是很好,有很多不尽如人意的地方,但是没办法,只有你想给Apple做东西就只能用这个了。 该公司发布了一款用于在 Mac 上编写 Apple 软件的 IDE,称为 IDE。 我也用过,体验还是不错的。 不过话说回来,有官方的事情就会有官方的支持。 使用第三方产品难免会带来不必要的问题。 顶多应该当个备份用吧。

3.6

也是该公司出品的一款专门用于写作的IDE。 可以说是基本通用,你想要的功能基本都有。 更新也非常频繁,我目前一直在使用它。

4.辅助

4.1 数据库

数据库是存储数据的介质,所有后台数据交互都必须涉及到数据库。 目前最常用的数据库有SQL、MySQL等,数据库与编程语言无关,有特定的SQL语法支持。

4.2

[](Build, ) 是全球最大的开源软件管理平台。 本文托管于 . 世界各地的程序员将自己编写的各种类型、各种语言的代码托管在互联网上进行共享,有利于软件产业的发展。 git代码管理平台是现在最流行的版本控制工具。 许多著名的项目如iOS和都托管在其上。

4.3 慕课

这主要是一门在线公开课。 时下最热门的教育形式。 近年来,MOOC越来越受欢迎,课程数量和质量不断发展,给我们提供了足不出户欣赏世界大师的绝佳机会。 本文中的许多链接都是公开课程。 推荐的包括:

- 【网易公开课】(网易公开课)拥有国内外各领域大量资源,包括计算机部分。 上面提到的MIT算法我们都学了,老师教得很好。 此外,它还有不断更新的TED视频,值得一看。

- []( | 自上而下。免费加入),由斯坦福机器学习大师 Ng 联合创立。 以上都是国外大师学校的视频。 这是我在研究生课程中学到的关于机器学习的知识,非常好。

- 【国科MOOC学院】(慕课学院(MOOC)|发现全球优秀在线课程),它只是一个开放的课程搜索中心,帮助您链接到各种MOOC课程。

- 【学堂在线】(学堂在线-中国最大的MOOC平台),清华大学主导,网站做得很好,课程质量很高。 强烈推荐这个。 我最近才发现上面的计算机和数值课程都不错。

- []( - 学习编码,免费),这不是一个公共课程网站,它是学习网络语言的分步指南。 有Ruby、HTML等流行的Web语言,教程设计丰富有趣。 我感觉这里是学习前端最好的地方。

- 网络资源:大牛的博客等。 在这方面我没有什么可推荐的。 这取决于你的探索水平。 百度和你当然是密不可分的。 您可以自己绕过防火墙。 反正百度没有的话可以去那里。 如果找不到,您可以尝试用英文搜索。 效果非常好! 这里有一个推荐的网站。 只要你遇到解决不了的问题,就用英文搜索。 如果那里也有类似的问题,恭喜你,一定能解决。

- 书籍:我们有很多关于计算机的经典书籍,比如高德纳的《计算机编程的艺术》,相信你一定听说过。 网上有pdf下载,你可以看一下。 另外,我们这方面的书太多了,比如《XXX精通》,而且基本上都是大书,还可以用来防身! 如果可以的话,建议您下载 pdf 文件。 不然的话,太大了,三五本就够了。 这些书被用作词典。 切勿从第一页码开始一页一页地阅读! 它效率低下,你会发现它毫无用处。 这些都是你遇到问题时检查的东西,并不是让你真正学习的。

- 【我在知乎上关于计算机学习的一个回答】(大一的困惑,请给我一些建议?-王进东不在家时的回答-知乎)