我应该先学哪种编程语言?

亲爱的tl80,关于如何学习代码,我已经决定试一试。问题是,我不知道从哪里开始。对我这样的初学者来说,最好的编程语言是什么?...

亲爱的tl80,关于如何学习代码,我已经决定试一试。问题是,我不知道从哪里开始。对我这样的初学者来说,最好的编程语言是什么?

签名,可能是编码员

亲爱的,这可能是初学英语的人最常问的问题之一,也是教育工作者争论的问题。问题是,你可以问十个程序员什么是最好的语言,让你的脚湿,你可以得到十个不同的答案有成千上万的选择。你开始使用哪种语言,不仅取决于它对初学者的友好程度,还取决于你想从事的项目类型,你为什么对编码感兴趣,也许还取决于你是否想过以此为生。以下是一些考虑和建议,以帮助您做出决定。

你为什么要学编码?

取决于你想做什么或做什么,你的选择可能已经为你准备好了。例如,要建立一个网站或webapp,你应该学习HTML和CSS,以及JavaScript和PHP的交互性。如果你的重点主要是/仅仅是构建一个移动应用程序,那么你可以直接学习Objective-C for iOS应用程序或者如何使用Java for Android(以及其他东西)编程。

如果你想超越一个特定的项目或专业,或者想学习一堆语言,最好从学习编程的基本概念和如何“像程序员一样思考”开始。这样,不管你的第一门编程语言是什么,你可以将这些技能应用到学习新技能上(可能只需21分钟)。甚至孩子们的编码应用程序也可以从一开始就很有用。例如,我上的第一门正式编程课程(除了四年级的基础课程)是哈佛大学的CS50,你可以免费选修。马兰教授从Scratch开始这门课程,Scratch是一个为孩子们设计的拖放式编程环境,它教你编码基础知识和逻辑,同时帮助你创造一些很酷的东西,然后他继续教你C。

多年来,我们为学习代码提供了其他一些优秀的资源,例如交互式课程Codecademy,但即使使用这些资源,您仍然需要选择从哪种语言开始。因此,让我们看看比较流行的语言和最推荐的入门语言之间的区别。

最常推荐给初学者的编程语言

大多数“主流”编程语言,如C、Java、C#、Perl、Ruby和Python,都可以完成与其他语言相同或几乎相同的任务。例如,Java可以跨平台工作,用于web应用程序和applet,但是Ruby也可以做大型web应用程序和Python应用程序,类似地运行在Linux和Windows上。soaworld指出,由于许多语言都是以彼此为模型的,因此使用它们的语法或结构通常几乎相同,因此学习一种语言通常有助于学习其他语言。例如,要打印“Hello World”,Java和C#在语法上类似于Perl和Python:

Illustration for article titled Which Programming Language Should I Learn First?

然而,它们的不同之处在于设置和进入的容易程度。SOA世界继续:

嘿,顺便说一句,如果你仔细看这些例子,你会发现有些是简单的,有些是复杂的,有些在行尾需要分号,而有些则不需要。如果你刚刚开始编程,有时最好选择没有很多语法(或逻辑)规则的语言,因为这样可以让语言“走出自己的路”。如果你曾经尝试过一种语言,并且真的很难适应,那就试试更简单的一种吧!

下面是最流行的编程语言的快速比较:

c:训练你写高效的代码

C语言是应用最广泛的编程语言之一。这有几个原因。正如著名的程序员和作家乔尔斯波尔斯基所说,C对于编程来说就像学习基本解剖学对于医生一样重要。C是一种“机器级”语言,所以你将学习一个程序如何与硬件交互,并在最低硬件级别学习编程的基本原理(C是Linux/GNU的基础)。你学习了调试程序、内存管理、计算机如何工作等高级语言(如Java)所没有的知识,同时也为你编写其他语言的高效代码做好了准备。C是许多其他高级语言的“祖父”,包括Java、C#和JavaScript。

也就是说,与其他语言相比,C语言的编码更严格,学习曲线更陡,如果你不打算开发与硬件接口的程序(例如,使用设备驱动程序或操作系统扩展),学习C语言将增加你的学习时间,也许是不必要的。Stack Overflow对C和Java作为第一语言进行了很好的讨论,大多数人都指向C。然而,就我个人而言,虽然我很高兴接触到C语言,但我认为它不是一种非常适合初学者的语言。它会教会你纪律,但在你做任何有用的事情之前,你必须学很多东西。而且,因为它太严格了,你可能会像这样沮丧:

Illustration for article titled Which Programming Language Should I Learn First?

java:最实用的语言之一

Java是第二流行的编程语言,也是斯坦福大学著名的(免费的)CS编程入门课程中教授的语言。java强制使用现代语言中的面向对象的原理(OOP),包括C++、Perl、Python和PHP。一旦你学会了Java,你就可以很容易地学习其他OOP语言。

Java具有使用历史悠久的优点。有很多“样板”的例子,它已经教了几十年了,它被广泛用于许多目的(包括Android应用程序开发),所以它是一种非常实用的学习语言。你不会像使用C那样获得机器级的控制,但是你可以访问/操作最重要的计算机部分,比如文件系统、图形和声音,这些都是可以在任何操作系统上运行的非常复杂和现代的程序。

蟒蛇:有趣又易学

许多人推荐Python作为最好的初学者语言,因为它简单但功能强大。该代码易于阅读,并强制执行良好的编程风格(如缩进),而不必对语法过于严格(如记住在每行末尾添加分号)。Ariel Computing的Patrick Jordan比较了用各种语言(BASIC、C、J、Java和Python)编写简单脚本所需的时间,并确定不应忽略其他语言,Python:

