程序员入门指南

这篇具有很好参考价值的文章主要介绍了程序员入门指南。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

程序员入门指南

本文作者:futz12 ,szx0427

虽然本人由于多方面原因没有选择计科/软工(对AI和图形算法的热爱),但是根据多年研究经验(业余的),打算给各位推荐基本相关的书和软件(主要是学习思路)。

注意:学习编程不一定是搞那些绚丽的界面,开发有趣的游戏。很多有用且享誉世界的程序并没有那些高大上的界面,相反他们在默默无闻的地方发挥他们至关重要的作用。

作为初学者,所要面对的是枯燥无味的程序界面——控制台(一个黑色的框框),不要因为你的心里落差而放弃了编程

C/C++

C/C++开发算是我比较常用的开发方式,这一方面我比较有发言权(桌面开发方向)。C语言本质上就是在学计算机,了解了C语言的方方面面也就了解了计算机的一些基本运行原理。C/C++虽然难学,但是基本上学好了C/C++其他语言都可以速通。

语言入门

推荐书目

注意以下推荐的书均可找到相应的电子版(初学可以对着电子版来,以免学不进去造成浪费)

推荐书目 推荐原因
啊哈C语言 是一本非常基础的C语言教程(面向青少年/儿童的),如果对计算机原理完全没有了解的同学可以看看。
Essential C++ 薄,且能快速入门
中学生计算机程序设计 虽然写的不怎么样,但是可以让人快速的写出程序并且跑起来
推荐网站
推荐网站 网址 推荐原因
CSDN https://www.csdn.net/ 虽然CSDN以他的广告多,文章抄袭多而臭名昭著。但是CSDN往往可以提供给初学者快速且准确的解答。
博客园 https://www.cnblogs.com/ 博客园则和CSDN相反,博客园文章相对质量比较高,可以基于开发者相对深入的帮助。同时博客园也可以作为自己的学习日记,把自己的学习感悟之类的写上去。(顺便给自己博客园主页打个广告:https://www.cnblogs.com/Icys)。
百度 https://www.baidu.com 同样的,百度在一些编程老手口中是臭名昭著的,一个是他的广告,另一个是作为一个中文搜索引擎没法获得英文的一手资料。但是,由于新手没法准确的表达自己的问题,百度可以提供更适合新手的答案。新手遇到的99%问题可以通过百度解决,善用百度。
必应 https://cn.bing.com/ 必应和百度相对。必应可以提供更多的国外一手资料,但是他的搜索结果对新人可能不是很友好。
洛谷 https://www.luogu.com.cn/ 在洛谷可以提高自己构造代码的能力,提高逻辑思维能力
推荐工具
推荐工具 推荐原因
DevC++ 4.9.9.2 DevC++因为和工作脱节为人诟病,但是作为初学者,想快速的把代码跑起来,DevC++是你的不二之选。
虚拟机(VirtualBox) 虚拟机是一种在电脑里运行另一个电脑系统的软件(主要就是为了折腾,只有充分了解电脑和电脑系统才能更好的编程)。
Linux系统(需要对Windows有一定的基本功) 使用Linux对于初学者最大的好处就是折腾新手,在折腾的过程中可以提高自己对电脑的使用能力,更能了解系统,软件之间的关系。Linux系统有很多种,这里推荐的是Ubuntu和Fedora(最好是在虚拟机里运行,对自己折腾能力极为自信的可以找台电脑试着安装一下)。如果您是Win10/11用户可以试一下微软的WSL1(注意是1而不是2)。在Linux下您可以学到终端的用法,这是您未来长期需要使用的工具。作为一个合格的程序员不是说你会多少编程语言,最重要的是你解决问题的能力,而在折腾中就是在锻炼你的耐挫,解决问题的能力。试着在Linux上生存一段时间吧!

语言进阶

在完成语言入门的时候,想必大家已经拥有了一部分的编码能力。这时候需要将基础的编码能力开始向开发项目转变。

在进阶阶段,我们需要进一步了解C/C++的语言特性,包括函数反映到计算机底层是什么,C++ STL/Boost,IDE是如何完成编译任务的,如何使用命令行调试工具,C/C++相对其他语言的本质区别是什么,清楚C++的class,模板,多态继承,不得不承认这是一个极为困难的过程。

