电脑技术
学生编程遇到的问题(学编程能解决什么问题)
2023-04-11 22:34  

本书教你使用函数式编程范式解决物理问题。非常适合初次编程者和科学爱好者,它引入了Haskell编程语言,并鼓励编写漂亮的代码以匹配理论物理的优雅思想。

前面的章节涵盖了 Haskell 中编码的基础知识,它有一个强大的类型系统,能够编码物理学中的重要数学结构,如向量、导数、积分、标量场、向量场和微分方程。本书后面的部分探讨了牛顿力学和电磁学——理论物理学的两个核心支柱。此外,您还将深入了解源代码,并发现为什么 Haskell 的高阶函数和引用透明度如此有效地服务于物理学。在此过程中,您将了解:

如何编写表达基本物理原理的漂亮代码

如何制作有趣情况的图形和动画

如何宣传...

在 90 年代和 2000 年代初期,是否有许多所谓的程序员试图“暴力破解”一些编程任务的解决方案(而不是优雅的解决方案)?

自从这个职业开始以来,就出现了糟糕的程序员。

早在很早的时候,就很难懒惰和浪费资源,因为内存供应不足。因此,如果您的编写效率低下(按空格),您通常根本无法让您的程序适合内存。在大多数情况下,由于对快速速度的期望较低,所以更容易在时间上写得效率低下。

如今,一个人编写的程序很少会出现内存不足的情况……因此,糟糕的程序员可能不太注意空间效率,但仍能侥幸逃脱。

但是在许多编程领域——我们对计算机速度的期望越来越高——所以时间效率低下并不像以前那么容易逃脱。

并非在每个领域都是如此 - 但在许多领域,速度变得更加重要。

自早期以来的另一个变化是,早在 1970 年代和 80 年代,大多数程序都可以由一个人单独编写。

想想我的领域……电子游戏。

旧的 Atari 2600 视频游戏几乎总是独立项目……并且不存在“维护”问题。一旦游戏发布 - 就是这样。如果它有错误,它就不会卖得很好。但如果它有效——没有人关心它写得有多好。除了原作者之外,任何人都不必阅读代码。它根本不需要维护。由于 ROM 卡带的容量小,代码被限制为很短 - 但因为它很短,所以它可能会写得非常糟糕 - 只要原作者能够将其全部保留在他们的脑海中足够长的时间来推动游戏走出门外——真的没有那么重要。甚至时间效率也不是那么重要。只要游戏运行得足够快可以玩——那就“足够好”。

但是如今,一款商业视频游戏需要一个由十几名甚至数百名程序员组成的团队……而且代码会不断修改和更新以修复错误,甚至可能在游戏发布后添加功能。

低效、不可维护或完全难以辨认的代码是不能容忍的。

即使我们假设的浪费程序员编写的那段代码“足够快”——添加新功能的压力会让其他程序员寻找可以节省时间的地方——并且使用时序分析工具,我们糟糕的程序员会被发现很快就出来了。

代码审查和同行压力意味着他们要么学会更加小心 - 或者他们被降级为非关键代码 - 或者他们只是被解雇。

但在整个行业中——当然仍然有糟糕的程序员——推出了糟糕的代码。几乎每天,我都会使用 JavaScript 中存在可怕错误的网站,这让我想哭。

操作系统诞生后,程序员无需再考虑硬件的问题,因此程序员的数量也增加了。哪怕是自称“对硬件一窍不通”的人,也可能会制作出一个有模有样的应用。而现在的所谓低代码平台似乎想进一步加剧这种趋势,所谓的编程从娃娃抓起的理论就出现了。只能说呵呵。

要想成为一个全面的程序员,掌握基本的硬件知识,并借助操作系统进行抽象化,可以大大提高编程效率。否则,遇到问题时就无法找到解决办法。操作系统确实为程序员提供了很多方便。不过仅仅享受方便是不行的,还要了解为什么自己能够这么方便。

在Windows操作系统下,用C语言制作一个具有表示当前时间功能的应用。time()是用来取得当前日期和时间的函数,printf()是用来在显示器上显示字符串的函数。

