C语言是编程小白的噩梦,WEB开发成为转行程序员的福音!

大多数大学生接触的第一门编程课便是C语言,这对于一个完全不懂计算机的人可能是噩梦。

不少人初次上C语言课都会被指针绕得晕头转向,然而大部分编程工作并不需要你关心指针的使用。此外,C语言对可视化编程并不友好,用C语言编写图形化界面十分繁琐。在这种情况下,很多大学生都会问C语言能做什么?

C语言看似简单,实则无比强大,它主要的用途是系统级编程,操作系统,数据库,编译器,虚拟机等等,可是,并不是每个人都愿意去尝试或者有机会接触。

这会导致大多数人学了C语言并没有多少成就感和兴趣,甚至因为这门课怀疑自己能不能学好编程,或者拿到计算机专业的毕业证。

事实上,这样想是多虑的。并不是每个计算机专业的学生将来都要去搞操作系统,编译器或嵌入式开发,应用型人才大有可为。你完全可以先从应用层入手,获得成就感和兴趣,再深入钻研底层开发。

在我眼里,编程是世界上最好的工作。既可以凭此获得报酬,还可作为兴趣爱好,享受解决问题的那种成就感。所以,当你第一次学编程或者对编程开始失去兴趣时,不妨从Web入手,先做一个网站。Web开发所用到的语言大多数都是所见即所得类型,学了马上可以做出一个可视化的作品,很有成就感。

Web开发是最简单的,而且开发语言也多种多样,比如JavaScript、PHP、JAVA、Ruby、Python等。互联网上关于Web开发的学习资料是最多最丰富的,大多数问题都可以通过搜索引擎找到解决方案。这对初学者十分友好,降低了编程的挫折感。

尽管受到移动互联网的冲击,但不可否认,网站是互联网最普遍的应用形式,并将长期存在下去。如果你想做Web开发,Just do it!

Web开发分为前后端,前端包括HTML、CSS和JavaScript等,后端包括Node.js、JAVA、Python、PHP、Ruby等。如果你想做一个静态网站,只需要学习前端技术即可。

前端技术本身难度不大,但浏览器适配和响应式布局稍微有点棘手。初学者完全不必理会,先做出一个静态网站即可。当你做出第一版静态网站时,你一定会兴奋,因为这是你自己的作品。

网站做好后,你可能想更新网站内容,但手动更新又比较麻烦。这时你可以选择一门简单的后端语言,尝试下服务器搭建、前后端数据交互和Linux命令行操作等等。后端技术优先推荐Python、PHP和JAVA,三者选其一即可。

自己是一名从事了6年开发的老程序员,业余的时候在这里分享一些经验给大家

这里推荐一下我的前端学习交流扣qun:767273102,里面都是学习前端的从最基础的HTML+CSS+JS【炫酷特效,游戏,插件封装,设计模式】到移动端HTML5的项目实战的学习资料都有整理,送给每一位前端小伙伴。最新技术,与企业需求同步。好友都在里面学习交流,每天都会有大牛定时讲解前端技术!

人生苦短,我用Python。Python内置了大量丰富的函数供你直接调用,有些语言写很多行的函数,Python一行代码搞定。此外,Python作为程序员必备的脚本语言,在爬虫、科学计算、AI等领域也很出彩。利用这个机会学习下,技多不压身。

除了Python,PHP效率也不低。作为世界上最好的语言(:-D),PHP为Web而生,PHP可以直接嵌入HTML标签,十分方便。经典的LAMP或者LNMP搭配更是世界上绝大多数网站的标配(L:Linux,A:Apache,N:Nginx,M:MySql,P:PHP)。

最后推荐的当属老大哥JAVA,在国内可能就JAVA程序员最多了,所以学了就业肯定不愁。不过,JAVA的难度要Python和PHP稍高点。

学了后端语言后,你可以做一个动态网站了。不过,还差一个数据库,推荐MySQL。如果你不想学SQL语句,可以寻找后端语言对应的MySQL图形管理应用。但是,当你的数据量较大或者经常存取数据时,建议学习下基本的SQL语句以提高效率。

