人月神话编程系统产品读后感_关于编程的神话与事实

人月神话编程系统产品读后感

这是什么?

我希望在我的早期职业中了解计算机编程的一些常见神话和事实(有针对性)。

编程需要数学

  • 中性。
  • 只有很少一部分程序员在职业生涯中处理数学问题。
  • 分析能力有助于解决问题。 将编程视为理解问题,分解为更小的步骤并加以解决。 类似于数学吧?
  • 但是,对Math不好的人可以成为一名优秀的程序员。 这也取决于他们要解决的角色类型和问题类型。

这全都与键入代码有关。

  • 编程(入门级)关于:
    • 阅读文档和要求
  • 您花费在键入代码上的时间取决于您的角色和职位描述。 有时候您将不会输入任何代码。
  • 大部分编程工作需要维护多年来由几个人编写的系统。 您将需要添加功能,自定义,修复错误等

您不需要大学学位即可成为程序员

每个人都可以在几个月内学习并成为程序员

编程真的很难

  • 中性。
  • 这取决于个人,他们的学习/智力能力以及他们学习/参与的编程角色的类型。
  • 某些事情您可以轻松学习。 但是,大学学位将有助于您拓宽视野并快速学习。

就像在工厂的流水线上工作一样

  • 在某些日子或长时间担任同一职位,您可能会感到工作单调。
  • 但这不像在流水线上工作。 它需要大量的思考和分析。

编程不适合女孩

您需要在整个职业生涯中不断阅读新知识

  • 中性
  • 您不需要“不需要”。 但是学习新知识可以帮助您发展事业。
  • 此外,它取决于您使用的工具和技术的类型。 每隔几年就会淘汰某些工具/技术(例如:JS框架)。 有时
  • 学习新的范例,最佳实践,新的体系结构概念总是很有用的。

机器学习和AI似乎很容易学习。

我对统计/概率/建模一无所知。 但是,我在网上找到的ML / AI教程只有10行代码,这似乎很容易。

  • 使用其他人创建的ML / AI工具或阅读食谱似乎很容易。 但是您将需要了解许多概念,才能在解决实际问题时使用这些工具。 不要被简单的教程吓到。 从基础开始,然后深入研究工具。

所以我应该这样编程:

 int a = read()  int b = 1000  if (a > 18 && b > 50 ) 
     println( "Entry allowed" ) 
  • 使用编译语言,否。 对于解释性语言,可能但但差异可以忽略不计。
  • 始终专注于可读性。 将上面的代码与以下代码进行比较:
 int age = readMemberAge()  int balance = 1000  if (age > 18 && balance > 50 ) 
     println( "Entry allowed" ) 

我必须学习许多编程语言,例如C,Python,Java,Ruby,Kotlin,Scala,Groovy,C#,要成为一名优秀的程序员。

  • 将编程语言视为自然语言,例如:尼泊尔语,法语,英语,日语和中文。 并将写小说或诗歌的艺术作为实际编程。 如果您掌握了五种语言,但没有技巧用任何一种语言写(好)诗,那么您仍然不是艺术家。
  • 认为编程是一门艺术。 尝试以至少一种语言成为一名艺术家。 考虑一个业余项目,并在开发时注意代码质量,性能,UI,功能等。
  • 专注于学习编程而不是学习语言。
    • 编程是仅使用一种语言即可获得的一项技能。

HackerRank,LeetCode将保证我获得一份工作

  • 毫无疑问,这些站点上的问题可以帮助您进行批判性思考并解决问题。
  • 最近,它是一种广泛使用的筛选方法,用于筛选候选人。
  • 宠物项目和您的大学项目也将帮助您找到第一份工作。

一定很好,所以我应该学习。

  • 几年后,技术专家开发的许多工具都已弃用。
  • 寻找许多公司长期使用的工具/语言/框架。

我应该学习和使用它。

  • 无法保证这些工具一定是好的。 不要迷上广告
  • 查看Linkedin / Indeed等上的100个职位描述,发现自己在市场上很流行

我必须学习Angular,React,Vue和XYZ Web框架以掌握我的Web开发技能

  • 最好在没有框架的情况下开始Web开发,以便您了解这些框架如何解决不使用这些框架的问题
  • 您不需要学习所有这些,一个就足够了。 如果您在不使用框架的情况下开始学习Web开发,则在框架之间进行切换会更容易。

我不应该申请这份工作。

  • 如果您知道X1框架/库/工具,则需要进行自我测试,以学习X2。
  • 只要您了解抽象概念并且自己完成了至少一个宠物/专业项目,就有很大的机会可以快速学习另一种框架/库/工具。 他们都试图解决一个类似的项目,但是方式略有不同。
  • 还要在职位空缺中寻找“首选”与“必需”技能。

社交媒体上的每个人都讨厌X语言/框架。X一定很糟糕。

  • 不要为人们的“意见”而堕落。 人们认为语言/框架/工具是宗教。 他们彼此讨厌。
  • 找出学习内容的最佳方法是查看职位空缺。 至少有一百个。

因此,这是最好的语言。

  • 中性
 DB.allRecords().read().toCsv( "file.csv" ); 
  • 很高兴他们开箱即用地提供了该功能。 但是幕后隐藏了很多代码。
  • 所有语言都支持创建库模块以扩展功能。 有些语言从本质上来说太抽象/太低了,它要求开发人员围绕它编写库以使事情变得更简单。
  • 因此,这并不意味着语言X是最好的。

想要添加更多的Q / A和更正吗?

请在https://github.com/GT-Corp/myths-and-facts-about-programming/blob/master/README.md提交拉取请求

翻译自: https://www.javacodegeeks.com/2020/05/myths-and-facts-about-programming.html

人月神话编程系统产品读后感

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值