
计算机初学者应该首选什么语言呢,零基础自学那种 目前我自学的是 Python 语言,因为想到以后可以自己研发一个程序,我是想着靠这个赚钱的 说一下自己目前的情况吧 18 岁,高中刚毕业,打算在大学自学计算机,大学专业非计算机类 有没有什么书推荐一下,目前用的是图灵社区的 Python 三剑客 有什么关于自学计算机的建议,各位大神可以解答一下,有啥资源网站也可以分享一下 刚刚刷知乎看到了这个社区就翻墙进来了,顺便注册了一个账号,会认真看帖的 希望各位回复,谢谢!
1 Kasumi20 2022-10-24 14:22:26 +08:00 第一门语言学脚本的,基本都废了,建议先 C 或者 Java ,在 Linux 下面学,搞清楚什么是编译,汇编,链接 |
2 goofish 2022-10-24 14:29:38 +08:00 https://csdiy.wiki/ 跟着大佬自学,打开计算机世界的大门 |
3 lostberryzz 2022-10-24 14:29:43 +08:00 “因为想到以后可以自己研发一个程序,我是想着靠这个赚钱的” 这一点很难,其他的都可以,就和你打游戏一样,就是一个爱好。 |
4 deplivesb 2022-10-24 14:33:03 +08:00 "因为想到以后可以自己研发一个程序,我是想着靠这个赚钱的" 那你多半想多了。 先学 C 吧,别上手就动态语言。 |
5 icepie 2022-10-24 14:34:47 +08:00 我也是差不多这时候开始正式学自学计算机的... 建议拿项目驱动自己的学习...很推荐 1L 说的在 Linux 下学, 先自己尝试装 Linux , 在过程中了解一下操作系统, 再学一些语言基础, 我也推荐拿 C 入门, 书籍建议不要瞎买. 先定个小目标 比如你想做个网站, 写个小工具, 有想法后去查查别人怎么实现的, 你再一步步去实现, 在过程中就能学到很多东西了 |
6 liuzhedash 2022-10-24 14:35:08 +08:00 python 如果已经看过,可以试着学下 django ,做个简单的网站。 如果要考写代码赚钱,非计算机专业自学不太够,建议抽空上个培训班。 |
7 icepie 2022-10-24 14:35:52 +08:00 "靠这个赚钱的" 如果你是这样想的话...别自学了, 找个培训班, 毕业后随便找个班上吧 |
8 kop1989smurf 2022-10-24 14:39:54 +08:00 语言的话,C 相对比较好上手。 两个优势:1 、初期概念少,负担小。2 、相对更贴近计算机原理。 C 语言上手了,搞明白了 if 、for 、变量、方法(函数)、异步、输入输出的基本概念,再去上手一门面向对象的相关语言( Java 、C#均可)。这样你就基本掌握了编程的基本要领,可以去实现你自己的逻辑了。 |
9 jimmyismagic 2022-10-24 14:41:20 +08:00 非计算机专业就不要学 c 了,学 python 挺好的,加个 nodejs ,前端再了解一下,在 linux 下搞,不要想着赚钱 |
10 Thymolblue 2022-10-24 14:43:19 +08:00 via Android 现在 C 和 Python 在很多大学里面都是公共科目,建议选修 C 。我也是从 Python 零基础开始学的,计算机的内容一点不懂,结果后面踩了许多坑。有一条学习路径建议是直接学 C++ Qt ,感觉 Qt 的文档对新手比较友好,源码也比标准库和 Boost 那些更容易看懂,而 Qt 的 API 感觉就是在写 Python 。参考资料的话推荐 C++ primer 和 Qt 官方文档和 Qt 官方例子,加上 stack overflow 基本能解决百分之 99 的问题。使用 Qt 的还有一点是很多工具都是封装好的,对于我们这种 0 基础非专业的人说先不用太着急纠结于太底层的东西,先起一个程序感觉更加重要。另外 Java 路径我没有试过,我仅会 Cpp 。 |
11 cmdOptionKana 2022-10-24 14:45:24 +08:00 鉴于你还年轻,一切皆有可能。 我认为第一门语言的选择并不重要,事实上不同的大学也有不同的选择,比如有零基础的人上大学第一门是学 C++ 或 Java 或 Python ,都有,都是没问题的。 你可以看网站、看视频学,但强烈建议在此同时必须买一本该语言的最经典的入门书(每种语言都有自己的经典书籍)。不建议完全脱离书本只看网文、视频。 学完语法基础后,先做几个最最简单的练手程序,这个必须做,因为单纯学语法相当于在岸上学游泳,到了做一个完整的程序时,才是下水。不下水是不可能学会游泳的。 做完最最简单的练手程序,就选一个稍大型的程序,可以参考别人的大学毕业设计题目,做完这个,你就正式入门了,相信到了这个时候,你就不需要问别人,自己已经知道接下来要学什么以及怎么去学了。 |
12 msg7086 2022-10-24 14:47:22 +08:00 先学 Python 后学 C 。起步学 C 基本就是奔着劝退节奏的。 以前编程入门都是 Pascal ,现在 Pascal 没落了建议 Python 之类的语言起步。 当然也不要拘泥于一种语言,Python 拿来入门不代表以后就要写 Python 。后期转 Java ,转 C#,转 C 或者 C++,转 nodejs 都是可以的,编程的本质没有太大差别,只是语言的主要用途和周边的类库不太一样。 赚钱这个就不好说了。 |
13 julyclyde 2022-10-24 15:01:10 +08:00 作为非科班,学一点技能便利一下日常工作还是值得提倡的 想入行就算了。本行业不缺这点人 |
14 wangtian2020 2022-10-24 15:24:28 +08:00 Javascript nodejs Javascript 写网页前端用见效快强反馈学习动力 nodejs 后端最速 hello world 传说 |
15 apake 2022-10-24 16:27:16 +08:00 入门 用 python 学计算, 学抽象思维, 学函数式. 用 C 学计算机, 了解底层运行原理. 先重点学计算, 自己理解编程是什么. 然后用 C 去学计算机. 推荐书目: 1. 计算: how to design program(htdp), sicp(前三章), sicp-Python 版本( https://composingprograms.com/). 2. 计算机: 编码-隐匿在计算机背后的语言, C 语言程序设计:现代方法, csapp(初学有难度, 先熟悉 linux 使用, 结合 the linux programminmg interface(tlpi) 和 operating system: three easy pieces 了解 os 和 linux 系统编程). |
16 renhou 2022-10-24 16:59:05 +08:00 > 想着靠这个赚钱的 这个有没有一个大致的想象?比如说是一个看不见的程序提供功能或数据,或者是一个看得见的网站或 app? 单纯的去学整个语言或者是计算机是非常枯燥乏味的,建议是有目的的学,我学 xx 就是为了做 xx 这样也会让你主动的知道应该学什么。比如你的目的是做一个网站,你学了 python 可以写服务器,那么下一步你就可以学 js 等。 虽然很 nb 的框架或者库是可以挣钱的,但是更多来说赚钱的是商业模式而不是技术 搞清楚自己的目的,如果你是为今后可能从事计算机做准备建议从学习算法开始(笑 |
17 renhou 2022-10-24 17:01:27 +08:00 补充一点,如果有看书的习惯可以看看书,没有看书的习惯建议搜 b 站视频看着学 |
18 registerrr 2022-10-24 17:02:28 +08:00 大学专业非计算机类 想靠这个吃饭最好还是转专业 |
19 westoy 2022-10-24 17:05:48 +08:00 你打算拿 python 辅助一下以后的工作, 学这个挺有性价比的 打算入行找活儿的话, 除非以后研究生甚至博士转图形、数据那种, 不然学 python 等于白学 |
21 freeday OP @liuzhedash 后面会找个培训班的,我也觉得自学还是有很多不足 |
23 ClericPy 2022-10-24 18:27:16 +08:00 via Android 非科班首选 js Python 靠这行吃饭还是得回去看计算机那几本书 然后找工作时候会发现,除非项目经验够丰富,人家更看重的可能偏偏是语言以外的那部分... 语言只是个开始 |
24 0001110001011 2022-10-24 19:01:54 +08:00 可以考虑考虑 先学学 单片机,然后再学点 c, c++ 等等. 这样软硬件 都了解下 |
25 mikewang 2022-10-24 19:29:22 +08:00 @Kasumi20 第一门学脚本怎么就废了 我是从 Javascript 开始入门,后面学 C 的时候非常轻松,之后 C++、Java 的面向对象编程也都是水到渠成的事情 虽然 Python 一般不算是 C 系的,但是思想也是类似的。例如 a = b = [],为什么和 a = []; b = []不一样 深入之后肯定会有底层的思想的。 上来就学编译原理,不是件好事。 |
26 niantoudeyisi 2022-10-24 22:04:21 +08:00 via Android 感觉 go 挺好的 |
27 freeday OP |
28 inframe 2022-10-24 23:32:58 +08:00 学习路线可以参考 csdiy 那个教程 roadmap 加上计算机系的学习规划大纲,就挺好的 但里面只是一些小点,没有标志性的里程碑。 一些想法么,随着时间和阅历的变化,会有新的认识。 换个专业最好,最省事。 不转专业的话,我的看法哈,大四毕业的时候,能踏踏实实自学完这些的一部分, 刷个 985 CS 研究生,或者到时候疫情估计约有可能实现了转折点,加点钱上海外硕( English 先过关,跑国外读书可能容易一点,毕竟¥¥¥) 这样的作为打工人入职时候的敲门砖就非常结实, 算起来,还有 3 年半去完成这个路线的实践 当然,到时候走科研路线刷个 Phd 也是可以的 |
29 mascteen 2022-10-24 23:38:26 +08:00 via Android |
30 renmu 2022-10-25 00:46:42 +08:00 via Android 首先开始不要学 c |
&nbs; 31 Jelly27 2022-10-25 08:48:56 +08:00 根据我自身的学习经历,初步了解计算机就看《 编码-隐匿在计算机背后的语言》,大神级别的书,高中生都能看懂,语言还是推荐 C ,它是架起与底层的桥梁,也方便之后学其它语言,C 语言书籍推荐看《 C primer plus 》,大白话,通俗易懂,之后数据结构与算法、数据库、计算机网络、操作系统之类的见仁见智了 |
32 duke807 2022-10-25 09:34:52 +08:00 via Android 『鸟哥私房菜』上册(下册服务器版本可以不看) 另外,千万不要去报培训班 |
33 qzhai 2022-10-25 10:18:36 +08:00 建议 先学 C ,倒不是为了让你多了解 C ,主要还是先学 C 的语法,学会语法在学数据解构,在学你想学的语言。 |
34 LXGMAX 2022-10-25 11:32:47 +08:00 楼上各种建议很多,但接触这门一定要学计算机组成原理,能让你清楚知道代码是怎么在机器上跑起来的,也能反哺如何写代码效率更高 |
35 Kasumi20 2022-10-25 11:42:46 +08:00 @mikewang 我不关心 a = b = [],为什么和 a = []; b = []不一样,因为我从来不写这种谭浩强代码,我只知道假如要写一个 HTTP 服务,node.js 两行代码搞定和用 C 一步步搞定的水平要求不在一个层次 |
37 lijiangang886 2022-10-25 14:56:47 +08:00 转专业吧 计算机专业学生学啥你学啥 |
38 joApioVVx4M4X6Rf 2022-10-25 19:41:54 +08:00 初学者先培养兴趣叭。。上来学什么 java c 什么汇编乱七八糟的,直接兴趣没了。 可以 python + js ,python 万金油,人工智能,web 后端都能弄,js 主要就是给 web 后端搞个界面, 然后再搞个云服务器,把自己的网站弄上去 我刚开始就是这么来的,还挺好玩的,后来自己慢慢坚持下去了 |
39 mikewang 2022-10-25 23:00:43 +08:00 @Kasumi20 别听见个“谭浩强代码”就拿出来用,这还真不是玩 UB 。 先搞清楚引用和拷贝的差别,浅拷贝和深拷贝的概念,再评价这句代码比较合适。 不能把编译,汇编,链接,说的头头是道,结果连 is 和 == 的差别都说不清楚。 |
40 Kasumi20 2022-10-27 21:28:16 +08:00 @mikewang 不是我听见就用, 是我看见这个代码, 就 emmmmm......总得找个词语形容一下吧, 这种语法层面的东西, 你死记硬背有什么用呢, 你要赋值就好好写, 多写几行又不会死. 所以说建议先 C 呢, 你一会引用一会拷贝的, 搞 C 的不会不知道自己一行代码下去会影响几个字节 |
41 llsquaer 2022-10-28 12:26:56 +08:00 非科班..python 入手..python 感觉里面遇到的坑多了,自然你回去学习 C, 或者 java, python 非常好入门..如果直接从 C 开始,起步比较高,容易放弃. 反而你学会了一种简单的语言,更容易去理解其他语言.. 其实首先是需要有这个编程思维,然后才能去深入. 高中那会儿就是 C 直接干趴下放弃了,很多年后才巧合下才开始学习的 python, python 遇到问题回头再去看 C 发现没当年那么吃力了.但不会自己去写 C,毕竟没练过.看的懂就行. |
42 gumupaier 2022-10-29 16:40:40 +08:00 go |
43 ddzzhen 237 天前 还是先 C 吧,计算机简单的话就都学了 |