当你前端和后端都学完了,你就可以随性所欲的做你想做的网站。做出来后,记得分享给你的好友和家人,他们的鼓励是你前进的动力。

这就完了吗?×××长征才刚踏出第一步。

为什么我的网站这么慢?可能是因为前端静态资源CSS或者JavaScript太大或者加载方式不对。你得学习下代码优化、静态资源压缩打包和页面渲染原理吧。

为什么查询数据怎么慢?你得学习下数据库优化吧。

有小伙伴想和你一起开发网站,怎么让别人快速看懂你的代码?你得学习下代码模块化(低耦合,高内聚)和接口设计吧。

为了使你网站稳定,你还会遇到很多问题。但通过前面学习,相信你已经学会了如何独立排查和解决问题了。独立解决问题的能力是程序员最基本的能力之一。

网站稳定了,你可能想设计出类似于热门内容和推荐内容等。一看需要用到排序算法和推荐算法,恍然大悟,数据结构和线性代数被你学成了狗屎。不停的责骂自己,当年上课的时候干啥去了。

不要着急,相信你现在回头再去看时,一定能学进去。因为学了,你马上就可以用。现在你终于明白,数据结构中的时空复杂度、线性表、栈和队列、树、图、排序和查找是怎么用的。

诶,课本里的C代码怎么和我写的Python和JAVA这么相似。仔细搜索发现,C语言才是这些语言的祖师爷。顿时心生悔意,要是当年好好学C语言,现在也不会这么吃力。种一棵树,最好的是十年前,其次是现在。赶紧学吧,少年!

现在网站也像模像样了,想知道浏览器怎么运行的吗?HTTP协议是啥?不用搜了,赶紧回去看计算机网络,”三次握手”必须烂熟于心。

终于有一天,服务器死机了。这下你得学习下服务器运维,了解下服务器工作原理吧。世界上绝大多数服务器系统都是Linux,Linux系统你得学习下吧。

多线程多进程貌似见过?你已经学过了,就在操作系统那本书里,老师讲的时候你没认真听。这下你恍然大悟,原来学校里的课是有用的,只是自己没发现。这样你又回去把计算机组成原理和微机接口原理复习了下,了解了Byte和Bit的区别,了解了二进制编码,了解了汇编语言等等。

大道至简,心中有剑于无形。现在你明白了,编程语言只是术,而计算机基础课才是心法。万变不离其宗,你不再恐惧编程,也不再把自己限定在某一种语言。你开始不满足于只做网站,你想做APP、游戏、编译器或嵌入式开发等。

通过之前的学习,你学会了如何用项目去驱动学习,学会了独立解决问题,学会了快速上手一门编程语言,学会了前后端如何交互等等。即使你以后不做Web开发,这些能力都是通用的,伴随你一生。

原文地址:https://blog.51cto.com/14284898/2393179

时间: 2024-10-09 21:36:03

C语言是编程小白的噩梦,WEB开发成为转行程序员的福音!的相关文章

转行程序员难么?编程学不好的只有3种人

程序员是这几年最热门的职业,即便是很多外行人分不清前端.后端.工程师.架构师,除了格子衬衫头发少加班多,大家都还有一个共同的认知:那些对着电脑噼里啪啦敲着看不懂代码的人,工资都很高. 很多人羡慕程序员除了羡慕有一个不错的收入外,还觉得程序员的技术也是一技傍身,在科技是第一生产力的今天,编程的技能能让他们走到哪都不怕.羡慕的人多,想转行的也不少,但很多人在学习一段编程的时间之后,就会厌倦,感觉编程太难,自己不适合编程,最后不了了之,还是回到羡慕别人拿高工资,自己只能幻想能不能突然变身一名技术高超的

我为什么自学编程?如何转行程序员小型攻略

很多人在遇到事业瓶颈,或者从事一份自己不喜欢工作,又或者对未来迷茫的时候,总能看到很多人说,转码农,当程序员. 诚然,转行当程序员不仅是政治正确还是事实正确,但是这个过程其实并不容易,倒不是因为程序员门槛高,而是很多人认为学编程很难,并且拒绝尝试. 其实掌握方法后,并且拉近自己与编程的距离,你会发现,你完全可以做到. 刚好这半年,自己一直在学习Python,根据自己这半年自学编程的经历,班门弄斧,分享一下自己自学编程上的一些学习心得. 另外这边大神较多,本篇文章只是抛砖引玉,肯定有不靠谱地方,麻