需要更少的时间、更少的代码行和更少的概念来达到给定的目标。[…]最后,用Python编程很有趣!有趣和频繁的成功培养了学生的信心和兴趣,这样学生就可以更好地继续学习编程。

SOA说Python对于那些想熟悉Linux(或者已经熟悉Linux)的初学者来说是绝对必须的。由于Pinterest和Instagram等热门网站的广泛采用,Python的受欢迎程度今天也在迅速上升。

javascript:用于直接跳入和构建网站

JavaScript(与Java关系不大)需要最少的设置,因为它已经内置在web浏览器中。O'Reilly Media建议您从JavaScript开始,因为它有一个相对宽容的语法(您可以用JavaScript松散地编写代码),您可以从代码中立即看到结果,并且您不需要很多工具。在我们自己的“学会编写代码”夜校中,我们使用JavaScript向您展示变量和函数如何工作等基本知识。如果你想为web**很酷的交互式东西,JavaScript是一项必备技能。

选择你的道路

最后一个要考虑的问题是,你是否愿意把编码作为一种爱好,变成一种职业。Dev/Code/Hack分解了不同的工作角色以及您应该为他们学习的技能:

后端/服务器端程序员:通常使用以下几种语言之一:Python、Ruby、PHP、Java或.Net。有数据库知识。可能有一些系统管理知识。

前端/客户端程序员:HTML、CSS、JavaScript。可能有设计技巧。

移动程序员:Objective-C或Java(对于Android)。移动网站的HTML/CSS。可能具有服务器端知识。

3D程序员/游戏程序员:C/C++,OpenGL,动画。可能有很好的艺术技巧。

高性能程序员:C/C++,java。可能有数学或定量分析方面的背景。

不过,最终没有一种方法可以开始学习代码。最重要的是通过“挠痒痒”来学习基础知识,也就是说,通过解决你想解决的问题或你想建立的东西来学习。正如编程很糟糕的博客所说:

你学的第一门编程语言可能是最难学的。选择一些小而有趣的东西让这少了一个挑战,多了一个冒险。从哪里开始并不重要,只要你继续写代码,继续读代码。也别忘了测试一下。一旦你有了一门你满意的语言,学会一门新的语言就不是什么了不起的事了,你会在学习的过程中学到新的技能。

一旦你决定了,前面提到的便当将建议你需要的资源和课程后,你已经学习了你的第一语言。

爱你,生活黑客

  • 发表于 2021-05-22 07:49
  • 阅读 ( 254 )
  • 分类:互联网

你可能感兴趣的文章

你将来应该学习哪种编程语言?

有了几十种行业标准编程语言和数百种其他活动语言来考虑,挑选最好的编程语言学习可能会很困难。如果你要投入数千小时的时间学习和实践,你希望结果是值得的。 ...

  • 发布于 2021-03-11 19:38
  • 阅读 ( 331 )

寻找最好的编程语言?从这里开始!

...是一个从未接触过的编程新手,最重要的问题是:“哪种编程语言适合我?” ...

  • 发布于 2021-03-12 12:24
  • 阅读 ( 297 )

最适合新手的ruby互动介绍

...题。对于初学者来说,这两种语言都很简单。但也许你对先学哪种语言有点困惑。如果你倾向于鲁比,这里有一个伟大的婴儿步骤,你可以采取。 ...

  • 发布于 2021-03-13 09:52
  • 阅读 ( 216 )

如何通过阅读每日新闻来学习一门新语言

... 你想学哪种语言? ...

  • 发布于 2021-03-13 22:32
  • 阅读 ( 193 )

10种最常见的编程和编码错误

...复的。根据经验,如果复制和粘贴代码,可能是重复的,应该更改。 ...

  • 发布于 2021-03-18 04:48
  • 阅读 ( 237 )

通过本课程建立一个网站来学习web开发

进入web开发世界的道路有时看起来很混乱——因为有多种编程语言、几十个框架和库,所以没有明确的路线图。你应该按什么顺序学哪一个? ...

  • 发布于 2021-03-27 04:04
  • 阅读 ( 176 )

你现在可以免费访问fender的在线吉他课程

...更好。课程是按时间顺序进行的,所以很容易知道你到底应该做什么。每节课都有一个相关的视频,而且大多数视频只有几分钟长,所以你可以用它们来打发一天的时间,或者连续观看一系列视频,以获得完整的课程。如果你已...

  • 发布于 2021-05-13 02:47
  • 阅读 ( 134 )

一个好的学习者会向许多老师请教

...学习编码,我永远不会用完。如果我真的很认真的话,我应该一次试十个。因为当我在一个教程中遇到令人沮丧的部分时,我可以跳转到另一个,再跳转到另一个,直到我拼凑出足够的技能来再次处理第一个。当我无聊的时候,...

  • 发布于 2021-05-13 07:44
  • 阅读 ( 147 )

学习四种编程语言的基础知识以进入早期的编码阶段

...职业或**工作。努力学习Python。肖有一个建议:学习四种编程语言的基础知识。肖详细描述了初学者和早期程序员之间的区别。初学者没有任何经验,所以他们需要学习一些非常简单的东西,比如打开终端,其他程序员可能会想...

  • 发布于 2021-05-17 09:29
  • 阅读 ( 93 )

决定用这个交互式测验学习哪种编程语言

虽然我们已经向您介绍了选择一种符合您愿望的编程语言的基础知识,但有时交互式测验比阅读更有趣。对我来说最好的编程语言就是这样。这个测验只有一小部分问题,但是它很好地引导你得出一个合乎逻辑的结论,即什么样...

  • 发布于 2021-05-17 22:54
  • 阅读 ( 147 )
addgkrqskl
addgkrqskl

0 篇文章

相关推荐