gpt4 book ai didi

c++ - 希望拓宽视野的C++程序员

转载 作者:行者123 更新时间:2023-12-01 22:58:45 31 4
gpt4 key购买 nike

我从事C++编程已有5年了,现在我意识到知道如何“不同地”思考的值(value)。

这个问题适用于尝试其他编程语言并遇到过类似情况的C++程序员:

  • “哇,这太酷了!我不知道我可以那样编程。”
  • “哇,我从没想过可以通过这种方式解决设计问题!”

  • 那么,那是什么语言给您的?我正在寻找最大的效果,所以我认为Java不适合。 = p不过,我愿意接受任何建议!

    免责声明:我之所以问这个问题,主要是因为我想扩大自己的视野。无意在此处开始任何编程语言大战 !

    最佳答案

    我可能是内心的,主要是C++程序员,因为我已经使用了很多,所以您可能会发现我的经验很有趣。

    按照时间顺序,这是我学到的语言和顿悟。我已经为我重点介绍了那些大的。当然,有许多种语言可以提供相同的见解,我只是分享自己的个人经历。

  • Atari Basic-不错,我可以使计算机执行几乎所有操作,但我会一直用到8k内存限制(或者行号用完了)!
  • 徽标-无行号。我可以以增量方式构建和运行我的程序(后来我在Lisp,Scheme和Forth中看到了)
  • Pascal-类似于Basic,但是具有更多功能(并且没有行号)。
  • C-这就是指针(现在我明白了peek和poke)。
  • Assembly-啊,这就是为什么按原样设计C的原因。我不妨只使用C而不是汇编。
  • C++-对象是将程序构造为逻辑块的好方法
  • BASH-使用流(过滤器,源和接收器)进行编程非常强大
  • PostScript-字体是程序! 基于堆栈的编程是一种非常强大的范例
  • Prolog-因此,您可以编写一堆约束,然后让计算机自己解决问题。但是,天哪,很难知道要让它完成我想要的工作有哪些限制!
  • Perl-人们是否不了解所有规则都没关系。我猜有些语言的设计要比编写起来容易阅读。
  • SQL-查询数据的便捷方式。这让我想起了Prolog。 (后来让我想起了函数式编程)。
  • Lisp-因此,您不需要手动进行内存管理,就可以创建链接列表! (请注意,我在Lisp上没有花费足够的时间。很多以后的类(class)都可以用它来学习。)
  • Object Pascal-很酷,Pascal也可以有对象。
  • Modula-2-奇怪,看起来像Pascal。
  • Simula-67-嗯...这就是面向对象语言的来源吗?
  • Java-一切都可以成为对象(我后来了解到,更多的东西可以成为对象,请参见下面的Smalltalk),并且代码可以一次编译并在不同平台上运行。我曾经遇到过的其他顿悟是接口(interface)是一种构建软件的好方法,而垃圾回收确实是强大的
  • Delphi-哇,GUI库很容易使用。 事件是一个很棒的抽象
  • C++模板-在编译时编写代码非常强大(请参见Scheme和Lisp)。
  • C++函子和活页夹-将函数传递给函数是强大的,但是语法很糟糕。 (这实际上是我第一次使用函数式编程,这显然是大多数语言做得更好的)。
  • JavaScript-原型(prototype)和评估函数非常强大
  • XSLT-我不敢相信这已经完成了图灵。这一定是当学者变坏时发生的事情。
  • Eiffel-契约(Contract)是表达设计假设和要求的好方法。
  • AspectJ-跨 Realm 的关注点是很有意义的,的确确实很难在其他OOPL 中表达。但是,通过函数名称来识别它们似乎是黑客?
  • Scala-字段和方法是相同的。高阶函数可以很容易编写。编译器可以猜测简单表达式的类型(而不是模板)。目标代码可以简单得多。模式匹配很简洁,但是什么时候使用它们呢? 特性和混入甚至比接口(interface)更好。
  • C#-这就像将Delphi与C++和Scala混合在一起。我可以在运行时反射(reflect)所有内容,甚至可以轻松发出代码。
  • D-这就是在保持C++心态的同时将单元测试与按契约(Contract)设计以及许多其他东西结合在一起的样子。
  • Smalltalk-并不是真正地学习它,但是Smalltalk程序员在这段时间向我指出,在Smalltalk中,所有东西实际上都是一个对象(不需要装箱/拆箱),包括代码块。
  • LINQ-SQL基本上只是函数式编程。
  • Lua-一切都可以当桌子!听起来像JavaScript,但是更容易嵌入。
  • ML-仅使用模式时,可以编写很多简单得多的代码。
  • Lambda计算-这就是Lisp和函数式编程来自的地方。
  • Scheme-在编译时生成代码非常容易。这真的很容易扩展。数值处理可以做得很好。保持状态的功能强大。延续很整齐,但我不在乎。
  • Frink-我从未意识到度量单位可能如此复杂。
  • Joy-这是我见过的最短的代码。这是目前最被低估的语言。
  • 组合逻辑(SKI-微积分)-不需要参数,但可以使用组合器。 这对Joy来说就像Lambda演算对Lisp 一样。
  • Haskell-我希望我可以编译我的代码。 Haskell标准的前奏必须成为我见过的最优雅的库之一
  • 因素-里面有很多很棒的东西,我只是希望我可以去学习语法。
  • K-基于数组( vector )的基本操作非常强大
  • Forth-这就像一个 super 强大的高级装配。有很多东西要学。
  • Python-这真是易读的东西。这就像其他语言的结合。
  • Erlang-将程序表示为参与者是表达并行性的好方法。
  • 可执行UML-异​​步消息传递是一种表示并发算法的好方法,而无需考虑线程
  • Ruby-构建系统(Rake)可以用一种真正的编程语言编写。代码块也可以是数据(从技术上讲,我是通过Scala学会的)。

  • 因此,此列表当然比您(或其他任何人)想要的要长得多。为了获得最大的效果,我的简短列表是:Scheme(或Lisp),Joy(或PostScript),Erlang,Eiffel,AspectJ,Erlang,ML和Haskell。如果您只想专注于几种语言,并且愿意深入学习它们,那么您可以从掌握Scala或C#中学到很多东西。当然,您仍然可以从C++ 0x中学到一两个东西,尤其是如果您稍微推一下它。

    关于c++ - 希望拓宽视野的C++程序员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1583142/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com