Go语言大神亲述:历七劫方可成为程序员!

"历劫1":你坚信你可以用Go来做面向对象编程? 在经历了一次Go应用之旅之后,你可能就会开始思考:"怎么样才能让这种语言更像面向对象的编程语言?"因为你已经习惯了这种编程,你想要制作健壮的代码.想要多态. 然后,你说:"一定有办法实现的!"再然后,你就发现了结构嵌入,它可以将来自封闭对象的方法巧妙的委托给嵌入对象,而无需重复代码.这简直是太伟大了! 当然,很快你就会发现这并不能真正解决问题.因为结构嵌入只允许委派方法调用,所以看起来你是在做多态

干货:Web应用上线之前程序员应该了解的技术细节

[伯乐在线注]:<Web 应用上线前,程序员应考虑哪些技术细节呢?>这是 StackExchange 上面的一个经典问题贴. 最赞回复有 2200+ 顶,虽然大多数人可能都听过其中大部分内容,但应该会有你没有深入了解的内容.一起来看看. 问题 Web 应用上线前,程序员应考虑哪些技术细节呢? 如果 Jeff Atwood 忘记把 HttpOnly cookies.sitemaps 和 cross-site request forgeries 放在同一个网站,那我会把什么重要的东西也会忘掉呢?

asp编程经验谈:Asp及Web开发中的常见问题

表格的折行处理. <table style="TABLE-LAYOUT: fixed" width="200" border="0" cellspacing="0" cellpadding="7" bgcolor="#f7f7f7"> <tr> <td style="LEFT: 0px; WIDTH: 100%; WORD-WRAP: break-

程序员的编程能力层次模型

编程技能层次 编程技能层次,指的程序员设计和编写程序的能力.这是程序员的根本. 0段—非程序员: 初学编程者,遇到问题,完全是懵懵懂懂,不知道该怎么编程解决问题.也就是说,还是门外汉,还不能称之为“程序员”.计算机在他面前还是一个神秘的黑匣子. 1段—基础程序员: 学习过一段时间编程后,接到任务,可以编写程序完成任务. 编写出来的代码,正常情况下是能够工作的,但在实际运行中,碰到一些特殊条件就会出现各类BUG.也就是说,具备了开发Demo软件的能力,但开发的软件真正交付给客户使用,恐怕会被客户骂

java web 开发三剑客 -------电子书

Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知Internet的目的是让各个net交互.所以,Internet实质上是将世界上各个国家.各个网络运营商的多个网络相互连接构成的一个全球范围内的统一网,使各个网络之间能够相互到达.各个国家和运营商构建网络采用的底层技术和实现可能各不相同,但只要采用统一的上层协议(TCP/IP)就可以通过Internet

20年资深程序员编程经验分享

原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务.生物技术.房地产.医疗.保险和公用事业. 从11岁时,我就一直在编程,并且一直都很喜欢技术和编程.这些年来,我积累了一些艰难又容易的经验.作为一名程序员,你或许还没这些经验,但我会把它们献给那些想从中学到更多的朋友. 虽然我想我会持续更新这些经验,可能还会有更多的感想,但就我这20年来看,我想下面这个列表中基本不需要增添额外的东西了.下面就是我至今最难忘的经验

顶级程序员推荐的编程开发书籍【整合】

全栈工程师Dmitry Shvetsov整理了Bob叔以及Jeff Atwood and DHH等世界知名程序员曾经在博客中推荐过的书单,下面我们就一起来看看深受大神们青睐的书籍都是哪些? Toptal公司副总裁Bozhidar Batsov在他的演讲中提到:作为一名程序员,需要掌握15本书: <Inside the Machine>美亚评分 4.6<代码大全>豆瓣评分 9.3<具体数学>豆瓣评分 9.6<计算机程序的构造和解释>豆瓣评分9.5<程序设