一门编程语言语言掌握到什么程度然后才学习另一门呢?

2014-12-06 09:13:29 +08:00
 kingcos
原谅我问的问题十分低端,不过作为个初学者,还是希望见谅见谅啊。。。希望大家能够分享一些见解和经验吧。。。
渣渣二本,软件工程专业
只能说按照我们的教材,c语言学到了文件,链表什么的,但是自己感觉学的很不扎实,而且学校下周就要开始讲c++了。。。不知道这么跟着好不好。。。或者具体到每一门语言也行,总之经验统统说出来吧……

ps编程新人。。。求不喷。。。教训就可以了。。。T^T
7942 次点击
所在节点    问与答
36 条回复
zjxubinbin
2014-12-06 09:17:44 +08:00
退学吧,别在大学浪费时间了.
riaqn
2014-12-06 09:26:44 +08:00
楼上说退学的什么心态? 大学哪个不这样? 自己好好利用下时间不就行了?
em70
2014-12-06 09:27:02 +08:00
老师如果程序写得好就不当老师了,别跟老师学。自学,然后大量实践,学了C就把数据结构里的经典算法自己实现了先。C++不一定要掌握,有兴趣主流语言都了解一下,玩自己最有兴趣的
sandideas
2014-12-06 09:27:32 +08:00
用起来啊少年。。
学着写软件,写着写着你就会了很多知识了,然后回头看看书就会发现原来是这样用的。。
luoqeng
2014-12-06 09:29:34 +08:00
Wilon
2014-12-06 09:33:55 +08:00
你不熟悉,是因为你没有用过,敲代码敲得不够,软件工程是工科,实践才是硬道理
fishleen
2014-12-06 09:45:03 +08:00
我觉得v2ex应该增加没有帮助的选项。
===============
我转到了CS发现他们的专业课程侧重并不是语言,而是解决问题的方式。
=============
关于C++
其实大家都知道学校对于c++也只教一个皮毛,连stl都没有讲很深。但是深究C++的人会研究很多库,看开源软件的代码。C++就是那种学10年都不一定很精通的语言。一个学期再怎么讲都还只是皮毛,因为里面各种坑各种细节。至于C++的的开始,我推荐pongba的文章《你应当如何学习C++(以及编程)》http://blog.csdn.net/pongba/article/details/1611593。
===============
从C到C++
我是先学C再学C++。C++比C更加要复杂一些,但并不代表C的基础差C++也会很差。实际上我认为C++可以说比C丰富太多了,简直可以当成一门新的语言来学了。所以再次推荐pongba的文章和accelerated c++这本书。
================
从C++到其他语言
我想大概学校还是必须要教一门OO的语言,不然将来学生也不好混。但是OO的语言也不只C++,Java也可以,Python也可以。所以,还是选一门自己喜欢的吧。不过学好C++(至少要学会里面OO设计吧)再学Java或者Python就非常简单了。
Bitex
2014-12-06 10:05:24 +08:00
同样是软件工程的渣渣在读生,给楼主分享一点建议吧。

会自学的人才能上好大学,楼主买本C Primer Plus,C++ Primer Plus,Thinking in C++,把书啃完,例子敲完,就能秒杀周围所有人(甚至老师)。

从C到C++,语法上没有难度,但是思想上有难度,如果依然按照C的风格来写C++程序,那么就完全没有必要学C++了。搞懂面向对象的思想,能用OO的思想分析和解决问题,那么只要学会一门OO语言(比如C++),其他所有OO语言都可以扫一眼语法直接开始写程序。(当然不同的OO语言在设计思想上也有不同,比如Java和Python,嘎嘎嘎嘎)

如果楼主想把基础打牢,那么就把C和C++学到熟练吧,期间你会接触到数据结构和算法,挨个动手实现一下,没有动力的话还可以考虑去POJ、USACO什么的做做题:-)。如果楼主想快速入门、能做出成果,挑一门热门的语言做项目,搞搞Ruby on Rails啊,写个Android应用啊,遇到坑看书Google,久而久之能力就提升了。我水平太菜这段都是我瞎掰的。
bugeye
2014-12-06 10:24:17 +08:00
C是必学的,C++和C没什么关系(C++除了可以勉强兼容C以外),玄而又玄的面对对象其实用不上,你可以先放放。

最重要的是数据结构,离散数学,编译原理这些你毕业以后不会再研究的东西。
想找工作,数据结构一定要极熟才好。