推荐书目
推荐书目 推荐原因
C++ Primer C++的百科全书,关于C++的一切都在上面(其实也不过是冰山一角)。
Effective C++ 让你更好的了解C++应该怎么写。
算法导论 虽然和C++无关,但是在进阶阶段,你需要强硬的算法功底才能写出优秀高效的程序(你面试反正是要)。
Windows 程序设计(选) 很老的一本书了,Windows是一个使用范围很大的系统,掌握Windows编程可以方便以后使用其他类库的能力。学习这本书可以让你快速(相对的)写起一个程序。但是不要使用配套版本的VS工具(尽量使用最新版,这样做可能会使得您寸步难行,但是请不要放弃)。

很少,对吗。/xyx

推荐网站
推荐网站 网址 推荐原因
CSDN 同上 你以为你入门了就可以看不起用CSDN吗?
博客园 同上 博客园学算法很合适。
百度/必应 同上 该用还得用。
Stack Overflow https://stackoverflow.co/ 一个外国的网站,可以用英文找到您遇到的问题以及解决方法。
Leet Code https://leetcode.cn/problemset/all/ 程序员也需要刷题,在洛谷上做完基础的题目后就来这里,做多线程之类更符合项目的题目,提高自己建模的能力。
推荐工具
推荐工具 推荐原因
GCC(Mingw)/MSVC 这里指的是编译器(g++.exe,cl.exe)请使用命令行去编译你写的程序(多个cpp文件的程序,尽量不使用IDE),我见过很多大四学生也不知道怎么添加 include,为什么要添加lib,反正各种杂七杂八的问题,很多人拿着python的思维,以为一个import就能开始写代码了(C++ 马上也能这样了,尽请期待)。归根结底就是被IDE保护太好了。
CMake 去编译几个软件来折磨一下自己,比如OpenCV,Boost,7-Zip等。
Visual Studio Code + CMake插件 写小程序我建议用这玩意,折磨一下自己
Visual Studio 很好用,但是请少用
Clion(作为大学生您应该可以免费使用该工具) 很好用,但是请少用

这时候你写的程序就应该开始使用到 C/C++ 库命令以外的东西了,比如 Windows.h 等,开始学习多线程等。

走向项目

推荐书目

这里开始其实基本不需要书了,绝大多数网上的英文资料您应该开始着手消化了。比如您的程序需要图像处理功能,用到了OpenCV,这时候您的最佳选择不是网上买一本OpenCV的书,而是去OpenCV的官方网站上看它提供的官方文档。

推荐网站
推荐网站 网址 推荐原因
同进阶 同进阶 同进阶
各种Docs 很多,看你用什么工具,OpenCV就看OpenCV的,Windows就看MS Docs 当一个字典查,要有耐心
各种开发社区 同上 在交流中成长
GitHub https://github.com 当您开始写项目的时候可以去上面看看别人的是怎么写的代码的,作为一个程序员您应该去看看,在这个阶段相信您能找到优雅的上这个网站的方法。(给自己Github打个广告:https://gtihub.com/futz12)
知乎 https://www.zhihu.com 前面不推荐的原因是因为上面大佬如云,大佬说的是正确的,但是未必是适合你的。但是现在您已经掌握了基本的代码能力,可以上知乎开拓一下视野了,比如C++新标准,OpenMP能实现什么骚操作。
推荐工具
推荐工具 推荐原因
Visual Studio 您已经是个成熟的大学生了,如果您在Windows上编程,VS是一个明智的选择
Clion(作为大学生您应该白嫖这个工具) 这也是个明智的选择
Qt 想写窗口程序了?想写手机程序了?想让自己程序被别人看到?可以试试看
Android Studio(需要会Java) 写手机程序(安卓)

其他编程语言

说实话,不是很了解,不在这误人子弟了

后记

笔者也不过是个高中毕业生而已,只不过是掌握了一些对于同龄人的信息差,不算是编程高手,更不是顶尖一线专家,只是想给走入这个我热爱的行业的同学一点帮助,写出来的内容未必正确,仅供参考。

  1. 值得注意的是,成为一个合格的程序员,并不是要掌握更多的编程技能,而是如何更好的解决问题。学会了编程只不过是一个结果,而您的目的是解决问题。

  2. 在学习过程中,除了您身边的同伴以外,为了谋求更长远的进步,您可能需要在网上寻求志同道合的伙伴。但是也不要过度沉迷于网络社交(本人就是)。

  3. 也不要养成所谓的鄙视链,不要进所谓的编程群(进那种解决实际项目需求的,给自己的QQ群打个广告:904511841)。文章来源地址https://www.toymoban.com/news/detail-622462.html

程序员入门指南
  1. 多去打打笔试,蓝桥杯,ACM都可以,可以增强自己的竞争力。

