Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 5033|回复: 35
打印 上一主题 下一主题

致: 各位想学 programmer 的新手

[复制链接]

31

主题

0

好友

1228

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

跳转到指定楼层
1#
发表于 2009-1-12 07:00 PM |只看该作者 |正序浏览
当你想问
我是新手, 该从哪里开始? 学什么语言? java? vb? 哪个比较容易? 哪个比较赚钱?

我你先回答你自己这个问题
我不会讲话, 要怎样学说话? 学什么话? 华语? 英文?  哪个比较容易? 哪个比较赚钱?



这问题太多太多新手问了, 我也 (印象中) 也好像回答过了好多好多次.
现在帖个这样的标题, 希望接下来的新手一进来就可以先爬爬这帖.


学习 programming 第一章: 准备要该有的用具
学 programming, 首先第一步是要有手有脑有电脑...
接下来是是有书有师傅. 自学会比较辛苦一点, 因为很难会有一个方向, 不过也不是不行.
再来就是... 自己的恒心毅力努力还有智慧. (对不起我不是说笨的人不能学, 不过至少不要笨过白痴. 恒心毅力努力比较重要)
数学不重要, 逻辑最重要. 英文不行没关系, 但是英文好的会有一定的优势.
还有一个最重要的元素. 那就是: 自立 !!!
不要什么问题都跑来问人, 要问去庙里烧香问神.
遇问题了, 请请请自己先找办法自己解决, 不要太过依赖别人.
你要知道, 你是为自己而学的, 你有没有学会都不关其他人的事.
不要赖人不要教不会教, 问问自己, 到底有没有心学.


学习 programming 第二章: 选择你要学习的语言
首先问问自己, programming 来做什么?
做网页? 做软件? 做游戏?
不同语言有不同的用途.
确定了自己 programming 的目的后, 才来选择适当的语言.
例如网页 HTML+CSS , php 等.
做软件就更多选择, java, C, VB...

programming 语言跟我们说话的语文差不多的.
先学哪个后学哪个其实不重要.
或者可以说是, 只要专攻一个就好了.
java, C, vb... bla bla bla N 种语言... 不要妄想可以掌握全部.
你可以真正掌握了一个就可以算是 pro 了.

C, C++, C# 是不是差不多一样的?

华语, 广东, 福建... 一样吗?
的确是差不多一样. 他们的语法都差不多. 不同就在怎么写怎么讲而已.

会了其中一个是不是就会了另外一个?

请问你会了华语就会广东了吗? 还是我用另外一个方式来说的, 反正新手很多都是 gamer, 不要说看不明白.
你很会打 warcraft 了, 就很会打 starcraft 吗?
对啊操作控制都差不多的... 只不过兵种战略不一样而已.
要学或许会比较容易学, 但是要精通两个, 还是需要花点时间.


学习 programming 第三章: 找师傅
我知道. 对一个完全不知道什么是 programming 的人而言, 要从零开始是有点困难的.
在这里, 比较会的也就那几位. 而且多数都没有空从零开始教起的.
他们有空上来论坛看看, 顺便帮忙解解, 你就真该感谢他们了.
在怪人不要教你的时候, 你先回答我这一个问题:
他们花那么多时间那么多金钱来学, 凭什么又要花多点时间免费教你?
教你了又有什么好处? 如果没有, 那也给个理由解释为什么他们要教你. 义务? 责任?
助人为快乐之本??? 拜托~~~~


问问自己, 你想学来做什么? 你知道 programming 是什么吗? 不知道的话去研究研究.
现在要学很容易了, 有一个什么都懂的 uncle google, 有一个什么都会的 pak cik wikipedia.
而且 programming 语言在 google 是最最最容易找到的了.
不信你试试在 google 搜索 'java'. 你要在不懂第几面才会找得到印尼的爪哇岛...

[ 本帖最后由 ~Zero 于 2009-1-12 09:07 PM 编辑 ]




已有 1 人评分积分 人气 收起 理由
goodday + 5 + 1 原创内容 uncle google

总评分: 积分 + 5  人气 + 1   查看全部评分

收藏收藏0

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

36#
发表于 2009-1-13 06:17 PM |只看该作者
內容轉自百度 :


