请教下,如何系统的自学编程知识?

  • y
    yy77
    设计的话就去买本“点石成金:访客至上的网页设计秘笈”来入门吧。程序技术一直在变,跟着最新的潮流学呗。
  • t
    tumuyan
    网页相关可以访问www.w3Cschool.com.cn学习
    然后上网到时候没事看看别人的页面怎么写的?
  • f
    ffcactus
    首先了解最基本的计算机硬件知识。
    然后学下汇编语言,这个实践可以相对少点。
    然后学好C语言,至少学习3个上5000行以上的程序。
    然后学Java。
    然后学学设计模式。design pattern.
    再学JavaEE或C++.
  • i
    inaken
    我只知道所有会编程的同学都告诉我C++学NB了就无敌了,可他们好像没一个学的NB的,都在搞什么JAVA和PYTHON之类的,我就说你们明知道C++学好了就无敌了,怎么学了这么多年还没学明白,是智商问题么,然后他们沉默了:D
  • f
    ffcactus
    所谓Web前段指的是Web页面的展示如HTML/CSS,以及简单的交互如JavaScript/Ajax。
    后端指的是你的数据从从何而来,如何处理客户的请求。典型的方案有JavaEE、.NET. 还有数据库。
  • f
    ffcactus
    学好C++需要非常扎实的基础以及广泛的经验。很多公司也没什么好的项目来边学边做。
  • 2
    2047
    你瞎推荐之前都不看看人家兴趣方向和正在学的东西?
  • v
    vice2015
    mark
  • f
    ffcactus
    人家问的是基础,连这些都不懂永远是半吊子,想去好的公司人家鸟都不鸟。
    如果这些你都学好了,什么HTML,CSS,JavaScript简直是小儿科。
  • n
    niubility
    感兴趣,Mark
  • T
    TG春上春
    少壮不努力, 老大写程序.
  • z
    zyx4986
    看看设计模式吧,建筑的永恒之道。
  • 2
    2047
    认真回一下LZ,看了帖子我还是不清楚LZ到底是要做业余开发还是转职成程序猿

    你说要“做网站”、“UE、UI 设计”和“手机app”,UE、UI这个我不懂,其他的可以扯两句
    你的需求并不涉及底层开发,所以什么计算机硬件知识啊、编译原理啊、C语言啊、C++都不用花很大力气去学
    开发个简单网站,一种脚本语言(你不是在学Python么,上手挺容易的用的人也不少)/java+html css javascript及其框架(比如jqerry、extJs等)够了,数据库也只需要掌握到增删改查足矣,用一下主流的开发框架,其他涉及到的知识在开发中根据实际需要学习,

    手机app么,安卓、ios相关的资料铺天盖地,随便找本"XXXX实战"的书都是从零基础教起的

    不过....你确定真的要三个方向都学吗?呵呵,真不愧是虚拟内存大神,一本正经地胡说八道让人无力吐槽。别做什么程序员了,早点去天桥底下干说相声这份有前途的工作吧

    html、css。js入门一点都不难,零基础学上一个礼拜就能弄个简单动态效果页面出来,但是要做到精通、能够完美适配各种浏览器等等要多少年呢?看看nb的前端的价格吧
    你以为只是学语言这么简单吗,各种平台相关衍生的知识就不管了? 还“小儿科”,你真是程序员吗?

    [本帖最后由 2047 于 2013-3-11 16:43 编辑]
  • d
    deadpuppet
    这很简单啊
    到软件公司当3年程序员呗
  • x
    xu33
    LZ连自己想干什么都不知道
  • t
    tobewind
    推荐楼主学汇编喷了。
  • f
    ffcactus
    想要精通,但不知道HTML、CSS、JavaScript的运行原理是不行的,否则无法些出高效优美的代码。没有我之前说的那些原理想理解它也是不可能的。什么适应各种浏览器之类的活,说白了真和码"农"没区别。
    还看看牛逼前段的价格。。。有从事数据库优化、虚拟化、核心安全、多处理器多任务的牛逼人事工资高吗?
  • n
    nintenyun
    去codeacademy
  • j
    joachim
    我说几句吧,我和楼主一样也是工科生,也想学编程,偏硬件方面的,说实话,以前上课时候学的也不精,只能算是皮毛,但学的东西基本涵盖了所有的编程的基础(Java之类的时髦货除外),先C++再到汇编语言,编程的基本思路,再回到嵌入式编程(用的是ARM的Black fin板子和Linux系统)。感觉现在要重新拾起这些东西话,把以前的笔记和教材回顾一下,应该没什么问题,关键是这个过程很枯燥,要有耐心和恒心。把这些基础的东西搞懂了,你的编程思路就会初步形成,然后就是接触实例了。
  • 腻水染花腥
    学C++牛逼 X
    学好C++牛逼 O

    我接触C++十五年多了,至今遇到的人里面还没一个敢说自己精通C++,事实上无论什么语言学好了都很牛逼,只不过这东西越往后越考思维和智商
  • r
    ro4074
    楼主想问的是野生程序员是否有生存之道,那我跟楼主说句实话,野生程序员不但能活下来,而且活的很好,有些人的战斗力比家养程序员强太多。
  • 鱼丸
    别的不说了,就说一句

    看100本书也不如动手写1个程序
  • j
    joeygo
    同意看100本书也不如动手写1个程序,楼主不是已经弄了个基本的网站吗?就在这个基础上添加功能,自习的话最主要的是兴趣
  • a
    asi6611622
    编程的实践机会比机械的多的去了,敲代码吧
  • 抠鼻屎的中指
    多看,多写,多思考
  • f
    fanti
    开始必须学点硬件知识,计算机组成,然后把操作系统大概看一遍,绝对对编程有帮助,很多非计算机专业的编程瓶颈就是这两块没学过
  • m
    mitaosi
    汇编?C语言?呵呵呵
  • m
    mitaosi
    汇编、嵌入式打基础?一本正经的胡说八道真是看喷了,敢情楼上几位大神都是做底层开发的兼职硬件开发,软硬兼修,果然牛叉啊
  • m
    mitaosi
    推荐楼主看这篇文章

    程序员技术练级攻略
    http://coolshell.cn/articles/4990.html
  • O
    OB
    咱能别扯蛋了吗都.........
    楼主会的已经够多了,别推荐学了,再学毁了。
    编程说白了是解决问题,不管大方面小方面的,说白了最后都是解决方案,这玩意儿就像升级,比如最开始的一个破网站,随着你的用户量增加,你的各种体验,框架,都在改变,最紧要的是赶快找个一级关卡先打着,中途想怎么学都可以,别企图在不解决实际问题的情况下研究啥01101。
    最关键的是,你打了一级关卡,就不要老打一级关卡,要往二级关卡蹦,如此类推。说实话楼主会的东西随便进公司在现有框架下编码一点问题都没有。
  • O
    OB
    别纠结于技术,要纠结也是做事情的方法。
  • d
    d2loader
    楼主 目前学的东西已经够了。看楼主的需求,对web更感兴趣,正在或者已经会python,目标是对独立写一个程序。那么个人推荐你找个用python写的轻量框架看看源码,如flask ,bottle这些,再想想咋改自己做过的那个网站吧。
  • 总是注册不成功
    回炉重学一遍谭浩强,我是认真的。
  • y
    yangzhicai
    让人学汇编那位,你不是来搞笑的吧....
  • i
    iorilu
    汇编虽然和写直接的程序没什么关系, 但是对了解一些计算机执行原理以及内存分配等有好处, 这些玩意对于程序优化有些好处, 不过这年头估计没几个考虑这个的, 除非跑到taobao这种公司
  • h
    hqs998
    无语,即使是现在的ios和android手机开发也很考验基础的,很多基本功能都是从无到有。

    [本帖最后由 hqs998 于 2013-3-10 23:22 编辑]
  • 刘泪
    话说我听到一个同事说手机开发从业员很多连zlib都不知道的时候张了张大嘴……
    当然,仅仅是听说,有谬误的话不要怪……
  • l
    lrj2u
    简单粗暴,用到什么学什么,现在网上各种教学视频多如牛毛,用来入门也没问题。
    如果想深入,就深入浅出、深入理解等书来看,注意,要是老外的书,不是国内那些。

    然后,多泡相关的论坛,如:做java的iteye,做产品体验的ucdchina。
    遇到难题多上google,英文好的去stack overflow…………

    别人不知道,反正我就是这样的……
  • 刘泪
    楼主需求的其实是朝某一个内容深入吧。典型的什么都会,什么都不精。
    比如把,你学python,你要真把python精了,然后在精通python的基础上涉及其它方面,大概当个码农的心愿也是很容易实现的。
  • l
    lbyonline
    火坑吧
    估计是里面的人想出来
    外面的人想进去
  • h
    hqs998
    不少人的确gzip都不知道的,我们公司传输数据也只是gzip。

    手机开发现在需求太大了,都是从其他语言转过来的,挺多基础不好的,导致项目进展缓慢。

    现在socket、多线程等在手机上用的挺多的
  • j
    jiejieup
    我来认真回复一下,请过滤上面推荐看书和学习编程语言的内容。记住那句看一百本书不如写一个程序这句话。

    code.org的宣传视频确实会让那些非专业人士跃跃欲试,想去学一下编程,但你学这玩意儿干什么呢?你说了你对UI感兴趣,对手机App感兴趣,对网站感兴趣,但!你还是没有一个明确的目标。你到底想解决一个什么问题,或者制作一个工具解决生活中的问题,或者制作一个应用方便自己的生活。即使看100本书1000本书,你还是不会编程。

    我看到你选择了那么多门课,对不起,你不可能在一下子学会那么多东西。还有学的再多如果不去解决实际的问题,那就没有价值。

    如何学习编程,编程不是视频里写的那么简单,他是一门技艺,需要你持之以恒每天坚持。所以抛开那些书本吧,给自己制定一个目标,例如制作一个聊天室,一个简单的博客等等任务。如果你想100%准备好理论知识,那么你永远也别想开始编程。

    在开发过程中会碰到问题,例如编程语言不会,某种效果不知道怎么实现。这时候再去搜索相关的内容来学习。想要万事具备再开始编程是极其错误的想法。没开始编程实践,就学习理论这是本末倒置。理论是建立在实践的基础上,所以只有开始编程,开始碰到问题和解决问题,你才能理解理论表述的内容。

    最后,我推荐你去看《计算机科学概论》这本书。http://www.amazon.cn/%E8%AE%A1%E ... ie=UTF8&s=books
  • j
    jiejieup
    你这别误导人,学谭浩强的C语言能干嘛,去教书吗?
  • j
    jiejieup
    再补充一点,关于LZ的心态,LZ的心态存在“我想让我的知识体系完整后,才开始编程”。这有点像是一种拖延症,迟迟没有动手开始做,但给自己一个美好的借口——学习!

    对于我来说,在没有实际参加第一个项目前,我永远也不知道C++的类到底有什么用?

    在开发中,编程语言,编程工具,编程思想,计算机科学,数学等等都是工具,他们的作用只有一个——解决问题!So,重点在于解决问题,而不是学习解决问题的工具。我不是说不用学习这些工具,而是学习这些工具都是为了解决问题,如果问题可以被解决,那么就没必要花时间去学了,把时间留给下面的问题吧。

    我要学画画的目的不是为了成为一名画家,而是能用上自己制作的游戏资源,不用找美术让别人画自己心里想的东西。你学习编程的目的也不应该是成为一名程序员,而应该是为了做一个某某软件。
  • 烂鬼东
    bumingjueli
  • 藕是张力
    干点什么不好,要去做码农
  • t
    taxijyl
    不如学好英语
  • s
    sumeru
    先从解决问题开始,自己写个小项目,比如下载软件或者bt的gui,尝试自己设计,语言其实不是重点。
  • s
    sumeru
    这不奇怪,很多系统自带压缩支持不需要接触,当然手机开发门槛低是事实