到了这里,关于程序员入门指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python程序员Visual Studio Code指南5调试

    当运行程序时终端输出错误时,可以参考编辑器中的\\\"问题\\\"面板来解决遇到的问题。不过,并非所有错误都会导致错误。可能出现的情况是,程序执行成功,但输出结果与预期不同。出现这种情况时,下一步就是找出程序中的错误。这个过程被称为调试。 您可以尝试通过注释

    2024年04月12日
    浏览(61)
  • 【ARM学习】Cortex- A系列程序员学习指南

    ARM处理器无处不在。 移动电话、个人计算机、电视或汽车。在大约30亿元的微处理器总出货量中,x86架构占据一个非常小的位置(但仍然非常有利可图的)。 ARM处理器不是一个单一的处理器,而是 一个拥有相同指令集和程序员模型的同一处理器家族 ,并有 一定程度的向后兼

    2024年02月01日
    浏览(43)
  • Python程序员Visual Studio Code指南1简介

    当您开始Python开发之旅的时候,您最有可能接触到的是Python的集成开发和学习环境(IDLE Integrated Development and Learning Environment)。IDLE的简洁性非常适合新手,但对于那些对Python语言比较熟悉并需要高效工作流程的人来说,IDLE还有很多不足之处。目前有一系列用于Python开发的代码

    2024年02月13日
    浏览(34)
  • Python程序员Visual Studio Code指南3 编辑代码

    Visual Studio Code提供了许多适用于所有编程语言的标准编辑功能。 快速修复 代码补全 定义 声明 格式化 语法 重构 代码片段 这些内置的编辑功能减少了编辑代码所需的手动任务和键入次数,从而节省了时间。 Python扩展扩展了代码编辑功能。有了Python扩展,导入库只需极少的工

    2024年02月12日
    浏览(50)
  • python算法指南程序员经典,python算法教程pdf百度云

    大家好,小编来为大家解答以下问题,你也能看懂的python算法书 pdf,python算法教程这本书怎么样,现在让我们一起来看看吧!   给大家带来的一篇关于算法相关的电子书资源,介绍了关于算法、详解、算法基础方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大

    2024年02月14日
    浏览(44)
  • Python程序员Visual Studio Code指南4管理项目和协作

    在项目上下文中管理源代码,需要能够导航和维护文件,在适当的Pytho 环境中工作,以及通过源控制维护更改。这些任务中的每一项都可以在Visual Studio Code中作为标准功能或通过安装扩展来实现。本章将在使用ChatBotAI库创建的聊天机器人应用程序中探讨管理项目的核心功能。

    2024年02月12日
    浏览(44)
  • Python程序员Visual Studio Code指南2 Hello World

    Visual Studio Code的Python 扩展提供了对Python语言的支持,包括语法着色、代码补全、过滤、调试、代码导航和代码格式化等功能,以及Jupyter Notebook支持等Python特有的功能。您可以在Visual Studio Code的扩展视图中安装Python扩展。与从扩展市场安装的任何扩展一样,你可以在设置编辑

    2024年02月12日
    浏览(38)
  • Axios后端程序员快速入门简述

            axios 它的底层是用了 XMLHttpRequest(xhr)方式发送请求和接收响应,xhr 相对于之前讲过的 fetch api 来说,功能更强大,但由于是比较老的 api,不支持 Promise,axios 对 xhr 进行了封装,使之支持 Promise,并提供了对请求、响应的统一拦截功能 没下载 nvm 你就不要试了

    2024年02月07日
    浏览(43)
  • 以 LLM 为核心 LLM@Core:程序员的大语言模型技术指南

    过去几个月里,我们对于大语言模型的一系列探索,如 ChatGPT 端到端实践与应用开发、LLaMA 与 ChatGLM 的微调试验、GitHub Copilot 逆向工程分析、动态上下文工程(即 LangChain)的研究,驱使着我去写一个总结,也是一个面向程序员的 LLM 指南。 也是好久没有写这个系列(程序员必

    2024年02月07日
    浏览(49)
  • [学习笔记]黑马程序员-Hadoop入门视频教程

    黑马程序员大数据Hadoop入门视频教程,适合零基础自学的大数据Hadoop教程 学习目标 1.理解大数据基本概念 2.掌握数据分析基本步骤 3.理解分布式、集群概念 4.学会VMware虚拟机的导入与使用 5.掌握Linux常用操作命令使用 6.掌握vi/vim编辑器基础使用 1.1.1 企业数据分析方向 数据分

    2024年02月13日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包