在美做开发多年,写给国内开发新手的一些心得(转)

从这个论坛开始办这个板块就几乎没正面回复过什么,但平心而论,看的最多的板块也是这个。但从没有发表过自己的看法,因为任何一个人在今时今日都可以成为一个程序员。而在看了很多国内的程序大小论坛后,养成了一个习惯,不敢在论坛里做正面的回复,甚至不回复,乃至连文章也不写。为什么今天破例了?因为被很多新人的那种态度所打动,因为他们真的很诚恳的在学。

罗哩叭嗦的前言到此为止。我说一下我个人经历在先,我做过PPC的项目经理(可能现在改名叫WM),也在塞班智能系统刚开发之初做过一些商业项目等等等等都和嵌入式有关。但我一直认为那个时候的我的开发都是不成熟的开发。为什么?因为和很多新手一样,陷入一些误区。就是到底什么是开发程序?这个错误大家常犯,为什么开发程序,是一大堆数据处理,从第一个程序诞生到今天,程序就是一大堆的数据处理。而其实很少的国内开发人员考虑过这一点,因为他们大多考虑的是自己的饭碗和升职。所以他们忽略了最基本的东西。而多数国内论坛也把这些东西认为是无需讨论的。而那个时候的我也是。

为什么我在文章的一开始就提到了一大堆数据处理,那是因为数学。可能看到这里大多数学生朋友都会笑了,数学我很强。如果这样想,这样你和我以前的我一样又进入了一个误区。这里我还是以我自己说一个例子,我在美国上calculus,在上之前,我本来不想上的,因为高数什么的我都很轻松拿到了高分了,这calculus算什么,对于中国人来说,简直就是智商的侮辱,而且第一次Quiz和Midterm也证明了我的想法,多数的外国人的均分就60多,而中国人几乎都是85以上。而在这成绩背后我却发现了一个问题,就是题目我们都会解,但老师为什么一定要反复的证明趋向于一个数字,他写了满满一个黑板的2.0 ,1.999,1.998,1997 趋向于0 ,然后他又写了从-.2.0,-1.999趋向于0.其实那时的我认为老师很傻,有必要吗?你做这些些不会改变定律,也不会改变任何结论。而且定律大家都已经知道了。后来我在上完后,找到了老师,问他为什么你要这样写?她开始笑了,然后对我说,其实过程比结果更重要,而她个人也认为在这些过程中,说不定哪天她会看到一个,那个就是一个很tiny的一个数字,他的趋向可能会不同。其实她说完这些我还是没理解,而且我还是认为她很stupid更多的是古板。但当我完成所有的理科科目后,我终于有了很微妙的转变,那就是哪怕是一个简单的结论都需要去自己证明出来,因为说不定哪一天我也可以去推 ×翻这个定律,因为我发现了一个很tiny的错误。 我想了半天,我决定用这个例子,因为这代表了美国和中国文化的差异,没有那一方是对的,或者错的。只是个人如何去看待这个问题。



而这也是为什么要学习离散数学和线性代数和高等数学甚至物理,如果你实实在在的从根本上了解了他们,你的开发程序技能已经是有一定水准了,哪怕你就是不会C。而这个例子的证明,在国内很多,比如很多清华的数学系和物理系的学生,在phd或者master转入了CS(计算机技术)专业,他们会有很大的发展空间,而往往都是这类人比从一开始读CS的人取的成就要高。

可能看完上面你已经灰心了,因为你的数学不好。数学是一个捷径,如果我们没有这个捷径,我们还有创意。这说起来好简单。看看国内软件行业就明白,没一个有创意的软件,在说远一点,你用百度去搜索一个技术参考,可能有1000到2000个结果,但可以很负责的说这1000到2000个结果都是重复的。如果你把这个keyword打入google美国服务器。我也可以很明显的告诉你,他的重复率低的让你难以想象。为什么搜索结果和创意联系起来。因为抄袭首先扼杀了创意,而什么是创意,那个不是高深的理念,更不是什么多符合数学或者物理逻辑的东西,那个是一个纯粹的想法。

而多数的程序员在有了好的想法之后,就开始束缚起来,要加密,要如何创业快速赚钱。呵呵,很符合中国特色。其实一旦当你在最初阶段就把你的创意捆绑上这些附加的东西之后,他就开始陨落了,除非你有很强大的公司做支持,比如Google或者MS,或者Apple.所以有了好的想法后,不惜代价,勇往直前才是一个程序员的信念,哪怕市场就是不好,先把他完成,在一段时间后,说不定就会被注意,in other words.哪怕就是不成功,没人注意,对程序员本身而言,这也是一种经验的累计,因为只要你去写代码,你就会发现你需要的知识很多。 那怕就是一个小的semicolon(;) 摆的位置发生变化,在程序上,也有可能发生质的变化。therefore, Just do it if you got good idea. 

说了2个大前提,让我们开始进入一些开发细节。我看了多数人喜欢问这个一个问题,我要具备哪些语言才能开发apple的程序或者java的程序。

in fact, my answer is nothing. 做java开发也好,做objectC开发,乃至php什么都好,C不是必须的基础.in other words, 你会C和不会都一样。而为什么有很多人强调无论学什么你都要会C,这个论调在国内很多,他们说没错,因为可能他们老师是这么说的,或者他的学长或者学姐也是这么说的。但其实,国内多数人都没给出一个为什么要学C的理由,其实看多英文书后,你就知道了,C是一种Thinking, 我并没有去翻译这字,因为Thinking代表很多,不单单是解释他是一个想法。thinking包括你的文化,包括你的个人经历,甚至你对其他专业的理解。而我个人的理解对C就是,他是一个做大型程序的基石,而对于你只是完成一个普通程序,可要可不要。因为现在的计算机英文开发教材都是属于解释性的,什么叫解释性,就是作者把那些枯燥的东西用他们自己的经验和实力通过最简单的语言给你解释了一下。所以你不需要任何其他基础, 只需要和twitter一样,去follow以一个你喜欢的作家,但找到这个你喜欢的作家要花很多时间。

而开发语言,真的无太多话可以说,你只要去记住那些就可以了,OOP就那么点东西,说来说去就是继承,多态,封装这些。最难的也就是C++,因为他只是一个不全面的OOP,或者不完善的OOP,所以他难,因为没完全遵循OOP的规则或者原理。 而相对java就容易很多,因为就是一个存OOP。而了解 OOP的人,或者你真的掌握了他的精髓后,你会发现她是一个合理的东西,而不存在难与不难,就等于Thiniking in Java里作者反复说的一些句子,万物皆对象。而这个对象就是我们在现实生活中天天遇到的,再打个比方,你对你的另一半有些基础的要求,比如是男性是必须,然后要20岁以上,太小不行,则就是你的field.而有了field就是需要一些function,比如这个男的需要有钱,所以他能赚钱这个function是必须的,当然能实行人道这个function也是必须的。就这么简单,OOP基础就这些,在深入一些,也有很多,花个2到3天时间就掌握了,所以不要一开始就问难不难。请记住,在中国这么艰难的环境里,你都能生存下来,还有什么可以算得上是难的。

(续待未完)

而如果你有C的基础,其实还是要看一下ObjectC,因为很多定义还是有一定差别,就等于你会C++,可能也用了C++多年,但你刚接触java的时候,你也要难免有点不适应,比如继承里,你不能继承多个base class,而且要使用interface,而更具体的,逻辑方面的东西更现实化,比如instanceof(),例子有很多,但说白了就是更方便你快速开发。既然这里说到了快速开发,我在这里就展开这个话题,作为一个新手,不要考虑太多,用现有的你的资源去把你的想法去实现,那怕就是VB也好,不要太在意我今天学的这个java是不是过时了,或者ObjectC是不是太不可移植了。请在你脑海中一定要放弃这个概念,任何东西都会过时,但Thinking是不会变化太大的。而我们要master或者要handle的是Thinking.

多讨论,这个是我在美国学到的另一个东西。其实任何人都可以讨论,我的另一半是学生物的,对计算机编程是完全不懂,但我很喜欢问他,你认为这个如何?他经常的回答很让我生气,比如他自己的项目有时候,其他人是用java的写得,他的浏览器没装可以打开java程序的东西,他就会很愤怒,为什么你们这些做程序的不把问题简单化。我当时也很气愤,人家用java写有什么不对,但我静下心来想想,他就是一个最总端的用户,虽然他的要求不符合计算机原理,但最起码他对这个程序是感到厌烦了,而那个用Java写的人,完全可以用ajax加php 做改进,这样就把这个问题让非程序员更容易理解。最起码容易打开。所以和任何人去讨论,去聊天,你会得到很多东西。而那些东西是你一辈子在书上学不到的,但肯定会让你的程序更贴近用户。如果你和可以和你奶奶(前提你奶奶会电脑)多聊一会,他们也会给你他们需要什么样的程序,而不一定要到处找灵感,因为灵感就在你身边。


最后一点就是讨论后的认同,国人很不喜欢认同别人,总是会认为自己比别人有本事。但在来美后,我也开始逐步的去承认别人这在以后的team work中很重要,国内的team work不多,所以很难体会到,一个组员,一个手下,他们都会有他们的想法,而一个好的leader甚至manager,是需要过人的包容力,而这个包容力的基础就是去认同别人,因为他们会在任何的一个时间点上说出一些你不知道,或者你没想的提示,而这个提示可能就是你的软件项目的转折点。

本篇完结,我的结语就是:虽然社会很让你无奈,但作为一个“人”,做任何事情,都要先尊重和了解身边的一切,这样你才能成为一个人,最少也是一个对别人有帮助的人,而程序员就是用程序去帮助人。而不是停留在在我满足的层面。

基于深度学习的活体人脸检测系统:YOLOv5、YOLOv6、YOLOv7、YOLOv8实现与UI界面设计 本博客详细介绍了如何基于YOLOv5、YOLOv6、YOLOv7、YOLOv8模型实现一个完整的活体人脸检测系统。系统包括数据集准备、模型训练、UI界面设计以及实时检测功能的实现。通过YOLO系列模型的应用,我们能够高效、准确地进行人脸检测和活体验证。未来,随着YOLOv9和其他新一代目标检测模型的出现,我们可以进一步提高检测精度和速度。此外,集成更多的传感器数据(如深度传感器、红外线传感器)可以使活体检测系统更加安全和稳定。 阅读详情

相关推荐

Linux内核支持串口屏,linux串口触摸屏设计总结

Linux serial touch 设计总结概述:最近在做嵌入式linux下串口触摸屏设计,遇到一些问题,经过查找资料和请教同事,总算把问题解决了,事后有把linux相关的内核代码仔细看了一遍,为了有点成果,特别写了个总结。如有任何问题请联系yxj_5421@http://www.doczj.com/doc/87b94b1e227916888486d76d.html,转载请标明出处。系统资源:L...

weixin_39935903的博客 1296

loadrunner监视Linux服务器 MsgId: MMSG-47195

我linux机器上都配置好了,连接时报错误:Monitor name :UNIX Resources. 无法在计算机 192.168.0.220 上访问度量 Paging rate 的数据。提示: 在计算机上检查是否有此类度量(使用“添加计算机”对话框)(入口点: CRstatMeasurement::CRstatMeasurement)。        [MsgId: MMSG-47195] ...

jayjayjayjayjayjay的专栏 538

ADRV9026初始化避坑指南:手把手调试PostMcsInit常见故障

本文详细解析了ADRV9026多片同步初始化过程中的PostMcsInit常见故障,包括时钟校准失败、JESD链路建立问题和ARM核通信异常等。通过实际项目经验,提供了硬件检查清单、软件配置要点和分层诊断方法,帮助工程师快速定位和解决问题,提升系统稳定性。

hadoop5ranger的博客 620

转自weiphone]在美做开发多年,写给国内apple开发新手的一些心得,无教程

在美做开发多年,写给国内iphone新手 从这个论坛开始办这个板块就几乎没正面回复过什么,但平心而论,看的最多的板块也是这个。但从没有发表过自己的看法,因为任何一个人在今时今日都可以成为一个程序员。而在看了很多国内的程序大小论坛后,养成了一个习惯,不敢在论坛里做正面的回复,甚至

High_Mount的专栏 1019

基于YOLOv8的违规抽烟/打电话检测系统:从数据集构建到部署实战

模型优点缺点精度高速度慢(5 FPS)SSD速度快小目标检测差YOLOv5平衡性好官方支持停止YOLOv8最新、最快、最准需要PyTorch环境YOLOv8相比前代:骨干网络升级(C2f模块)无锚框检测(Anchor-Free)动态任务对齐分配(TaskAlignedAssigner)支持分类/检测/分割/姿态估计。

YOLO 97

【Bug已解决】Request timed out / API Timeout — Claude Code 请求超时解决方案

方案适用场景推荐指数难度方案一:增加超时大任务处理⭐⭐⭐⭐⭐低方案二:切换 SonnetOpus 太慢⭐⭐⭐⭐⭐低方案三:缩小范围大代码库⭐⭐⭐⭐⭐低方案四:优化网络网络延迟高⭐⭐⭐⭐中方案五:减少 MCPMCP 超时⭐⭐⭐中方案六:流式响应长生成任务⭐⭐⭐低根本原因:请求超时最常见原因是请求体过大(35%)和 Opus 模型推理慢(25%),默认 60 秒超时阈值对大型任务不够最佳实践。

一键难忘的博客 5158

转载的《在美做开发多年,写给国内iPhone开发新手 》

              这是我在51CTO技术圈的Android开发圈里面看到的一篇文章,感觉很不错就和大家分享一下!!网址是:http://g.51cto.com/androiddeveloper/88998                      在美做开发多年,写给国内iPhone开发新手       虽然是写给iPhone开发者的,但对我们Android开发者同样有可以学

computerchao的专栏 591

LeRobot 官方论文:一个用于端到端机器人学习的开源库

本文介绍了一个名为LeRobot的开源库,旨在解决机器人学习领域的碎片化问题。该库提供了端到端的技术栈,包括统一的机器人中间件API、标准化的数据集格式(LeRobotDataset)、优化的推理栈以及多种最先进机器人学习算法的实现。LeRobot支持多种低成本开源机器人平台(如SO-10X、ALOHA-2等),通过共享中间件实现便捷的遥操作和数据收集。其数据集格式已广泛应用于社区,截至2025年9月已有16,000多个数据集公开共享。该库还支持流式处理大规模数据,降低了研究门槛。在模型方面,LeRobot

2506_90492529的博客 901

在美做开发多年,写给国内iphone新手

在美做开发多年,写给国内iphone新手 从 这个论坛开始办这个板块就几乎没正面回复过什么,但平心而论,看的最多的板块也是这个。但从没有发表过自己的看法,因为任何一个人在今时今日都可以成为一 个程序员。而在看了很多国内的程序大小论坛后,养成了一个习惯,不敢在论坛里做正面的回复,甚至不回复,乃至连文章也不写。为什么今天破例了?因为被很多 新人的那种态度所打动,因为他们真的...

weixin_34391445的博客 91

手把手带你实现DAF-Net:零代码基础入门红外与可见光图像融合(从理论到实战)

本文介绍了红外与可见光图像融合技术及DAF-Net网络的应用。红外图像能捕捉热源但缺乏细节,可见光图像纹理丰富但在低光环境下表现不佳。DAF-Net采用双分支特征提取和动态注意力融合架构,能智能分配特征权重实现优势互补。文章详细讲解了环境配置、数据集准备(如TNO数据集)和预处理方法,并提供了DAF-Net的核心代码实现,包括特征提取、注意力融合和图像重建模块。通过该技术可在安防、自动驾驶等领域获得更优质的融合图像,提升视觉感知能力。

m0_71589036的博客 228

MuJoCo XLA (MJX) 强化学习人形机器人四足机器人入门教程(三)

MJX 是用 JAX 编写的 MuJoCo 实现,可以在 GPU/TPU 上进行大批量训练。在本笔记本中,我们将演示如何使用 MJX 训练 RL 策略。在开始大量 RL 工作负载之前,我们先从一个简单的示例开始!xml = """"""接下来,我们使用 MJX 将 MuJoCo 模型和数据放到 GPU 设备上。下面,我们将打印来自 MuJoCo 和 MJX 的 qpos。

2506_90492529的博客 2471

在美做开发多年,写给国内程序的开发新手

原文链接: http://bbs.weiphone.com/read-htm-tid-768284.html 备注: 看了之后很有感触, 不过把名字修改了一下, 原名称是<在美做开发多年,写给国内iPhone开发新手> 从这个论坛开始办这个板块就几乎没正面回复过什么,但平心而论,看的最多的板块也是这个。但从没有发表过自己的看法,因为任何一个人在今时今日都可以成为一个程序员。而在看了...

weixin_30597269的博客 80

为什么 CL_DEMO_OUTPUT 不能用于生产用途:不仅是 demo 标签那么简单

摘要:CL_DEMO_OUTPUT 虽能快速展示ABAP数据,但存在严重生产风险:1) 官方定位为示例工具,不承诺兼容性与支持;2) 非Released API,云环境直接不可用;3) 依赖SAP GUI,缺乏日志关键特性;4) 存在版本漂移、类型限制、性能隐患及安全缺口。典型事故案例包括后台Job崩溃、Gateway链路污染和云迁移失败。生产环境应改用结构化日志(如SLG1)或稳定API输出,避免将调试工具误作工程方案。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 130

在美做开发多年,写给国内iPhone、Android开发新手

从这个论坛开始办这个板块就几乎没正面回复过什么,但平心而论,看的最多的板块也是这个。但从没有发表过自己的看法,因为任何一个人在今时今日都可以成为一个程序员。而在看了很多国内的程序大小论坛后,养成了一个习惯,不敢在论坛里做正面的回复,甚至不回复,乃至连文章也不写。为什么今天破例了?

CUbuntu 832

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

超级产品:国内美妆行业正在发生什么变化?

因消费升级带动着“悦己者消费”,成为消费行业的主要驱动力,在“颜值即是正义”的现在,越来越多的消费者舍得在“面子”上花钱。 就拿2019年来说,在其它行业同比增长仅8.2%的情况下,化妆品零售仍然得到了快速的发展,同比增长高达12.8%。 美妆市场的快速发展意味着消费者的转变,也代表着消费者正在呈现年轻化趋势。90后、95后成为新的消费主力。让美妆市场由原来的供给端变成需求端,向现阶段...

艾泊宇产品战略 5892

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

在美做开发多年,写给国内iphone新手,转自http://bbs.feng.com/read-htm-tid-768284.html

在美做开发多年,写给国内iphone新手 从这个论坛开始办这个板块就几乎没正面回复过什么,但平心而论,看的最多的板块也是这个。但从没有发表过自己的看法,因为任何一个人在今时今日都可以成为一个程序员。而在看了很多国内的程序大小论坛后,养成了一个习惯,不敢在论坛里做正面的回复,甚至不回复,乃至连文章也不写。为什么今天破例了?因为被很多新人的那种态度所打动,因为他们真的很诚恳的在学。 罗哩叭

bangexiyang的博客 1374

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

国内开发和对日开发的的不同

写这样一篇文章应该先铺垫一下自己经历,虽然是小白,但是这样说也是为了更有说服力。小编在大连读的大学,日语专业,大连应该是国内日语相对发达的地方吧!在大四的时候,参加了学院组织的校企联合项目,去学习了对日.net软件开发。学习了九个月左右的时间(2015/8/3-2016/5/23),相对时间比较长,学了之后,面试了一家日本公司,准备出国,可是计划赶不上变化,由于办签证的时间过...

weixin_33881041的博客 1205

Android Studio 配置国内镜像源:加速你的开发体验

在中国大陆地区,由于网络环境的特殊性,Android Studio 默认的资源下载速度可能会受到影响。为了提升开发效率,我们可以将 Android Studio 配置为使用国内的镜像源。本文将详细介绍如何为 Android Studio、Gradle 以及 Flutter 配置国内镜像源。

Unity打怪升级 2万+

写给那些傻傻的,想做服务器开发的应届生

前言 猿题库刚刚结束了北京地区的大规模校园招聘,国庆之后打算转战外地进行校招。我本人深度参与了此次的校招工作,包括笔试题命题、面试题命题以及具体的面试工作。 我在面试中发现了一个非常有意思的现象,就是大多数应届生都想做服务器端开发,但是他们却又不清楚服务器端开发具体要做些什么。 我和同事聊天的时候说起此事,我们认为可能应届生觉得:做服务器端开发可以让自己写的程序运行在很多台机器上

hahahua0的博客 1108

关于 Unreal4 技美:如果你希望往UE技美方向发展。。。。

关于 Unreal4 技美:如果你希望往UE技美方向发展。。。。 https://zhuanlan.zhihu.com/p/24766321   关于 Unreal4 技美:如果你希望往UE技美方向发展。。。。 changwei 技术美术此前十分冷门,只有复杂端游对其有需求,而今MMO手游大制作再加上VR突起导致需求爆发。   UE4技美决定着项目的材质和特效表现力专业性要求较高...

kuangben2000的博客 4600

(转)从入门到精通:如何零基础做一款Roguelike游戏?

本文转自:从入门到精通:如何零基础做一款Roguelike游戏 供自己学习和收藏 在游戏行业,Roguelike是最受独立游戏开发者青睐的玩法之一,凭借随机生成的地图、不可挽回的单向进程、非线性故事和复杂的系统,这类游戏的重复性极高,近年来国内独立开发者也对Roguelike十分感兴趣。 而且比较特别的是,这个品类的开发者与玩家之间的界限很模糊,不少都是因为热爱某个游戏,想要制作...

lMonster81 4962

探寻计算机科学之美

看到这个题目,你也许会说:“没搞错吧,计算机给人的感觉是冰冷而坚硬的机器,这有什么美可言呢?”可是,看完了笔者下面介绍的这几本技术图书,也许你的印象就会改观了。因为这些书,会带领你去发现计算机科学世界的美。 《代码之美》 英文书名:Beautiful Code, Leading Programmer Explain How They Think 出版时间:2009年1月,定价:99元

hi! 幡冉壳 2686

做开发这么多年,我终于悟了

研究的多了,你就是这种功能的大神,面试的时候,你就说你做了xxx功能的方案,吸收了业界很多类似xxx功能方案的长处,别人就会觉得你很牛逼。其次,优秀程序员肯定至少会花一些时间来清理自己的代码,整洁好看的代码比杂乱无章的代码更容易修改,每次回头看自己之前写的代码,总会觉得很可笑。第七,成功的前端工程师很会善用工具,这些年低代码概念开始流行,像国外的Mendix,国内的JNPF,这种新型的开发方式,图形化的拖拉拽配置界面,并兼容了自定义的组件、代码扩展,确实在B端后台管理类网站建设中很大程度上的提升了效率。

fafafaz的博客 83

2021年秋季校招_软件技术_Java开发工程师_求职心得

2021年秋季校招求职心得 前言   一晃二十多年过去了,00后的我们开始面临着就业的难题:究竟是去腾讯好呢,还是去字节好呢。。。装B的一律打死好吧。   这也算是是人生中一次重要的转折点,标志着我们从学生开始逐步转变为社会人,如果我们马马虎虎、凑凑合合的就走了,回家无颜面对自己的老父亲啊。      感慨的废话比较多啊,下面进入正题,给未来的学弟学妹们分享一下我求职的心得。 一、校招求职流程 首先介绍一下校招的流程: 1、企业宣讲   校招期间会有很多当地的企业去招人,注意:这个当地不是你老家而是你学校或

guyu的博客 1545
上一篇: google 测试
下一篇: 详细解析 tomcat6 启动过程与请求过程
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值