作为 Power User,对多媒体应用、批处理、复古游戏和数字权利运动感兴趣,应从何处着手开始学习编程?

2019-01-10 01:35:45 +08:00
 Kimba

各位好。这是我的第一个主题,听闻 V2EX 是中文互联网中技术人士的聚集地,所以就来了。

情况是这样的……本人的专业是音乐,现在主要是在帮家里忙生意,另外搞搞乐队,并没有技术背景。想要学习编程,是出于个人兴趣,我主要想通过学习编程实现下面的一些目的:

  1. 能自己写一些跨平台、主要供自己和小圈子使用的自动化小工具(有一些想弄成带 GUI 的)和爬虫,主要用来批量整理音视频文件的 metadata(比如用同一格式标准来改写古典音乐唱片里的曲目命名)、更新及归档自己订阅的富文本内容管理模拟器游戏的存档及 mod 等;
  2. 实现一些关于音频创作和电子乐器演奏的高级应用,例如模块合成器编程音频可视化
  3. 能够参与甚至创立帮助网民维护自己数字权利(如线上隐私)、对抗消费主义与互联网大企业无底线行为的开源项目,如反消费主义&网购辅助浏览器插件的开发、反追踪工具(如手机权限控制、偷窥隐私的 telemetry data 阻断、浏览器帆布指纹识别阻断)的开发、匿名工具的开发等;
  4. 想和朋友尝试制作一些独立小游戏(包括但不限于用 RPG Maker 等平台),以及做一个定制化的 RetroArch

我目前具备的一些基础和不足之处如下:

  1. 英语海星,翻译过乐器说明书和欧美网文,泡 Reddit,基本可以看懂各种说明文档;
  2. 由于是艺术生,所以高中后数学就没继续学了,通过线上课程学过一点微积分,不知道学编程会不会需要啃线性代数和数理统计,感觉自己有点虚;
  3. (可能没什么用)由于自己玩 NAS 什么的,所以懂一点二把刀计算机网络,大概软考网络管理员水平吧;
  4. 目前是在用 macOS 的 Automator 来实现一些自己的批处理任务,有的时候用 AppleScript 编辑器和 CMD/PowerShell 脚本连查文档带拼凑也能达到一些目的,但是不知其所以然;
  5. 初中参加过 NOIP 普及组比赛,是用的坑爹的 Pascal 语言,完全没获得什么奖,语法也忘完了,现在大概还能用自然语言勉强说说二叉树、堆栈、冒泡排序之类的大概是什么东西;
  6. (可能没什么用)会 Markdown 和维基语法;
  7. 通过啃文档能使用一些 CLI 工具,比如用 ffmpeg 压视频、给路由器配置 dnsmasq、搭建一些网络服务什么的。

所以……

  1. 如果想达到上述的实用目的,那我应当用什么编程语言来入门?或者说,哪些语言较为合适?
  2. 您推荐什么学习材料?如何避免闭门造车?
  3. 需要学一学数据结构么?
  4. 如何锻炼自己的「开发者思维」?
  5. 您还有什么要叮嘱和提醒的地方?
1163 次点击
所在节点    程序员
1 条回复
Kimba
2019-01-10 12:42:23 +08:00
这个帖子似乎又恢复显示了……

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

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

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

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

© 2021 V2EX