在你所说的这个点上,貌似在下非常可以与你交流一下。
首先非常恭喜和羡慕你高中就有觉悟有时间有能力自学编程什么的。然后,说说你觉得又难又无趣还看似跟计算机没什么关系的物理,(或者你是否还想加上高数,离散,概率论,至少我大一大二对这些课程都是这么个看法儿,了而且门门都是六十几分飘过)。但是你猜现在大三下学期的我怎么着,在学习上比较后悔的就是这些课程统统学得不够好。原因就在于,目前我所接触的两个项目,一个是辅助心音诊断器,软件中其中关于数字信号处理方面的算法,基础概念方面涉及到高数的微积分,其中关于机器学习算法方面又涉及到不少离散数学中集合、图论,概率论中的统计之类的许多基础性的东西;另一个是推荐系统方面的,老师已经开发实现,让我去学习消化的包括隐含语义模型,主题模型等等这些东西再次包括了离散数学、概率论、高数、线性代数中的许多知识点。最近我的纠结、挣扎、困难,几乎全部来自于这些知识的掌握不牢固导致的项目的推进速度慢。(有时候一门课你学过一编,考试及格,甚至拿个80、90多分,不够)
上面我说的线性代数、高数、离散数学、概率论和计算机很有关,如果你认同。再回到你说的有难又和计算机没什么关系的大学物理(曾深有同感),这门课和高数是比较相关的,而且相比高数更好学,因为把微积分等知识放在了一定的应用环境当中更容易理解。所以,间接地来说,它和计算机还是比较有关的。再言之,如果你要玩一玩硬件(小车、飞行器),精确些的控制实现和大物就会有不少直接联系了。所以,认真的对待一下。
另一方面,你现在尝试的大多还只是关乎熟练程度的技术(语言方面:java ,O-C ,以及相应的开发环境:android,iOS,还有你想学的Web开发,可以是基于JSP,又或者LAMP),当然就熟练而言,无论深度广度,你已经领先了许多同龄人,这非常非常非常的不错。但是,这些毕竟还只是工具,无论什么领域,工具的一个重要特征就是,易用,学起来又容易又快,工具只是手段而非目的。目的应该是满足某种需求(商业or非商业的),需求的提出、描述、解决方案的设计、实现这些根据不同领域还要设计许多的背景知识,而你现有的工具知识能解决其中的很小很小的一部分(但无趣的数学、工程学因为抽象层次更高,用途就更大,而这个你可以在大物,ACM,MCM接触到,也可以去系统地学习)。简言之,当你没有一个非常明确的需求要去实现的时候,你具备的这些技术、能力反就成为你困住自己的障碍,感觉浑身是力却无处施展有木有。这或许是你感觉如此浮躁不安的一个原因。
最后,也并不是说你要去找一个或几个需求做(因为我个人认为当你的能力足够强,需求很快就会找到你),相信你还继续呆在学校里忍受这种无聊而没有像那谁那谁谁直接辍学创业,是因为你觉得还是能在这儿学到东西提高自己的吧。如果是这样,那就淡定着学这些又难又看似没关的东西,因为你不知道进好到底会多有用(其实真的很有用,玩计算机玩到高级点,至少数学是绕不开的,ACM,GCJ,MCM/ICM等等的比赛应该已经让你有这种感觉了,反正我玩玩这些是有,另外,高中一个数学很牛的同学,过年回家的时候,听说他当组长的队伍在去年的ACM拿了亚洲第一还是第二来着)再者,学很多技术,也挺好的,多去找点项目做吧,不一定要赚钱(别那么现实,而且那么容易就赚钱,你当那谁谁那么蠢,9岁开始玩编程玩了10几年才赚钱,比不上你3,4年?),如果你是真正的Geek,那么用你学的技术实现一个有一定实用功能东西(app或者Website),就能有很强的自我满足感,这就够了,也能加强你的技术能力。赚钱留到以后吧。
哎···IT宅的臭毛病,要论证一个观点,好费力。废话颇多,个人观点,不喜勿喷,不对之处欢迎指正。