C语言的历史:
著名的计算机科学家丹尼斯·里奇(Dennis Ritchie)创造的。1967年, Ritchie进入贝尔实验室工作。贝尔实验室是当时世界上最有创造力的地方之一,著名的C语言、C++语言和Unix操作系统都诞生于此。一开始, 里奇和他的同事肯·汤普生开始研究DEC PDP-7机器,但是在这个机器上写程序很困难,只能用很底层很高深的汇编语言。于是汤普生设计了一种高级程序语言,并把它命名为B语言。但是由于B语言本身设计的缺陷,使他在内存的限制面前一筹莫展。1973年,里奇决定对B语言进行改良,他赋予了新语言强有力的系统控制方面的能力,并且新语言非常简洁、高效,里奇把它命名为C语言,意为B语言的下一代。
在开发C语言的同时,里奇和汤普生、布朗(贝尔实验室的另一名科学家)还接受了一个新任务,就是在DEC PDP-7上开发一个多任务、多用户的操作系统,1969年,他们用汇编语言完成了这个操作系统的第一个版本,里奇受一个更早的项目Multics的启发,将这个系统命名为Unix。
为了在全世界面前展现C语言强大的能力,里奇用C语言把Unix操作系统重写了一遍,这就是Unix第三版。而之前的第二版是用B语言开发的。1977年,为了推广贝尔实验室开发的Unix操作系统,里奇发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》,使C语言再向前跨出一大步,各种计算机都开始支持C语言。
1978年里奇和布朗一起出版了《C语言》一书,从而使C语言成为世界上应用最广泛的高级程序设计语言,而该书也成为计算机科学界最畅销的书籍之一。里奇把全部精力都放到Unix、C语言、C++语言的应用和推广上,曾在很多国家进行过教学和讲座活动。2000年,他来到了中国,在北京大学和复旦大学进行了题为《贝尔实验室与操作系统》的讲演,为推动中国Unix/Linux的应用和发展贡献了力量。
1983年,人们将计算机科学方面的最高荣誉——图灵奖颁发给了里奇,以表彰他对计算机科学所做出的杰出贡献。
C语言的特色
C语言是高级程序语言,也就是说程序员不必知道具体的中央处理器型号也可以为计算机进行程序编制。它主要用来进行计算机的程序设计。C语言具有高效、灵活、功能丰富、表达力强和移植性好等的特点,在计算机语言中备受青睐。
在程序能够运行前,源代码必须有编译器编译成机器语言。相对于汇编语言只能针对具体型号的CPU才能运行,C语言的便捷性是很明显的。
C语言的主要特性
C语言保留了低级语言的特性,例如涉及内存的指针。
C语言通过参数在函数里传递数值。
使用了预处理机制,使得程序里可以通过包含例如宏处理的方式来处理源程序。
C语言提供了一套标准库,这些库里提供了十分有用的功能。
但是并不是所有的这些特性都是有效的。例如,预处理通常作为一个独立的程序被处理,这使得与处理的程序并不一定被完全编译。
虽然C是高级语言,但是它同时拥有一些汇编语言的特性,对其它的语言来说这是接近低级语言的特点。例如,在C语言里,程序员可以对计算机内存进行管理。在默认的情况下,C语言不会对数组的范围进行检查,也就是说即使数组越界,C语言也不会作出错误提示。对计算机内存的管理使得程序员可以变出更快捷、更有效的程序,这对于设备驱动程序来说尤为重要。但是这也使得程序容易产生令人讨厌的“臭虫”,例如缓冲器溢出错误。然而,这些错误可以由一些工具来避免。
C语言的不足可以由由C语言发展而来的更新的编程语言改进。Cyclone语言的拥有提防对于内存错误的特性。C++和Objective C提供了用于面向对象的编程结构。Java和C#增加了面向对象的结构使得对内存的管理自动化。
C语言的版本
K&R C
C不断的从它的第一版本进行改进。在1978年,Kernighan和里奇的C编程语言第一版出版。它介绍了下面的有关C语言版本的特性:
struct数据类型
long int数据类型
unsigned int数据类型
把运算符=+改为+=,依次类推。因为=+使得编译器混淆。
在以后的几年里,C编程语言一直被广泛作为C语言事实上的规范。在这本书中,C语言通常被表述成"K&R C"。(第二版的包括了ANSI C标准)
K&R C通常被作为C编译器所支持的最基本的C语言部分。虽然现在的编译器并不一定都完全遵循ANSI标准,但K&R C作为C语言的最底要求仍然要编程人员掌握。但是无论怎样,现在使用广泛的C语言版本都已经与K&R C相距甚远了,因为这些编译器都使用ANSI C标准。
ANSI C和ISO C
1989年,C语言被ANSI标准化。(ANSI X3.159-1989)。标准化的一个目的是扩展K&R C。这个标准包括了一些新的特性。在K&R出版后,一些新的特征被“非官方”的加到C语言中。
void函数
函数返回struct或union类型
void *数据类型
在ANSI标准化自己的过程中,一些新的特征被加了进去。ANSI也标准了函数库。ANSI C标准被ISO(国际标准化组织)采纳成为ISO 9899。ISO的第一个版本文件在1990年出版。
C99
在ANSI标准化后,C语言的标准在一段相当的时间内都保持不变,尽管C++继续在改进。(实际上,Normative Amendment1在1995年已经开发了一个新的C语言版本。但是这个版本很少为人所知。)标准在90年代才经历了改进,这就是 ISO9899:1999(1999年出版)。这个版本就是通常提及的C99。它被ANSI于2000年三月采用。
在C99中包括的特性有:
可变范围的数组
新增加的数据类型,包括long long int,布尔类型和用于表示复数的类型
支持用//表示注释(这个特性实际上在C89的很多编译器上已经被支持了)
snprintf
但是各个公司对C99的支持所表现出来的兴趣不同。当GCC和其它一些商业编译器支持C99的大部分特性的时候,微软和Borland却似乎对此不感兴趣。

