V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
freeday
V2EX  ›  Python

各位大神解答一下我关于计算机的问题

  •  
  •   freeday · 2022-10-24 14:10:50 +08:00 via Android · 2360 次点击
    这是一个创建于 796 天前的主题,其中的信息可能已经有所发展或是发生改变。

    计算机初学者应该首选什么语言呢,零基础自学那种 目前我自学的是 Python 语言,因为想到以后可以自己研发一个程序,我是想着靠这个赚钱的 说一下自己目前的情况吧 18 岁,高中刚毕业,打算在大学自学计算机,大学专业非计算机类 有没有什么书推荐一下,目前用的是图灵社区的 Python 三剑客 有什么关于自学计算机的建议,各位大神可以解答一下,有啥资源网站也可以分享一下 刚刚刷知乎看到了这个社区就翻墙进来了,顺便注册了一个账号,会认真看帖的 希望各位回复,谢谢!

    42 条回复    2022-10-29 16:40:40 +08:00
    Kasumi20
        1
    Kasumi20  
       2022-10-24 14:22:26 +08:00   ❤️ 1
    第一门语言学脚本的,基本都废了,建议先 C 或者 Java ,在 Linux 下面学,搞清楚什么是编译,汇编,链接
    xhldtc
        2
    xhldtc  
       2022-10-24 14:29:38 +08:00   ❤️ 5
    https://csdiy.wiki/ 跟着大佬自学,打开计算机世界的大门
    lostberryzz
        3
    lostberryzz  
       2022-10-24 14:29:43 +08:00
    “因为想到以后可以自己研发一个程序,我是想着靠这个赚钱的”

    这一点很难,其他的都可以,就和你打游戏一样,就是一个爱好。
    deplivesb
        4
    deplivesb  
       2022-10-24 14:33:03 +08:00
    "因为想到以后可以自己研发一个程序,我是想着靠这个赚钱的"
    那你多半想多了。
    先学 C 吧,别上手就动态语言。
    icepie
        5
    icepie  
       2022-10-24 14:34:47 +08:00
    我也是差不多这时候开始正式学自学计算机的... 建议拿项目驱动自己的学习...很推荐 1L 说的在 Linux 下学, 先自己尝试装 Linux , 在过程中了解一下操作系统, 再学一些语言基础, 我也推荐拿 C 入门, 书籍建议不要瞎买. 先定个小目标 比如你想做个网站, 写个小工具, 有想法后去查查别人怎么实现的, 你再一步步去实现, 在过程中就能学到很多东西了
    liuzhedash
        6
    liuzhedash  
       2022-10-24 14:35:08 +08:00   ❤️ 1
    python 如果已经看过,可以试着学下 django ,做个简单的网站。
    如果要考写代码赚钱,非计算机专业自学不太够,建议抽空上个培训班。
    icepie
        7
    icepie  
       2022-10-24 14:35:52 +08:00   ❤️ 3
    "靠这个赚钱的" 如果你是这样想的话...别自学了, 找个培训班, 毕业后随便找个班上吧
    kop1989smurf
        8
    kop1989smurf  
       2022-10-24 14:39:54 +08:00
    语言的话,C 相对比较好上手。
    两个优势:1 、初期概念少,负担小。2 、相对更贴近计算机原理。

    C 语言上手了,搞明白了 if 、for 、变量、方法(函数)、异步、输入输出的基本概念,再去上手一门面向对象的相关语言( Java 、C#均可)。这样你就基本掌握了编程的基本要领,可以去实现你自己的逻辑了。
    jimmyismagic
        9
    jimmyismagic  
       2022-10-24 14:41:20 +08:00
    非计算机专业就不要学 c 了,学 python 挺好的,加个 nodejs ,前端再了解一下,在 linux 下搞,不要想着赚钱
    Thymolblue
        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 。
    cmdOptionKana
        11
    cmdOptionKana  
       2022-10-24 14:45:24 +08:00
    鉴于你还年轻,一切皆有可能。

    我认为第一门语言的选择并不重要,事实上不同的大学也有不同的选择,比如有零基础的人上大学第一门是学 C++ 或 Java 或 Python ,都有,都是没问题的。

    你可以看网站、看视频学,但强烈建议在此同时必须买一本该语言的最经典的入门书(每种语言都有自己的经典书籍)。不建议完全脱离书本只看网文、视频。

    学完语法基础后,先做几个最最简单的练手程序,这个必须做,因为单纯学语法相当于在岸上学游泳,到了做一个完整的程序时,才是下水。不下水是不可能学会游泳的。

    做完最最简单的练手程序,就选一个稍大型的程序,可以参考别人的大学毕业设计题目,做完这个,你就正式入门了,相信到了这个时候,你就不需要问别人,自己已经知道接下来要学什么以及怎么去学了。
    msg7086
        12
    msg7086  
       2022-10-24 14:47:22 +08:00
    先学 Python 后学 C 。起步学 C 基本就是奔着劝退节奏的。
    以前编程入门都是 Pascal ,现在 Pascal 没落了建议 Python 之类的语言起步。
    当然也不要拘泥于一种语言,Python 拿来入门不代表以后就要写 Python 。后期转 Java ,转 C#,转 C 或者 C++,转 nodejs 都是可以的,编程的本质没有太大差别,只是语言的主要用途和周边的类库不太一样。

    赚钱这个就不好说了。
    julyclyde
        13
    julyclyde  
       2022-10-24 15:01:10 +08:00
    作为非科班,学一点技能便利一下日常工作还是值得提倡的
    想入行就算了。本行业不缺这点人
    wangtian2020
        14
    wangtian2020  
       2022-10-24 15:24:28 +08:00
    JavaScript nodejs
    JavaScript 写网页前端用见效快强反馈学习动力
    nodejs 后端最速 hello world 传说
    apake
        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 系统编程).
    renhou
        16
    renhou  
       2022-10-24 16:59:05 +08:00
    > 想着靠这个赚钱的
    这个有没有一个大致的想象?比如说是一个看不见的程序提供功能或数据,或者是一个看得见的网站或 app?
    单纯的去学整个语言或者是计算机是非常枯燥乏味的,建议是有目的的学,我学 xx 就是为了做 xx
    这样也会让你主动的知道应该学什么。比如你的目的是做一个网站,你学了 python 可以写服务器,那么下一步你就可以学 js 等。

    虽然很 nb 的框架或者库是可以挣钱的,但是更多来说赚钱的是商业模式而不是技术
    搞清楚自己的目的,如果你是为今后可能从事计算机做准备建议从学习算法开始(笑
    renhou
        17
    renhou  
       2022-10-24 17:01:27 +08:00
    补充一点,如果有看书的习惯可以看看书,没有看书的习惯建议搜 b 站视频看着学
    registerrr
        18
    registerrr  
       2022-10-24 17:02:28 +08:00
    大学专业非计算机类 想靠这个吃饭最好还是转专业
    westoy
        19
    westoy  
       2022-10-24 17:05:48 +08:00
    你打算拿 python 辅助一下以后的工作, 学这个挺有性价比的

    打算入行找活儿的话, 除非以后研究生甚至博士转图形、数据那种, 不然学 python 等于白学
    freeday
        20
    freeday  
    OP
       2022-10-24 17:31:42 +08:00 via Android
    @julyclyde 我如果实在想入行后面再找个培训班,入行也不是不行,重在能力
    freeday
        21
    freeday  
    OP
       2022-10-24 17:42:00 +08:00 via Android
    @liuzhedash 后面会找个培训班的,我也觉得自学还是有很多不足
    freeday
        22
    freeday  
    OP
       2022-10-24 17:42:39 +08:00 via Android
    @Kasumi20 p 语言感觉比较好上手啊,而且一来就可以做一些小游戏啥的,我感觉很有趣
    ClericPy
        23
    ClericPy  
       2022-10-24 18:27:16 +08:00 via Android   ❤️ 2
    非科班首选 js Python
    靠这行吃饭还是得回去看计算机那几本书
    然后找工作时候会发现,除非项目经验够丰富,人家更看重的可能偏偏是语言以外的那部分... 语言只是个开始
    0001110001011
        24
    0001110001011  
       2022-10-24 19:01:54 +08:00   ❤️ 1
    可以考虑考虑 先学学 单片机,然后再学点 c, c++ 等等.
    这样软硬件 都了解下
    mikewang
        25
    mikewang  
       2022-10-24 19:29:22 +08:00   ❤️ 3
    @Kasumi20 第一门学脚本怎么就废了
    我是从 JavaScript 开始入门,后面学 C 的时候非常轻松,之后 C++、Java 的面向对象编程也都是水到渠成的事情
    虽然 Python 一般不算是 C 系的,但是思想也是类似的。例如 a = b = [],为什么和 a = []; b = []不一样
    深入之后肯定会有底层的思想的。
    上来就学编译原理,不是件好事。
    niantoudeyisi
        26
    niantoudeyisi  
       2022-10-24 22:04:21 +08:00 via Android   ❤️ 1
    感觉 go 挺好的 🐶
    freeday
        27
    freeday  
    OP
       2022-10-24 22:54:00 +08:00 via Android
    inframe
        28
    inframe  
       2022-10-24 23:32:58 +08:00
    学习路线可以参考 csdiy 那个教程 roadmap 加上计算机系的学习规划大纲,就挺好的
    但里面只是一些小点,没有标志性的里程碑。

    一些想法么,随着时间和阅历的变化,会有新的认识。

    换个专业最好,最省事。

    不转专业的话,我的看法哈,大四毕业的时候,能踏踏实实自学完这些的一部分,
    刷个 985 CS 研究生,或者到时候疫情估计约有可能实现了转折点,加点钱上海外硕( English 先过关,跑国外读书可能容易一点,毕竟¥¥¥)

    这样的作为打工人入职时候的敲门砖就非常结实,
    算起来,还有 3 年半去完成这个路线的实践

    当然,到时候走科研路线刷个 Phd 也是可以的
    mascteen
        29
    mascteen  
       2022-10-24 23:38:26 +08:00 via Android
    renmu
        30
    renmu  
       2022-10-25 00:46:42 +08:00 via Android
    首先开始不要学 c
    Jelly27
        31
    Jelly27  
       2022-10-25 08:48:56 +08:00
    根据我自身的学习经历,初步了解计算机就看《 编码-隐匿在计算机背后的语言》,大神级别的书,高中生都能看懂,语言还是推荐 C ,它是架起与底层的桥梁,也方便之后学其它语言,C 语言书籍推荐看《 C primer plus 》,大白话,通俗易懂,之后数据结构与算法、数据库、计算机网络、操作系统之类的见仁见智了
    duke807
        32
    duke807  
       2022-10-25 09:34:52 +08:00 via Android
    『鸟哥私房菜』上册(下册服务器版本可以不看)

    另外,千万不要去报培训班
    qzhai
        33
    qzhai  
       2022-10-25 10:18:36 +08:00
    建议 先学 C ,倒不是为了让你多了解 C ,主要还是先学 C 的语法,学会语法在学数据解构,在学你想学的语言。
    LXGMAX
        34
    LXGMAX  
       2022-10-25 11:32:47 +08:00   ❤️ 1
    楼上各种建议很多,但接触这门一定要学计算机组成原理,能让你清楚知道代码是怎么在机器上跑起来的,也能反哺如何写代码效率更高
    Kasumi20
        35
    Kasumi20  
       2022-10-25 11:42:46 +08:00
    @mikewang 我不关心 a = b = [],为什么和 a = []; b = []不一样,因为我从来不写这种谭浩强代码,我只知道假如要写一个 HTTP 服务,node.js 两行代码搞定和用 C 一步步搞定的水平要求不在一个层次
    julyclyde
        36
    julyclyde  
       2022-10-25 14:13:13 +08:00
    @freeday 真不是能力问题
    现在行业内人口太多了,赚不了钱的
    lijiangang886
        37
    lijiangang886  
       2022-10-25 14:56:47 +08:00
    转专业吧
    计算机专业学生学啥你学啥
    joApioVVx4M4X6Rf
        38
    joApioVVx4M4X6Rf  
       2022-10-25 19:41:54 +08:00
    初学者先培养兴趣叭。。上来学什么 java c 什么汇编乱七八糟的,直接兴趣没了。
    可以 python + js ,python 万金油,人工智能,web 后端都能弄,js 主要就是给 web 后端搞个界面,
    然后再搞个云服务器,把自己的网站弄上去
    我刚开始就是这么来的,还挺好玩的,后来自己慢慢坚持下去了
    mikewang
        39
    mikewang  
       2022-10-25 23:00:43 +08:00
    @Kasumi20 别听见个“谭浩强代码”就拿出来用,这还真不是玩 UB 。
    先搞清楚引用和拷贝的差别,浅拷贝和深拷贝的概念,再评价这句代码比较合适。
    不能把编译,汇编,链接,说的头头是道,结果连 is 和 == 的差别都说不清楚。
    Kasumi20
        40
    Kasumi20  
       2022-10-27 21:28:16 +08:00
    @mikewang 不是我听见就用, 是我看见这个代码, 就 emmmmm......总得找个词语形容一下吧, 这种语法层面的东西, 你死记硬背有什么用呢, 你要赋值就好好写, 多写几行又不会死.

    所以说建议先 C 呢, 你一会引用一会拷贝的, 搞 C 的不会不知道自己一行代码下去会影响几个字节
    llsquaer
        41
    llsquaer  
       2022-10-28 12:26:56 +08:00
    非科班..python 入手..python 感觉里面遇到的坑多了,自然你回去学习 C, 或者 java,

    python 非常好入门..如果直接从 C 开始,起步比较高,容易放弃.

    反而你学会了一种简单的语言,更容易去理解其他语言..

    其实首先是需要有这个编程思维,然后才能去深入.

    高中那会儿就是 C 直接干趴下放弃了,很多年后才巧合下才开始学习的 python, python 遇到问题回头再去看 C 发现没当年那么吃力了.但不会自己去写 C,毕竟没练过.看的懂就行.
    gumupaier
        42
    gumupaier  
       2022-10-29 16:40:40 +08:00
    go
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2624 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:21 · PVG 18:21 · LAX 02:21 · JFK 05:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.