JavaRush /Java 博客 /Random-ZH /一种语言统治一切

一种语言统治一切

已在 Random-ZH 群组中发布
在任何编程语言中,每一层代码下面都有一种语言。他等待着被发现... 翻译和改编自 Eric Girois 的一篇来自 Medium 上 Better 编程社区的文章。 一种语言统治一切 - 1当我写这篇文章时,“学什么编程语言”风格的搜索查询数量超过了 5.17 亿(!)。搜索结果列表中的每一页都讲述了特定语言相对于其他语言的优势,并且在 90% 的情况下,您会被推荐相同的东西,例如 Python、JavaSctipt(或语言语言权威评级前 3 名的东西)。 7 月份的当前评级在这里;)让我大胆地正式不同意所有 5.17 亿个结果,并说你应该学习的第一个编程语言是逻辑。仅仅知道如何编写代码是不够的。市场上充斥着各种课程的毕业生,这就是为什么初级开发人员的职位基本上不复存在的原因。要在这些现实中取得成功,您不仅需要编写代码,还需要拥有逻辑思维。

我的第一堂计算机科学课

我第一次接触计算机科学是在十年级的选修课上。我来到教室,感到一种欣喜:教室里有一堆盒冰淇淋和几罐糖浆。当我们入座时,老师宣布:“今天我们要做周日(一种用冰淇淋和糖浆制成的甜点——编者注)。但有一个条件:你需要写下准备甜点的具体说明,我会按照说明进行。” “毫无疑问,”我想,“这很容易。” 只需一分钟,我就写下了完美的说明: 将三勺覆盆子冰淇淋放入杯子中,将两汤匙巧克力糖浆倒入杯子中,将生奶油加入杯子中,在周日的顶部添加糖粉和一颗樱桃,然后我的老师——充当“电脑”—— 完全按照指示进行,她的表演是我见过的最刻薄的表演。她开始疯狂地“攻击”冰淇淋纸盒,但耐用的盖子却毫发无伤。“好吧,先把盖子打开。”我说,希望能尽快拿到甜点。“你没能正确地为我写下说明,所以很遗憾我无法为你安排下周日!”

快进到尝试 #2

取下盖子,打开一盒覆盆子冰淇淋 将三勺覆盆子冰淇淋放入杯子中 打开巧克力糖浆,然后在杯子中加入两汤匙 打开生奶油,然后在杯子中添加一些 在顶部撒上糖粉和一颗樱桃周日我有信心我已经成功了 一次。老师打开盖子,舀起三勺冰淇淋,放进杯子里。终于,我的周日要准备好了!然后她打开巧克力糖浆,将两汤匙放入杯子中。但不是两勺糖浆——只有勺子,没有糖浆!我的指示又不够精确。一切结束后,我收到了一杯冰淇淋、两个金属勺子、一吨生奶油和大约 300 勺糖粉。似乎在那一刻,一切都变得清晰了:计算机是一个由纯逻辑引导的实体。他不了解上下文,也不会做出假设。他遵循一套严格的指示,并且不折不扣地遵循它们。制作周日的最后说明非常冗长,但这是必要的: ​​如果尚未打开,请打开以下所有物品的包装:覆盆子冰淇淋,巧克力糖浆,配料和鲜奶油从将其放在架子上并放在您面前 拿一个冰淇淋勺,一次一个,舀出三勺冰淇淋并将其放入杯子中。一切完成后,将勺子放在桌子上。如果你还没有巧克力糖浆勺,那就拿一把。然后取一勺巧克力糖浆,倒入杯子中。这个动作做两次。完成后将巧克力糖浆放在架子上。将淡奶油瓶子倒置,用手指按住瓶口附近的按钮三秒钟,然后将瓶子放回原来的位置。将 40 粒糖粉撒在杯子中的冰淇淋和巧克力糖浆上,然后将糖粉摇动器放回原来的位置。从樱桃罐中取出一颗樱桃,小心地将其放在星期日的顶部。给学生星期日和甜点勺。 说明中的最后一条命令非常重要,因为没有它,老师就开始自己周日吃饭。 这就是编程的现实——你需要向计算机给出最精确的指令。本质上,所有编程语言都是由指令组成的。

软件开发职业

软件开发正处于发展阶段,将其作为一个单独的行业来谈论似乎太笼统了。鉴于此,“软件开发人员”这个职位听起来很模糊。就业市场上对两名具有不同技能的开发人员的需求可能相同,这表明成功的开发职业需要的不仅仅是编程技能。经验丰富的开发人员有一个共同特征,即独立于编程逻辑。最好的开发人员都善于批判性思维。这很重要,因为大多数软件开发项目都是记录不足的拼凑噩梦。需要具有批判性思维的人来收集所有数据并填补空白。因此,那些无法将事实连成一体的专家就落后了。所有这些引出了另一个非常重要的陈述: 计算机科学的基础知识——无论是现在还是未来——都是首要的。它们比编写代码的能力更重要。 流行语言来来去去。框架正在变得过时,公司正在通过组合所使用的技术堆栈来响应不断变化的市场需求。什么保持不变?基础知识的基础知识。

如何培养逻辑思维

逻辑和批判性思维可以而且应该得到发展。我建议您注意以下几点:

1. 研究算法在运行环境下的有效性

称为 Big-O 表示法用于描述算法的复杂性。如果您能够用 Big O 术语评估您的代码并分析执行的步骤数与所花费的时间,则认为您已经朝着正确的方向迈出了第一步。

2.学习数据结构

数据结构是每个复杂程序的基础。知道在哪种情况下最适合使用哪种类型是一项重要技能。数据结构与算法的复杂性直接相关,因为选择错误的结构可能会杀死程序。

3. 读/看/听

当然,您需要 使用 JavaRush学习 Java 编程:)
要了解基础知识,请阅读有关设计概念、最佳实践和编码风格的书籍。强烈建议正在学习编程的人阅读:
  • “面向对象的设计技术。设计模式”(E. Gamma R. Helm R. Johnson J. Vlissides),
  • “重构。改进现有代码”(M. Fowler),
  • “完美代码”(S. McConnell)
  • “干净的代码”(B. Martin)
  • “务实的程序员”(E. Hunt)
  • “算法:构建和分析”(T. Cormen、C. Leiserson、R. Rivest 和 K. Stein)

4.练习!

如果没有数百小时的练习,你就不可能成为一名优秀的大提琴手。日常练习是编程成功的关键。如今,有很多在线平台,您可以在其中找到数千个需要了解数据结构和算法的任务(HackerRank、LeetCode、CodeWars 等)。
JavaRush 上提供了从简单到复杂的 Java 编程问题。课程中有超过1200个,还有小项目和任务游戏
对我来说,使用此类平台的最有效方法是想出解决问题的独特方法并将解决方案发布到 Github 上。然后查看类似问题的最佳解决方案并分析其他程序员的方法。这给我们带来了最后的提示:

5.分析别人的代码

学习编程和工作初期的主要错误是自我孤立。软件开发是一个很大程度上依赖团队合作的领域。我们一起制定标准,犯错误,随着时间的推移(再次通过反复试验),我们找出最有效的方法。花时间阅读经验丰富的开发人员的代码将会得到回报。只要确保代码实际上是好的。

结论

个人建议:永远不要为你不知道的事情感到羞耻。如上所述,这个行业巨大,语言数量令人难以置信,而且还有信息海洋。至少需要花费大量的时间和精力来形成编程的总体思路,更需要积累经验,更需要很多倍的时间和精力才能成为真正的专业人士。当我最终成功时,我会告诉你:)
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION