其实我从前是非常一股脑赞成那种“我们必须知道底层”这种观点的。总觉得程序员知道底层才有前途,才好装,才算大佬,还有就是别人巴拉巴拉 操作系统编译原理计算机网络名词蹦出来,你什么都不会 好丢脸,最明显例子就是大家都知道数据结构与算法里东西比如什么红黑树啊,AVL但是就你不知道,你不会无端有种矮人一截感觉么,还好,我数据结构与算法基础大部分已经都实现了一遍除了图,以后大家讨论的时候,我就感觉好多了。我也是实现过的人勒。

回到标题,从我这几天学习Java jvm的过程来说,我觉得底层很没有意思,就是活在语言设计者的阴影下和编译器的阴影下。为什么要活在别人阴影下呢,然后我连区区api都忘记了,(不是不会调用是根本不记得哎呀 还有这个方法啊),然后我就想一昧追求底层有意思么,我是那种对感兴趣的人或者东西我要刨根问底的人,我对虚拟技术很感兴趣,对浏览器很感兴趣,然后延伸一堆东西。对于没有兴趣的人或者东西眼睛都不眨一下。java这个语言从实用的角度很无聊的但是有用但是真的很无聊,但是它的jvm好玩多了比java这个语言有意思。真的。

而且从根本上说现在的语言啊 框架啊都是一层一层封装,非要追本溯源的话,我们去学习数学物理吧。数学物理也很有意思啊,再往上延伸就是哲学了。。。。。。。。-_-

所以我的观点是 根据任务学习,程序员嘛,哪怕你做项目或者工作或者自己写代码自娱自乐都是有个aim就是你想达到什么样子的效果。首先完成你的aim,就是根据调用api 啊框架啊完成基本编码实现你基本需求。至于你的好奇心等完成基本需求以后再研究吧,优化的前提是你有一个可以勉强运行的基本demo【可能我不是站在设计者的角度 有的程序员是先设计后做 有的是先做后改  我们不是架构师的话一般都可以直接根据任务开动吧】。任务驱动学习,然后记得适可而止,cs发展到现在就是为了不在硬件上写0101,是为了更好更快解决问题,程序员更方便解决问题。当然一般人追根溯源到中间就放弃了因为太麻烦了。。。

简而言之就是首先要快速又不是特别垃圾地完成任务再思考优化 再去满足你的好奇心(你也可以先设计后编码根据个人情况而定),完成过程中知道自己使用的原理。要有限度地去追求底层。完成上述 大概你就可以造轮子了吧。然后让别人活在你的阴影下。。

我们做的所有事情都是为了产生较好的实践效果,不能沉迷于刨根问底,忘记实践。更不能懒,,,,,不想实践。。。。。

解决问题才是最重要的!如果你实在很感兴趣也可以专门花一段时间去研究,不要影响学习进程和工作任务就可以了。 

------------------------------------------

今天看书多了个思考角度,其实hake什么的也是知识和我们学的普通知识是一样的,只是角度不一样,写代码的人应该知道堆栈概念吧,堆栈会泄露知道么,比如段错误,你们写c指针经常会爆,一般人可能就把程序改对可能还改不对,,,,hake则利用这个,所以还是要好好打基础,基础知识和底层,语言底层像药可以救人也可以杀人.打好基础然后多角度思考你所学的知识.他们也是用的一样原理只是角度不一样而已,比如sql注入,格式化串漏洞等等.

Coder fresher 要知道底层么相关推荐

  1. 学习、纪律与交流——《Clean Coder》读后感

    看Bob大叔的书,还要追溯到<敏捷软件开发--原则.模式与实践>(http://book.douban.com/subject/1140457/).这是一本改变我对软件看法的书,也使得我彻 ...

  2. 一个牛逼的coder是这样诞生的。

    大厂offer拿到手软,同样毕业,为什么别人可以拿到很多大厂的offer?大 厂更看重毕业生哪一点? 阅读文本大概需要 4 分钟. 今天我给大家分享一个帖子: 一个有实力的coder应该要知道的领域 ...

  3. 一个牛逼的Coder是这样诞生的

    大厂offer拿到手软,同样毕业,为什么别人可以拿到很多大厂的offer?大 厂更看重毕业生哪一点? 阅读文本大概需要 4 分钟. 今天我给大家分享一个帖子: 一个有实力的coder应该要知道的领域 ...

  4. Golang之接口底层分析

    目录 GoLang之iface 和 eface 的区别是什么? GoLang之接口的动态类型和动态值 [引申1]接口类型和 `nil` 作比较 [引申2] [引申3]如何打印出接口的动态类型和值? G ...

  5. c/c++底层开发建议

    在这里给楼主点建议: 1.关于c++:对于底层来说c++基本可有可无,主要还是C,不过OO的思想还是每个CODER的基本功,还是得了解了解滴,偶个人不推荐学C++去了解OO,c#和java才是面向对象 ...

  6. 怎么才算是一个合格的coder

    十一假期过后,疫情反复.有一个问题,怎么才算是一个合格的coder?我认为能独立从头完成一个功能模块的开发时,才算是一个合格的coder~ 我们做程序员的面试经常被关注的几个问题:毕业几年.项目经历. ...

  7. 二元学习法3.0:三把学习大剑,打通学习的底层密码_学习方法

    单纯靠机会赚钱的时代已经过去,未来是认知赚钱的时代. 前两天还跟朋友聊到这个话题,未来的机会将会不断涌现,人工智能.5G.万物互联.虚拟现实-- 而这些东西,都跟知识挂钩.以前那种胆大就能挣钱,站在风 ...

  8. 从底层吃透java内存模型(JMM)、volatile、CAS

    前言 随着计算机的飞速发展,cpu从单核到四核,八核.在2020年中国网民数预计将达到11亿人.这些数据都意味着,作为一名java程序员,必须要掌握多线程开发,谈及多线程,绕不开的是对JMM(Java ...

  9. Map再整理,从底层源码探究HashMap

    前言 本文为对Map集合的再一次整理.内容包括:Map HashMap LinkedHashMap TreeHashMap HashTable ConcurrentHashMap Map Map< ...

  10. List再整理,从代码底层全面解析List(看完后保证收获满满)

    前言 本文为对List集合的再一次整理,从父集接口Collection到顶级接口Iterable再到线程不安全实现类:ArrayList.LinkedList,再到线程安全实现类:Vector(被弃用 ...

最新文章

  1. Python 之 Numpy (六)分割
  2. numpy.random.normal
  3. jsp指令元素与动作元素
  4. 辨异 —— 不同的编程语言(编译型语言、解释型语言、动态语言、静态语言)...
  5. C++ 名字空间详解
  6. 引入方式之行内样式表(CSS、HTML)
  7. 剑指offer——面试题8:旋转数组的最小数字
  8. C#基础知识之读取xlsx文件Excel2007
  9. Atitit.编程语言的基础句型and汉语英文比较
  10. matlab图片背景分割,12.4.2 图像分割
  11. 可视化指标计算公式_技巧|1个小思路,解决不同量级间指标的可视化问题
  12. 计算机的操作系统的功能有哪些,操作系统的主要功能是主要有哪些类型
  13. 股票接口数据获取方式
  14. 【matplotlib教程】绘图样式,文本线型、轴刻度
  15. 在剧里跟“刘亦菲”学营销:地推撬动“社交播传”
  16. 共轭梯度算法求最小值-scipy
  17. linux得到网卡mac地址,获取 linux 网卡MAC地址(包含编程方法)
  18. 6种不同画法画平行线_学会6种常用平行线的判定方法,数学成绩悄悄涨20分
  19. Win系统 - WIN10 更新后蓝牙音箱无法连接成 Stereo 模式(立体声)
  20. java mysql多媒体积件管理库的开发与应用源码+论文

热门文章

  1. PS如何快速抠头发丝
  2. php苹果内购验证,苹果内购支付校验
  3. 怎样查看苹果服务器验证关闭,iPhone小技巧:如何查询 iOS 系统是否已经关闭验证?...
  4. AndroidStudio实现按钮按下时状态改变以及选择器属性及基本用法
  5. 易基因综述:表观遗传学和表观育种在作物品种改良的重要作用(水稻+玉米+番茄+大豆+油菜)
  6. windows之打开文件夹、控制面板显示服务器运行失败
  7. php 获取第几周的时间,PHP获取一年有几周以及每周开始日期和结束日期
  8. 新南威尔士 计算机硕士,新南威尔士大学计算机硕士申请条件及案例
  9. android粘性广播删除,android 广播机制(2) 粘性广播-Go语言中文社区
  10. 详解:分治算法【Java实现】——汉诺塔问题