计算机初学者应该首选什么语言呢,零基础自学那种 目前我自学的是 Python 语言,因为想到以后可以自己研发一个程序,我是想着靠这个赚钱的 说一下自己目前的情况吧 18 岁,高中刚毕业,打算在大学自学计算机,大学专业非计算机类 有没有什么书推荐一下,目前用的是图灵社区的 Python 三剑客 有什么关于自学计算机的建议,各位大神可以解答一下,有啥资源网站也可以分享一下 刚刚刷知乎看到了这个社区就翻墙进来了,顺便注册了一个账号,会认真看帖的 希望各位回复,谢谢!
1
Kasumi20 2022-10-24 14:22:26 +08:00 1
第一门语言学脚本的,基本都废了,建议先 C 或者 Java ,在 Linux 下面学,搞清楚什么是编译,汇编,链接
|
2
xhldtc 2022-10-24 14:29:38 +08:00 5
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 1
python 如果已经看过,可以试着学下 django ,做个简单的网站。
如果要考写代码赚钱,非计算机专业自学不太够,建议抽空上个培训班。 |
7
icepie 2022-10-24 14:35:52 +08:00 3
"靠这个赚钱的" 如果你是这样想的话...别自学了, 找个培训班, 毕业后随便找个班上吧
|
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 1
现在 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 1
入门 用 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 2
非科班首选 js Python
靠这行吃饭还是得回去看计算机那几本书 然后找工作时候会发现,除非项目经验够丰富,人家更看重的可能偏偏是语言以外的那部分... 语言只是个开始 |
24
0001110001011 2022-10-24 19:01:54 +08:00 1
可以考虑考虑 先学学 单片机,然后再学点 c, c++ 等等.
这样软硬件 都了解下 |
25
mikewang 2022-10-24 19:29:22 +08:00 3
@Kasumi20 第一门学脚本怎么就废了
我是从 JavaScript 开始入门,后面学 C 的时候非常轻松,之后 C++、Java 的面向对象编程也都是水到渠成的事情 虽然 Python 一般不算是 C 系的,但是思想也是类似的。例如 a = b = [],为什么和 a = []; b = []不一样 深入之后肯定会有底层的思想的。 上来就学编译原理,不是件好事。 |
26
niantoudeyisi 2022-10-24 22:04:21 +08:00 via Android 1
感觉 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
|
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 1
楼上各种建议很多,但接触这门一定要学计算机组成原理,能让你清楚知道代码是怎么在机器上跑起来的,也能反哺如何写代码效率更高
|
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
|