跳过正文

经验分享合集1

··2579 字·6 分钟·
指南
作者
SCUT Computer Clinic
SCUT Computer Clinic is a voluntary student organization in South China University of Technology. We are committed to promoting the development of open source software and the sharing of knowledge.

IT类专业-学长经验分享合集
#

专业答疑
#

1.编辑器用哪个好?网上推荐的VS、VSC、CLion、Dev-C++哪个更强?
#

@KevinQ:

学长当年用的 Visual Studio

黑马程序员旧C++教程用新兴流行用的 CLion

黑马程序员新C++教程用最万能的编辑器 VSCode

ACM使用的IDE Dev-C++

@maze:

我感觉clion还挺好用的

devcpp太老了 不推荐 一开始可以用visual studio 缺点是比较占空间 vscode支持很多语言 就是要自己配置下扩展 环境(这个过程值得学习一下 以后总会有配环境的时候)dev好像还不支持分文件吧(改版的不知道

@Samuka007:

对于cpp ide的选择,感到复杂是正常的,因为选择ide往往不止是一个软件的选择,而和下面一系列都有关系:

整个cpp编译过程,即使不涉及源代码也处处是学问,比如源代码版本管理要用git;库、头文件管理和编译选项等等,属于构建系统的范畴,负责指导编译器怎么样构建这堆源文件的:cmake、makefile、xmake;编译器自己,以及一系列编译选项:gcc,clang,msvc,以及他们的编译命令、选项;ide里,你的语法高亮、静态分析,又关于你配置的编译环境(构建系统、编译器及选项)。

c/cpp,想从头到尾搞清楚,确实挺复杂。大部分学长选择这些个ide,只是出于跟着通用的配置,配置好了能用、能完成作业,大家也不很清楚各个ide有啥优劣。

但是相对来说,我还是建议通过牺牲些硬盘空间先使用visual studio,一方面是这玩意儿对新手还算友好,开箱即用,也没有功能缺陷,用于生产开发也没有问题,另一方面你们中的相当一部分人,学完大二以后也不会再写cpp,所以去记环境怎么配、项目怎么构建,意义不大。

@Samuka007:

如果你说的是cpp,冲着简单去的话,还是用visual studio吧

但vscode绝对是好用的,因为仅此一款你能开发c/cpp, python, rust, js,还有golang和haskell()

还能markdown做笔记,自己写脚本定义工作流等等。

vscode is all you need

参考官网教程 https://code.visualstudio.com/docs/languages/cpp

电子设备建议怎么配置?
#

@Samuka007:

平板在coding方面难用,性价比低。我之前尝试过安卓平板搭配蓝牙键盘,后台在termux跑 linux跑code server,前台浏览器访问,不过发现这样之后续航优势不复存在,屏幕小,操作麻烦,环境配置复杂,用了一段时间放弃了。当然你说拿来考研学数英,我就不太了解了

比较理想的code everywhere的配置,也是我现在用的配置的话,是一台 m1 macbook(3k左右) + 一台24h online的主机(如果你不拿台式打游戏,1k预算已经足够好用),然后用 zerotier 连接),开发用ssh,省内延迟都足够低

mac的问题就是.开发环境问题不能指望老师啥的得自己配一下,然后老师给的windows平台的软件也得自己找平替.但是我觉得还是值得的,毕竟连环境都配不明白还是别学cs了()

@KevinQ:

Kevin的方案:

手机只负责支付、聊天、刷视频

平板只负责做笔记

剩下的经费全部堆到电脑上

手机能用微信QQB站抖音乐跑学习通雨课堂就OK

必要性:电脑>平板

@广东陈小鹏:

要爽打游戏:去买游戏本

小玩一下,不卡就行:去买独显轻薄本

游戏是什么:去买轻薄本

入门编程怎么学?
#

@KevinQ:

C++入门的话,建议直接看黑马程序员的教程。选一个喜欢的就好

主要看个人喜好,我是因为我太喜欢刷视频了,所有的东西几乎都是从视频那里获取

@广东陈小鹏:

我推荐菜鸟教程,如果你喜欢看文本而不是视频的话

菜鸟教程,包你2天上手,7天自以为学会了cpp。这就很不错

入门算法怎么学?
#

@KevinQ:

力扣怎么玩?(针对不打 ACM的同学) C++基础学会了吗?

C++基础指的是以下内容:输入输出、数据类型运算符、判断、循环、数组、函数、指针、结构体、引用

如果没学会:去黑马程序员补课;课程链接 https://www.bilibili.com/video/BV1et411b73Z

如果学会了:可以开始刷代码随想录了,不懂的代码随想录有视频 https://www.programmercarl.com/

如果代码随想录刷得卡,请移步数据结构: https://www.bilibili.com/video/BV1b7411N798

零基础怎么准备呢?就是和正常队员一样准备了.那么正常队员是怎么准备呢?就是首先熟悉c+语法,包括一些 st!,函数,结构体的用法然后从基础知识点学起包括栈和队列,bfs和dfs,位运算,一些简单的数学题,简单的dp之类的可以考虑从LeetCode开始

为什么很多学长都去研究Linux?是windows不好用吗?
#

@maze:

简单来说unix系统应用很广 像服务器70%都是linux系统 树莓,路由器,机顶盒等都是 这些东西也是计算机

@Samuka007:

linux,一是兼容性强,实现了一个posix标准,能够兼容面向其他同样实现了posix标准的系统来开发的软件;

二是,在绝大部分场景下,尤其是云上性能(并发,io等)比很多系统都要强;

三是,linux作为开源操作系统,可以自行围绕使用需求来进行二次开发[1];

四是,linux的开源意味着(法律上)使用者不需要花钱就能使用该系统,而无论是windows,大部分unix系,还是sun的系统,都需要支付or授权才能使用。因此,高性能、免费的linux则成为了许多科技公司的首选;

五是,著名 GCC/GNU 编译器,是和 Linux/GNU 一同开源的,而大部分语言的开发,没有特殊需求,gcc总是首选。gcc也是linux生态的一部分,不仅涉及c/cpp编译,还包括了fortran和go的编译。rust的编译也离不开gcc。你可以在windows上使用msvc,在macos上使用clang,但是你可以同时在win、mac、linux系统使用gcc。

六是,其实和五类似,大量开源的软件,实际上也属于linux生态,绕不开的。

详细可以稍稍参考知乎这篇文章: https://www.zhihu.com/question/38070637/answer/75326267?utm_psn=1806490661194702849


SCUT电诊答疑
#

电诊发博客有什么要求吗?
#

@maze:

所有人都可以发的

@Samuka007:

唉主要是qq频道很拉胯

发文体验不好

但是吧在微信公众号或者在论坛发更没人看

https://bbs.scutosc.cn/ 这个是我们(曾经)微软俱乐部的论坛

由于政策变化,今年微软俱乐部可能比较难继续招新来着(我听领导说所有和企业合作的这些学生项目都要停停)

然后这不重要,主要是这么个论坛,没有中心主题大伙也不知道发啥贴

是吧 那干脆建个水群水下不更开心嘛(

https://bbs.dragonos.org.cn/ 这个是我所在的DragonOS的论坛,可见的讨论问题的帖子更多hh

既然是scut电诊,那为什么没有求助板块呢?
#

@Samuka007:

求助的话之前被我删了,因为没人用( 大部分人来电诊,要不直接在群里问问题约时间,要不填工单约时间修。 总的来说还是这个qq频道抱用的问题