点击上方蓝色“ 网路冷眼” 可以订阅哦!
你知道我真的很讨厌什么吗?
针对程序员的技术文章,解释了 为什么 你应该做的事情,可是作者一点不谈及 任何个人经验 。
讲真 - 你怎么能相信一个从来没有蹲过战壕,开过枪,挂过彩而凯旋而归的人?
我把一个不同的方法放在一起这篇文章,写了一些我相信其他程序员喜欢自己想听到:
我不在这里为Python传播福音。
我不在这里告诉你Python是“最好的编程语言”(无论什么意思)。
我甚至不会告诉你“尝试”用Python构建你的下一个项目,因为我不知道你的下一个项目到底是什么,还有Python是否会是一个很好的选择。
相反,我的目标是作为一个与你相关程序员,我将分享一些作为程序员的职业生涯中的个人故事,并希望你能看到自己的一些部分影子。
如果你坚持阅读本文的其余部分,我想你会得到我几年前的同样的结论 -无论你是否意识到,Python将会影响你的未来。那么为什么不学Python呢?
言归正传,让我们深入了解选择Python 的理由吧。
#1 第一次做程序员?快速学会Python
我记得我第一次拿起一本程序设计书那是在15年前。
那时我只是一个孩子,可能最多是13岁。
Andrew ,我的一个发小,把我领入到了计算机世界。他向我展示了电脑不只是连接到互联网和访问网站,还有七七八八的功能。
他向我展示了HTML的基础知识,以及如何使用“标签”以及基本标记语言真正 构建 网站。
从那时候起,我一直沉迷其中,不能自拔。
肆无忌惮的控制水平、创作者任意挥洒的自由、艺术家魔术般的画布。这一切,让我感觉是一个正在创造奇迹的程序员。
第二天早上,我恳求我的妈妈带我去当地的图书馆,如此我可以更多地了解计算机编程。
也许不奇怪,目光所及第一本书的标题中有“ BASIC ”一词。对于初学者,这个名字一定会吸引你。
整个夏天(和安德鲁的帮助下),我使用这本书来学习编程的基础知识,基本的控制结构,以及如何组织一个程序。
但在将要结束的某一天,我感到非常失望 – 随着秋季学期的到来,我几乎放弃了编程。
咋回事呢?
原来我不能用BASIC做任何超“ 酷 ”的东西出来 - 这种语言的本质是非常有限和碍手碍脚(这是莫大的讽刺,因为我现在使用的Python,就是以在吃之前挤压并破坏所捕获猎物的蛇:snake:命名的)。
我无法访问低级系统资源。
我无法加载和操作图像。
我无法做任何类型的统计或计算分析?
忘掉它吧!
尽管我花了所有的时间 学习如何编程 ,但我不能展现任何东西。
所有的说,我向前走。我意识到我的编程“生涯”不必在BASIC 止步。
在我高中的一年级期间,我转向学习C / C ++。这是一个更难的语言,花了我一段时间来精通它。我真的喜欢C给了我的自由,即使这意味着有时是搬起石头砸自己的脚。
在学习C / C ++之后,我转向学习Java和面向对象的编程。这很有趣,但感觉它做任何事情都想获得 永垂不朽 。
在大高二学年结束时,我第一次尝试了脚本语言:具体来说,Python!
那时宝宝都惊呆了,竟然有这么棒的语言!
代码 可读性超好 - 几乎像写初级英语或简单的抽象数学那样轻松自如。
对代码本身而言也具有面向对象的风格。Python 不是像Java一样的极端,一点即通,如老友重逢。
也许最令人惊讶的是我的代码看起来多么 优雅!
使用空格保证了我的代码被整齐地组织成整齐的小块。通过遵循基本编码标准和建议,第一天结束时我使用语言就写了漂亮的、易于维护的代码。
回想起来,我多么希望我使用Python 开始学习编程的。
当然,BASIC教给我基本的编程,但以相同的、简单的方式,Python照样能够完成同样的任务。
如果时光能够倒流,我会毫不犹豫跳过BASIC完全走向Python 的学习。我会享受更多愉快的体验,获得了更好的时间投资回报,并更好地准备学习C/ C + +和Java。
#2 Python用于Web开发
我承认:
当我第一次开始编写Web应用程序时,我并没有使用Python - 我使用了PHP。
事实上,那时我对PHP 情有独钟,我甚至不会考虑应用另一种编程语言可能对Web开发更好的可能性。
但是我错了。
彻彻底底地错死了。
直到我的朋友Patrick告诉我Python网络框架Django,我的心才变好了。
在PHP中花费了 数个小时 的时间的任务可以使用Python 分分钟 搞定。
更不用说,事实上,我的代码是更快、更稳定了。
Django 之后,我转向学习Flask,另一个Web 框架,虽然微小,但具有很强的构建可定制性。
一旦我开始使用Django和Flask,我从来没有回头再使用PHP。
虽然大多数网站仍然运行在PHP之上,但许多 新的 Web应用程序正在使用Python来构建。
如果你打算做任何Web应用程序开发,尝试Python和Django / Flask 吧。 我想你会印象深刻,感觉良好。
#3 Python 驱动创业公司成功
创业公司要想成功绝非一夜之功。
相反,它来自一系列 迭代过程 ,通常看起来像这样子的:
了解(潜在)客户的需求。
构建最小可行产品(即,解决客户问题的 最小 可能的功能集)。
向客户软件。
重复此过程,直到客户满意。
这个过程允许创业公司“迈向”成功之路。从一个想法开始,然后细化想法和产品,直到最后“成功了”。
在网络世界中,Python是这个过程的理想选择。
该语言允许您 快速编码 ,使用最少的代码行(比Java小5倍,比C ++少10倍)来构建复杂应用程序。
迅速从 创意到实现 是创业世界获得成功的 关键 ,所以如果你有兴趣与创业公司合作,我强烈建议你学习Python。
就我个人而言,我从18岁开始就在创业公司工作。
无论特定的产品是基于网络,移动或企业的,作为核心产品的一部分或作为支持实用程序,Python 最终 都找到了进入公司的路径。我毫不怀疑这种趋势在未来仍将继续。
#4 想要高薪吗?成为一个Python程序员吧!
在由Indeed.com创建并由codementor.io发布的2016年开发人员薪水研究中,发现Python开发人员的平均工资是107,000美元:
基于这项研究,Swift,Python,Ruby,C ++和Java将让你赚更多的钱(PHP垫底)。
考虑到移动应用程序的货币化,也许Swift高居榜首并不奇怪,因为它通常用于开发iOS和macOS应用程序。
但Swift下面紧随其后就是Python和Ruby:前五个中只有两种脚本语言。
虽然Ruby是一种通用编程语言,适用于许多应用程序,但是当轮询一组Ruby开发人员时,会发现他们正在使用Ruby进行Web开发。
Python在另一方面是不同的: 它更多样化 。
不要误会我,你会毫无疑问地看到许多程序员使用Python进行Web开发,但 你也会看到Python为科学应用程序提供动力 。
根据我个人的经验,我可以告诉你,我认同这个薪酬排行榜。
当我作为一个PHP开发人员工作时,我在我的职业生涯中赚到钱最少。
然后我转向Java和企业开发时,我撞上了大运。
但是,直到我开始在计算机科学Python社区工作时,才发生 真正的变化 。
虽然是道听途说,但是我 真的相信 Python比Ruby打开更多的门, 特别是从科学的立场上看 。
我的预测是,鉴于Python不仅是一种通用的编程语言,而且也是一门 科学的编程语言 ,我们很快就会看到Python在更高的薪水方面接管了Ruby ,挣得更多。
#5 想进入安全领域吗?先进入 Python 世界吧
五个月前,我的一个一起健身的朋友介绍我认识他的儿子Sean。
Sean刚刚从高中毕业,并在秋季学期前往芝加哥大学上学。
我对他的专业产生了好奇,我问Sean他计划学习哪些课程。
他回答说是网络安全。
网络安全是一个超棒的领域,多金,可以挣得盆满钵满。
想想看 - 网络安全的运营与一个围绕停尸房和殡仪馆设计的业务有许多相似之处。
这可能是可怕的,但人们会继续死亡;除非我们神奇地找到生命的灵丹妙药,否则殡仪馆商业机不会停滞。
同样,从来不缺少网络攻击。甚至有人猜测,下一次世界大战将在网络空间中打得你死我活,而不是通过部队在真实世界里真枪实弹的开战。
Sean告诉我关于他的高中的编程课程,他如何两年的时间里学习Java、面向对象的编程和软件设计。
虽然我印象深刻,他的培训甚至 有 两年的程序设计课程,但是当我听到他们没有教授任何脚本语言,我感到有点难过。
在圣诞节休息期间,我碰到了 Sean,问他如何享受芝加哥大学的快乐时光的。
他做得很好。
他正在与他所有的计算机科学课程翩翩起舞。
他加入了学校的网络安全团队...
我咧嘴笑了,因为我已经知道答案,我问他:“什么让你学习Python?
他回答说:“这很容易,人!你可以用Python做任何事情啊。当我第一次加入网络安全团队时,我使用Java编写渗透测试程序。我花了几个小时写的程序,而我的同行分分钟搞定。“
Sean 认识到了脚本语言的力量。
虽然你可能牺牲一些执行速度,但你获得了更多的灵活性,编写代码的设施,最重要的是, 具有快速实验的能力 。
我的观点是,Python包括所有这些世界中最好的东西。如果你还没有尝试过,那么你真的应该试一试。
#6 Python是AI和机器学习的未来
Python编程语言目前正在推动科学编程普及,但原来的情况并非总是如此。
多年来 ,学者和私人研究人员一直使用MATLAB语言进行科学研究。
这一切都开始随着Python数值计算引擎(如NumPy和SciPy)的发布而改变,允许通过单个“import”语句后跟一个函数调用来完成复杂的计算。
虽慢但确实,Python开始接管作为计算机科学研究的首选语言。
事实上,我用Python编写了我的博士论文中 所有 用于收集结果的代码。
当我毕业获得学士学位时,即使非计算机科学的学生已经开始自学 Python 和使用它来推动自己的研究。你将看到非计算机科学家利用Python,
,计算生物学是一个很好的例子。
这些天我花更多的时间编写科学的Python代码比任何语言都多,所以虽然我明显有失偏颇,但我还是可以告诉你:
考虑到语言的灵活性,其速度以及提供的机器学习功能库(如scikit-learn,Keras和TensorFlow),我们将继续看到Python在机器学习领域占据主导地位。
在我心中毫无疑问:如果你对计算机科学研究 甚感兴趣 , 你应该学习Python 。
#7 不做只会一招半式的码农
在这个过去的夏天,我设置了我的第一个美国401k养老金计划。
我和我的财务顾问聊了多次天,讨论各种投资工具和策略,以及分配我的投资组合的不同方法。
不管对话如何开始,但最后都指向同一个地方:
在投资界,这简单归结为“不把你的所有鸡蛋放在同一个篮子里。”如果你掉下篮子,那么所有的鸡蛋都摔破了。
因此,你的目标是多样化:把一大块钱投入大公司股票,将另一块(较小)的块投入小/中型公司股票,然后将另一块投入债券,最后剩余的金额进入国外市场,贵金属,等等领域。
有意义,对吧?
如果你把 所有 的钱放入股票,市场再次碰到像2008年那样的经济危机,那么你的退休投资组合将被完全粉碎。通过多样化,您将风险降至最低。
无论相信或不相信,编程世界并没有什么不同。
在过去的十年中,尽管拥有编程专业化技能变得越来越有价值,但是你必须小心不要把自己当作“那个做Java 的家伙”或“那个做C ++的家伙”。
例如,我是一个程序员,我 专门 从事计算机视觉和机器学习。
但是,我 不 只是一个“做Python的家伙”或“做OpenCV的家伙”。
我使用Java来构建大规模的企业和政府应用程序。
我使用C ++工作在实时应用程序。
我甚至定制PHP应用程序,以扩展到成千上万的用户。
我的观点就是: 让简历更加丰富多彩 。
尽管我有一个利基,知道我的利基,但我也可以承担任何其他任务。
如果你没有Python在手,考虑把它添加到你的剧目,并增加作为一个程序员所需的多元化和市场意思。
现在怎么办?
所以,你准备好学习Python, 但是你怎么开始?
我会在下个月回来回答这个问题,并提供我最喜欢的学习Python编程语言的资源。
回头见!
参考:
7 Reasons Why You Should Learn Python RightNow
https://simpleprogrammer.com/2017/01/18/7-reasons-why-you-should-learn-python/
长按二维码可以关注“网路冷眼”
联系客服