C++历史:
语言的发展是一个逐步递进的过程,C++ 是直接从 C 语言发展过来的,而 C 语言是从 B 语言发展过来的,B 语言是 BCPL 的一个解释性后代,BCPL 是 Basic CPL。其中最有趣的是 CPL 中 C 的由来,由于当时这个语言是剑桥大学和伦敦大学合作开发的,在伦敦的人员加入之前,C 表示剑桥,伦敦人员加入之后,C 表示 Combined 组合。还有一种非正式的说法,C 表示 Christopher,因为 Christopher 是 CPL 背后的主要动力。
最初导致C++诞生的原因是在Bjarne博士等人试图去分析UNIX的内核的时候,这项工作开始于1979年4月,当时由于没有合适的工具能够有效的分析由于内核分布而造成的网络流量,以及怎样将内核模块化。同年10月,Bjarne博士完成了一个可以运行的预处理程序,称之为Cpre,它为C加上了类似Simula的类机制。在这个过程中,Bjarne博士开始思考是不是要开发一种新的语言,当时贝尔实验室对这个想法很感兴趣,就让Bjarne博士等人组成一个开发小组,专门进行研究。

当时不是叫做C++,而是C with class,这是把它当作一种C语言的有效扩充。由于当时C语言在编程界居于老大的地位,要想发展一种新的语言,最强大的竞争对手就是C语言,所以当时有两个问题最受关注:C++要在运行时间、代码紧凑性和数据紧凑性方面能够与C语言相媲美,但是还要尽量避免在语言应用领域的限制。在这种情况下,一个很自然的想法就是让C++从C语言继承过来,但是我们的Bjarne博士更具有先见之明,他为了避免受到C语言的局限性,参考了很多的语言,例如:从 Simula继承了类的概念,从Algol68继承了运算符重载、引用以及在任何地方声明变量的能力,从BCPL获得了//注释,从Ada得到了模板、名字空间,从Ada、Clu和ML取来了异常。

下面让我们来一起看一下C++历史上的主要事件:

1983年8月, 第一个C++实现投入使用(所以我喜欢说1983年C++开了天界)
1983年12月,Rick Mascitti建议命名为CPlusPlus,即C++。
1985年2月, 第一个C++ Release E发布。
10月,CFront的第一个商业发布,CFront Release 1.0。
10月,Bjarne博士完成了经典巨著The C++ Programming Language第一版
1986年11月,C++第一个商业移植CFront 1.1,Glockenspiel。
1987年2月, CFront Release 1.2发布。
11月,第一个USENIX C++会议在新墨西哥州举行。
1988年10月,第一次USENIX C++实现者工作会议在科罗拉多州举行。
1989年12月,ANSI X3J16在华盛顿组织会议。
1990年3月, 第一次ANSI X3J16技术会议在新泽西州召开.
5月, C++的又一个传世经典ARM诞生。
7月, 模板被加入。
11月,异常被加入。
1991年6月, The C++ Programming Language第二版完成。
6月, 第一次ISO WG21会议在瑞典召开。
10月,CFront Release 3.0发布。
1993年3月, 运行时类型识别在俄勒冈州被加入。
7月, 名字空间在德国慕尼黑被加入。
1994年8月, ANSI/ISO委员会草案登记。
1997年7月, The C++ Programming Language第三版完成。
10月,ISO标准通过表决被接受
1998年11月,ISO标准被批准。

接下来让我们一起看一下C++编译器的“第一个”:

1985年10月,Cfront Release 1.0发布。
1987年12月,GNU C++发布。
1988年1 月,第一个Oregon Software C++发布。
6 月,第一个Zortech C++发布。
1990年5 月,第一个Borland C++发布。
1992年2 月,第一个Dec C++发布。
3 月,第一个Microsoft C++发布。
5 月,第一个IBM C++发布。


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

35#
发表于 2009-1-13 05:49 PM |只看该作者
原帖由 ~Zero 于 2009-1-13 10:59 AM 发表

