为什么程序员鄙视php,黑客的技术都是自学的吗?
说到黑客,给人的感觉一直都是很神秘的。我们经常会在电视剧看到一些关于黑客的描述,说某某黑客又攻破了哪个国家的国防部网站。当然,为了电视剧情,都很显然有夸大的成分,且没有事实根据。但是,我们平时听到的黑客,他们所拥有的高超技术又是从哪里学来的呢?
首先我们来了解一下什么叫黑客。
黑客,通常是指对计算机科学、编程和设计方面具高度理解的人。他们拥有熟练的电脑技术,是一群晃荡于网络上的技术人员,通晓计算机,并且能够轻易的进入他人的计算机,窃取他人的机密文件,是对电脑有着超高造诣的计算机高手。但大部分的媒体习惯将“黑客”指作电脑侵入者。在科技如此发达的今天,黑客已经不再是鲜为人知的人物,而是已经发展成网络上的一个独特的群体。他们有着与常人不同的理想和追求,并且有着自己独特的行为模式。这些神秘的人是从哪来的呢?人们一直都感到很好奇,但其实,除了极少数的职业黑客以外,大多数都是业余的黑客。而黑客在现实中与普通人没两样,或许,他就是你我身边的一个普通的小职员。
那么,那么强大的技术,他们是怎么得来的呢?一、自学成才
很多人觉得,黑客掌握了这么强大的技术,肯定都是计算机出身,其实不然,大多数黑客都对计算机极度敏感,并且大都是自学成才,且能够轻松的自学编程、四种基本语言 Python、C、 Perl、 LISP等
二、计算机出身
相对于自学,计算机出身占比较少。
那么。黑客的技术有多么可怕?下面请大家跟着小编一起来感受一下当年被“熊猫烧香”支配的恐惧2006年年末,一种“熊猫烧香”的病毒袭来,短短数天便席卷全国,其病毒传播速度之快令人咋舌,导致国内网络严重瘫痪,中国网民头一次感受到了电脑病毒的恐怖之处。该病毒具体表现是什么?
一、感染exe文件
他会将绑定exe文件,并且将其图标变成熊猫烧香的模样。
二、感染web文件
它大范围传播的主要因素之一:网页传播。因互联网的原因,所以造成大范围传播。并且,2006年,我刚好在上大一,那个时候我还没有买电脑,但我同寝室室友的电脑中了这个病毒,当时具体怎么中毒的他也不知道,后来了解应该是点击了有病毒的网页,所以中了招!接下来该病毒的恐怖就体现出来了!室友电脑中毒之后基本上就废掉了,完全不能用,记得当时他的电脑存了很多课件,但在中毒之后,不止文件打不开,就连桌面上的图标都变成熊猫的头像,还不时的在电脑右下角跳出一只大熊猫出来烧香!后来重启好多次都不能用,没办法,只能将电脑硬盘格式化然后重装系统,这样电脑虽然正常了,但是电脑里面存放的文件与课件全部都被删掉了,因此造成了巨大的损失。熊猫烧香造成了多大的损失?在06年底到07年这段时间,全国范围都有感染该病毒,只要一感染病毒,电脑里的文件基本废了,所以这里造成的损失是不可估量的,保守估计就是要达到上亿元的损失。最后看一下熊猫烧香的发明者。实际上这个熊猫烧香的技术并没有多高明,开发者名叫李俊,仅中专毕业,且计算器技术也是后来自学的,李俊在中专毕业之后,就到网吧里面学编程技术,后来还加入了一些网络红组织对境外一些网站进行反击,只是后来,李俊觉得自己屈才,所以就发明了熊猫烧香想要展示自己的能力。程序员是怎么记住许许多多的语法的?
1、编程语言的语法元素不是特别复杂,语句和关键字基本上就那么百十来条,不必死记硬背,他们都是具有功能指向的,用过一次便会在人脑中留下深刻的印象,更何况天天用,自然能熟能生巧。这就像打字一样,刚开始一指戳,只要训练个几个小时,就会产生肌肉记忆,在使用过程中坚持按指法来,这个肌肉记忆就会成为自动化的东西。更何况,程序语法元素不仅符合自然语言所见所得的语义,其功能性背景更适合人类大脑结构性记忆。
比如VB/VBA的关键字,就这点,是不是一个早读就能搞定?2、与程序语法相伴的,还有个东西叫IDE。现代IDE已经很替人着想了,不仅有智能语法提示,还有代码自动补全功能。像IDE中的翘楚VSCode,人家依托最大的开源库GitHub,利用AI还能智能补全函数(就是帮人写代码了)。所以,现代IDE大大减轻了程序员输入的强度,尽可能降低了无效的重复工作,让程序员将更多的精力放在机器不能解决的逻辑上。
这种智能提示和补全基本上算IDE标配了,连VB/VBA都有再来看看AI下的代码编写,《AI写代码,来得让人猝不及防!》,微软在今年6月底推出了GitHub Copilot。这是个什么货?说简单点,就是对Python、JavaScript、TypeScript、Ruby和Go 等开发语言,支持各个级别的补全,不仅可以根据函数名补全函数体,还可以根据注释补全代码、测试函数等。
这种级别的代码补全,需要记么?起个头,就走起了神奇不?就像知道你的心思根据函数名,猜代码实现!知道,为什么有人觉得VB/VBA的IDE,是最丑陋的了吗?上面的动图就是答案。
3、程序员从来不刻意去记忆语法。对于广大程序员而言,最窘的可能莫过于面试时,让在纸张上手工撸算法代码。本来打开IDE思绪千千万,指下生风,但此时除了一脑袋逻辑,还是逻辑,总觉得憋屈,仿佛受了委屈。或许,此时才能见证,记忆语法在程序员中的地位和作用。所以,对于程序员而言,编程的逻辑才是核心。
欢迎关注BtOfficer(收藏、点赞、关注+转发) ,更多精彩仍在继续哦(专栏文章将更系统,更全面,但需要阁下支持哦),有严肃的技术,也有轻松的唠嗑,期待你的加入!PHP到底有多糟糕?
四川优就业的小编个人是十分支持PHP的,毕竟专做IT培训100年!但是为了回答你这个问题,搬运一个答案:
韩天峰老师的评价:
PHP 语言有 20 多年的历史,由于一直保持向下兼容。存在很多糟糕的地方,比如:
混乱的函数命名
不友好的 Array/String 函数,至今数组和字符串的操作都没有实现 OO 接口
混乱的参数顺序,导致完全记不住一个函数的用法,每次需要查手册或借助 IDE
难用的 Zend API ,导致了在应用与内核之间,很难有一个中间层。比如 Node.js 做的就很好,它提供的 C++ API 可以让其他 C++ 程序员很方便地为 Node 编写扩展模块。而 Zend API 几乎就是地狱模式,对开发者要求太高了。我在今年新开发的 PHP-X 就是为了解决这个问题
缺乏异步 IO 网络层,PHP 官方只提供了 sockets、stream、select 等 IO 函数,无法满足现在大并发时代的需求。所以就有了 Swoole 这个项目
缺乏对多线程的支持,虽然有一个 pthreads 项目,但这个连玩具都算不上。多线程需要 PHP 语言底层进行支持,而 PHP 设计之初就没考虑过多线程
当然,PHP 也有明显的优点,比如其部署对于虚拟主机的友好超过(除了古老的 ASP 之外的)所有其他主流语言,因此在互联网应用爆发初期就占领了巨大市场,一些世界上最大的网站最初(甚至至今)都是 PHP 写的,这是其至今屹立不倒的核心原因。
为什么有些人在网络上都喜欢黑JAVA呢?
国际黑啊,被黑不是一天两天了。国外有Java Sucks(一个专门黑Java的网页),不知道知乎有没有反Java联盟啊(捂脸)。
(图片来自网页Java Sucks页面截图)
这些程序员们说了很多诸如“我是如何爱(tu)着(cao)Java的话”,随便摘录几句让大家感受一下:
l Java has been a boon to the publishing industry. – Rob Pike(Java一直是出版社的福音– Rob Pike)
为了证明这一点,小慕以Java为关键词在亚马逊搜了一下,结果……
80357个结果……
(图片来源于亚马逊商品搜索页面)
还没完,然后小慕又以python作为关键词搜了一下:42013个搜索结果,几乎只有java的一半。
(图片来源于亚马逊商品搜索页面)
l If Java had true garbage collection, most programs would delete themselves upon execution. – Robert Sewell(如果Java有真正垃圾整理(注:确实有类似这个功能)的话,几乎所有的基于Java的程序将在执行时删除自己 – Robert Sewell)
(图片来源于网页http://harmful.cat-v.org/software/java)
l Whenever I write code in Java I feel like I’m filling out endless forms in triplicate. – Joe Marshall (aka jrm)(每当我在Java中写代码时,我都觉得我在填写一式三份的表格 – Joe Marshall)l Java is the SUV of programming tools. A project done in Java will cost 5 times as much, take twice as long, and be harder to maintain than a project done in a scripting language such as PHP or Perl. … But the programmers and managers using Java will feel good about themselves because they are using a tool that, in theory, has a lot of power for handling problems of tremendous complexity. Just like the suburbanite who drives his SUV to the 7-11 on a paved road but feels good because in theory he could climb a 45-degree dirt slope. – Greenspun, Philip(Java是程序语言里的SUV,一个项目如果用Java的话会花费5倍的成本,两倍的时间,而且比PHP或者Perl更难维护…但是用Java的程序员和经理们都自我感觉良好,理论上有很多能力处理复杂的问题,就像郊区的人们开着SUV去7-11便利店的铺装路面上一样感觉良好,因为SUV理论上可以爬上一个45度的斜土坡 – Greenpun Philip)(注:这段可能在借“城市”SUV讽刺Java理论上很强但实际应用有时并不能如愿)l JAVA truly is the great equalizing software. It has reduced all computers to mediocrity and buggyness. - NASA’s J-Track web site(Java是一个真正注重平等权的软件,它将所有的电脑(不管配置有多好)统统变成平庸的以及有bug的电脑。- NASA’s J-Track web site)诸如此类各种黑……小慕归纳一下原因,大概有这几类:0)一定是遇到了假程序员
有的程序员,其实根本不是一个合格的程序员,但却不自知(严肃脸)。这样的程序员很喜欢黑它所使用的编程语言。比如有的程序员会说:C/C++会有访问数组越界的危险,我以为用了Java就没有了,但问题还是有啊,Java真垃圾……像这种完全胡扯的言论,对于这种假程序员,小慕觉得就不必去花时间去讨论了。
1)设计者的心思你得猜
首先,Java是一种静态强类型语言,如果让一个喜欢动态和(/或)弱类型语言的人去评价Java,毫无疑问Java会被黑啊。
其次,任何一种编程语言在被设计的时候,总会被设计者注入他的某些设计理念,说白了,就是设计者会引导使用这门语言的人如何编程。因此,作为使用Java的一些用户,如果他们不能和Java语言的设计者的那些感受契合起来,他们就免不了会黑Java。比如Java的读写流,部分朋友认为它们太复杂,但如果这些程序员能够明白设计Java的人这样做的初衷,小慕认为黑Java读写流的行为一定会减少很多。
(图片来自Java Sucks页面截图)
简单翻译下:调试JVM常常让你觉得你在操控一架飞机,但是你并不在那架飞机里,你坐在另外一架飞机的后座里尾随你操纵的这架飞机一起在飞(不可描述的纠结……)。
2)好钢用在刀刃上
任何一种语言的诞生,一定都是针对相关的使用场景,不可能要求所有人的需求都完全一致。换句话说,你得对得上号啊!例如对“web开发”这个场景,大家觉得Java对这个场景契合得好吗?说实话,不是足够好,否则PHP恐怕早就死亡了,也不会有后来的Python和Go语言的出现。
为什么呢?其实原因很简单:web开发这种需求最核心的是什么?其实就是开发速度。web没什么复杂诡异高大上的黑科技、也不是什么非常繁重的开发工作,任何一个web要想复制都是一件非常简单的事情。因此面对这种需求,最关键的就是开发速度。诚然,Java有很不错的web框架,例如ssh,但是Java这门语言的设计理念从一开始就注定了,Java对web开发的需求不会契合得非常完美。如今前端技术日新月异、微服务等设计理念悄然出现,Java这样的语言是很难迎合这些“新东西”的。
因此,在面对Java不能很好地契合的需求时,黑Java现象就难以避免了。
3)关乎哲学
当我们从更高的哲♂学层面去审视Java的时候,就会发现,黑Java的行为的存在是必然的。
有个段子:
这两句话哪个一定对哪个一定错呢?每句话都可以找来n多场景去证明,无法彻底判定对错。
C++给了程序员更多的自由,但自由越多,用起来越爽,但危险行为也更多;Java对程序员的束缚较多,也许某些时候用得不那么爽,但至少危险行为相对少。有的人就喜欢自由,哪怕有风险也要自由;而有的人就是追求安稳,哪怕牺牲一点自由也可以接受。
这种矛盾,其实是两种价值观的矛盾,本质上是哲♂学层面的矛盾,是没有对错的、是无法调和的。此时,黑Java的现象就必然会出现。
其实说了这么多,Java被黑如此常见,还是因为它有广泛的使用范围,换句话说,没人用肯定不会被人黑啦(废话……)。从它的发展史来看,1995年,SUN公司发布了Java编程语言,距今已经22年了,作为一门比较老的语言,母公司辗转被收购,新公司又以此打官司败诉,也确实有点命运多舛,客观上被限制了发展。在编程语言越来越新,越来越有效率的今天,Java被黑算是一种正常现象。
话说回来,吐槽一种语言工具,不是程序猿们不可多得的娱乐方式之一么,不然生活还有绳么乐趣……(毕竟没有乌黑浓密的秀发,也没有漂亮女朋友……)
小慕觉得在Quora上这个人说的就挺理性:
(注:Joshua Engel的备注里面说他从Java还是beta版本的时候就已经是用户了)
(图片来自Quora页面截图)
Joshua的中心思想是:吐槽自己用的工具集,以及它们如何明显地超越另外一个人用的工具集,已经成为程序员们一种流行的消遣方式…(Emmm……)
当然,最后的总结Joshua Engel也轻松升华了自己回答的深度:
(图片来自Quora回答页面)
翻译:真正的程序员,当然懂所有的语言,但更喜欢编程而不是抱怨编程。
最后,关于题主问的Java和C++的区别,一点小小的见解——Java跟C++确实很像,也确实有相当大的关联性。Java是一门跟平台没有太大关系的语言,只要有JVM哪都能运行(注:JVM是整个Java实现跨平台最核心的部分),而C++是一门与平台关联性很大的语言。
有种非常形象的说法是Java和C++的区别很像是汉语(Java)和英语(C++)的区别:两者都是传达信息的有用工具,汉语在全世界使用的时候通常要配个同声传译,而Java需要配个JRE。英语通常在世界各地被广泛使用,C++在全世界确实像是英语一样算是个古老而通用的语言。英语的音节比汉语小(以前想把汉字录入电脑着实花了不少心思),而C++具有比Java小的内置库。学英语似乎更快更简单,学C++好像也是。(当然这些比方见仁见智,还有点拗口,不一定对,还请轻拍哈)
也有一种说法是Java是自动挡,而C++是手动挡(这个比喻某种程度上可以说是很恰当了,当然该说法小慕也是在知乎大牛那学到的)。
在IEEE spectrum所评选的2017的TOP10编程语言类目里:
(图片来自IEEE spectrum网站截图)
Java在所有的4个领域里都排在C++的前面
(图片来自IEEE spectrum官网截图)
所以看了这张图,小慕觉得……最后好像反而Python变成了主角~(……)
其实黑也是编程语言发展和进步的动力之一,不必过分在意。小慕觉得,一名合格的程序员要做的,更应该深刻了解编程语言背后的设计理念,以及具备在面对不同需求时选择不同编程语言的能力。还是希望Java能有好的发展吧,因为在计算机语言的发展中,从来没有一个语言像Java一样被众多厂商支持,以及有这么多的开发工具。以上就是小慕的回答,希望能帮到题主~
做一个网站要多少钱?
目前网站建设技术虽然已经非常成熟,但是面对一堆堆源码、代码和安装解析、上线发布流程,很多没有学过专业知识的人,还是一头雾水。找人做网站是大多数人的选择,毕竟社会化分工越来越精细,没有必要样样精通,样样去学习,找专业的人做专业的事是大趋势。
那么找人做网站多少钱?太原鸣蝉公司给大家说说做网站价格明细。展示型、商城型网站建设以太原鸣蝉公司为例,做网站价格从1700~8500不等。网站基础版,有首页、关于我们、新闻资讯、产品中心、经典案例、联系我们等栏目,基本上就可以满足普通商家、企业的官方网站需求。
基础版拥有门店设置、在线客服、留言板、网站安全防护、网站验证、文件下载、企业地标、城市选择、访问统计、微信通知、会员管理、积分设置、多渠道登陆、网站评论、行业知道百科、优惠券、搜索优化、站内广告等功能。
电脑端网站制作、手机端网站制作、微信网站制作、服务器空间、域名和备案、技术支持等服务,一共1700元在行业内,鸣蝉品牌管理公司的报价属于亲民价,一般公司基础展示版网站,都在2500~3000的价格范围。
网站商城版,主要有在线交易支付功能的差别:
它在基础版上的功能,增加了电子商务、购物车、订单管理、在线支付、物流配送、发票管理、公司报价、会员商铺、批发、三级分销、会员商城、一元购、支付卡、消费全返、扫码支付、促销专题、限时购、微砍价、清仓购、团购、积分商城、拼团购、满减、优惠券等商城功能。
商城网站可以实现商家入驻、批发商入驻和会员多渠道登录在线支付购买功能,鸣蝉品牌管理公司的报价在5500~8500,根据一些功能增减来报价。
在建站公司行业内,商城网站一般在7000~9800左右,鸣蝉品牌管理公司,更注重新品牌的建设包装推广、互联网品牌塑造的综合管理上,所以在网站建设上,会最大程度进行让利。