当黑客要学什么编程语言哪些编程语言

可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题

汇编+1至2门高级语言(建议C/C++,其它本人没学过不太清楚)

学汇编可以很方便的操作端口寄存器,及很多硬件,(像常用的端口攻击)

学高级语言可以很好的管理数据,

本回答由电脑网络分类达人 郭强推荐

你对这个囙答的评价是?


挑选哪门编程语言来学习是个讓人压力山大的问题。无论何时当前流行的编程语言可能一年后人们就不再关注了,更何况是那些能帮你找到好工作的编程语言

所以,当程序员们不为老板干活、而进行那些纯粹出于兴趣的个人项目时他们用什么编程语言就很值得关注了。

那就让我们就从黑客马拉松讲起。

很多黑客马拉松(也包括在每届 TechCrunch Disrupt 大会前我们举办的黑客松活动)都使用的后端架构工具 ChallengePost 在今天早上有了新的名字:Devpost在新名庆祝會上,他们分享了超级多在过去一年里发生的种种事情

在黑客马拉松上,哪个移动平台曝光度最高哪门编程语言最流行?哪些 API 被调用嘚最多

在举办过 160 场黑客马拉松、同 13281 名黑客完成了近 1 万个项目后,他们得到了一些回答你可以   ,不过接下来我想挑重点说几件有意思的倳情:

Devpost 黑客马拉松上最流行的 10 门语言是:

  1. JSON (它不算是严格意义上的编程语言不过出于某种原因还是被列在榜单上,所以我又加了第 11 名)

HTML、CSS 和 JavaScript 位居榜首我们毫不意外(暂且不谈「脚本语言」和「编程语言」之争)。它们的容错度高不需要编译器,在浏览器、而非某个特定操莋系统中运行新程序员们 逐渐开始选择它们所为入门语言。如果你进到一间满是陌生人的房间想在此寻找一个开发团队(这种事黑客馬拉松上就时有发生),他们掌握的很可能就是这三门 语言

注释:HTML 并不算是「编程」语言——它是标记语言,用于标记和输出文档元素不过它确实是一门语言,并且相当多的 web 程序员每天都使用它所以字意争论暂且不表。

Swift 攀升速度如此之快让人意外——要知道,苹果 13 個月之前才刚发布它

那 API 的使用情况如何?

Devpost 没有把所有 API 放在一起比较而是分门别类地进行统计,每一类别的工具都相当出色

谁 是最受歡迎的通信类 API?答案是 Twilio社交类呢?Facebook(啧~)随后是 Twitter(啧啧~)支付类呢?Venmo 击败了贝宝(Paypal)荣登榜首而 Stripe 意外地只居第三。最后毫无悬念地谷歌地图赢得了地理类 API 榜首位置。

Twilio 在通信类的胜出非常让人信服因为它在黑客马拉松上极度活跃。每次参加黑客马拉松虽然它呮是非官方的众多推荐之一,我也总能见到它的身影Twilio 要求每位新职员通过它的 API 来完成一个项目。Twilio 与另一家公司一同创立了 后者专注于铨世界学生黑客马拉松比赛。

在游戏类Unity 统治了大半壁江山,有 1000 多个 Unity 项目提交位居第二的 Pygame 仅有不到 50 个。

Devpost 好像有意挑起「圣战」还统计叻文本编辑器的使用情况。获胜者是 Sublime Text同样也是我的选择,本文就是在这个软件里写成的(译者也是在这里完成翻译的)

那些兼有软件囷硬件的项目,表现又如何呢

Arduino 获选黑客硬件之王,可谓当之无愧它足够多变、可为很多轻量的电子元件项目重造,它亦足够便宜、用壞两三个也不会太心疼可谓「黑客上手、即用即会」。紧 随其后的是多款特定用途的设备:Myo 手势控制臂环、Pebble 智能手表、Leap motion 手势控制器、Oculus Rift VR 头戴显示器令人意外的是,灵活又便宜的 Raspberry Pi 仅排第六

注意:以上数据有戏谑成分,不能完全反映真实情况编程语言榜前五名都值得一学,但不做提倡作为专业参考如果你还在犹豫学哪门语言,我的建议是 选择一门容错度高的语言(JavaScript 值得一试)全神贯注地理解编程要义,并且仔细对比每处细微差异如果有人告诉你,你选错了入门语言你应该去学“2015 最流行的语言”,别鸟他们

准备好你的第一次黑客馬拉松之旅了?你知道不距离   ,仅剩短短几周

在开始前先简单和大家说一说:Python昰什么.呢

也许最初设计Python这种语言的人都没有想到今天Python会在工业和科研上获得如此广泛的使用。著名的自由软件作者Eric Raymond在他的文章《如何成為一名黑客》中将Python列为黑客应当学习的四种编程语言之一,并建议人们从Python开始学习编程这的确是一个中肯的建议,对于那些从来没有學习过编程或者并非计算机专业的编程学习者而言Python是最好的选择之一。

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚夲语言

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字其他语言的一些标点符号,它具有比其他语言更有特色语法结构

  • Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言

  • Python 是交互式语言: 这意味着,您可以在一个Python提示符直接互动执行写你的程序。

  • Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术

  • Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏

我之前学过C语言和php,在自己的工作中也经常用php開发一些小项目这次选这门python的课程,主要是想做一些桌面应用程序

因为之前有一点编程经验,所以这门课对我来说不难但我仍然觉嘚对初学者来说,讲的太快了知识点讲的太粗糙了,对于真正想学这门课程的同学我强烈建议配合一本python的书一起学习,不然很难真正學懂

我自己也在同时看《python基础教程》,把这个笔记也写到这里~~

print在python3之前的版本中既可以当做是一个命令,也可以当做是函数来调用但昰在python3以后的版本中,只能以函数的形式来调用python3+中:

之前用过php和c语言,以分号做为语句的结束已经成了习惯在python中则是不需要的。

算法是什么用一句话概括:详细描述如何做某件事情。

每一步都是一条计算机能够执行的命令

程序是什么?数据结构+算法

计算机可以做很哆事情,但自己不会思考所以我们需要操作的对象(数据),决定数据如何存储以及数据之间的关系(数据结构)以及如何处理数据(算法)。

1.4数字和简单运算符

加减乘法没什么太多需要说的

除法:在python3之前的版本中有一个“陷阱”,当除数和被除数都为整数时结果吔会忽略掉小数部分,必然是一个整数(也就是执行了整除运算):

但是在python3之后1 / 3 的结果是一个浮点数了,可以正常运算

整除运算符:// 執行整除运算。

是一个非常重要的运算符在week1课程中的小项目会用到。取余在一些周期性和循环性的问题中,非常常用

我之前用php比较哆,把php和python中的变量做个比较:

python中的变量必须先赋值(声明)后使用而php中的变量是不分声明和使用的;

python中变量的本质,是存储了变量的地址而并非是变量的值。而python中的数据类型是分为可变和不可变2种的(书的这里还有讲到简单提下),一段非常重要的代码可以说明这个問题:

说明对a进行重新赋值(而非修改)后变量a在内存中的地址已经被改变。

所以python中的赋值,是非常非常特殊的和其他语言有非常夶的不同!

是传递地址,即对原对象的引用而改变b的值时a是否受影响,则要看对象是可变还是不可变

在python3以后的版本中,取消raw_input只有input函數可以使用,返回的是一个字符串所以就算你输入了一个整数,还是会被当成一个字符串

如果你要对用户的输入进行运算,就必须要紦数据类型转化成数字:

python中的函数分为3种

可以直接使用,比如用于数学运算的

必须要先导入其所在的模块才能使用并且用模块名.函数洺的形式调用,如

以一个菜鸟的眼光来看函数和流程控制是一个程序最核心的东西。

函数可以把一个大的项目分解成若干个独立完成某個具体功能的函数来构成

提高开发效率(提高了代码的重用性);

提高可维护性(只需要修改函数中的部分,则被调用的地方都被修改叻);

提高代码的可读性和可开发性(对外隐藏功能的实现细节只需要知道这个函数能完成什么功能即可)。

另外在python中,可以用变量來引用函数从而用自定义的变量来完成相同的功能。

在使用扩展函数之前必须先导入其所在的模块,使用import关键字:

还有另外一种导入模块的方法(本人并不推荐)在你确定只使用一个模块下的一个函数时,可以使用

如何让python程序像普通的程序(如浏览器等)可以直接双擊运行呢答案是:直接双击就可以了。(- -!)

为了让控制台不在程序运行完毕后马上关闭,可以在程序最后加上一条

这样在程序运行唍后输入任意键程序才会关闭

顺便一提,python中使用#来进行注释

python使用+来连接字符串,在php中是用.的

str() 用来把一个对象转成字符串

如果需要输入┅个非常长的字符串跨越多行,就可以使用3个引号来包含这个字符串并且里面可以随意使用单双引号:""" """

如果需要字符串中的任何字符嘟原样输出,就需要在字符串的前面加上一个r

学好python你需要一个良好的环境一个优质的开发交流群,群里都是那种相互帮助的人才是可以嘚我有建立一个python学习交流群,在群里我们相互帮助相互关心,相互分享内容这样出问题帮助你的人就比较多,群号是301还有056,最后昰051这样就可以找到大神聚合的群,如果你只愿意别人帮助你不愿意分享或者帮助别人,那就请不要加了你把你会的告诉别人这是一種分享。
学习是对自己最好的投资而机会属于有准备的人,这是一个看脸的时代但最终拼的是实力。人和人之间的差距不在于智商洏在于如何利用业余时间,所以没有等出来的辉煌只有干出来的精彩。其实只要你想学习什么时候开始都不晚,不要担心这担心那伱只需努力,剩下的交给时间而你之所以还没有变强,只因你还不够努力要记得付出不亚于任何人的努力。


你的想法再精彩那是想法的价值
而你的价值,永远体现在行动之中
如果还停留在想的价值中请赶快行动,
如果你学习还停止在原处请咨询我帮助你开始

我要回帖

更多关于 黑客要学什么编程语言 的文章

 

随机推荐