瞎扯淡 我为什么就学不会编程

yjdwbj · 2012年05月04日 · 最后由 charmquark 回复于 2012年05月04日 · 5482 次阅读

为什么我能自学会 Linux(运维,系统管理,不敢说精通,只能说是烂熟),并且能混到饭吃,我为什么就学不会编程呢?现在只能做一些改代码的事情。就在原有项目(c\c++ MFC 混合编程),自已看代码,调试,再根据要求添加功能。我现在不明白一个项目是要从宏观还是从局部去了解它。唉,,,一头雾水。不知何去何从

不要放弃,系统的学习比自己瞎子摸象要好的多,对于一个项目你得先看数据库的表设计,还有就是业务逻辑的基本实现,最起码能自己走一遍就差不多了,再对自己感兴趣的地方去看代码

楼主太谦虚了吧:) 在原有项目(c\c++ MFC 混合编程),自已看代码,调试,再根据要求添加功能 这已经是在进行开发了吧。

你从 C\C++ MFC 入手,本来就有点深了 MFC 这种东西很恶心,真不是每个人都能觉会的 来学 ruby 吧,对你运维也是有好处的

匿名 #4 2012年05月04日

基础问题吧,由浅入深

Ruby 並不比 c 簡單,只是 battery included(電池己附),標準庫中有的是好用的類和函數,相比 C 的標準庫和 C++的 STL 較容易上手。

學編程從 C 入手是正道,起碼能熟悉流程控制、基本數據類型、指針一類概念。作運維應該知道一點 bash 吧,我倒覺得 bash 是最難學的,太多希奇古怪的句法,好像迷魂湯。

#2 楼 @skandhas 不是谦虚,是真的很虚。现在大部分时闲着,有时就让我自已去看代码,改一些简单的功能

#3 楼 @azhao ruby & rails 电子书与视频下了不少,就是没有去用心去学。唉。。

这个主题比较有意思。参考我的微博:http://weibo.com/1234692487/ycaHZ11cs#1336117181569

#8 楼 @freemem 微博访问不了

当年 教练告诉樱木花道 要 投篮一万次!

@freemem 这不是微博链接吗?啥帖子

MFC 是我见过,最烂的代码库,烂到令人发指。 我觉得,楼主在编程的道路上,没有找到一个好的介入点。 学习编程,最好,参与到一个新的项目开发。 这样你才能得到最大的锻炼。 但是新的项目开发,需要有“客户需求”, 而“客户需求”不是那么容易遇到,可遇不可求。

楼主,MFC 不要深入研究啦,是个已经被淘汰的东西啦。 做桌面应用,学学 winform.net 吧 做手机应用,学学 IOS 吧 做网站,学学 Rails 吧

曾几何时,所有程序员都是“一头雾水,不知何去何从” 坚持下去,一定能做一个好的程序员。 但是绝不要坚持学习 MFC。

运维是一个典型的充满重复劳动的工作,找找工作中任何一个有重复性的事情,编程搞定,然后重写这段程序,让别人能傻瓜化的使用,再收集别人的需求完善,不断重构,写上 10 万行代码以后你就不会问这个问题了

#5 楼 @charmquark 我觉得 C++ 的 STL 是一套非常优美的代码库。

我觉的初次学习编程,从 C 入手,有点不合适,因为指针和内存管理的概念,在新的主流编程语言中(比如 java c# python ruby),已经越来越淡化啦,而且 C 连个好用的字符串类型都没有。

我反而觉得初次学习编程,从 Ruby 这样的语言入手,反而容易些,当需要学习底层知识的时候,再去研究 C 语言也来的及。

我也觉得 bash 的脚本编程很难学,语法太奇怪啦,极其难以读懂。

#13 楼 @fsword 10 万行代码,对新手而言,这真是一个好的目标,我想,任何人编写 10 万行代码以后,都能成为一个好的程序员。

#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,佈署非常頭疼的。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号