发表评论
不认同楼主的观点,编程工具只是其次,思想为主,
奥林匹克竞赛比的其实是算法,用Logo和Pascal一样可以体现,为何要去简从繁呢
很多人有许多错误的思想 ,认为学校里教的都是一些过时的东西,其实,学校学编程学的还是编程的思想,而不是哪一门语言,语言只是工具,只要有思想在,学什么语言都快
#2楼 [
楼主]2007-04-13 19:28 |
@无心之柳.NET
这是亲身实践的结果。
我自己在学校中学习了两年,什么“奥林匹克竞赛班”,也被老师叫到外面培训了一阵。实际上,我现在的开发(Soobb)都是自学得来的结果,和学校所受的教育无关。
念在楼主才13岁,还是支持一下你,(并不表示我支持你上面的观点),学校里还是能学到不少的,在课外自己在专研一点其它的东西才是正道,当然读大学的时候课外时间比课内时间多,看你会会用这个时间了,但小学我估计没有这么多的时间,呵呵
#4楼 [
楼主]2007-04-13 19:29 |
@无心之柳.NET
另外,Logo 确实不能实现很多功能。每一个 Lgo 文件不能超过 13 kb(3,000行),而对于我当时以其开发的最大项目,还是远远不够的。我试图动态解释代码,但是错误频繁。
另外,我现在 13 周岁。
#5楼 [
楼主]2007-04-13 19:31 |
@无心之柳.NET
我现在已经不在学校中学习计算机;因为所教学的,过于肤浅。
我列一下现在用的技术清单:
去简从繁?我不认为。
Logo 中大量不良的结构,是得其开发效率极低。
数组要用一堆函数初始化,难以访问文件系统...
小学?不知道博主现在多大了,反正在10年前,我参加“奥林匹克计算机竞赛”可选的语言有c,pascal和basic。
不太清楚博主是如何定义过时的,首先我认为面向过程的结构化编程不是一种过时的象征,在许多嵌入式设备或者底层的软件开发中,面向过程的结构化编程是主流。
而且同时,我认为在现在教学环境中,应该多强调基础,而非语言。不说小学,大学很多号称精通.Net的学生应聘的时候竟然说不出数组和链表的优缺点。
#7楼 [
楼主]2007-04-13 19:51 |
@shootingstars
真的那么糟?我都略知一二。我参与这种竞赛是在3年前。我上面提到过岁数。
呵呵,不好意思,回复完才看到博主才13岁,佩服佩服。
不过我同时还是建议博主多看看计算机原理,汇编语言以及数据结构一类的基础,对你的以后的学习帮助会更大。
#10楼 [
楼主]2007-04-13 19:53 |
@shootingstars
非常感谢!我家里还有几本 DOS 的书,小时候无聊,天天抱着看。
不过现在开发紧张,外加半期考临近(光考试倒是不怕),等以后有空再吧。
#11楼 [
楼主]2007-04-13 19:54 |
@Dflying Chen
有为不敢当,年轻倒是真的。
我所知道的 北京市的信息奥林匹克竞赛题目都是算法、数据结构类题目,
小学的Logo可能没有用,然而算法、数据结构确实是大有裨益。
Q 24721037 欢迎交流。
@随风流月
我也是10岁开始接触电脑,不过都是玩游戏,相形见拙啊
LOGO功能不够强大这是他的内伤,但是我们不要求用LOGO来开发WINDOWS,用来描述算法,个人认为还是有余了,如果你要开发什么软件,当然是用什么最方便,最强大的才是首选
#16楼 [
楼主]2007-04-13 20:06 |
@Ling
什么时候的?
不过,我认为,实际的能力并不比理论知识次要。
@Dflying Chen
我刚接触也是玩游戏,后来想编游戏了,就开始编程了。
搞到现在,跟原来的目标,相差可不止十万八千里 :-)
#17楼 [
楼主]2007-04-13 20:08 |
@无心之柳.NET
描述算法?还是不够。它没有文本型变量(WORD 不支持空格,很多时候又不能用 LIST)。我至今用它最高的开发是一个图形界面的游戏;包含一个简单的电脑算法以及用 MCI 播放音频效果。至今为止,我认为这是其能够实现的最高境界了。(调用 API 实现弹出框过于复杂,不建议,并且不稳定)
实际而言,Logo 的功能远远低于 VBScript,并且变量也极其难用(Make 变量名 变量内容)。不过支持动态解释倒是不错的(相当于 Eval),可惜不易使用。
很可爱的小学生。
奥赛考得是算法,是数学,不是让你做一个网站或一个项目,根本就是两回事。
如果你把算法学好了,那你这个年纪就算厉害,前途无限,如果你仅仅掌握了.net或java或者面向对象,那么你的前途很难说,呵呵。
我们这边找到好工作的不是.net或java用的好的人。
你要考虑到一点,那就是新出的东西,老师学习也要一个过程啊。不能瞎乱上,误人子弟的。就怕老师跟不上。
#20楼 [
楼主]2007-04-13 20:17 |
@大奔
不是老师学习的问题,是老师根本没有意识到要学习,要跟上新技术。
他们仅仅是为了上级的竞赛任务而教学 - 虽然相当敬重我的计算机老师们。@idior
在某些条件下,实际的项目重要于算法 - VC 向谁投资?
当然,我同意你的说法。
呵呵,其实奥林匹克计算机竞赛还是挺有用的,我参加过ACM这些比赛,得过奖。你可能是觉得使用的技术太过时,其实不用多虑,参加这些竞赛提高的是你的基础:数据结构,算法。算法关键是一个思想,用什么语言实现并不是问题。ACM可以用C,PASCAL,JAVA等来编写。顺便说一句,google,MS招的很多人都是从这些竞赛里面出来的。
#24楼 [
楼主]2007-04-13 20:21 |
@idior
再插嘴一句,我数学还算不错。(在同龄人而言)
以前经常和老师做对,认为老师把简单问题复杂化,
明明可以更快算出来的。
#25楼 [
楼主]2007-04-13 20:22 |
@帕加仔
貌似我正在开发的与奥赛一点关系没有。
我认识一个初中生,拿了这个奖的第一名,
现在在自己啃算法导论(英文版),
像安全,网络方面,真是一流!
呵呵,都年轻有为啊!15岁吧!比博主大两岁,不要抱怨,自己控制自己的学习,才能有所为,有所不为!
小弟弟真厉害啊,才13岁,呵呵,不错,将来有可能成为中国的比尔
我也不太认同LZ,学校里学的大部分东西并不存在过时的问题,关键是思想,而且我也不认识面向过程的思想是过时的,我认为计算机里的绝大多数内容都是渐进、向前发展的,而不是出现了新的一种取代旧的东西。面象对向现在是比面象过程火,但并不意味着,面向过程过时,只是在不同的时代,不同的场景,使用的方式不同而已。
送你2个字: sb
只看到程序的肤浅的一面
只会拖动控件的人
稍微复杂的程序, 需要独立开发的功能
你都做不好, 都不跟你说效率了.
呀现在才看到,原来楼主才13岁啊!!
13岁就能这么厉害,有前途啊.中国计算机界的未来就靠你们这些人了.
我也是像你差不多大的时候对计算机非常感兴趣啊,不过当时家里穷,连计算机都模不到,只能在电视的广告里看到中华学习机.自己非常的热爱,当时就自己找书看.感觉计算机学的最快的时候就是当时读书的时候,有兴趣自学的时候.现在,唉~~~,迫于生活的压力很难有大的进步了.所以你一定要在大学毕业之前加油啊,相信你一定能成为一名优秀的计算机人员!
#32楼 [
楼主]2007-04-13 20:37 |
@纳米
稍微复杂的一面?
自己看看 Soobb 吧,这还只是半年前的,即将被淘汰的旧版本。
只会拖动控件?说实话,我几乎不用 Asp.Net 控件。
需要独立开发的功能?Spider, Database,这就叫做不好?
对不起,激动了些。请不要发表人身攻击的言论。
技术一直在变,但是有一些东西是不变的。你现在认为先进的技术可能过几年就被认为是落后的。现在MS大力推行的是.net,但不保证不久的将来有推出一个新的开发平台。扎实的基础能保证你在最短的时间内适应技术的变化,我希望楼主不要轻视基础的提高。
#34楼 [
楼主]2007-04-13 20:39 |
@Ling
学习倒是好好了,也没用多大时间:-)
荣耀归于上帝。又愿不要再见到人身攻击的言论。
只用logo画过简单图形的飘过
不过你要不说我倒真网了还有logo这门语言
#36楼 [
楼主]2007-04-13 20:40 |
@帕加仔
我当时用了半个月从 ASP 迁移到 .Net。
基础么,是决不能轻视的;这次改版后开始狠补。
年轻有为啊,希望楼主再接再厉。
万事皆有利弊,你的想法有一定道理,不过也不全对。楼主千万别小看面向过程的编程,这是一种思想,现在很多行业还在用汇编做的。
至于语言,不用太在意,数组不好用就自己想办法实现一个,反而更能增长你的经验。
至于学校学的东西,也大可不必太在意,老师通常都是将简单的问题往复杂里面说。理论的东西很重要,不过如果你以后不打算做研究,也不用太在意,因为很多算法都有现成函数库的,而现在要研究或者改良一个新算法也不是那么容易的。看你自己定位的方向了,当然学好点没坏处,不过时间有限,不能样样学好的,抓住自己的重点就好。你毕业后可能发现很多学的东西都用不上,所以你只要相信你自己有能力,就无所谓与分数和比赛成绩,现在大学毕业了找不到工作的大把,而微软有的技术专家还是中专生呢,Bill G不也一样没毕业吗。学校有些时候是浪费你的时间的。你自己要有所选择。
以前中学学过basic,pascal,c,大学学了数据结构,毕业以后工作用。net,感觉以前学过的东西用处不是很大,至少对于。net开发是一点用处也没有。
我觉得楼主以后想用。net或者java这样面向对象的语言做开发的话,可以补补面向对象的知识,以及设计模式,学学那些好的框架,像spring或者castle,hibernate这些东西的思想,这些东西更实用些。
很羡慕楼主这么小就可以参与这么实在的开发,其他那些拿奥赛奖牌的学生估计很难像楼主这样做出一个比较实际有用的东西吧。
#40楼 [
楼主]2007-04-13 21:15 |
@ocean
Logo 下的多线程都实现了:-)
Windows 的 GUI 似乎在内存不足的时候会出现很多文字无法显示,不正常...
我非常不同意楼主的意见。
计算机语言何止百种,但是大部分计算机语言所具有的特点都是很类似的。我本人学过Pascal,我觉得它作为讲述算法和数据结构的语言来说,是完全可以胜任的。
而对于一般的小学生乃至中学生来说,算法和数据结构的学习才是最重要的,那么语言的选择就不是关键了。只要这种语言具备了一般计算机语言应该具备的特征即可。
PS:现在最适合用来讲述算法和数据结构的语言应该是Python了,呵呵~~ 虽然我还是非常喜欢Pascal。
读书无用论,呵呵……楼上好像没有人能够说服楼主为什么比赛有用,无论是从功利还是从实用的角度,那么我来挑战下。
我上小学之前开始学Logo,小学四年级开始参加比赛并且能够拿奖,初中开始换用Pascal参赛直到高三,通过比赛获奖保送入大学,之后觉得玩着东西玩了9年了想换下口味所以没有去参加ACM,不过现在已经有点后悔了(虽然走那条路可能现在同样也会后悔,哈哈)。
从功利的角度来说,这东西小学升初中、初中升高中或许有加分什么的(视乎你所在城市的有关政策),高中比赛能够拿到一定层次的奖项可以有保送资格,你就可以向大学申请保送,这个……视乎你所在中学的声誉了,如果你的中学没什么声誉那就没什么希望了……
从实用的角度来说,数学能够训练你的思维能力,同时你也有机会系统学习算法与数据结构(假如你们学校提供这方面培训或者你乐意买书看的话),这些课程本来大学才会讲授但你初中就已经潜移默化的通过竞赛训练习得,无疑比那些大一才开始死记硬背学完基础课程并且也不经常写代码的所谓本科毕业生要强。
楼主很厉害,工具不等同与思想,工具是万变的思想是永恒的,有时间的话可以看看梁肇新写的那本书
你能够自己实现很多东西,就已经给你积累了很多经验了。其实很多东西不常用也就忘记了,很多事情不用太在意就好了,你现在才13岁,已经学了这么多东西了,已经很不错了,不过以后可能说不定突然对编程失去兴趣了,改行拍电影了,最后成为个影帝之类的也不是没有可能。事物都是在变化的,多数人认为对的不一定是真理,爱因斯坦相对论出来的时候多数人都认为爱因斯坦是疯子。你要自己把握方向。其实我到是建议你好好学学高中政治,第一年是唯物辩证法,不知道现在是不是,多用辨证的思维看问题,有自己的思想,这才是最重要的。
说实话为什么这么多人在这里回复博主的话题,大家很多看的都是你的年轻!
也正因为你现在很年轻,有很多事情,你抱怨是没有用的!要自己去做一些事情,就像你自己做的一样,那很好!继续加油!
博主你很幸福,这么小就可以接触计算机的很多知识,比我们强多了!我高中才接触计算机,97年的时候!还有很多人比我更迟!
也对博主这样的小朋友,请允许我这样称呼你,感到很开心!说不定你就是将来中国的乔布斯,gates...
看到和的验证码"8484"不得不回;
从别人的留言上得知博主才13岁,很是羡慕,羡慕你出生在这个时代;加油,努力;
不过你的观点有点肤浅,软件开发不在于工具或语言,重于思想,多多磨练才是硬道理。
@Cat Chen
我来帮楼主说几句,你小学学logo,中学学pascal,拿到大奖,保送大学。楼主小学的时候放弃学习logo,pascal之类的语言,转学。net,现在可以做Soobb这样比较有商业前景的网站。你的收获是一个好的文凭以及将来的一个好工作。但是楼主将来却很有可能通过自己的网站开一家公司。你觉得谁更成功?楼主其实不是说读书无用,他只是想学些实用的东西而已。
@纳米
在小孩子子面前注意讲文明
@ocean
Bill 是不是今年要拿到毕业证
Bill G只是那个荣誉学位而已,学位和毕业证还是不同的。
和宝玉的感叹相同:老了!
学校教学明显要落后这个是缺点。我认同博主的观点。
但是所学皆无用,这个不够严谨。就好像下棋,你说有用还是没用?在乎你的价值观如何。奥林匹克主要是算法大战,就好像下棋一样,是一种不实用,确很有趣的事情。
楼主这个年纪,不是应该享受快乐么。
再这样说下去,就可能演变成 “人为什么活着,活着又为了什么”的大讨论了!
PS:还是羡慕一下楼主的年龄
我初中高中也高过OI也拿过一些奖大学虽然没有去ACM但是和ACM的人也有紧密接触。参加这些竞赛的人,数学基础,算法设计能力都比一般人要强不止一点点。而且ACM的人往往都是向计算机科学研究方面走的。
很明显这样的竞赛能够提升一个人的能力,锻炼一个人的思维,我支持。使用的语言不代表任何东西,学的东西在实际中无用?那是那些“实际”的东西“不够级别”而已。原谅我只能这么说。
算法和数据结构,太有用了,还有就是计算机组成原理和操作系统,数据库原理也是很有用的东西,越是深入越是发觉基础的重要
@亚历山大同志
没错!计算机体系结构,操作系统,网络……唉,忘了不少,回头再补补……
13岁啊....
如果真的喜欢就算了,可要想好了,能不搞计算机最好不要搞计算机。天才的话去搞政治,或者经济法律甚至医生。能出国就不要在中国呆着..
计算机就好好学基础去搞科研或者军用方向。不要搞商业。搞商业只能白白损耗你的生命。我们都是没办法才搞这个混口饭吃的。一天两天还行,真要是搞一辈子很不甘心。
后生可畏阿:) 我觉得你可以这么理解,其实中国的教育是普及化教育,它针对的授众是普通人,而不是天才。他们鼓励一些自学成才的人,但不等于需要把一些课程,如.net,Java普及化,因为不是每个人有这种接受能力的。
其实等你读了大学就明白了,越到后来,越讲究一种自学能力,这很重要!老师的课程通常只能教会你20%的东西,而且如今的老师素质都不怎么地,很少能够遇到负责人且有水平的好老师,所以不建议太依靠老师的力量,更多地应该依靠自己的力量和天赋。
不过不管怎么说,你起步这么早肯定会有成就的,很期待:) 我是84年的,算起来正好比你大十岁
愿意的话加我msn: tonyqus@163.com
观念的差别,有人做了思想家,有人却做了实业家。从上面博主的言论来看,你似乎是一个倾向于使用的人。作为一个学生,而且是一个小学生,你不妨随心一点,选择与自身特征相符的环境,并促成自身发展,如果条件许可的话。
补充一下,基础是最重要的,尤其在这个万变的社会里,能以不变应万变的是最基础的东西。然而,作为一个十来岁的(小)朋友,享受乐趣并从中积累知识和经验应该是最重要的,我认为。
#62楼 [
楼主]2007-04-14 08:30 |
@Cat Chen
我三年级就开始学 Logo 了,学到后面,自己也造了几个游戏。
不过接触 .Net 后,就彻底放弃对奥赛的学习了,因为这真的是“简单问题复杂化”,并且当下的时间也绝不容许。
@Tony Qu
我现在的 .Net 技术完全是自学成才,感谢上帝。
@Allen Lee
我现在初一,小学毕业了 :-)
乐趣都快谈不上了,积累倒是有,已经沉淀了一个小型的 Library...
@kiler
我不反对学实用的东西,不过……
我拿另外一个事情来比喻吧,一个本硕都读计算机的学生,和一个本科读数学硕士读计算机的学生,你觉得哪个更有发展潜力?通常的说法是,学数学就如修炼内功,虽然不教会你任何招式,但是假如你内功深厚的话随时要学新的招式都很容易领会。反而如果你只有招式而没有内功的话,花样再多也无法跟别人拼啊。
年轻人的话,我也见过极优秀的coder,总是能够用高级语言很快地完成你交给他的任务,有个人能够利用一个学期的课余时间完成整套的自助建站系统(包括子域名分配、空间分配、功能模块自动安装等)。不过在做这些事情的时候,对你的数据结构及算法修炼是没什么帮助的,你做再多能够熟悉的也就是语言和框架。然而如果反过来,假如你有良好的基础,在做coding的时候就能为你带来相当的效率提升。
@随风流月
“简单问题复杂化”,呵呵……那么给你一个NP-Complete或者NP-Hard的问题让你用.NET来解决,难道就能简单化吗?.NET只是简化一些常见Windows/Web编程所需的重复劳动,最多也就是眼睛和手指上的劳动,但是不能简化真正的智力劳动。
如果你能够说.NET算是自学成才,那么你能否说出你使用.NET那么久所体会到的设计思想呢?你在设计你的library时又是否贯穿了什么思想呢?
我个人认为,是否有深度的学习了一个像.NET Framework这样还能勉强称作“体系”的东西,关键就是你是否理解到它的设计思想。体系设计的核心就是trade off(权衡),因此你是否能够理解为什么设计者在A与B的权衡中选择A占多少B占多少是很重要的。而且这也是designer与coder的区别,coder的目标只是通过代码解决面前的一个问题,如果一条路走不通就试一下另一条,不需要注重全局的视野和思考。
#65楼 [
楼主]2007-04-14 09:01 |
@Cat Chen
一个学期的课余时间?
Soobb 的迫在眉睫的改版也就这些时间。
不过,我承认,基础还是相当重要的。
#66楼 [
楼主]2007-04-14 09:04 |
@Cat Chen
如果你把这些问题用 Logo 去解决,你就明白会多复杂了。
虽然我自己试图改善其功能,乃至于支持多线程处理等。
关于设计思想,我努力地学习;不过一年多些的开发时间,很难体会到太多。
只能说,模仿,改进,再创新。
#67楼 [
楼主]2007-04-14 09:05 |
@Cat Chen
.Net 的设计思想,很明显的 OOP。
我本人的目标,很大程度上是减轻劳动,乃至于将劳动交由电脑负责。
我认为,电脑是为人服务的,而不是令人劳心费神的。
@Cat Chen
.NET只是简化一些常见Windows/Web编程所需的重复劳动,最多也就是眼睛和手指上的劳动,但是不能简化真正的智力劳动。
.NET很简单是吧,ok,那你做一个国产的castle,spring,hibernate,lucene看看。在你眼中用。net开发就是调调api,拖拖控件的简单事情吗。
顺便说一句通过实践一样的可以提高自己的能力,很多企业家从来没有系统的学习过管理方面的知识,但是他们一样的可以管好自己的企业,做开发也是一样的,你也可以在不断的实践中提高自己,当然我不否定学习理论知识的重要性,理论知识可以在实践过程按照需要慢慢的学习,只有通过实践才能知道自己需要学什么,自己闷着头研究那些理论有什么用。
#69楼 [
楼主]2007-04-14 09:39 |
@kiler
较为同意你的观点。
实际上,与其纯粹的研究,不如侧重于商业角度。
为了研究而研究,就成了人为电脑服务了。
我想从小学开始重新学了,还亏的我是大学数学专业破本科的
.net很简单吗?
.net可以把代码书写得很简捷,但绝对不是简单。
.net实在是世界上最简单又强大的语言,但却不适合lz这个年龄学习啊!学好.net你以后可能是背靠在微软平台上的一个开发高手,但是如果你现在专心计算机底层,那也许你就是中国新计算机语言的希望!
#74楼 [
楼主]2007-04-14 11:16 |
@在北京的湖南人
底层我不感兴趣。
语言无国界。
认识肤浅?我可不想成为纯粹的研究者。
#75楼 [
楼主]2007-04-14 11:16 |