从Python开始,第二门要学习的编程语言应该是什么?

发布于 2024-09-17 00:55:59 字数 133 浏览 4 评论 0原文

我正在考虑学习一种更底层的语言,例如 C,但在此之前我想了解一些关于:

  1. 您建议学习的第二语言是什么?
  2. 学习低级语言会让我成为更好的程序员吗?
  3. 真的有必要学习第二门编程语言吗?

i was thinking learn a more low level language like C, but before it i'd like some opnion about:

  1. what's the second language do you recommend to learn?
  2. learn a low level language will make me a better programmer?
  3. it's really necessary learn a second programming language?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

你丑哭了我 2024-09-24 00:55:59

倒退:

(3)当然 - 通过学习多种语言,你的能力将提高几个数量级。

(2) 低级语言会让你成为更好的程序员——或者函数式语言也会有所帮助。

(1) 低级:选择C.Functional,尝试Scheme或Haskell。如果您有需要,C 还使您能够向 Python 编写扩展模块。

Going backwards:

(3) Absolutely - you'll increase your ability by orders of magnitude by learning multiple languages.

(2) A low level language will make you a better programmer - alternatively a functional language will help as well.

(1) Low-level: go with C. Functional, try Scheme or Haskell. C also gives you the ability to write extension modules to Python if you ever have the need.

┾廆蒐ゝ 2024-09-24 00:55:59

您建议学习的第二语言是什么?

某些必要的东西(即相同的范式)但不同。 Python 是动态类型的,带有显着的空格,因此某些静态类型的类型没有显着的空格:例如 Java 或 C#。

这些也将成为迈向 C 的一个很好的垫脚石。C 的好处是你真正知道发生了什么,但缺点是你必须控制这一切。大多数业务问题不需要这种级别的控制。

真的有必要学习第二种编程语言吗?

确实很主观,但大多数优秀的开发人员都知道很多(考虑一个 Web 应用程序:服务器上的 Python、Ruby、C#、Java;数据库上的 SQL 和客户端上的 JavaScript;然后是标记......)。

您将受益于能够看到解决问题的其他方法,从而创建更好的解决方案。因此,一旦您了解了更多命令式语言,就可以进入其他范式,例如函数式语言。

what's the second language do you recommend to learn?

Something imperative (i.e. same paradigm) but different. Python is dynamically typed with significant whitespace, so something statically types without significant whitespace: e.g. Java or C#.

These would also make a nice stepping stone towards C. The benefit of C is you really know what's going on, but with the disadvantage that you have to control it all. This level of control is not need for most business problems.

it's really necessary learn a second programming language?

Really subjective, but most good developers know many (consider for a web app: Python, Ruby, C#, Java on the server; SQL on the database and JavaScript on the client; and then the mark-up...).

You benefit from being able to see other approaches to problems and thus create better solutions. So once you have covered more imperative languages move into other paradigms like functional.

相思碎 2024-09-24 00:55:59
  1. 我同意你选择 C,这导致了 C++。如果没有别的事,学习 C 将告诉你为什么现在人们倾向于更喜欢具有自动内存管理功能的语言 - 但它也可能会给你一种“接近金属”编程的感觉(没有汇编语言编程的痛苦),并帮助您了解处理器的实际工作原理。并不总是有用的知识,但很高兴知道。

    无论您选择什么,我都推荐静态类型语言 - C、C++、Java 和一些符合此要求的函数式编程语言。如果您一开始发现 C 有点困难,Java 可能是一个不错的选择。

  2. 我想说学习任何新语言都会让你成为更好的程序员。然而,学习 C 会让你成为更好的 Python 程序员吗?可能不会;为什么要这样做?!

  3. 定义“必要”!从严格的定义来看,不是。但你错过了必须以不同的方式思考事情的经历(即使只是稍微不同的方式)。

  1. I agree with your choice of C, which leads on to C++. If nothing else, learning C will teach you why people these days tend to prefer languages with automatic memory management - but it will potentially also give you a feeling of programming "close to the metal" (without the pain of programming in assembly language), and help you to understand how a processor actually works. Not always useful knowledge but it's nice to know.

    Whatever you choose, I recommend a statically-typed language - C, C++, Java, and some functional programming languages fit this bill. Java might be a good choice if you find C a bit tough at first.

  2. I'd say learning any new language makes you a better programmer. However, will learning C make you a better Python programmer? Probably not; why should it?!

  3. Define "necessary"! By a strict definition, no. But you're missing out on the experience of having to think about things in a different way (even if it's only a slightly different way).

顾铮苏瑾 2024-09-24 00:55:59

我会保留相同的范式,但为另一种范式(函数式编程)保留选项。也许 C# 是一个不错的选择,因为

  • 如果你决定稍后学习 C/C++,它会变得更容易一些。
  • 如果您决定稍后要学习函数式编程,您可以切换到 F#,但仍使用用 C# 编写的现有代码,因为您仍在 .NET 框架内。
  • Python 并不是一种速度非常快的语言。您应该考虑学习一种具有更好计算性能的语言。但是,旧的 ANSI C 可能级别太低,尽管您可以用它编写非常快的程序。对于即时编译语言来说,C# 的性能还不错,如果以后需要更高的性能,您仍然可以将知识扩展到 F# 或 C。
  • 虽然我私下不使用 Microsoft Windows,经常宣传 Linux 和开源,如果您打算通过编程赚钱,那么提供一些有关 Microsoft 技术的知识可能是个好主意。

I would stay with the same paradigm, but leave options open for another paradigm (functional programming). Probably C# is a good choice, because

  • If you decide to learn C/C++ later, it'll become a bit easier.
  • If you decide you want to learn functional programming later, you can switch to F# but still use existing code written in C#, because you stay within .NET framework.
  • Python is not known to be a remarkably fast language. You should consider learning a language which allows better computational performance. But good old ANSI C is probably too low level, despite you can write very fast programs with it. C# has OK performance for a just-in-time compiled language, and if you need more performance later, you can still extend your knowledge towards F# or C.
  • Although I don't use Microsoft Windows privately and advertise Linux and Open Source frequently, it's probably a good idea to offer some knowledge about Microsoft technology in case you intent to earn money with programming.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文