语言方面 ,除了C以外,建议学下python和javascript这两种脚本语言,学了python,可以快速开发一些有意思的软件(学了C++,想开发有意思的软件的可能性比python小10倍吧,而大部分软件初期根本不需要C++的性能优势),而有意思的软件本身就是最好的学习刺激。再在github上积累一些人气,到时候好工作闭着眼睛也会找上你。

学好C的时间如果是1的话(C有什么特别的难度?只有一个指针稍微复杂一点点,和C++那些眩目的语言特性比起来。。。),学好C++的时间至少是5。而学好以后,开发软件的速度还比不上python,为什么要干投入产出比如此之小的事情?省下来的时间,不如去恋爱。
haofly
2014-12-06 10:29:12 +08:00
同学,建议千万不要跟着老师的进度走,比如我一本计算机专业,都大三了,语言课才只上过C语言,老师的存在是为了教会大多数人相同的东西,而只有自学才能真正学到有用的东西,我认为你现在最应该做的是去认认真真自学并掌握一门语言(最好是面向对象的),这里所谓的掌握不仅是指懂语法,还要自己能使用它来完成自己的一个想法,比如能够使用它做一个软件或者做一个网站,等你真正掌握了一门语言过后,学其他的语言就不费吹灰之力了
sectic
2014-12-06 10:44:19 +08:00
@bugeye @ kingcos C真的难,嗯。
http://daiyuwen.freeshell.org/gb/misc/21-days-cn.html
同一范式的编程语言不难学,不同范式的编程语言挺难学的。
min
2014-12-06 11:21:11 +08:00
中文水平不高不妨碍另学英文的
Earthman
2014-12-06 11:36:59 +08:00
@haofly 我们大一上就是C,大一下就是Java。C印象最深的是冒泡排序,老头(已退休,建校元老)弄了几个同学上去演示。Java弄了个“音乐播放器”,其实只能放wave格式,不过时间紧而且没入门,能用而已。
444683462
2014-12-06 11:53:14 +08:00
@zjxubinbin 主要是大学氛围让人很难学进去。我就是大一上就闪人了。
kingcos
2014-12-06 13:45:10 +08:00
@em70 @sandideas @Wilon 嗯好的,要重实践。不过先写再看书么= =都不懂。。。怎么写呀。。。
@fishleen 嗯,我就在想,怎么把学到的这些转化为思考的方法,我们学校大二可能就要开始教java了
@Bitex 你推荐的那本c primer plus,我的是英文版,所以一直没有沉住心看,上面的例子的确很好,一起共勉!!
@bugeye 嗯,这个月开始跟着mooc的数据结构,不过有些抽象,准备买本数据结构的书
@haofly 嗯好的,会努力的,我们这届有个同学,自学C学了9年。。。真是跪了。。。他现在水平和我们学校的大二大三还要好吧,感觉压力好大>.< 我也要好好学~看了楼下的链接= =顿时无力了。。。
@sectic 范式是什么额= =那要学到什么程度才好呢。。。
@444683462 有这个勇气也很好的!
xuwenmang
2014-12-06 14:08:15 +08:00
大二了,那么英语过六级最好。

其他都不重要。。针对你有兴趣的,突击一下能学到许多。
tb4649120073rs
2014-12-06 14:23:55 +08:00
你可以考虑选择和我一样,先放弃C++,一门C语言干到底
说到底,除了语言,编程有很多其它值得投入的地方,可以轻松花光你大学四年的时光
jimmy66
2014-12-06 14:30:37 +08:00
老师如果程序写得好就不当老师了。。这话还真不能苟同,有些老师还是不错的(当然别指望是大神),关键还是自己自学,别完全跟着学校的进度走。。那个大多数时候只能应付一下考试。
hpeng
2014-12-06 14:43:07 +08:00
语言这东西,自己挑的。挑自己用得舒服的,其他语言等你要用的时候,自然会去接触,去学,然后上手很快的,除非你是突然转去函数型,学校的东西只是给个学习方向,重要的还是自己学。我们大一学C++,后来选修java,现在用得多的也是java,建议啊,只是建议,把c++看烂用烂去,然后去掌握一门其他的,比如Python或者Ruby,不用特意去学哪门,多点写实际的,起码我自己是这样过来的
yellowV2ex
2014-12-06 15:06:06 +08:00
我觉得,如果你还有这个疑问,那么就还没到学另一门语言的时候,当然,老板让你学的除外

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/151888

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX