关于编程的初学者最有害的误解?

Chr*_*ian 36 language-agnostic

可能重复:
你最长的编程假设是什么,结果是不正确的?

对于那些刚接触过编程的人来说,你认为对编程最有害的误解是什么?

Vla*_*ged 58

重新发明标准库函数/类.

通过语言书/教程后,大多数初学者 - 知道如何处理字符串和数字 - 将发明他们自己的日期函数,他们自己的'压缩算法',他们自己的SORT实现.

哦,他们总是在第一天搜索clrscr();.

  • 我不能说我同意这是有害的.实现一些基本的东西(即使它已经存在)可以是初学者学习基础知识的好方法,也可以是*不*实现的东西.只要你最终*弄清楚标准库的存在,这就没有害处.我会带一个程序员编写自己的链表实现,而不是使用内置库... (41认同)
  • @William:同意:*我*会带一个程序员*曾经*曾经写过他自己的链表实现. (10认同)
  • 不要忘记写"加密算法"的人. (6认同)
  • 当然,我也是从个人'经验'谈起来的;) (3认同)

Hip*_*x43 56

因为他们的程序编译和运行它做了他们期望它做的事情.

  • 嘿 - 编译器说'0错误'我要争辩谁? (10认同)
  • 是! 这很诱人,很难摆脱. (4认同)

小智 41

如果他们的代码不能编译或工作,那是因为编译器中存在错误.

  • @Neil:我强烈不同意.硬件错误更常见. (9认同)
  • @Neil,是的!看过杰夫关于这个话题的帖子?http://www.codinghorror.com/blog/archives/001079.html (3认同)

Sam*_*ijo 40

也许不是最有害的,但他们通常无法估计需要多长时间才能完成,他们认为它可以比实际必须做得更快(包括我).

对于有害物质,优秀的公司通常会让初学者远离他们可以造成很大伤害的地方.他们通常被鼓励更有经验的人工作,这样他们就能更好地学习.

  • 问题是_beginners_ :) (6认同)
  • 我认为如果所有因素都在我的控制之下,我的估计通常会很好,但它们不是......不可避免地,我遇到了一些主要障碍.很多时候,这是我在一些我们正在使用的库(通常是内部库)中没有意识到的错误或限制.此外,由于错误和不合规(MSVC6),编译器花费了大量时间.这会让我成为一个糟糕的估算者吗?即使我加入3倍左右的时间,我仍然会超出我的预期,我认为这将使我采用合理的技术...... (3认同)
  • 请多一个upvote,所以我可以得到一个逗号=) (2认同)

Gre*_*ill 35

如果他们的程序在他们自己的计算机上运行,​​那么它也可以在其他人的计算机上运行.

"但它适用于我的机器!"

  • 我们没有发货你的机器! (8认同)
  • @Zifre:我强烈不同意.即使是数字运算程序有时也会在其他机器上出现问题,例如某些系统资源耗尽,而您没有检查它并且*爆炸*! (2认同)

Wil*_*son 28

编程完全是关于语法的.事实证明,这完全是解决问题的方法.


0sc*_*car 26

用户是程序员.

  • 不仅仅是经验丰富的程序员. (15认同)

Etz*_*tet 26

如果它看起来不复杂,那么它必须是错误的或"坏的"代码.

我必须在几年前在学校承认我认为我的课程看起来不够复杂!这些天我想哭,如果有些事情变得不那么简单:

//start

if(something)
{
    do_stuff();
}

//go home
Run Code Online (Sandbox Code Playgroud)

:P


Meh*_*ras 22

  • 编程很简单:编程非常有趣,但不要认为它很容易.它需要大量的经验,学习,并且没有变得更好,并且谦虚.
  • 工具为我做了,所以我不需要了解封面下发生的事情:工具使事情变得更容易,让你更快地完成工作.但是,你仍然需要知道并熟悉封面下发生的事情,因为迟早你需要打开引擎盖.
  • 缺乏好奇心
  • 这一切都与最新和最酷的技术有关:不一定.这是关于什么是适合客户和你想要解决的问题.


Aar*_*ela 19

"这个问题不在我的程序中,它是库/ OS /语言中的一个错误."

"它在我的机器上运行了!你的问题出在哪里?"

"一切都是模式,你只需找到它们."

"我不需要测试,因为我只改变了一行."

"源控制浪费了这个项目的时间."


Bes*_*ska 14

我在编程tyros中看到的真正问题是"编程是神奇的",这意味着没有真正意识到计算机将在逻辑上完全运行,并且每次给出完全相同的输入时都会做同样的事情.

他们写了一些他们认为应该做他们想要的东西,然后当它不起作用,而不是试图逻辑地处理问题时,他们开始半随机地改变事物,希望,显然是为了安抚计算机魔法之神他们纯粹的坚韧或愿意在奇思妙想的祭坛上自卑.他们觉得计算机是反复无常的,随意改变事物,他们所希望的最好的事情就是让事情变得模糊近似,并希望星星能够长时间保持一致.

当然,即使对于有经验的程序员来说,它有时会有这样的感觉,但是有一种固有的知识,即出于特定的原因正在发生的事情,你只需要深入了解这个原因.


And*_*int 13

  1. 他们的计划将有效.
  2. 如果奇迹般地克服了前一个障碍,他们的程序将按照最终用户的预期工作
  3. 如果前一个障碍再次被奇迹般地克服,他们的程序将经得起时间的考验,即它将是可维护的
  4. 如果所有以前的障碍再次奇迹般地被克服,那么他们的第二个系统将会变得更好或更好


Mer*_*ous 11

必须在代码中有设计模式.


Joe*_*e Z 11

他们的解决方案是解决问题的唯一真正方法,其他人都是愚蠢和错误的.


Har*_*ryv 11

最有害的误解(财务版):

"大学教育需要了解或了解如何编写软件."

  • 我会说"大学教育已经足够**了解或了解如何编写软件." (2认同)

Mit*_*ile 10

"我打算用电脑赚大钱!"

编辑:另一个让我疯狂的事:

"另一个人的代码并没有正确地调用我的代码,所以系统不起作用并不是我的错." - 没有主动调查,诊断,建议补丁,没有.作为经理或团队领导,这真的在我的眼前.


IlD*_*Dan 9

您必须使用您正在学习的语言的每个功能,首先是继承.

更新:了解C中的汇编内联代码


Avi*_*ion 9

我遇到的最糟糕的误解是,编程是编写代码而不是阅读代码.


小智 9

最有害的误解是:当你获得代码工作时,你就完成了.


Bry*_*ley 8

那很酷==可用.


Duc*_*uck 8

消除他们认为"完美但非常晚"的概念比"可接受且准时"更好.

如果每周报告在5秒钟内运行,而不是8点,如果是两个月后,则没有人会关心.

  • 那么"可以接受和迟到"呢? (3认同)

ebo*_*ebo 7

它与计算机有关.


小智 7

他们的代码不需要记录.他们是唯一会看到它的人,对吧?


Wim*_*ink 6

最常见的误解是您可以通过启动您喜欢的IDE /编辑器来编写应用程序,然后立即编写代码.

是的,它将创建一个应用程序.是的,当你完成时它也可能是cr @ p ...

您首先通过创建设计来开始开发软件.最好使用笔和纸或计算机上的一些有用工具.编写实际代码恰好只是整个过程的一小部分.(如果没有,你做错了什么!)


zvo*_*kov 5

最有害的误解是假设软件行业的人知道他们在做什么.初学者倾向于信任产品文档中的所有内容,他们信任错误消息和异常描述.他们甚至信任发布在博客上的东西.