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

新手小白提问:学编程的自信心问题?

  •  
  •   Aeromtrich · 2023-08-14 12:44:09 +08:00 · 2735 次点击
    这是一个创建于 469 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在新学习 java 的时候,看到自己学的那种简单的打印 systom out println 什么的,跟网上那种已经写好的 200 多行的代码差的很远,心里就感觉编程有点难,有为难情绪。想问问那种 200 多行的代码是不是很难敲,多久才能练成那样?

    27 条回复    2023-08-15 01:56:55 +08:00
    NessajCN
        1
    NessajCN  
       2023-08-14 13:21:06 +08:00
    再复杂的代码最终目的也就是打印那些东西。最多就是从打印到终端变成打印到串口/插槽/文件....
    xingyuc
        2
    xingyuc  
       2023-08-14 13:26:56 +08:00   ❤️ 2
    无非是逐步拆解需求,实现需求
    sentinelK
        3
    sentinelK  
       2023-08-14 13:32:28 +08:00
    行数多的程序,并不一定复杂。

    开发也遵循 28 原则。
    绝大多数的业务代码都只是输入处理、逻辑分支( if )、遍历( for 循环)、格式转换、输出、异常处理这几项功能之间的排列组合。
    Pencillll
        4
    Pencillll  
       2023-08-14 13:33:48 +08:00   ❤️ 1
    编程难的不是字数,是逻辑。写代码不是背作文,而是把需求(题目)翻译成代码,这其中就需要逻辑的处理,只要有思路,别说 200 行,就是 20000 行都能写。在理解了编程本质的基础上,再考虑一下编程难不难
    aLazarus
        5
    aLazarus  
       2023-08-14 13:38:38 +08:00
    需求拆解之后不还是 curd
    murmur
        6
    murmur  
       2023-08-14 13:38:39 +08:00   ❤️ 2
    这点信心没有就别学了,后面学八股文的时候不学哭你,
    你现在学的是 1+1 ,
    后面学的是 x^2+x^y2 ,
    面试面的是从 0 到无穷的积分(x^8+y^8)
    smallyu
        7
    smallyu  
       2023-08-14 13:40:30 +08:00
    看背景,要是高中生就好好考大学,要是大学生就好好上课,要是工作想转行就放弃吧
    gps949
        8
    gps949  
       2023-08-14 14:23:15 +08:00
    学无止境
    1 、语言语法(行级)
    2 、数据结构(十行级)
    3 、算法(百行级)
    4 、CRUD 、API 、框架 (数百行级)
    5 、操作系统、数据库等等(千行级)
    6 、软件工程(数千~万行级)
    7 、团队管理(十万~百万行级)
    8 、投资(百万~亿行级)
    ……
    当然这玩意没那么严谨,看过一乐的事,毕竟^V printf 出来百万行也不是梦
    BwNVlwSq
        9
    BwNVlwSq  
       2023-08-14 14:26:00 +08:00
    这是一个循序渐进的过程,别有心理包袱...
    RealVic
        10
    RealVic  
       2023-08-14 14:30:33 +08:00
    其实学个基础,对正经编程语言(比如 Java 、Swift 、C ++)的逻辑有所了解就够了。
    DOLLOR
        11
    DOLLOR  
       2023-08-14 14:33:38 +08:00   ❤️ 2
    别人能敲 200 行代码,不是因为别人厉害,而是因为别人的“需求”需要 200 行代码。
    因为你刚初学,你的“需求”很简单,所以不需要写那么多代码。
    随着你对编程的深入,你遇到的“需求”越来越复杂,你也会写出 200 行甚至更多的代码。
    当你经验越来越丰富了,你会开始感受到,其实你不需要每次都写那么多代码,因为有许多代码可以从你以前写过的代码里复制过来。
    KOMA1NIUJUNSHENG
        12
    KOMA1NIUJUNSHENG  
       2023-08-14 14:42:07 +08:00
    已经工作的想要转行建议别学编程
    brader
        13
    brader  
       2023-08-14 14:46:10 +08:00
    都是循序渐进的,初期的话,主要学好怎么使用分支结构、循环结构等等就可了,可以做一些小作业,慢慢达到要求,我以前就有很多适合新手的小作业,你要不要写一下
    gxy2825
        14
    gxy2825  
       2023-08-14 14:47:42 +08:00
    能看到差距是好事,是很正常的,循序渐进去学习就好了,即使等你工作了,编程能力上了一层楼之后,你去看各种框架源码,一样也会有这种感觉的
    CarolPhil
        15
    CarolPhil  
       2023-08-14 14:57:56 +08:00
    @KOMA1NIUJUNSHENG 为啥呢
    kkkbbb
        16
    kkkbbb  
       2023-08-14 14:58:14 +08:00
    唯手熟尔而已,再多的代码也是一行行写出来的,能理清逻辑很关键,后面就是 ctrl c+v 了。
    LavaC
        17
    LavaC  
       2023-08-14 15:01:02 +08:00
    这就体现学前端的好处了,至少几百行的 html 你是真的能看懂是什么(
    KOMA1NIUJUNSHENG
        18
    KOMA1NIUJUNSHENG  
       2023-08-14 16:08:32 +08:00
    @CarolPhil 大概率转行即失业
    Lockeysama
        19
    Lockeysama  
       2023-08-14 16:15:28 +08:00
    没什么原因,就是需求的问题。你平常学的时候,需求就是打印一下 XXX ,一般不是特别难的题,基本就是一小段代码搞定了。你看到的几百行的代码,一般是好多个需求组合的,你想写几百行的代码,只要给自己找个复杂点的需求就行了
    msg7086
        20
    msg7086  
       2023-08-14 16:19:58 +08:00
    我刚学的时候也这样,写多了就好了。关键是理清逻辑,由顶向下慢慢拆分成一块块小的部分。
    Bown
        21
    Bown  
       2023-08-14 18:33:11 +08:00
    就和学英文一样:
    - 刚开始大家都是只会 "Hello"、"Thank you"、"How are you",看到 200 词的小短文不知所措;
    - 等记住了更多单词短语、掌握了更多语法后,逐渐能读写复杂的从句、短文、长文;
    - 最后发现长文也只是基础单词和语法的重复,语言的重点还是在于用单词和语法表达特定信息。

    把英文单词、语法换成 Java 基础语法、API ,编程这件事其实也是一样的,用基础且重复的基础语法和 API 调用来引导计算机去解决业务需求,短小的代码片段解决小需求,小需求汇聚起来就是拥有海量代码的复杂软件系统。
    libook
        22
    libook  
       2023-08-14 18:38:58 +08:00
    去看看 Apache 基金会旗下项目的代码,估计你就不想学了。

    你学编程的目的是啥?是对这个感兴趣,还是想一夜变大神;不光是编程,后者在任何领域都不可能,天赋异禀也不行。

    踏踏实实慢慢学,找点编程习题练练手,当你写的程序可以编译通过,并且可以返回预期的结果的时候,你就可以开始获得信心了。不积跬步无以至千里。
    broken123
        23
    broken123  
       2023-08-14 18:43:24 +08:00
    那是因为你没有学到计算机的本质啊,推荐看看 《当然我是在扯淡》 这个博客里面的文章 编程的本质。
    yanyao233
        24
    yanyao233  
       2023-08-14 22:38:50 +08:00
    至少对我而言,编程是项目驱动的。回想了一下最开始学某门语言的时候,都是因为想写个插件 or 项目,再去学习对应的技术栈和语言。先了解一下基础语法,接着需要什么东西就去 stackoverflow/github 上搜就好。

    现在就更方便了...直接不懂的就问 chatgpt ,写代码全靠 copilot🤣
    Ocean810975
        25
    Ocean810975  
       2023-08-14 22:40:33 +08:00 via Android
    你去看看伯克利的 cs61a ,做完那几个项目,就差不多有两三百行 Python 的项目经验了,基本上对所有语言的设计理念也有个大概了。大概需要时长在 100 小时左右。
    shyangs
        26
    shyangs  
       2023-08-14 23:06:42 +08:00
    你正式工作會看到屎山,一打開洋洋灑灑萬行,比英文小說還難看,至少看英文小說不用分分秒秒維持邏輯思考。
    flyqie
        27
    flyqie  
       2023-08-15 01:56:55 +08:00 via Android
    多少行其实没有意义。

    项目决定了需求,而需求又决定了逻辑,逻辑最后写出来才是一行行代码。

    没有需求和逻辑,代码无从谈起。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3065 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:22 · PVG 22:22 · LAX 06:22 · JFK 09:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.