在计算机中尚不存在操作系统的年代,完全没有任何程序,因此程序员就需要编写出处理相关的所有程序。用机器语言编写程序,然后再使用开关将程序输入,这一过程非常麻烦。于是,有人开发出了仅具有加载和运行功能的监控程序,这就是操作系统的原型。

c++在oop上用力过猛,与编程语言界后来的发展方向背道而驰,所以有了rust。rust 是精心设计的一门语言,目的就是要克服之前指针安全,但又不影响性能的问题。

应该说rust 基本做到了,rust 又杂合了很多现代语言的特性。但似乎没有处理好这么多现代语言特性的结合问题,导致学习难度很大。Rust 还是得对标 C++ 的 template ,在类型系统和泛型上下一番功夫。别的不说,先得把 variadic generics 给弄了。

怎样提高自己的编程能力?#编程# #算法#

前两天自己花了几个小时做了一个关于算法求解函数最值的问题,盯了几个小时的电脑,眼睛很疼!

很多人在学习编程的时候,能学懂,但是自己独立编写程序就不行了!这可能是很多学习编程人的问题,不能独立写,有些通过利用别人写好的改,没有自己单独的去实践完成一个程序!

原因在于,自己的懂手能力和编程思想太弱了!那么怎么提高自己的编程能力呢?

我提出自己觉得还不错的建议:

1、多动手,一定要自己独立完成,不要去网上下个代码来改。不然你永远停留在懂得层面。

2、要培养自己的编程思维,怎么培养呢?首先得弄清某个问题的数学原理,其次就是在数学原理的基础上进行编程。所以,数学基础很重要。

3、不断的学习和实战,只有在实战中才能检验自己的水平,这样才能不断的补充自己的不足。这样下来,自己编程能力提高最快。

4、学习算法思想,这对编程很有帮助。

5、多交流,和同学老师多交流不懂的问题。

发现搞技术的人有个特性,直来直去,在客户那里受了委屈就自己生闷气,仿佛一切都是应该的,也是没办法解决的,这种事不像调试故障,排查排查就解决了,导致心里压力很大,最终自己扛下了所有,即使是黑锅。

这一点上真要和业务人员学习学习,嬉笑怒骂皆是浮云,亦是工作,多换几个角度审视,上帝视角思考下,从三个月后的时间节点回头看,都是过眼烟云,走过万水千山,最终不过是翻越心中的那座山。

作为技术,伤你的,拿捏你的,不只有外人,还有自己人,谁对你是真的好,你都分不清,[捂脸],那你就芭比Q了!年终岁尾要自己审视下一年的工作,从技术成长高度,技术实力增长速度,工作技术重复率,项目上的复盘,还有薪资收入,复盘可以认清真相。

举例一个,如果年底领导找你谈话,聊的是你一年负责项目都遇到哪些问题,你还有1、2、3……这些技术没有掌握,那你就要当心了,这一般是克扣粮饷前奏,画下一年的大饼卷鸡蛋,你的未来只有大饼没有鸡蛋。

搞技术也需要人间清醒!祝大家2023年,大家都能遇到贵人,技术与钱钱双丰收。

#西门子POL638编程#

#在头条记录打工生活#肯定是编程的问题,刚铣,一刀扎下去,拉不上来了,

只要不是我的问题,我就不用担心了[呲牙]

有人评论说,搞什么中文编程,难道要把数学中的公式都中文化?比如“x+y=z”,难道换成“甲加乙等于丙”?提出这个问题的人,以为中文编程是走极端路子,于是想当然地提了个极端的想法。中文编程的目的是“易难为易”(把困难变成容易),对于国人来说,代码中的大量英文会造成一定的困难。虽然其中的单词一个个认也能看懂,但头脑中辨识的过程,就已经降低了效率。大家可以对比下图中两种题目,一个是用中文描述,一个是用英文描述,你愿意接受哪种语言的描述方式?中文编程,就是要把描述语言中文化,对于约定俗成、简单便捷的特殊符号类的东西,是应该保留原来面貌的。其实例子已经很明显,我们的数学题目包含了大量的约定俗成的字符,也并没有把它们变成中文。到了中文编程这里,也没必要追求极端化。

发表评论
0评