为什么我能自学会 Linux(运维,系统管理,不敢说精通,只能说是烂熟),并且能混到饭吃,我为什么就学不会编程呢?现在只能做一些改代码的事情。就在原有项目(c\c++ MFC 混合编程),自已看代码,调试,再根据要求添加功能。我现在不明白一个项目是要从宏观还是从局部去了解它。唉,,,一头雾水。不知何去何从
不要放弃,系统的学习比自己瞎子摸象要好的多,对于一个项目你得先看数据库的表设计,还有就是业务逻辑的基本实现,最起码能自己走一遍就差不多了,再对自己感兴趣的地方去看代码
Ruby 並不比 c 簡單,只是 battery included(電池己附),標準庫中有的是好用的類和函數,相比 C 的標準庫和 C++的 STL 較容易上手。
學編程從 C 入手是正道,起碼能熟悉流程控制、基本數據類型、指針一類概念。作運維應該知道一點 bash 吧,我倒覺得 bash 是最難學的,太多希奇古怪的句法,好像迷魂湯。
MFC 是我见过,最烂的代码库,烂到令人发指。 我觉得,楼主在编程的道路上,没有找到一个好的介入点。 学习编程,最好,参与到一个新的项目开发。 这样你才能得到最大的锻炼。 但是新的项目开发,需要有“客户需求”, 而“客户需求”不是那么容易遇到,可遇不可求。
楼主,MFC 不要深入研究啦,是个已经被淘汰的东西啦。 做桌面应用,学学 winform.net 吧 做手机应用,学学 IOS 吧 做网站,学学 Rails 吧
曾几何时,所有程序员都是“一头雾水,不知何去何从” 坚持下去,一定能做一个好的程序员。 但是绝不要坚持学习 MFC。
运维是一个典型的充满重复劳动的工作,找找工作中任何一个有重复性的事情,编程搞定,然后重写这段程序,让别人能傻瓜化的使用,再收集别人的需求完善,不断重构,写上 10 万行代码以后你就不会问这个问题了
#5 楼 @charmquark 我觉得 C++ 的 STL 是一套非常优美的代码库。
我觉的初次学习编程,从 C 入手,有点不合适,因为指针和内存管理的概念,在新的主流编程语言中(比如 java c# python ruby),已经越来越淡化啦,而且 C 连个好用的字符串类型都没有。
我反而觉得初次学习编程,从 Ruby 这样的语言入手,反而容易些,当需要学习底层知识的时候,再去研究 C 语言也来的及。
我也觉得 bash 的脚本编程很难学,语法太奇怪啦,极其难以读懂。
#14 楼 @ery 不懂指針和資源管理,怎縻可能寫出高效的代碼來呢?C++0x 加上了 rvalue references && 和 move 機制,簡直把高效發揮到極致了,越看越喜歡 ;) ruby 並不簡單,比如 甚麼 class instance variable,extend 和 include 的差異,block 和 proc 的差異,singleton 啦,mixin 啦,都不是那麼直觀的。python 的 self,meta class 還不如 C 的 myclass_meth (obj, arg) 來得明白。要講簡單,還是 java 最簡單,php 次之,但是很容易把程序員訓練成呆子。靈活的語言學起來纔有意思。
python:
for x in range(1,11) :
pass
ruby
for x in 1..10
blah
end
python
def showName (self)
print self.name
ruby
def show_name
puts @name
end
相比較而言,還是 ruby 更直觀,更適合初學。只是真想寫出點像樣的東西,那些比較繞騰的 cloure,mixin 之類都得把原理搞清楚,那就比 ANSI-C 要難了。C 只是用起來不舒服,學起來還是相對容易的。而且所介紹的一些概念都是至關緊要的。若是我帶學生,學編程的步驟就是
C -> JAVA -> ruby/python/javascript/C#/C++(任選)
更外,MFC 也不好用 winform 來取代吧。除非是工作的須要,那講不了。感覺 .NET 沒甚麼前途。想作桌面程序還是學用 QT 吧。C#是很不錯的語言,比 JAVA 強得太多,只是被.NET 給限制住了。如果是自己做東西,別說跨平臺不容易,就是 win 本身,國內的一般用戶恐怕有一多半是連.net 2.0 都沒裝的。想要自己的程序不受限制,要麼做 web 要麼做 c/c++ 連 ruby/python 都是 fat ass,佈署非常頭疼的。