当前位置: 首页 > news >正文

写给小白程序员的一封信

yui

文章目录

    • 1.编程小白如何成为大神?大学新生的最佳入门攻略
    • 2.程序员的练级攻略
    • 3.编程语言的选择
    • 4.熟悉Linux
    • 5.学会git
    • 6.知道在哪寻求帮助
    • 7.多结交朋友
    • 8.参加开源项目
    • 9.坚持下去

1.编程小白如何成为大神?大学新生的最佳入门攻略

编程已成为当代大学生的必备技能,但面对众多编程语言和学习资源,新生们常常感到迷茫。如何选择适合自己的编程语言?如何制定有效的学习计划?如何避免常见的学习陷阱?让我们一起探讨大学新生入门编程的最佳路径,为你的大学生活和未来职业发展打下坚实基础。

2.程序员的练级攻略

首先,欢迎来到程序员的世界。
无论你是因为什么理由才选择当程序员的,坚持走下去就好了。学习任何一种事物最难的就是开始与坚持,如果你说“我要先学习一下再开始做”那么你永远不会真正开始。每个人都需要从某个地方开始,所以现在打开你的编辑器开始写代码吧。
下面是一些建议

一开始,先不要管算法和数据结构。大多数简单的程序不需要用到算法和数据结构,所以当你真正需要时再去学习。编程一段时间以后,你就会知道在哪些地方用到他们。这时知道算法的名字并了解它们的功能,然后找一些相关的论文去理解算法并动手编程实践。如果没有现成的函数库(其他程序员提供的可重用代码),你用自己喜欢的编程语言来实现它。

  • 不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。 回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样。
  • 一定要动手,例子不管多么简单,建议至少自己手敲一遍看看是否理解了里头的细枝末节。
  • 一定要学会思考,思考为什么要这样,而不是那样。还要举一反三地思考。

3.编程语言的选择

选择一门你感兴趣的编程语言,易于上手的语言,不一定要C语言。选择一种语法让你使用起来更舒服的编程。可能你需要花费一些时间在几种不同语言间进行比较。这么做目的不是为了让你感觉更好或者让编程更容易。更快地完成自己的作品并且能够看到成果,才是激励你编程的源动力。
当然如果你并没有偏好的语言,C语言作为第一门语言也是非常不错的,C语言自诞生已经过去了52年了还是经久不衰了,如果你要学习C语言,我推荐这部在b站的C语言教学:
C语言

4.熟悉Linux

Windows不会教你任何东西。使用Windows你唯一学会的就是打开一个exe(可执行文件)来安装和使用它。
Windows的图形化界面将一切都简化了,你要学会用命令行去操作操作系统。从长远来看,如果你要励志称为一名开发人员,就一定要具备Linux的知识,尤其是你要发布程序时,Linux也允许你根据你自己的要求来定制程序。
一些建议

  • 如果你用windows,至少学会用虚拟机里的linux, vmware player是免费的,装个Ubuntu吧
  • 一定要少用少用图形界面。
  • 学会使用man来查看帮助
  • 文件系统结构和基本操作 ls/chmod/chown/rm/find/ln/cat/mount/mkdir/tar/gzip …
  • 学会使用一些文本操作命令 sed/awk/grep/tail/less/more …
  • 学会使用一些管理命令 ps/top/lsof/netstat/kill/tcpdump/iptables/dd…
  • 了解/etc目录下的各种配置文章,学会查看/var/log下的系统日志,以及/proc下的系统运行信息
  • 了解正则表达式,使用正则表达式来查找文件。

5.学会git

学会使用版本控制器是很重要的,我强烈推荐使用Git,它是个目前很流行的版本控制工具,而且使用起来非常简单。对一个Git新手,有一个良好的社区和很多参考资源来学习。

6.知道在哪寻求帮助

学会用Google,多逛技术社区。比如StackOverflow

7.多结交朋友

你肯定不是唯一的程序员。和其他的程序员一起交朋友一起工作。你会注意到,当一群技术爱好者在一起的时候,总能学到新的东西。

8.参加开源项目

为开源项目编写代码能带来回报。这不仅仅是帮助别人,你留下的代码会被其他人使用或(可能)改进。当别人给你的代码添加功能或者提出修改意见时,也是在提高你的编程水平。开源软件项目不一定要是一个大工程,编写一个下载视频的小程序也是很有用的。更重要的是,你会惊奇地发现你编写的代码会成为与他人有效沟通的桥梁。

9.坚持下去

智者说过,掌握某个东西需要10年或10000个小时,也就是汉语中的“十年磨一剑”,所以不用着急。

http://www.lryc.cn/news/418353.html

相关文章:

  • Leaf分布式ID
  • Starrocks解析json数组
  • 安卓基本布局(下)
  • Python中使用正则表达式
  • 三大口诀不一样的代码,小小的制表符和换行符玩的溜呀
  • [qt] 线程等待与唤醒
  • Springboot 实现 Modbus Rtu 协议接入物联网设备
  • 鸿蒙笔记--装饰器
  • 不同环境下RabbitMQ的安装-3 操作RabbitMQ
  • postgregSQL配置vector插件
  • PUMA论文阅读
  • 算法学习day31(动态规划)
  • 嵌入式学Day25---Linux软件编程---线程间通信
  • 【实现100个unity特效之17】在unity中使用shader和ShaderGraph分别实现模糊特定层,高斯模糊效果
  • Unity补完计划 之 SpriteEditer Multiple
  • C++ IOStream
  • 2024/8/8训练
  • 项目的小结
  • 【目标检测实验系列】YOLOv5高效涨点:基于NAMAttention规范化注意力模块,调整权重因子关注有效特征(文内附源码)
  • LSPatch制作内置模块应用软件无需root 教你制作内置应用
  • Java设计模式七大原则
  • Copy as cURL 字段含义
  • mysql更改密码后,若依 后端启动不了解决方案
  • Redis--缓存击穿、缓存穿透、缓存雪崩
  • 10个理由告诉你,为什么鸿蒙是下一个职业风口!
  • Gitlab仓库的权限分配以及如何查看自己的权限
  • 职业本科大数据实训室
  • 【密码学】网络攻击类型:窃听攻击、假冒攻击、欺骗攻击和重放攻击
  • 探索WebKit的奥秘:塑造高效、兼容的现代网页应用
  • 2-52 基于matlab局部信息的模糊C均值聚类算法(FLICM)