如何理解初学者,为期望的职业选择哪种语言?

免责声明:不建议该文本阅读给13岁以下的孩子(他们需要制定单独的隐私权政策),年长者,中产者,心态较弱的人,VBA和ALGOL语言的爱好者以及孕妇。以上所有内容都是作者不足的个人看法,此处未列出这些内容,目的是在静态和动态打字的拥护者之间撒下矛盾。我们去:new Thread()。Start()



老实说,这篇文章早已成熟,因为最近我一直在进行讨论,发表类似文章,在此作者和参与者提出了各种假设,以他们的最佳理解来回答标题问题。它们的全部含义归结为与上面写的华丽句子相同的令人困惑的论点。

精子到程序员,从一个喜欢Pascal和Windows 3.11的少年到一个除了面包卷和终端机之外什么都不喜欢的人,我已经走了很长一段路因此,现在我将向您解释所有内容,甚至还可以显示一些图片。走。

那么选择哪种编程语言呢?


所有这些问题的愚蠢之处在于,您无法在真空中成为有条件的球形编程器。程序员现在不再是过去的离散数学家,软件和硬件对他们而言是次要的。在大多数情况下,程序员现在是一个工匠,在当前技术“窗口”的框架内工作。此外,这是您要为其行驶的行驶中的汽车的“窗口”。技术在不断变化,我们像爱丽丝·卡洛尔(Alice Carroll)一样被迫逃离原地。如果你把我最喜欢的谷歌至少,你不会有时间去了解一个Android的API,并且已经有一半的已过时的功能,还拧紧螺丝......
咳咳,是,是,像初学者的文章,好了,让我们看着办吧。首先,您仍然必须确定要做什么。面积,至少大约?

一点都不懂?


开始学习算法构造。分支,循环,数据结构,框图。将算法和程序框图转换为真实的编程语言有很大帮助(转移,而不是从Wikipedia复制粘贴!)。

如果您想打基础,应该从哪种语言开始?


原则上,任何。由于您只需要学习如何编写简单的程序,了解什么是变量,运算符,探索经典算法(例如最大搜索,排序,二进制搜索等)。接下来,请访问OOP和数据结构,因为在面试时会要求您,向量与列表有何不同!

但是,如果您需要一种语言来执行应用任务该怎么办?
是的,您不想成为一名程序员。也许您是一位需要使用DNA链解析文本文件的科学家,或者是一位想编写交易机器人的想法的投资者。在这里我建议Python,也许其他语言的拥护者可以原谅我。 Python是一种具有令人眼花capabilities乱的功能且入门门槛较低的语言。刚开始时,甚至一开始,对于初学者来说,这都是一种简单的“教育”语言(直到您开始将它们放入协程和函数中)。

好吧,你说,但是下一步去哪里?没有一个蟒蛇...?当然不是。它在哪里拉你?网络?桌面?剧本?系统级移动电话?亲爱的,您决定,没有通用的解决方案!

像网站建设?好吧,让我们在这里写像鹦鹉一样的东西:html,javascript和其他类似的东西(仍然在python和django中,而其他一些人则悄悄地潜伏在那里)是否

想要苛刻的Web服务? PHP,node.js,ruby,Java和相同的Python。

是否想更接近硬件和操作系统?掌握C / C ++(尽管每个人都去投篮,但不要用腿开枪或割伤自己)。顺便说一句,我建议所有程序员至少处理C / C ++的基础知识以及STL的基类,这有助于以不同的眼光看待GC。如果一块铁落在您的头上,请学习汇编程序。

是否要编写脚本,解析,挖掘,使用大数据,构建模型,编写机器人,管理操作系统等等?拿起已经发声的Python3 +。如果更多地处理数据-您仍然可以使用R。

是否梦想着编写桌面应用程序?在这里什么!虽然德尔福接受了!当然是在开玩笑。在这里,您需要查看要编写什么系统,以及是否需要跨平台。例如,Python或Java代码将是可移植的。必须为每个平台分别构建C / C ++。

想知道java核心吗?所以您已经知道为什么需要Java。不知道?您现在将如何解释为什么需要它。你看到空气了吗?然而,没有它就无法生存。

当然,还有一些花哨的东西,例如Kotlin。很酷的事情,这种语言杀死了我的昵称NPE的老朋友,好吧,他被杀了-他受伤了!我只是不知道如何为不懂Java的人正常学习它?不,“ Hello world”是在没有Java的情况下轻松编写的,但我对此一无所知。

也许您决定写游戏?有很多现成的设计师,相同的Unity3D和二维引擎,通常直接在多个平台下。您已经自己看过了:C#,Java等。所有这些知识都是通过各种数据传输协议,操作系统,框架,加密和加密,授权和身份验证,XML,JSON,数据库技术,应用程序保护,版本控制系统等等。

现在,我将揭开如何成为程序员的最大秘密:程序!有事!即使没有人需要也可以编写程序。写是因为您需要它,而不是别人。不断抵制无能,填补这些空白,再次抵制新的空白。只要您的头部所有可能的缓存中都有足够的内存即可。

您还能如何回答这个问题:“要学习哪种语言?”。显然,您要与之交谈的人。

此致,
HackerU国际信息技术与网络安全学院讲师Edward Koch

All Articles