最近,中东局势风云变幻
我们在关心国际局势的同时
也很好奇
在伊朗当一名程序员,是一种什么样的体验?
今天大狮兄就与你一起来聊聊这一个话题。

作者丨大狮兄
来源丨W3Cschool(ID:w3cschoolcn)
严格的审查机制
在世界上许多国家/地区,政府往往会阻止其公民访问互联网上的某些特定域/IP。这样做的好处是,可以过滤掉一些不健康的网站,比如色情网站,保护公民的安全与健康。
而伊朗在这方面与其他国家不同,许多国家是禁止访问一些不健康的网站,伊朗则是只有被审核通过的网站,才能被访问。
所以国外绝大多数网站,比如YouTube、twitter都是无法访问的。中国主流的新闻网站、游戏网站、生活网站,也自然而然的在禁止的行列。比较让人费解的是,知乎是少数可以在伊朗访问的网站之一。
除了严格的网络审查机制外,伊朗的网络速度是比较慢的,家用WiFi速度仅为200kb/s。
在这样的背景下,从事开发工作,是比较难的。
我们不能为您服务
在伊朗,从事开发工作还有很多不便利的地方,尤其是学习新技术。
一名叫做Shahin Sorkh的伊朗开发者这样说道:
想象一下,当你想要借助一些新技术,为公司做点事情的时候,第一步肯定公司查找文档,弄清楚如何开展业务。
你在Google上搜索该技术的名称,就会获得很多的资源,包括官方文档的链接。但是,当你点击一个链接时,就会有一个愚蠢、丑陋的窗口突然弹出,上面写着:“您受到美国制裁,我们不能为您服务。”
接着,你去告诉老板:“这种技术没办法实现,只能选择其他技术,或者关闭项目。”第二天,你已经开始寻找新工作了。
怀疑你在造*弹核**
美国公司终究是美国公司,2019年初,GitHub封禁了伊朗开发者,牵动了所有程序员的心,相信“开源无国界”的国人,开始对美国网站产生不信任感。
从GitHub宣布:无限私有仓库免费使用,到封禁被美国制裁的国家/地区,仅仅用了不到半年的时间。
去年年初,一名名为Hamed Saeedi的伊朗开发者发表博文声称,他的GitHub账号在没有任何提前通知的情况下,遭到了封禁,官方认为他在利用免费的私有库开发核*器武**。

文章一出,引来了众多网友围观,纷纷表示对GitHub的失望,包括美国本土的开发者。没想到一向崇尚开源的网站,会因为政策而与封禁绑在了一起。
事件持续发酵,根据新闻媒体ZDNet报道,一位克里米亚地区的俄罗斯籍开发者账号同样被封,更夸张的是,一位居住在芬兰的伊朗籍开发者的账号也遭受了同样的命运。
即便受到了区别对待,伊朗开发者们仍然为开源无国界而努力。为了能讨个说法,伊朗开发者Hamed Saeedi在GitHub上发起了一个项目,截止目前,已经收获12.1k星星。
GitHub地址:
https://github.com/1995parham/github-do-not-ban-us/
天才伊朗程序员
伊朗籍程序员,能达到什么样的技术高度?
很多优秀的程序员,都来自于发展中国家,伊朗也不乏有很多优秀的程序员,Nasir Gebelli就是其中代表。说起这名程序员,也许你会觉得很陌生。但一提他的作品《最终幻想》系列,你或多或少都听过。
Nasir Gebelli有很多传奇故事,不懂什么是RPG,却能高效的完成开发任务,还能将项目代码全都背出来。
他是一名游戏开发者,1986年,受到坂口博信的邀请,他前往日本参与RPG游戏的开发。

在项目负责人坂口博信向全组传达了他必做RPG的决心时,Nasir Gebelli用他那蹩脚的日语提了一个问题,差点没让整组人晕过去:“老师,什么叫RPG。”
Nasir Gebelli做过很多游戏,但从来没做过RPG,更没做过《勇者斗恶龙》式的JRPG。坂口博信只能从TRPG的渊源开始,一直讲到如何演变成DQ的样式,在方方面面教他角色扮演游戏的基础知识。
Nasir Gebelli像个好学的学生一样,仔细地听完坂口博信的讲解,然后又举手了发问了:“坂口,这个东西,到底哪里好玩了?”
坂口博信才明白过来,给这位同学讲解什么RPG简直是枉然,于是他直接下了指令:“尽管你不懂其中之精妙,反正是个很棒的需求,所以你就给我实现出来吧。”
Nasir Gebelli的需求理解能力很强,尽管不理解设计意图,但他总能把功能又快又好的做出来,因此留下了许多传说。其中最精彩的,是越洋修复bug。
在开发《最终幻想3》的时候,项目组遇到了一个十分严重的bug,项目组内无一人能够定位并修复。没办法,只能求助身在国外的Nasir Gebelli。
Nasir Gebelli并没有做太多的解释,直接报起了十六进制的编码,原来在离开公司前,他已经将代码全都背了下了。等日本人把这一堆数字和ABCDEF组成的编码敲进去后,bug神奇的被修复了。
我们还是希望,开源没有国界!