首要之首:不要急于选择一种语言 新手们有一个常见的错误就是犹豫于判断哪种编程语言是做好的、最该先学的。 我们有很多的选择,但你不能说那种语言“最好”。 我们应该理解:说到底,什么语言并不重要。 重要的是理解数据结构、控制逻辑和设计模式。 任何一种语言—甚至一种简单的脚本语言—都会具有所有编程语言都共有的各种特征,也就是说各种语言是贯通的。 我正在攻读我的计算机学学位,我编程使用Pascal,汇编,和C语言,事实上我从来没有把它当成职业以求获得回报。 我一直在自学编程,工作上用不到它,我使用现有的知识,参考各种文档和书本,学习它们的用法。 因此,不要急于选择何种编程语言。 找出你想要开发的东西,使用一种能够完成这项任务的语言,这就可以了。 根据各种开发平台的不同,有很多不同的软件开发形式可供你选择:从网站应用到桌面软件到智能手机软件到命令行脚本工具。 这篇文章里,我将重点介绍一些很受欢迎的入门教程和资源,它们能帮助你学会如何在各种主流的平台上编程开发。 我先假设你是一个悟性很强的读者,但对于新手,当我谈论程序代码时还是要按照入门级的水平。 因为即使是你自己看一篇编程入门手册,如果发现都能理解时,心情自然会很高兴,这样利于你进一步学习。 桌面脚本 想要动手在Windows里或苹果系统里编程,最简单的方法是从一种脚本语言或宏语言开始,例如AutoHotkey(Windows) 或Automator(苹果系统)。 如今一些硬件程序员冲着他们的屏幕大喊大叫,说AHK和AppleScript并不是“真正”的编程语言。 也许他们说的是对的—技术上,这些种类的语言只能做一些上层的编程。 但是对于那些只是想来脱盲、想在他们的电脑里实现一些能自动运行的程序的新手来说,这些语言会是一个绝妙的入门入口—而且你会吃惊于它们丰富的功能。 例如,大家都喜爱的Texter就是Adam使用AutoHotkey开发的能独立运行的Windows应用程序,所以说这种脚本语言远不是只能开发小规模脚本软件。 如果你想从AutoHotkey入手,可以参考Adam的指导:how to turn any action into a keyboard shortcut using AutoHotkey(然后,你可以下载Texter源代码看看这个功能齐全的使用AHK开发的Windows应用程序的内部结构)。 Web开发 HTML 和 CSS:开发网站,你第一件要知道的事情就是HTML(网页就是由它组成的)和CSS(一种让外观更好看的样式标记)。 HTML 和 CSS 并不是编程语言—它们只是页面的结构和样式信息。 然而,在开始开发web应用程序之前你必须要学会如何手工的编写简单的HTML和CSS,web页面是任何webapp的前端显示部分。 这个HTML 指导是你入手的好地方。 javaScript:当你可以通过HTML和CSS构建一个静态页面后,事情就开始变得有趣了—因为到了该学JavaScript的时候了。 JavaScript是一种web浏览器上的编程语言,它的魔力就是能在页面里制造一些动态效果。 JavaScript可以做bookmarklets,Greasemonkey脚本, 和Ajax, 所以它是web上各种好东西的关于因素。学习JavaScript从这里开。 服务器端脚本:一旦你学会了网页里的知识,你就要开始对它添加一些动态服务器操作—为了实现这些,你需要把目光转移到服务器端脚本语言,例如PHP, Python, Perl, 或 Ruby。 举个例子,如果想要制作一个网页形式的联系方式表单,根据用户的输入发送邮件,你就需要使用服务器端脚本来实现。 像PHP这样的脚本语言可以让你跟web服务器上的数据库进行沟通,所以如果你想搭建一个用户可以登录注册的网站,这样的语言正是你需要的。Webmonkey是一个优秀的web开发资源网站,里面有大量的各种web编程语言的指导手册。 阅读一下他们的PHP 初学者指南。 当你感觉差不多了的时候,看看WebMonkey’s PHP and MySQL tutorial学习如何使用PHP跟数据库交互。 网上最好的要数PHP语言官方的在线文档和函数参考了。 每个知识点上 (例如strlen function这个)都在后面列出来用户的评论注释,这些对于文档的本身是非常有价值的。 (我很喜欢PHP,但还有很多其他种服务器端的脚本语言你们都可以选择。) Web框架:过去数年里,web开发人员在开发动态网站的过程中不得不一遍又一遍的针对重复遇到的问题写出重复的代码。 为了避免这种每次开发一些新网站都会重复劳动一次的问题,一些程序员动手搭建了一些框架,让框架替我们完成重复性的工作。 非常流行的Ruby on Rails框架,作为一个例子,它利用Ruby编程语言,为我们提供了一个专门面向web的架构,普通的web应用程序都能使用它来完成。 事实上,Adam使用Rails开发了他的第一个正式的(而且是叹为观止的!)web应用程序,MixTape.me。这就是他的如何在没有任何经验的情况下搭建一个网站。还有一些其他的web开发框架包括CakePHP(针对 PHP 编程者),Django(针对 Python 编程中), 以及jQuery(针对 JavaScript). Web APIs:API (应用层序编程接口)是指不同的软件之间相互交换的程序途径。 例如,如果你想在你的网站上放一个动态的地图,你可以使用Google Map,而不需要开发自己的地图。The Google Maps API可以轻松的让你通过JavaScript在程序中引入一个地图到你的页面上。 几乎所有的现代的你所知道的和喜爱的web服务都提供了API,通过这些API你可以获取到他们的数据和小工具,在你的应用程序里就可以使用这些交互过来的东西了,例如Twitter, Facebook, Google Docs, Google Maps, 这个列表远不止这些。 通过API把其他web应用集成到你的web应用里是现在富web开发的前沿地带。 每个优秀的主流的web服务API都附带有完整的文档和一些快速入手的指导(例如,这个就是Twitter的)。 疯狂吧。 命令行脚本 如果你想开发一个程序,让它读取文字或文件、输入输出一些有用的东西,那么,命令行脚本语言将是个不错的选择。 然而它并不像web应用程序和桌面应用程序那样有吸引力和好看的外观,但是作为快速开发的脚本语言,你却不能忽视它们。 很多的在linux平台上运行的web脚本同样能以命令行模式运行,例如Perl,Python和PHP,所以如果你学会了使用它们,你将能在两种环境中使用它们。 我的学习道路一直没离开Perl太远,我自学Python使用的是这本优秀的在线免费书Dive into Python。 如果成为一个Unix高手也是你学习的目标,那么你绝对要精通bash这个脚本语言。 Bash是Unix和Linux环境下的一种命令行脚本语言,它能够为你做所以的事情:从自动备份数据库脚本到功能齐全的用户交互程序。 起初我没有任何使用bash脚本的经验,但最终我用bash开发了一个全功能的个人代办任务管理器:Todo.txt CLI。 插件(Add-ons) 如今的web应用程序和浏览器都可以通过一些扩展软件来丰富自己的功能。 由于一些现有的软件,例如Firefox、WordPress越来越受到开发人员的关注,插件的开发也日益流行,人们都在说“But if only it could do THIS…” 只要你掌握了HTML,JavaScript和CSS,你就可以在任何的浏览器里开发你想要的很多东西。 Bookmarklets,Greasemonkeyuser scripts, 和Stylishuser styles这些软件都是用的更普通页面一样的语言写成的, 这几个东西都值得你去研究一些。 更高级的浏览器扩展程序,例如Firefox的扩展,它们可以帮助你很多。 开发Firefox的扩展,举个例子,需要你精通JavaScript和XML(一种标记语言,类似HTML,但具有更严格的格式)。 早在2007年我就写下来how to build a Firefox extension, 这是我在笨手笨脚的研究网上的一些学习资料后获得的成果。 很多免费的、受欢迎的web应用程序都提供了扩展框架,例如WordPress 和 MediaWiki。 这些应用程序都是用PHP写成的,所以只有对PHP熟悉你才能做这些事情。 这个就是如何编写WordPress插件。 而想驾驭Google Wave前沿技术的开发人员可以从使用HTML, JavaScript, Java, 和 Python 写小组件和小工具开始。 我写的第一个Wave bot是跟着这个一个下午时间的快速入门指导开始的。 开发桌面上的Web应用程序 学习编程最好的结果是你在一个环境下学的东西可以应用到另外的环境中。 先学习开发web应用程序的好处就是我们有一些方法可以让web应用程序直接在桌面上运行。 例如,Adobe AIR是一个跨平台的即时运行平台,它能让你编写的程序运行在任何装有AIR的操作系统的桌面上。 AIR应用程序都是由HTML, Flash, 或 Flex 写成的,所以它能让你的web程序在桌面环境中运行。 AIR是开发部署桌面应用程序的一个优秀的选择,就像我们提到过的10个让你值得去安装AIR的应用程序。 移动应用开发 能在iPhone或者Android智能手机上运行的手机应用程序的开发如今正呈现井喷之势,所以你也可以梦想一下如何在iTunes应用商店里通过你的天才程序大赚一笔。 但是,作为一个编码新手,直接奔向移动开发所经历的学习曲线可能会很陡,因为它需要你熟悉高级的编程语言,例如Java和Objective C。 然而,你当然应该看看iPhone 和 Android 编程究竟是什么样子的。 阅读这个简单的iPhone应用开发例子可以初步认识一下iPhone程序的开发过程。 Android 程序都是由Java写成的,这有一个简单的视频教程教你如何开发第一个”Hello Android“程序(注:可能需要代理才能看这个视频)。 耐心,刻苦,尝试,失败 好的程序员都有一个不达目的誓不罢休的品质,他们会惊喜于通过长期推敲和失败换来的一点成绩。 学会编程会有很好的回报的,但是学习的过程可能会是饱受挫折和孤独的。 如果有可能,最好找个伴一起陪你做这件事。 想精通编程,这和其他事情一样,需要坚持,反复尝试,获得更多的经验。
❷ 程序员入门:如何自学编程
为了方便能看明白,我用使用比较广泛的C语言和X86架构去举例
API:程序员编程时用到的库函数像C的stdio.h中的printf()函数。api可以大大提高程序的开发效率,缩短源码。你在编程时直接引入库文件#include
ABI:是一个规则或者说标准吧,他规定了数据类型,存放方式,函数/方法(参数,返回值,返回地址,变量的存放位置和做早格式)等等,例如X86的函数激山参数存放在DI,SI,DX,CX几个寄存器中,返回值存放在AX中,小端格式存放等等。作用是为了方便同一平台不同系统明胡中的软件移植吧。
我自己觉得这个ABI可以把它纳入ISA指令集架构的范畴了(这个只是我为了方便题主你理解啊,ISA的定义并不包含ABI哈~)。。因为同一个ISA的ABI都相同。。。
我尝试举个通俗点的例子,api有点“前人栽树后人乘凉”的味道(编译器制作初期编写函数,开发者使用时直接调用函数名)。ABI就像是前人留下来的一些定理(你必须按照这定理去做,不然将会有大麻烦)。
❸ 到黑马程序员学习怎么样
看了一个知乎的回答,感觉还可以,看楼主说的很诚恳:
培训开始到工作,差不多整整一年了,时间可以说快,也可以说慢,最终选择了黑马学习Java,写下一年来的回忆和经历,也是我人生中的记忆。(字可能有点多标点符号我也是随便打,不喜欢的可以直接跳过)
先介绍下自己吧 河北廊坊市人,湖北工业大学(大专土木专业),16年毕业后回到老家廊坊干本专业工作,说说自己为什么毕业就想转行了吧
行业师兄也认识几个,相比所认识做it的朋友,同样是4 5年工作 差距真的很大,当初选土木专业,刚好那会土木发展还不错,大学老师各种夸好,其实后来接触下来,发现我对土木并不热爱。
但是好就业是真的,一毕业就工作了,工资2500,私企施工单位,我的体力劳动大于脑力劳动,说白了就是一带眼镜的农民工,还好我带眼镜,要不然就是农民工了,有喜欢的女孩子那段时间都没自信心追求,不修边幅,烟酒必备,透支身体,涨薪幅度很低,我基本上已经看到了,工作的5年师兄5000工资,和一眼看到未来的自己才是最可怕的,前景遥遥无期,而且16年年底那会,经常半夜施工,加班常有的事,主要是甲方就是你大爷,我本人还算了解自己,不大适应,权术拍马屁的一个人,就做好自己工作就行,恰恰这行就需要这样,比我早进行业的老哥们,我们经常夜宵,感觉他们都是喝酒来麻痹自己,转行年龄资本也晚了,现在想起来虽然程序员也加班,相比补贴各方面也有所安慰了。以上感触还有很多,当然也不排除混的很好师兄,很热爱土木的师兄。
经历不多,太多感叹 ,太多感触,我不怪行业,只怪自己,当时唯一的想法也是就想早点跳出来,以后想跳都跳不出来了,我当时跟一起工作的李哥话语很多,他们也都支持我转行,不要步自己后尘,哪怕转行失败了。我也心甘情愿,也谢谢他们对我的支持。
说下找培训机构经历吧,也算是血泪史了,因为转行之前我对编程完全小白,大学学过一点c ,,仅此而已,因为我是属于直接离职,然后转行,不想一边在职,一边考虑,拖拖拉拉,所以当初就打算直接培训节约时间成本,前前后后跑了3家培训机构,咨询了4 5家培训机构,第一先是了解,达内,因为我属于萌新找机构了,第一批获取的信息,就了解到和青鸟和达内了,当时没有经验,直接就把电话输入下面了,不得不说那边小姐姐招生老师,很厉害,话术对我这类小白一愣一愣的,我记得比较清楚的就是,他们好像对地理不大好,我说我是河北廊坊,他就说安排我去天津达内来看看,- -! 其实我们离北京特近,因为当时父母也在帮我操心这个事,感觉我不踏实,刚毕业应该好好工作,不该转行,而且父母不懂编程,觉得网上不是什么正经工作,男人就该学门技术,这是后话了,反正就是好不容易说服了,父母也看到达内,青鸟,是大公司上市公司,他们的理念就是出名就是最好的,所以让我去看看,我没选青鸟的原因是,小时候我就看过青鸟电视广告了,感觉那会好像是培训厨师,技师,类型新东方类型的,多说一句,找培训机构,跑去北京2次,达内是第一次,黑马是第二次去北京,去了达内之后,我也不说别人不好,给人的感觉就是承诺太多,有点特别急于求成让我报名速度学的意思,然后很多高薪案例也拿给我看了,当然我大老远去看,肯定是想定下来就学的,忍了一下,没有报名,当天就回家了。也给我后来找培训机构算是多了几个心眼吧。很敬业,而且现在我都培训完工作了,还在给我打电话,因为我有点不好意思,中途一直犹犹豫豫,没有答应 也没有拒绝别人。现在好尴尬,感觉拖了别人这么久,有点不好意思说不去了。每次就说暂时有事敷衍过去,然后没多久又会联系我。
然后网上有咨询了几家学费都差不多,只是没有直接跑去看,大概消停了几天,尝试这自己自学一下,就逛java吧,了解到一家叫尚马教育中小机构,因为学费比较低,好像一万出头吧,少了差不多接近一半了,因为当时上班大半年虽然吃住在家,但是工资不高,没攒到钱,大部分还要靠父母资助,所以了解到学费低,万一转入不了,也不用找父母要多少钱,而且还又特意去看了看,虽然远。
去之前还犹犹豫豫,父母对河南印象不好,不让我去,怕是骗子,在这里没有黑河南地区朋友的意思,只是上一代人的误解,本人父母相对来说比较传统,我也属于独子,很多观念也是和他们反着来,我本人比较喜欢历史文化,而且对河南有天然好感,然后我还是去了,总体来说很满意,那边设施也很齐全,而且电脑都可以不用自己买了,还能省比开支,那边老师给我的意见和行业信息也很多,也没有安抚和承诺让我急于报名,本来回去之后就打算去那边的,回去告诉父母后,我母亲可能自己网上看了看,联系了那边,然后反对我去尚马教育,与她沟通,因为没有名气,怕我被骗,或者传销,老师比较年轻等等吧,现在工作中也都是同龄人,相比我之前的工作环境有些40 50的人狡猾无节操的多了,我也很少无奈,其实社会并没有他们想象中的那么险,没办法不想让父母给我很多钱,找的便宜机构不同意,也不能不找父母拿钱,双向矛盾,所以那边也没考虑了。
最后了解到黑马程序员属于口碑最好的,而且网站给人的感觉也不像其他大机构那样,满屏窗口,学费很达内差不多,在北京也近,父母也放心,最后一次也是直接联系好了,打算没问题定的,前前后后差不多一个月,不想拖太久,在家压力也很大,本来预算找父母要2w就行了的,自己的小几千当生活费,然后还要买电脑,找母亲要了2w5 ,去的当夜晚上,躺在床上,压力真的很大,记得是17年的 9月10号,前所未有,决心拼了,人很多,我们那个班70来人,很大部分属于别的专业,当时就有点慌了,饭碗还没拿上,就这么多人抢饭碗啊,哈哈,刚开始学的2个多月其实我还蛮好的,因为有动力,其次花了这些钱,没当有惰性,我就会想到,钱来之不易,提醒自己,这可能也是付费,跟免费的区别吧,当然班上也有人到后面坚持不下去的,当时居然有这诡异的心态,想这越多人放弃,我进入行业的机会就越大。然后在第四个月做项目的时候我心态也发生了变化,学到一定程度后,当时觉得希望吸收越多的消息越好,不管有用没用,也感谢当时黑马老师对我的耐心引导,让我纠正心态了心态扛过来了,培训的价值恰好在这,大部分靠自己,在分叉口,能够指引你道路。总体来说很庆幸这次的选择,也成为我人生中正确的选择。可能我选错机构,另外一条路在等着我。
附带一张培训图,当时凌晨12点还在敲代码的自己,当时自己打气发的朋友圈没有删。找到唯一的一张图了。
然后就是找工作。临近毕业的时候那会非常慌,下boss,拉钩,智联,投简历都是几百上千+自己又是专业,非计算机专业,在北京这种大城市,说句不好听的,家政,保洁都是大学生。it这种高学历圈子我是属于垫底了,好不容易走到这一步了,只能逼这自己了,当时群里很多同学毕业好几年可以包装简历,我这种刚毕业不到一年的,包装不了,毕业时间对不上,自己也不大属于那种能圆场,能撒谎的人,我的简历就写的很如实,开始还在选自己合适的公司,但是只拿到2家面试机会,第一次面试特紧张,又是背题,又是话术演练,因为之前土木的工作,直接交了简历就入职, 要么就是分配,面试流程都少,所以缺乏这方面经验,第一家让我回去等结果,基本就是没结果,然后第二家也是如此,后来发现这样不对,于是海投,前后投了300多简历吧,一天4 5家面试,多的时候8家,2天下来就不怕了,对于找工作与我类似的可以试试,后来有一家给我开了6000,说实话与我想的有差距,而且在北京前期经济会很艰难,因为当时毕业了,吃住都花钱,我不想在想找父母要钱了,我没有太多的选择,迅速入职了,工作种种吧,后期能不能发展,就是完全靠自己了。目前工作半年,工资还是一样,省吃俭用,脑子有点乱,文采不好,随便写的,就写到这了,后面工作心得在更新吧,也算立贴,为自己打气,希望明年的这个时候,工资突破1w5。 也感谢黑马程序员能带我迈出第一步。
2019.7.11 快1年了,现在9k ,看来与我预期还是有点远啊。听说学费还涨价了 成本太高了等工作在知道,衣食住行,3w多不是那么好还的。。。
9.16最近跳槽了,11k,多了一点面试心得,在评论那,周边大佬太多了,自己就是咸鱼,拍个大佬工位。。。虽然辛苦,不过目前有点光明,哪怕只有一点。
❹ 黑马程序员是否是骗局
看到你这个问题,我作为刚刚9月份毕业的web移动前端开发的人来说一下这个情况。
第一,关于是否在黑马这边学习,我建议,如果你个人的自制能力挺强的,那么,你可以不用去黑马学习,自己自学也是可以的。如果你自己自制能力差,但是又想学习,可以去学习,毕竟一个班级这么多人一起学习,学习的氛围还是有的。
第二,关于成本。黑马的移动web开发这边差不多要2w,我是个女生,住的是4人间,住宿费一个月600多,宿舍里的小姐姐都很节省,省电。食堂里的菜有贵的有便宜的,就看你吃什么的了。 一般我都是一个素菜一份米就够了。一般的整个的一个月下来费用差不多是1500左右,共计9000,然后就是所有的生活用品3000也算多的,没有那么多的生活用品。 其实,我只想说一句话,怎么节省怎么来,学习的,不是去享受的。就这样。
第三,关于教学质量。我现在上班之后,我也明白,在学校里面很多的东西就是交给你基础,把你领进门,不可能到公司之后,立即就很厉害的那种。我是直接找的没有要很多经验的那种,慢慢的磨炼自己的技术。同时,如果你在技术上有问题,如果之前你加了老师的微信,你可以咨询老师,老师是回回答你的,尽力帮你解决。
第四,关于就业。就业这方面,我感觉老师的建议是一方面,你自己的想法也是一方面,首先一开始的12k,15k 或者更高的20k,这方面你是要有真的技术水平的。但是,我个人更倾向于稳扎稳打。再慢慢的磨砺半年左右的时间。
最后,还是那句话,你如果真的去学习,就别心浮气躁,沉下心来好好学,别半途而废。我们班一个初中没毕业的,但是依然学到了最后,虽然我并不知道他到最后的工作怎样,但是我知道的是,每天早上我去的时候,他都在那里开始敲昨天的代码了。晚上十点放学,他差不多得到11点锁门才走。所以,你是否有这种学习的毅力。不多说了,希望我的回答对你有所帮助吧。