Eclipse 不能用做 C 吗?
会 C++ 不一定就会 C. 而且其实 C++ 是 C 的子集啊.
(要看你所谓的 "子集" 是什么意思.)
C++ 的祖先是 C. 会了 C, C++ 就容易学.
(我个人看法)

我会 C, 可是没学过 C++. 看就有 ...



初學者對於 C 和 C++ 的概念不太清楚,  C++ 是 C 的衍生, 自然就是因為 C 一開始就是使用在 Unix 平台上, 而到了 Win32 平台卻無法應付需求, 所以 C++ 才會因此增加了更多 C 所沒有的功能, 函數和類等, 所以 C++ 至今已經概括 C 也就是 C 是 C++ 的子集.



對於你所提到的例子不一樣是在於 header 所 link 去的 library, 只要學會 C++ 那麼自然會知道可以使用哪些 header, 而只學 C 的話卻還要再次學 C++ 才能知道 C++ 增加了哪些 library. 在 Java 中 library 就是指 jar 檔.


Eclipse 是 IBM 所開發的 IDE, 當然 IDE 可以去用來編寫很多語言, 但你去看看所使用的編譯器(Compiler)就能夠明白 IDE, Compiler 和 RAD 的區別.

編輯環境 != 編譯器 和 編譯環境不一定包含 RAD.


回复

使用道具 举报

2

主题

0

好友

6008

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

34#
发表于 2009-1-13 05:27 PM |只看该作者

回复 #32 MercyGodlikE 的帖子

我也是用着这跟版本哦~~蛮多功能下,比VB.Studio 6还要多,最重要是免费的哦!!


回复

使用道具 举报

6

主题

0

好友

393

积分

超级会员

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

33#
发表于 2009-1-13 03:59 PM |只看该作者
2008 是version几的???


回复

使用道具 举报

14

主题

0

好友

476

积分

翡翠长老

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

32#
发表于 2009-1-13 03:11 PM |只看该作者

回复 #30 sumplayer 的帖子

我用Microsoft Visual Basic 2008 Express Edition哦


回复

使用道具 举报

13

主题

0

好友

2113

积分

白金长老

Rank: 10

31#
发表于 2009-1-13 02:30 PM |只看该作者
什么都好
我 vb 9 年 咯
c# 也3 年

c# 不止是 web  winform 的 mobile PDA 的 还有 microsoft 的下一代的 azure 是 vb c# 为平台

是个大型的 active directory

我很期待 vb.net 10 和 c#  .net frimework 4.0 visual studio 2010

我是看到 越来越多人 写东西咯 开心

什么语言也好 你要会 和uncle google 沟通
发觉很多人 不会 和 uncle google 要求



回复

使用道具 举报

6

主题

0

好友

393

积分

超级会员

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

30#
发表于 2009-1-13 01:50 PM |只看该作者
想问下vb version 1 , 2 ,3 ,4 ,5 ,6 有什么不同还有你们用的是哪里一个的???


回复

使用道具 举报

31

主题

0

好友

1228

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

29#
发表于 2009-1-13 10:59 AM |只看该作者
原帖由 Super-Tomato 于 2009-1-12 11:55 PM 发表


會 C++ 自然就會 C, 也就是說 C 是 C++ 的子集





那是 C++,  C 的入口結構是 main (Console), 而 C++ 是 WinMain (GUI) 兩者有差別

Eclipse 不能用做 C 吗?
会 C++ 不一定就会 C. 而且其实 C++ 是 C 的子集啊.
(要看你所谓的 "子集" 是什么意思.)
C++ 的祖先是 C. 会了 C, C++ 就容易学.
(我个人看法)

我会 C, 可是没学过 C++. 看就有大概看过,
C++ code 比较短. 不过写法也还是有点不一样.

printf("Enter number: ");
scanf("%d", &num);
cout << "Enter number: ";
cin >> num;

上面是 C, 下面是 C++.

通常可以做 C++ 的 IDE 都可以做 C 的. Eclipse 我就不确定.
我知道的是, 我有朋友用 Visual C++ 来做 C. 没问题.
Dev-C++ 我用来做 C (用 windows 的时候), 也是没问题.
Eclipse 是我老师介绍的, 不过是他是介绍我用来做 java, 没听他提起过做 C.

[ 本帖最后由 ~Zero 于 2009-1-13 11:02 AM 编辑 ]


回复

使用道具 举报

5

主题

2

好友

3194

积分

本站名嘴

Rank: 11Rank: 11

28#
发表于 2009-1-13 09:34 AM |只看该作者
原帖由 Super-Tomato 于 2009-1-12 11:55 PM 发表


會 C++ 自然就會 C, 也就是說 C 是 C++ 的子集

不怪得有些人讲C/C++


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2024-11-25 05:36 PM , Processed in 0.126291 second(s), 28 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部