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

2022-09-28 20:12:01 +08:00
 ghmum

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

故事是这这样的....

最近需要基于当下的日期实时生成一个简单动画,刚开始用视频剪辑软件剪了,但是每天都要去更改视频中的文字(日期),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 的“结构、机制”。

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

7855 次点击
所在节点    程序员
81 条回复
watzds
2022-09-29 10:55:20 +08:00
不要扩散,带着目的,改视频文字就改视频文字,别看着看着学其他去了,光看又不动手,一直在记忆却不输出
wdwwtzy
2022-09-29 10:57:29 +08:00
别逼自己,换个赛道,没准月入百万,例如痘印直播
magichacker
2022-09-29 11:34:06 +08:00
内行都感觉力不从心呢,更何况外行呢
FYFX
2022-09-29 11:38:16 +08:00
mcluyu
2022-09-29 11:45:25 +08:00
你想花几天时间就能系统了解一个别人可以以此为生的技能? 有兴趣只能慢慢来,今天弄点明天弄点,一上来就想系统的学习大可不必,了解基础后直接上手, 遇到不会的直接搜索,从这个过程中既能实现需求,也能慢慢有系统认识
leegradyllljjjj
2022-09-29 11:49:26 +08:00
安装完成
新建项目
build error:xxxxxxxxxxx
确认关闭
是否确定要卸载
卸载完成
cmdOptionKana
2022-09-29 11:52:24 +08:00
1988chg
2022-09-29 12:12:52 +08:00
推荐你这样的需求 先尝试脚本软件 脚本精灵之类的操作?

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

最简单的就用 php 入门比很多其他语言都快上手。
RedBeanIce
2022-09-29 13:05:42 +08:00
按照楼主的英文水平,以及编程水平,还是建议先看中文文档 or 视频写起来,,
iloveyou
2022-09-29 13:29:51 +08:00
我猜你是想弄健康码
hcql
2022-09-29 13:33:09 +08:00
去外网找英文教程看。
blackboar
2022-09-29 13:38:49 +08:00
你上来就去选一个比较难的,能顺畅吗?移动端那些个玩意涉及知识太多,有经验的有些都费劲。
aino
2022-09-29 13:55:01 +08:00
@aguesuka #20 您先写一千遍 demo
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
2022-09-29 14:48:19 +08:00
其实主要还是要有正反馈。无头苍蝇这看看那学学,学完做出来的不满意,久而久之自然疲惫。
建议可以先从简单入门学,做一些有意思小 demo ,再反过来看基础。别想着从 0 入门计算机原理开始,毕竟打基础的前提是你要从头一点点抠,很费时间精力的,而且这些往往都是很枯燥的,当然个人建议可以考虑组成原理 or 算法,毕竟很有意思,也很容易有反馈。
jiaslbang
2022-09-29 15:47:06 +08:00
一开始学就要定一个简单的阶段性目标,比如做一个简单爬虫去爬自己所在城市的房价,跟朋友做下分享(输出倒逼输入)
然后不断设定新的目标,逐步提升难度,循序渐进
hankai17
2022-09-29 16:04:42 +08:00
内行人 也力不从心
KillPaul
2022-09-29 16:05:00 +08:00
@iloveyou 我笑死了🤣
2n80HF9IV8d05L9v
2022-09-29 16:05:40 +08:00
我来教你
hankai17
2022-09-29 16:06:00 +08:00
这个行业就是 天赋 + 精力 + 兴趣

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/883647

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX