V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ghmum
V2EX  ›  程序员

一个外行想基于兴趣学一下编程,总感觉力不从心是怎么回事呢?

  •  1
     
  •   ghmum · 2022-09-28 20:12:01 +08:00 · 7854 次点击
    这是一个创建于 790 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我个人非计算机行业从业者,只是很感兴趣,所以想自己学会写一些简单的程序。

    故事是这这样的....

    最近需要基于当下的日期实时生成一个简单动画,刚开始用视频剪辑软件剪了,但是每天都要去更改视频中的文字(日期),ipad 上的剪辑视频软件好像没有变量这个概念。

    感觉每天改特别麻烦,就想能不能自己写一个软件然后装到手机上,就不用天天改日期了。跑去 Android studio 看了一会儿,大致了解了一下。因为功能简单,不需要联网,甚至不需要储存数据,就只是处理几个简单的动画,甚至是 gif 图片都行,感觉好像也不是很难,因为了解一部分 Python 的语法,所以就看了一下 Android studio 上推荐的教程。

    其中提到比较新的编程语言 kotlin ,就打开它推荐的 kotlin 视频教程看了一下,因为是 Google 的员工录的视频,所以音频和字幕都是英文。看英文字幕的话勉强能够看得懂,但是视频全英文音频,完全就听不出来词语(听力水平可能也就是个初中生,甚至还不如现在的初中生),只能全程看字幕。看字幕也有问题,视频里的两个老师讲得还是挺生动的,感觉比之前看过的很多国内的中文教程要有效得多。但他俩讲话飞快,看字幕跟上不速度,就只能不停 pause/resume 着看,很心累。

    心累了,然后跑到 kotlin 的官网看了一下文档,也是英文的,看了一部分 Basics ,因为英文水平烂,看这种文档也有好些词不认识。但是自己很清楚的感觉得到,在看这个英文文档的过程中,大部分的脑子都用在翻译这一堆的英文词句了,只有很少部分的脑子在对内容进行理解、记忆。如果不是因为有一些从 Python 里面学到的概念,估计我也是只能翻译这些英文句子,理解不了相关内容。

    最后,就感觉到了非常累,那种力不从心的累。想到以前学 Python 的经历,那会儿学 Python 是因为对爬虫感兴趣,网上查完之后都说 Python 写爬虫效率高,所以就跑去找了很多 Python 的视频来看。我也不知道是我自己傻,还是我的直觉就是实际情况。现在回想以前看过的 Python 中文视频教程,不说全部,至少是绝大部分,就连我都觉得讲得很糟糕,给我的感觉就和以前读书时,老师消极念 ppt 差不多,很干很生硬。

    最关键的是讲得散,听完之后对于编程并没有什么深入的认识,就是懂了一堆语法。编程概念也没讲清楚,很多框架的机制也没讲清楚。那会儿看过的爬虫教程,也看过不少,印象中就只有一部稍微有点用,其他的基本可以说是垃圾。上来就讲语法,讲完语法就那几样工具、scrapy 框架(好像很多教程都讲这个)的语法。也不详细讲客户端和服务器的通信知识,甚至连抓包都不讲,就讲了一堆语法和几个非常简单的例子,结果看完视频,除了那种不做反爬或者反爬非常非常弱的网站,其他的都爬不了。总结起来就是,只讲工具,不讲知识,毫无意义嘛!!!

    学完 Python 之后,并没有感觉到它有什么用,真正想用的造一个什么自己想用的工具,发现啥也干不了。因为 Python 的各种模块都不熟悉,也不知道有哪些模块能干事情。

    到底是我蠢呢,还是我傻呢?总感觉学起来力不从心

    现在回想起来,到目前为止看过可能最有用的书就是“鸟哥私房菜”了,虽然也讲得很浅,但是这书至少是大致讲了一些 Linux 的“结构、机制”。

    最后就有了上面的问题,因为兴趣想学编程,基本上都是自己在网络上找的教程,英文的看不懂,中文的教程又不系统。计算机的相关原理不清楚,最后想造一个什么工具的时候,就力不从心,感觉自己学了,但好像又啥都没学

    第 1 条附言  ·  2022-09-30 11:54:06 +08:00
    感谢各位的建议,有部分朋友可能理解错了我的意思

    编程的基本的抽象概念,我理解一部分,比如“面向对象、类和对象、基本的数据类型、流程控制、闭包……”

    总结起来,力不从心主要体现在两个方面:
    1 、对原理和技术性认知的缺失。比如爬虫里“密码加密,客户端服务端的通信原理……”
    2 、对库等现成轮子的无知。举个例子,由于电脑显卡垃圾,电脑经常要切换分辨率和缩放比,每次都在系统设置里去调就很麻烦,所以想写个脚本或者 python 文件放桌面,点一下就能切换。结果查了半天资料,发现用 python 写需要 win32 模块,然后又查了半天资料,也并没有找到 win32 中切换缩放比的方法。(这个例子里,对 win32 的无知也体现出对 windows 编程的无知,在一堆的类里面去找控制分辨率的,微软官网也用不熟,也不会用英文去搜索,比如当时连分辨率的英文都不知道)
    81 条回复    2022-09-30 22:51:29 +08:00
    wu67
        1
    wu67  
       2022-09-28 20:46:22 +08:00
    业余自己玩着爽, 首推 javascript, 因为浏览器即解释器, 你可以随便找个网站自己玩, 加个按钮整点一键操作, 或者取 cookie 玩签到什么的, 比较有成就感. python 我没有玩过, 不做评价.

    另一个是 shell 脚本, 能辅助日常操作, 可能有时候你用鼠标键盘点点点老半天的活, 下次写个脚本加验证半小时, 跑几分钟就完事了.

    编译型语言像 Java go 这些就没那么友好了, 计算机专业的在校生一天到晚做什么图书管理系统、排课表就是个例子...比较难有成就感(指所见即所得), 上手费劲
    Yourshell
        2
    Yourshell  
       2022-09-28 21:02:52 +08:00 via Android   ❤️ 1
    学下编译原理,“一切皆字符串”
    p1956
        3
    p1956  
       2022-09-28 21:17:01 +08:00
    我也是业余的。推荐 php ,这个够简单的。我从来不看教程,直接看别人写好的轮子,简单的开始,用 echo 看输出,有问题就谷歌搜索错误信息,慢慢就懂了。python 也差不多这样。我一直觉得看教程是毫无用途的,是先动手遇到问题再看一些基础知识,这样是最高效的。
    seers
        4
    seers  
       2022-09-28 21:18:11 +08:00
    你需要补一下计算机基础了,推荐读一下 CSAPP ,如果没时间或者读不下去,我再推荐你用用按键精灵类脚本例如 AHK ,也可以满足你的需求。
    ioiioi
        5
    ioiioi  
       2022-09-28 21:20:23 +08:00
    学习是需要静下心的,我也在自学 python ,挺有意思。因为我对网络感兴趣,所以学 python 就相得益彰。
    我个人的经验是:
    先立一个小目标,自己实现小目标,再看看别人是怎么写的,找出差距,再立一个小目标,如此重复...
    好处是,你真的学到东西,而且学以致用
    坏处是,好慢。
    cmdOptionKana
        6
    cmdOptionKana  
       2022-09-28 21:26:08 +08:00
    Python 和 Java 都有丰富的中文资料,建议看几本经典的书,比如《 Python 学习手册》(老鼠封面)、《 Python 编程》(蟒蛇封面)、《流畅的 Python 》等等,挑一本从头到尾耐心看一遍。
    Puteulanus
        7
    Puteulanus  
       2022-09-28 21:29:31 +08:00
    很多教程质量确实很差,像是直接把鱼塞给你而不是授之以渔
    你既然有过这个经历,应该比较容易快速判断出一个教程的质量了,可以多花一点时间找质量好的教程看,磨刀不误砍柴工

    学一个东西的时候因为关注的东西以外的事情(语言、其他的知识、网络故障)影响进度很容易让人沮丧,所以你英语做不到流畅阅读的话,还是优先找中文的优质教程比较好,不要试图技术和英语一起学
    0o0O0o0O0o
        8
    0o0O0o0O0o  
       2022-09-28 21:41:47 +08:00
    我觉得,兴趣使然应该尽量保持学习过程让自己快乐,我赞同 #1 的大部分观点,你更应该玩起来,让自己快乐起来。

    还有就是与人交流,假如你在这个故事的一开始询问了我,我会劝说你不要想着去做成 APP ,而是结合你已经掌握的技能来给你建议,尽可能降低学习成本。

    诚然系统性地学习在到达一定高度方面绝对是最短路径,但是要考虑到自己到底是不是那类能忍受这般学习的痛苦的有毅力者或者对这般学习的过程甘之如饴的有天赋者。
    zmal
        9
    zmal  
       2022-09-28 21:42:47 +08:00
    你只是想要一个扳手,但市面上的教程是让你了解一个工具箱。

    但是对于外行新手来说知道自己想要的是扳手已经是一件比较困难的事了。
    TimePPT
        10
    TimePPT  
       2022-09-28 21:46:05 +08:00 via Android
    如果仅仅是动画视频改日期。很多视频编辑工具是支持自定义宏操作的。那个上手快
    wizardyhnr
        11
    wizardyhnr  
       2022-09-28 21:46:24 +08:00
    你看的那些 scrapy 教程确实早就过时了。技术更新太快了,有的时候书写好了,讲得东西也过时了。

    想学的话逼着自己看英文比较好,最新的动态还是英文圈的多。至少 python 官方文档是有中文的。

    Fluent Python ;
    Python Cookbook ;
    https://realpython.com
    https://docs.python.org/3/;

    会搜索问题和实践的能力对自学很重要,指望上学那种填鸭式的学习那还就是浪费自己时间。

    Python 的强点是生态,各种乱七八糟的库都有。你掌握基本语法,大部分的编程工作就是调用库了。
    terence4444
        12
    terence4444  
       2022-09-28 21:50:39 +08:00 via iPhone
    你需要一个低一点的起点,明明是新手刚学就想造火箭是不现实的。
    p1956
        13
    p1956  
       2022-09-28 22:14:02 +08:00
    补充一下,如果你的目的只是完成一些很简单的要求(比如你说的自动更改日期,爬虫等等),是没有必要去学习编程,这样绝对在浪费时间,就是看看别人写好的轮子,copy 别人的代码,在自己机子上跑, 看看输出,报错什么的。比如你想爬虫,找爬虫的轮子,从简单的开始,自己跑跑,最重要的看变量输出,一行行看( php 是 echo ,python 是 print )。
    我就是这样学的,效率最高,不用花太多时间,慢慢就能理解编程,了解了一门编程语言,其它编程语言也就不难了。我说的这些前提是你的要求不高,只解决简单问题
    kkeep
        14
    kkeep  
       2022-09-28 22:20:47 +08:00 via Android
    我也是,没有目标很难
    ration
        15
    ration  
       2022-09-28 22:36:50 +08:00 via Android
    要求不高,用到什么学什么好了。原理啥的要是都弄懂,几本书都不够看。
    hxy100
        16
    hxy100  
       2022-09-28 23:28:49 +08:00
    先尝试用编程简单解决一些使用计算机过程中遇到的问题(比如自动化执行需要重复 N 次的工作,解放双手),不限语言(哪怕 Python 也好,AutoHotKey 也罢),不限方式,边写边搜(精准的搜索能力对于写代码很重要),照葫芦画瓢,刚开始不求代码精简优雅,只求实现功能即可,这样比较利于培养成就感。

    上手之后再一点点深入,去研究函数,类 /包,设计模式之类的比较抽象的东西,学会了一两样语言,多写多练,堆点代码量,慢慢就能融会贯通了,再学什么都能很快上手。
    YangWaleed
        17
    YangWaleed  
       2022-09-28 23:44:15 +08:00   ❤️ 1
    看完楼主的描述,原因不是楼主傻学不会,而是选错了目标。
    “写一个软件然后装到手机上” 和 “造一个什么自己想用的工具” 对我这个编程多年的人来说,也不是一件 “简单” 的事情,不太适合纯新手入门编程。
    这个“简单”指的不是用户层面看起来“功能简单”,指的是要做到这个目标,需要做的事情少而“简单”。

    对于一般学习编程的新手,比较合适的练习都是很简单的:简单计算器、猜字游戏、井字游戏啥的。可以看看正规的教材里的习题,那些才是真正适合新手的练习题。
    这是单纯想学习编程的建议。


    如果是想要自己造工具,想要做一些东西方便日常生活,编程只是手段。那不如看看一些快速脚本、快捷指令啥的,能更快看到效果
    placeholder
        18
    placeholder  
       2022-09-28 23:47:47 +08:00   ❤️ 1
    学了半天,也没看你新建过 android 的工程项目啊。。。
    LZSZ
        19
    LZSZ  
       2022-09-28 23:50:36 +08:00
    自己写来玩可以学 c#、python 、js 这三样基本能涵盖到大部分需求。
    aguesuka
        20
    aguesuka  
       2022-09-29 01:43:01 +08:00
    没看你写一行代码. 先下个 IDE 写千行的 dome 再来发帖
    7zlid
        21
    7zlid  
       2022-09-29 02:13:26 +08:00 via Android
    视频软件的宏操作是个很牛逼的东西,建议你搞这个
    你现在研究的是造 app 的玩意,你最多需要个脚本
    dqzcwxb
        22
    dqzcwxb  
       2022-09-29 02:15:27 +08:00
    不仅是学计算机,任何行业想深入第一步都难
    treblex
        23
    treblex  
       2022-09-29 02:47:26 +08:00
    X-Y Problem: https://coolshell.cn/articles/10804.html
    这种情况应该看看视频软件是不是支持自定义模板之类的东西
    像#21 楼说的一样,如果支持脚本的话,从脚本入手也是好的

    如果不考虑视频软件脚本的话,我是从搭建网站开始的,从自己改改网页文字,到样式,js 功能,php 功能,linux 服务器自己搭建,学了其他语言自己尝试实现一个网站,学的东西比较杂
    抛去了网站之后,搜索最多的就是“如何用 xx 语言实现一个 app/cli/xx 功能”,善用搜索在学习的过程中也很有用
    shinession
        24
    shinession  
       2022-09-29 07:55:26 +08:00
    学 python ,写一些实用的脚本慢慢就熟悉了
    fiypig
        25
    fiypig  
       2022-09-29 08:22:42 +08:00
    力不从心 那就不是兴趣了
    julyclyde
        26
    julyclyde  
       2022-09-29 08:38:39 +08:00   ❤️ 1
    水平已经高于培训班了
    yogogo
        27
    yogogo  
       2022-09-29 08:54:56 +08:00
    按项目驱动学习,比较有动力
    ma836323493
        28
    ma836323493  
       2022-09-29 09:04:24 +08:00
    有需求才会有动力。例如我,电报上的小食品 每次看着都要手动点下载,就想有个自动下载,晚上自己不用焦急等待。于是自己 github 搜可用的,搜到后,自己 pull 下来代码,运行起来,ok , 然后有时候有的文件下载一半下载不下来,在 issue 中看到其他 Ren 的优化,加到本地代码中,慢慢的就能看懂代码,并自己尝试做些优化
    duke807
        29
    duke807  
       2022-09-29 09:12:46 +08:00 via Android
    编程行业最重要的两样东西:选择 和 天赋。
    wangtian2020
        30
    wangtian2020  
       2022-09-29 09:25:59 +08:00
    因为没学前后端都行最速 hello world 的 JavaScript(nodejs)
    bk201
        31
    bk201  
       2022-09-29 09:27:17 +08:00
    不上手,光靠理论,怎么搞工程类的东西
    e9pWeUbh9PGCnp95
        32
    e9pWeUbh9PGCnp95  
       2022-09-29 09:32:00 +08:00
    函数式编程
    类型和程序设计语言
    编译原理
    计算机程序的构造和解释
    fgwmlhdkkkw
        33
    fgwmlhdkkkw  
       2022-09-29 09:33:26 +08:00
    @duke807 #29 屁嘞~
    fgwmlhdkkkw
        34
    fgwmlhdkkkw  
       2022-09-29 09:34:16 +08:00
    我感觉你挺厉害的,继续摸索就行了。
    jackmod
        35
    jackmod  
       2022-09-29 09:45:40 +08:00
    第一段是典型的 XY 问题。如果要批量产出视频,一个好的解决方法是学会使用 ffmpeg 和命令行工具。安卓手机可以通过 termux 这个 linux 命令行工具使用它。
    jadelike
        36
    jadelike  
       2022-09-29 09:51:12 +08:00
    其实咋们内行很多时候也是力不从心,只是没办法,钱难挣*难吃
    ibinary
        37
    ibinary  
       2022-09-29 10:19:42 +08:00
    感觉你重点错了呀,如果要学习,英文不好的情况下没必要非要看英文的视频. 看看中文视频有助于你理解语言本质.学的也快. 至于英文是否是必须的那肯定是必须的.但不是你现阶段需要操心的. 因为核心技术优先英文发布. 但是如果是新手你觉着你能摸到核心技术不. 建议看看评论.里面有大佬说先学啥在学啥. 最重要的确定自己一个方向. 如果没有方向那就从基础来. 先把 C/C++学了. 学完之后在学习其它任何语言都快. 剩下的喜欢啥语言就学啥语言.想做啥项目就搜哪方面资料.去学哪方面资料.慢慢的一步一个脚印.肯定会成功的.
    ql562482472
        38
    ql562482472  
       2022-09-29 10:24:06 +08:00
    我吃 java 饭的,学一个新东西也经常感觉力不从心,我觉得我是因为在学它的时候以为它的结构,和学起来时发现它的真实结构,不一致,并且有非常大的区别,导致的力不从心

    更深层次的归因我还不太有能力
    ming159
        39
    ming159  
       2022-09-29 10:36:49 +08:00
    觉得力不从心应该是指 对目标任务的拆解力不从心,无从下手的感觉.而是某个语言学不会. 我相信让你做个视频转码的小工具,把一个视频转码成另外一种格式.是能做到的. 但是让你写一个应用软件.这就是涉及到软件工程了.
    界面布局
    人机交互
    文件系统
    存储,通信等等最后还要整合到一起. 需要系统的学习,也需要经验...
    tpxcer
        40
    tpxcer  
       2022-09-29 10:52:08 +08:00
    为何想不开要折磨自己
    watzds
        41
    watzds  
       2022-09-29 10:55:20 +08:00
    不要扩散,带着目的,改视频文字就改视频文字,别看着看着学其他去了,光看又不动手,一直在记忆却不输出
    wdwwtzy
        42
    wdwwtzy  
       2022-09-29 10:57:29 +08:00
    别逼自己,换个赛道,没准月入百万,例如痘印直播
    magichacker
        43
    magichacker  
       2022-09-29 11:34:06 +08:00
    内行都感觉力不从心呢,更何况外行呢
    FYFX
        44
    FYFX  
       2022-09-29 11:38:16 +08:00
    mcluyu
        45
    mcluyu  
       2022-09-29 11:45:25 +08:00
    你想花几天时间就能系统了解一个别人可以以此为生的技能? 有兴趣只能慢慢来,今天弄点明天弄点,一上来就想系统的学习大可不必,了解基础后直接上手, 遇到不会的直接搜索,从这个过程中既能实现需求,也能慢慢有系统认识
    leegradyllljjjj
        46
    leegradyllljjjj  
       2022-09-29 11:49:26 +08:00   ❤️ 1
    安装完成
    新建项目
    build error:xxxxxxxxxxx
    确认关闭
    是否确定要卸载
    卸载完成
    1988chg
        48
    1988chg  
       2022-09-29 12:12:52 +08:00
    推荐你这样的需求 先尝试脚本软件 脚本精灵之类的操作?

    不要一上来就学习 浪费很多时间的。

    最简单的就用 php 入门比很多其他语言都快上手。
    RedBeanIce
        49
    RedBeanIce  
       2022-09-29 13:05:42 +08:00
    按照楼主的英文水平,以及编程水平,还是建议先看中文文档 or 视频写起来,,
    iloveyou
        50
    iloveyou  
       2022-09-29 13:29:51 +08:00   ❤️ 4
    我猜你是想弄健康码
    hcql
        51
    hcql  
       2022-09-29 13:33:09 +08:00
    去外网找英文教程看。
    blackboar
        52
    blackboar  
       2022-09-29 13:38:49 +08:00
    你上来就去选一个比较难的,能顺畅吗?移动端那些个玩意涉及知识太多,有经验的有些都费劲。
    aino
        53
    aino  
       2022-09-29 13:55:01 +08:00
    @aguesuka #20 您先写一千遍 demo
    guochao
        54
    guochao  
       2022-09-29 14:28:34 +08:00
    因为“写程序”并不是一个单纯编代码的过程,其中涉及到很多计算机的知识、涉及到方法论,涉及到积累和设计。


    就是上面几层说的,其实中间是有两条路径的:

    一条是以有趣为核心。
    先写简单有趣但是不带有目的的程序,取悦自己,取悦身边的人,这可以让你以一些简单的 topic 为中心,逐渐接触到更深的东西。像是 App 就不是一个简单的东西,并不适合作为新手村第一个任务,这玩意儿涉及到语言、系统、网络、UI 。如果要涉及到特定的任务,比如说编辑视频,那么还需要学习编解码、学习设计、考虑怎么让自己用着舒服,涉及到的领域和问题就非常的繁杂,很难推进学习进度。换个领域可能好理解一些,炒菜。相对的,从命令行对话、表白,到做一个命令行工具,到做一个命令行的文字冒险游戏,到做一个带界面的 Video game ,到做一个带界面的视频编解码工具,到做一个视频编辑工具,这就是一个比较平缓的路径。

    另一条是以知识和技能网络为核心。
    根据自己发展方向,在学习前和学习中优先构建路线图( roadmap ),根据路线图遍历节点学习有关的知识。这其中其他学科有的会倾向于先学知识再动手,相比之下计算机是理科中非常具有工科动手性质的理论学科领域,我个人觉得应该清楚目标以后,边学边动手边动手边学。这点我觉得 OP 没有什么别的大问题,无非是没有路线图而且选择的目标过大,无法取得进展所以引发了自己的焦虑。


    无论哪条路线,"每天都要去更改视频中的文字...能不能自己写一个软件然后装到手机上" 都不是一个简单的事情,"Python 写爬虫" 也不是一个简单的按照格式写逻辑就可以爬下来内容的事情,环境、网络千变万化,不理解自己做了什么的话、有一丢丢变化导致的失败都会焦头烂额。


    关于语言、工具的选择。OP 提到以前学过 Python ,那么其实可以先多用用 Python 。

    写程序其实是一个把想法表达出来让对方(电脑里面其他的程序,也就是库)理解的过程,考虑一下我们和其他人沟通的过程,我们要考虑我们现在这个语言怎么表达我的意思,最终会拆解到,语言、表达方式、对方的思考(架构,逻辑),再加上对于特定的主题需要有足够的词汇积累。写程序是类似的,我们需要学习语言语法,学习怎么把自己的想法表达出来,学习语言的逻辑,学习有什么库和库的逻辑。我们有想法的时候,最好是可以把想法用画图也好、文字也好,先用自然语言叙述清楚自己想要什么,然后再按照自己写的布瑞符去用程序实现,有的时候逻辑复杂了,我们可以自己写一点点验证想法,然后按照关键词从积累里面找词汇找库,这个时候“各种模块都不熟悉,也不知道有哪些模块能干事情”的问题就没有了,因为你可以查了。


    有的时候开始都不知道从哪里开始,可以从两个角度理解这个问题,一个是有趣但是曲线过于陡峭,一个是路线图上基础缺失,从语言表达来说也可以理解成词汇量不够,甚至不能用简单的语言转述复杂的想法。这种情况我觉得能做的就是,要么放一放,舒缓一下心态,要么多了解一下行业和周边,一点点做词汇积累,如果可以用简单语言转述一个复杂的想法,那么这个时候去搜索就是合适的了。


    提到英语,我们查资料也不会用很复杂的英语,native speaker 并没有那么多,rephrasing into simple english 重新用简单英语表达,其实是大部分时候的常态。我也经常跟不上视频,不过我看视频也不多,阅读更多一些,技术文章没啥修辞不会太难的。


    最后从编辑视频的角度来说,我建议用 Python 来处理视频,不要做 app 。不需要界面,跑命令即可。涉及到的知识主要是要理解视频由视频流、音频流、字幕流之类的这些流组成,涉及到的库就是视频编辑的,二选一 moviepy 或者 opencv ,还有音频编辑的。opencv 更多是个计算机视觉的库,只不过可以视频输入、按帧处理图像、输出视频,所以很多工具需要自己写。moviepy 我没有用过,看介绍是说音视频都没有用过。
    blackkkk
        55
    blackkkk  
       2022-09-29 14:48:19 +08:00
    其实主要还是要有正反馈。无头苍蝇这看看那学学,学完做出来的不满意,久而久之自然疲惫。
    建议可以先从简单入门学,做一些有意思小 demo ,再反过来看基础。别想着从 0 入门计算机原理开始,毕竟打基础的前提是你要从头一点点抠,很费时间精力的,而且这些往往都是很枯燥的,当然个人建议可以考虑组成原理 or 算法,毕竟很有意思,也很容易有反馈。
    jiaslbang
        56
    jiaslbang  
       2022-09-29 15:47:06 +08:00
    一开始学就要定一个简单的阶段性目标,比如做一个简单爬虫去爬自己所在城市的房价,跟朋友做下分享(输出倒逼输入)
    然后不断设定新的目标,逐步提升难度,循序渐进
    hankai17
        57
    hankai17  
       2022-09-29 16:04:42 +08:00
    内行人 也力不从心
    KillPaul
        58
    KillPaul  
       2022-09-29 16:05:00 +08:00
    @iloveyou 我笑死了🤣
    2n80HF9IV8d05L9v
        59
    2n80HF9IV8d05L9v  
       2022-09-29 16:05:40 +08:00
    我来教你
    hankai17
        60
    hankai17  
       2022-09-29 16:06:00 +08:00
    这个行业就是 天赋 + 精力 + 兴趣
    aguesuka
        61
    aguesuka  
       2022-09-29 16:14:20 +08:00
    @aino 瞎了吗, 千行
    janus77
        62
    janus77  
       2022-09-29 16:15:31 +08:00
    感觉你在对编程的基本概念都没搞懂,kotlin 语言虽然门槛低,但是说实话别人录的教程并不是给编程 0 基础的人准备的。
    你应该先去了解一下 0 和 1 ,基本类型和数据类型(字符串、整型、布尔、数组、字典等)
    然后是变量,常量,赋值,控制流程,循环,条件分支。
    然后面向过程 /面向对象,类和方法,等等东西。
    这些东西随便找一门语言都可。不用追求最新最流行的 kotlin 。
    enchilada2020
        63
    enchilada2020  
       2022-09-29 16:21:25 +08:00 via Android
    @aguesuka 人家是在吐槽把 demo 写错成 dome 的 typo 自己都没好好看 就说人家瞎了可还行
    panxi
        64
    panxi  
       2022-09-29 16:21:42 +08:00   ❤️ 1
    我英语专业转的, 白天给小朋友上课, 晚上回去对着教程一遍一遍码代码, 至今还记得带我入门的教程 Python 实战::四周实现爬虫系统, 就这样坚持了 7 个月, 觉得自己水平可以胜任工作了, 果断离职找工作. 现在想想那八个月真的太难了, 不知道有没有结果, 也不知道自己能不能坚持下来, 经常到凌晨 2.3 点, 好在后面有公司愿意收留我, 从此 996 有了一个我
    aguesuka
        65
    aguesuka  
       2022-09-29 16:27:40 +08:00
    @enchilada2020
    @aino 我的, 抱歉, 非常抱歉
    dalianliyan
        66
    dalianliyan  
       2022-09-29 16:37:37 +08:00
    感觉你的目标有点模糊:到底是要解决问题,还是问题只是切入点,想要整体学习一门语言?
    A.如果要解决问题,那么就像楼上说的,你的问题并不简单,不光是编程问题,实际还涉及整个技术路线的设计和评估。这个最好还是找个相关的人帮你构建一下整体的技术路线,光看语言入门是解决不了这个问题的。
    B.如果要学习语言,选个简单点的项目上手。
    个人建议,仅供参考。
    HugoChao
        67
    HugoChao  
       2022-09-29 16:39:57 +08:00
    买一本《第一行代码》
    dalianliyan
        68
    dalianliyan  
       2022-09-29 16:45:08 +08:00
    教程之所以看起来顺畅只是因为,讲授者已经提前设计好技术路线了。
    实现新功能是没有现成的路走的,需要自己探索的,还有可能走弯路。
    这种不确定性,肯定会带来无力感。
    zzzmh
        69
    zzzmh  
       2022-09-29 16:46:22 +08:00
    这才哪到哪,我入行都七年了,还是感觉学不动
    morri
        70
    morri  
       2022-09-29 16:56:55 +08:00   ❤️ 2
    每天拿出一点点的时间
    去做无用
    但是你感兴趣的事

    当你日复一日地做这件事
    灌注你的心血

    它会慢慢变成
    你内心坚不可摧的一部分
    给你安全感

    到时候
    任何事情
    都无法摧毁你内心的秩序

    因为
    你知道
    你还有你的爱好
    hfpp2012
        71
    hfpp2012  
       2022-09-29 17:12:32 +08:00
    学前端吧,好找到工作些 https://www.bilibili.com/video/BV1gP411n7ay
    nekolr
        72
    nekolr  
       2022-09-29 17:22:34 +08:00
    @zmal 赞同,觉得 OP 需要一个程序员朋友,哈哈
    AM2coder
        73
    AM2coder  
       2022-09-29 18:12:54 +08:00
    如果只是兴趣,不要硬肝基础,掌握了基本语法、判断、循环,会了 ide 的基本功能就动手,然后基于搜索引擎,面向具体问题个个击破。每次不要写太多,几行几行的写,利于定位问题,解决了问题以后一定要记下来,记下来,记下来三遍。慢慢的你就会了,而且过程平和不会让人想放弃。
    shea
        74
    shea  
       2022-09-29 20:21:16 +08:00
    感觉你进入了一个误区, 最开始要怎么快实现越好, 学这学那很容易放弃
    Tiger511
        75
    Tiger511  
       2022-09-29 23:26:59 +08:00
    @ibinary 这位大佬讲的对的,基础是把 C/C++ 学了,这个其实很快,纯 C 和 C++11 要不了多少时间。
    然后要了解计算机到底是个什么玩意,网络是个什么玩意,内存是个什么玩意。
    再去了解一下操作系统,windows linux 二选一 大同小异,应用和驱动开发都了解一下,然后就可以去玩 CPU 了,英特尔白皮书拿出来搞清楚,搞明白,搞会。
    应用类的知识主要是经验,有了上述基础知识,万变不离其宗,无论什么领域,什么应用,什么需求,计算机方面基本上拿起来就用了。
    这个世界已经没有什么挡得住你了。
    dcsuibian
        76
    dcsuibian  
       2022-09-29 23:39:28 +08:00
    因为确实就是不简单的东西
    smallboy19991231
        77
    smallboy19991231  
       2022-09-30 08:35:33 +08:00 via Android
    @Tiger511 学完 c/c++一件可以吗
    anonymous2351d00
        78
    anonymous2351d00  
       2022-09-30 10:36:40 +08:00
    建议不学,找外包解决需求
    laqow
        79
    laqow  
       2022-09-30 10:55:24 +08:00
    手机系统应用开发都是凭空造门槛的东西,哪有上来就往火坑里面跳的
    luvsic
        80
    luvsic  
       2022-09-30 16:10:02 +08:00
    1. 外行学编程确实很难
    2. 要从简单编程入手,持续获得正反馈

    建议学 js ,学了之后就立即能看到效果,反馈很快。
    学会 js 之后,再学其他的语言就很容易上手了
    Tiger511
        81
    Tiger511  
       2022-09-30 22:51:29 +08:00
    @smallboy19991231 安心学吧,学进去就行了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1320 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 18:08 · PVG 02:08 · LAX 10:08 · JFK 13:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.