V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xuxinglin8888
V2EX  ›  问与答

想自学一门语言

  •  
  •   xuxinglin8888 · 2023-03-28 23:42:24 +08:00 · 445 次点击
    这是一个创建于 388 天前的主题,其中的信息可能已经有所发展或是发生改变。
    非 IT 人员,电气自动化专业的,想自学一门语言或者那啥技能的,主要太闲也太咸。平常喜欢琢磨一些高效或者好玩的软件(非游戏也不会玩游戏),所以想向各位大神请教有没有哪门语言容易上手并能快速实现的,开发和小小的安卓软件或者桌面组件等等(一张白纸,随你们推荐)本人在深圳租房,东西不多,就一个 i3 的老电脑,之前装过 Python ,但不会用,不买什么服务器,只用现有的,爬虫抓取小说也可,平常安装电脑科学上网的也会一点点,买过国外搬瓦工和那个 v 啥的服务器自己倒腾过 VPS 来实现翻墙,成功了,不过太复杂,过期后就没用了
    huntagain2008
        1
    huntagain2008  
       2023-03-29 10:00:31 +08:00   ❤️ 1
    我是一个小白。首先你这个帖子可能因为敏感词导致一般人看不到内容,意思就是看得到帖子但是一点就返回首页。你的描述是要实现一个安卓软件或桌面组件,你说的到底是安卓手机上的呢,还是 PC 桌面组件?如果是安卓应用,当然我是外行,我认为安卓应用开发对电脑还是有点要求的,处理器可能不一定要多好,但是内存 RAM 要足够大,毕竟你要打开 Android 模拟器的,开销很大的。

    Python 作为编程入门是国外的元老比较推荐。至于你后面讲的那些触发敏感词,而且感觉和编程没什么关系。因为都有现成的工具,只需要你拿去用就行了。Python 用来下载音频、视频都有现成工具,可能就一页代码。自己看看,自己删了再写一遍,算不算学会了?这个我也不知道。
    xuxinglin8888
        2
    xuxinglin8888  
    OP
       2023-03-29 10:44:47 +08:00 via Android
    @huntagain2008 https://www.v2ex.com/t/928075#reply0

    刚发的,不知有没有被屏蔽,谢谢你告知
    shendaowu
        3
    shendaowu  
       2023-03-29 11:11:29 +08:00
    OP 是不是不知道学编程语言需要看教材或者教程?没有笑话你的意思,就是看你说装过 Python 但不会用有点奇怪。编程语言这个东西不是下载了 IDE 和编译或者解释环境就能自己弄明白的。某些编译或者解释环境可能会带一些文档,但是那些基本都是给有编程基础的人看的。

    写爬虫是有一定风险的,特别是在国内。建议没经验和没有详细了解的情况下最好是别爬,免得吃官司。

    编程语言只要学好一个其他的基本都可以快速入门并开发一些简单的软件。Lisp 和 Prolog 之类的应该是例外,不过这两个不是很常用。所以找一个对新手友好的编程语言是个不错的选择,Python 好像就是有名的对新手友好的编程语言。不需要害怕学了一个再改用其他的编程语言会很费劲或浪费时间。编程语言跟外语是不一样的。

    另外如果 OP 看教材和教程看不下去的话也许可以试试编程游戏,谷歌搜一下能搜到一大把,比如 CodeCombat 。不过这些编程游戏一般都是收费的。

    后期如果想提高的话建议看看软件工程方面的课程,比如数据结构之类的。
    xuxinglin8888
        4
    xuxinglin8888  
    OP
       2023-03-29 11:25:26 +08:00 via Android
    @shendaowu Python 之前差不多就是直接抄的然后在自己电脑上实现了,所以说我自己不会用
    shendaowu
        5
    shendaowu  
       2023-03-29 11:59:57 +08:00
    #4 @xuxinglin8888 你在哪抄的?不会是网上搜的垃圾教程吧?另外你是复制粘贴的吗?建议看书,比如《父与子的编程之旅》。这书我没看过,只是听别人推荐的。另外有人建议学编程初期要照着教材手打代码,不要复制粘贴。不过也有人反对这种方法。反对的声音: https://www.zhihu.com/question/387940895/answer/1254528067 。万事开头难,如果 OP 实在是开不了头就试试我前面提到的编程游戏吧。对编程有了一个大概的了解之后再看教材学。还有也许可以试试 B 站上的视频教程。

    还有你说的是不是不会做题?或者更有甚者是不会做你想做的东西?编程还是挺复杂的,一步一步来吧。还有你是不是类似第一次就抄别人的爬虫代码然后试图改成自己想要的样子?感觉你说得太模糊了,不好判断。
    xuxinglin8888
        6
    xuxinglin8888  
    OP
       2023-03-29 12:11:01 +08:00 via Android
    @shendaowu 就是抄,跟大学一样对着课本抄,然后把懂得理解的地方改一改看看是不是理解对了,比如改字体啊长度啥的,跟智障一样
    shendaowu
        7
    shendaowu  
       2023-03-29 18:58:14 +08:00   ❤️ 1
    #6 @xuxinglin8888 试试根据自己已经学的内容给自己出一些自己感兴趣的题,然后自己实现。我好像很少先改再看结果,大部分都是想象一个结果或者输入输出的结合作为一个结果,然后自己实现。问题要尽量简单,稍微有一点挑战,自己稍微有一点不确定就行了。我感觉某些书的练习题好像比较难,这个好像很打击自信心。比如你如果刚刚学了显示字符串的函数,就先想象你要输出“Hi, World!”,然后再实现。如果学了循环再出一个循环显示多次“Hello, World!”的题自己实现。学了输入函数就可以想象出更多有意思的东西了。Scratch 的口号是“Imagine, Program, Share”。感觉跟我的这个习惯挺契合的,但是我很少分享,我知道自己几斤几两。

    重点好像是在脑子里组合那些编程方面的概念,然后在脑子里模拟出一个大致的结果,然后再实际去写代码。初期学得少可以直接排列组合。或者学多了也可以选择少数概念去组合,否则概念多了排列出来的东西就太多了,很多排列可能也没什么意义。结果最好是有一定意义的,否则可能会没有成就感。

    编程方面有个很重要的概念叫问题分解,不知道你学的电气自动化专业有没有这个概念。如果没有应该会有模块化的概念吧,问题分解跟模块化有点类似的地方。不过我怀疑电气自动化中一般不会有太多的模块,但是编写大型软件需要手动组合的模块是极多的。问题分解应该是很难通过语言传授的,应该属于程序性知识,想要获得应该只能通过练习。但是了解一下问题分解方面的陈述性知识应该也是有价值的。让我说的话就是先对一些小的模块的输入、输出以及输入输出之间的关系熟悉起来,然后在解决特定问题的时候用各种模块在脑子里排列组合最终形成解决方案。其实也不是彻底的排列组合,大多数时候其实应该都是靠直觉。通过大量练习构建起的一种直觉。这里面还有框架的概念。大多数时候有现成的框架可以节省很多时间。所谓框架就是一种解决某类问题的特定的套路,它会把问题分解成一些特定的模块。比如一个电商网站可能会将网站分解为订单、购物车、商品等模块。另外问题分解是可以一层一层地分解。最后都要分解成已知的可以直接使用地模块上。另外在分解之前需要对问题有透彻的理解,否则应该是难以分解的。注意我前面说的框架跟编程框架是有点区别的,如果你学多了应该肯定会用编程框架的,希望别把你带歪了。知乎上应该会有很多关于问题分解的讨论,感兴趣的话可以搜一下。我上面写的应该算是比较烂的了,我主要就是想练习一下表达能力。

    或者你在改之前自己想象一下结果,如果结果跟自己想象的一样应该就会有成就感了。这样应该就有动力持续干下去了。顺便推荐个 B 站 UP 主“马林思维”,这个人分享的东西里有学习方法方面的。这个人自己也说他说的东西不要全信,反正我觉得还是挺有价值的。某些人看了他的视频好像出现了一些不是很严重的副作用,在意的话不要看。

    还有一个也许值得尝试的东西是画图。人是视觉动物嘛,可能用程序画出复杂的图像会让人有一种本能的酷的感觉。还有就是图像可能玩腻的可能性更小一些。Python 肯定有画图的库,你可以自己找一下。我最早接触 GVBIASIC 的时候大部分都是再用它画动画,当时感觉非常有趣。当然现在还是感觉编译器之类的更厉害。你要是对这个特别感兴趣,对 Python 又特别没兴趣的话也许可以尝试一下 LOGO 语言。

    我的经验不一定有用,毕竟我只是个技术不太行的野生程序员。但是我一直都对编程很喜欢,不过这好像也不是什么特别稀少的品质,可能绝大多数程序员都是喜欢编程的。但俗话说兴趣是最好的老师,也许有了兴趣就好入门了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2908 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:35 · PVG 21:35 · LAX 06:35 · JFK 09:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.