- 主题:很不理解为什么要学信息学竞赛,奥数不好吗?
我理解不一定是运行bug,而是可读性可维护性可扩展性都太差了
编程竞赛只能当益智游戏,实际工作中这么编程,会被老板骂死的
【 在 fentoyal (fentoyal) 的大作中提到: 】
:
: IOI国际金代码看不懂可以理解,不过很容易解决
: 如果说一堆bug 那就是胡扯了
: 这么说吧IOI国际金的基本水平,处理leetcode的任何一道差不多hard级别的题目,从拿到题目到AC,2分钟bugfree。这是平均水平
--
FROM 120.244.226.*
您应该是对此有深度见解,可能感受很深。
期待您可以分享一些故事,例如不懂 oo ,在工程中会遇到什么坑,质量怎样;而懂 oo 会真正带来什么改变和提升。或者是 什么规模的系统没有 oo 会带来硬伤之类。oo 思维带来的真正是什么提升。
抛砖引玉,真诚期待能分享一些故事。谢谢
- 来自 水木社区APP v3.5.7
【 在 iamgj 的大作中提到: 】
: 什么叫神话啊,oo不是编程必须用的吗?
:
:
: 确实很多人不懂oo,所以只能考算法了
--
FROM 39.144.38.*
对于ioi金牌 这种问题就是一句话的事
另外 普通公司你也碰不到ioi金牌好吧
轮不到普通人嫌弃代码差
【 在 iamgj (Saint IAMGJ) 的大作中提到: 】
: 我理解不一定是运行bug,而是可读性可维护性可扩展性都太差了
:
: 编程竞赛只能当益智游戏,实际工作中这么编程,会被老板骂死的
:
--
FROM 111.32.70.*
我不知道你什么专业背景,能问出来这种问题我也是醉了
这就好比装修公司的人不明白为什么盖房子还得先画图纸一样,或者大瓦房盖多了,不明白盖房子为什么要用钢筋。
再或者说天天骑马当交通方式,不知道为什么要开汽车一样的可笑。
稍微有个计算机或者相关专业本科学历的人,都不应该能问出来这种问题。
【 在 superbti (superbti) 的大作中提到: 】
: 您应该是对此有深度见解,可能感受很深。
: 期待您可以分享一些故事,例如不懂 oo ,在工程中会遇到什么坑,质量怎样;而懂 oo 会真正带来什么改变和提升。或者是 什么规模的系统没有 oo 会带来硬伤之类。oo 思维带来的真正是什么提升。
: 抛砖引玉,真诚期待能分享一些故事。谢谢
: - 来自 水木社区APP v3.5.7
--
FROM 120.244.226.*
想是您误解了我意思,首先不是抬杠,而是真诚请教。
我本科生物计算机双专业,大学程序设计拿过某省第三名(参照ACM组织形式),ACM拿过铜银。
工作带过大几十人团队,但是只做到日流水几千万的产品项目。更大的项目产品没有经历过。
算认知上有短板的,有很多东西是真的不懂,所以一有机会就要请教学习。曾经组建团队面试遇坑太多,之前几个帖子只是表示我以往经历的团队这么玩。
同时尽管学习经历了那么多,回归基础,如果有人问我面向对象的核心本质之类的,或者用自己理解的语言来定义,我真回答不出来,认知真的不够。自己确实没有理解透。因而看到真正有见解的人,是非常真诚请教。
真是发自内心认真请教学习。
【 在 iamgj 的大作中提到: 】
: 我不知道你什么专业背景,能问出来这种问题我也是醉了
: 这就好比装修公司的人不明白为什么盖房子还得先画图纸一样,或者大瓦房盖多了,不明白盖房子为什么要用钢筋。
: 再或者说天天骑马当交通方式,不知道为什么要开汽车一样的可笑。
: ...................
--
FROM 183.160.112.*
看了那么多发言,尤其这句,您这还真是对竞赛一点不懂啊。还是别说了,误人子弟罪莫大焉。
【 在 iamgj 的大作中提到: 】
: 这个比赛和实际工作最多也就有半毛钱的关系,都是糊弄小孩子的一些算法游戏而已
: 实际工作中根本就不会用到这些算法
:
--
FROM 111.197.237.*
把信息学的学习简称为编程,让很多人有误解。
其实绝大部分所谓码农的编程,可称之为工程代码,所谓架构设计、OO等等,有些就是经验积累和不断学习,有的甚至就是简单培训就能做。
但信息学竞赛所学的是算法,有些看起来OIer写的程序通常一两百行,但这些才是程序的最核心的东西。针对案子先数学建模,再设计算法,最后编程,而前二者才是最最关键的,也是最难的。
抖音最核心的固定资产是什么,就是他们的算法,也许就是那么几百几千行的代码。
大厂里,算法工程师和程序员,是不同身份的存在。更别提IMO,IOI拿奖的选手了。
【 在 iamgj 的大作中提到: 】
: 我理解不一定是运行bug,而是可读性可维护性可扩展性都太差了
: 编程竞赛只能当益智游戏,实际工作中这么编程,会被老板骂死的
:
--
FROM 111.197.237.*
你这个日流水,我不知道大几千万的单位是什么,如果单位是人民币,提供不了任何和系统复杂性有关的东西啊。要是平均一笔业务一万块钱,你这才几千笔业务。
要是每天大几千万pv还算有点东西。
按照你的描述大概还是增删改查吧?属于给传统行业做支撑的业务系统?
你系统中有用过中间件和工作流之类的东西吗?
系统是否支持分布式部署,如果支持,你的分布式策略是什么?
面向对象入门可以先看看《设计模式》这本书,进阶一些的可以看Martin Fowler写的《企业应用架构模式》
至于面向对象的本质,简单讲就是解决系统复杂性的。再通俗一点就是解决大型系统中,各个实体之间、各个模块之间的复杂逻辑关系。
同时面向对象也解决了系统可扩展性的问题,使得复杂系统也具备了可扩展性,为实现不断变换的业务逻辑打下了基础。
但是,你想在实际工作中真的搞明白复杂系统的架构和实现,这当然是面向对象的了。得花至少几百万的咨询费才行了。
世界上没有免费的午餐
【 在 superbti (superbti) 的大作中提到: 】
: 想是您误解了我意思,首先不是抬杠,而是真诚请教。
:
: 我本科生物计算机双专业,大学程序设计拿过某省第三名(参照ACM组织形式),ACM拿过铜银。
: 工作带过大几十人团队,但是只做到日流水几千万的产品项目。更大的项目产品没有经历过。
--
FROM 120.244.226.*
你觉着抖音核心就几百行几千行代码?
我估计抖音的程序员看了该哈哈大笑了
【 在 danchin2023 (danchin2023) 的大作中提到: 】
: 把信息学的学习简称为编程,让很多人有误解。
: 其实绝大部分所谓码农的编程,可称之为工程代码,所谓架构设计、OO等等,有些就是经验积累和不断学习,有的甚至就是简单培训就能做。
: 但信息学竞赛所学的是算法,有些看起来OIer写的程序通常一两百行,但这些才是程序的最核心的东西。针对案子先数学建模,再设计算法,最后编程,而前二者才是最最关键的,也是最难的。
: 抖音最核心的固定资产是什么,就是他们的算法,也许就是那么几百几千行的代码。
--
FROM 120.244.226.*
我又翻了一下你原帖,我发现照你这么开发系统,应该算是两层架构,连三层架构都不是。
这种架构在上世纪90年代中期用的比较多,到90年代末和本世纪初就逐步淘汰了。
2010年以后的系统我还没见过这么开发的。也可能和你在安徽合肥有关系,在那也招不到太好的程序员。
【 在 superbti (superbti) 的大作中提到: 】
: 不能太神话 oo 概念,在面试和工程开发时,很多人并不真懂 oo;一般的项目,架构师负责实现了从业务需求到系统架构的转换,并划定拆分了系统框架,工程师在写一个又一个的微服务。把接口定义好,能想清楚关键流程,逻辑上是完备的,这样的人就已经能放心用了。
:
: 像微信这种超大型项目没有做过,也不好发表观点。
: - 来自 水木社区APP v3.5.7
--
FROM 120.244.226.*