在你的第一个程序中,哪个构造吸引你编程?

时间:2009-01-10 15:30:16

标签: language-agnostic language-construct

对我来说,这是If声明,我很兴奋,从那以后我相信计算机非常聪明,或者我至少可以让它看起来很聪明。

41 个答案:

答案 0 :(得分:17)

对于我们在70年代末或80年代早期介绍过计算机的人来说,我们看到的第一个程序看起来像这样:

10 PRINT "Commodore sucks!  "
20 GOTO 10

(“Commodore”可以替换为“Apple”,“Atari”或“TRS-80”)。

GOTO太棒了。

答案 1 :(得分:11)

答案#2:)

首先让我着迷的实际语言结构是递归。问题

  

编写一个名为SumDigits的函数   总结一个数字的数字。例:   SumDigits(1234) - > 10

起初我写了一个很长的迭代解决方案。但过了一会儿,我想出了这个答案。

string SumDigits(int value) {
  if ( value > 10 ) {
    return SumDigits(value/10) + (value%10);
  }
  return value;
}

答案的简洁让我感到惊讶,我立即在递归和简洁编程中找到了新的爱。

虽然只花了几个星期来学习递归的弊端:)

答案 2 :(得分:8)

让电脑服从我。真棒。

我也喜欢(爱恨),即使我错了,电脑也会服从。


但严肃的人。

我被迷住了:

  • 我看到你可以用代码做丰富而有活力的事情。
  • 机器一般都是一致的。
  • 编程就像数学一样,对于所有“它依赖”,我们仍然有更多的问题与实际的,可证明的答案。
  • 我可以使用逻辑和循环自动完成琐事。

答案 3 :(得分:7)

QBasic开始,所以,我认为这是:

INPUT "What's your name?", a$
PRINT "Hi, "; a$; "!"

能够使用PRINT在屏幕上显示内容足以让我对编程感到兴奋。使用INPUT进行交互是锦上添花!

答案 4 :(得分:4)

指针。

当我开始使用Turbo Pascal进行编程时,我真的无法理解,他们如何编写大型程序。记忆是有限的,无论我想做什么 - 我经常会达到堆栈限制。

当我最终被引入指针时,我终于迷上了,因为我终于可以开始做大事!不是说我做了什么大事,而是...... :)

答案 5 :(得分:4)

当我第一次开始使用QBASIC学习编程时,使用if语句和循环的流控制的整个想法非常棒。我想,就在我了解到我建立第一个“选择你自己的冒险”游戏的if语句后的几天。回想起来,我知道它在代码行方面一定是非常低效和庞大的,但事实是我可以使用任何东西来分支故事,但是如果陈述很精彩。

答案 6 :(得分:3)

Lambda表达式

一直在编程我的一生,但现在甚至在Lamdba表达等新事物中找到了兴奋。

 MyList.Any(p => p.IsCurrent)

嗯..喜欢它。

答案 7 :(得分:3)

我写的第一个Fortran代码中有一个if语句,是我当时看到的最有趣的东西之一。像这样的东西

     integer n

     n = 1
  20 if (n .le. 100) then
        n = 2*n
        write (*,*) n
        goto 20
     endif

答案 8 :(得分:3)

对我来说,这不是一个特定的语法 - 它发现我可以突破并改变ZX Spectrum游戏 - 我想发现源代码是让我迷上的东西。

然后,当我真正开始编程,并从书籍中复制代码时,能够自定义书中的内容并使程序仍然有效,但我想要的是。

答案 9 :(得分:3)

清除案例,循环。特别是在Gwbasic中循环。只是为了好玩,我想在屏幕上打印0到100之间的所有数字。所以我开始了:

10 print 1
20 print 2
30 print 3
40 print 4

在某些时候我认为WTF或类似的东西。肯定有更好的办法。所以我问了一个人(也许是一位老师或一些同学),然后他介绍了变量循环的魔法。那一定是我迷上的那一刻。

10 SET i = 0
20 IF i > 100 THEN GOTO 60
30 PRINT i
40 SET I = I + 1
50 GOTO 20
60 REM END LOOP

这是6行而不是100行!那真是太好了。对不起,如果我的语法不完全正确。 :-)我真的很喜欢那一刻。

答案 10 :(得分:3)

绝对是FOR循环 - 在6岁的时候,只需要将'LOGO Turtle从绘制线条绘制成正方形到画圆圈就可以将我从用户转变为程序员。

答案 11 :(得分:3)

? “你好世界”

答案 12 :(得分:3)

从我的第一本BASIC书(我相信的孩子们的BASIC):

10 INPUT A
20 INPUT B
30 LET C = A + B
40 PRINT C

那是在书的封面上,我很高兴有可能性(它可以做我的功课!)......我花了几个星期来掌握这个简单的概念,但是一旦我得到它,编程世界为我打开了。

答案 13 :(得分:3)

For Loops + Arrays为我做了。一旦我意识到我可以循环通过一组任意大的东西并对它们各自做一些事情,它们就开始融合在一起。

答案 14 :(得分:3)

一旦发现评论,我就真的爱上了编程语言。你可以用它来做各种各样的事情,比如

// a commment!
int /* whoa, an inline comment! */ a;

答案 15 :(得分:2)

当我第一次学习时,我认为阵列是肯定的。在此之前,我真的只考虑单个变量。当我学习数组时,我能用qbasic做更多的事情:)。

现在我有各种各样的数据结构,而不仅仅是数组:)

答案 16 :(得分:1)

C中的函数指针。

首先我学习了C,但没有学习函数指针。

然后我开始在汇编程序中编写大约一个学期的编程。我使用函数指针然后甚至不知道它们。不知怎的,对我来说,它们似乎是汇编程序中的自然物。我不得不向老师解释几次,因为他们不理解他们:)。

然后,我回到了C,并且启示击中了我。

现在我对Java方法,泛型,晚期多态性以及所谓的“神奇”事物感到高兴。

答案 17 :(得分:1)

对我来说这是指针。

虽然我甚至不会假装完全理解指针,但这是我第一次真正陷入编程困境。在搞乱了Visual Basic 6和服务器端脚本语言之后,我转到了C语言,选择了基础知识,然后遇到了指针。

在那次讲座中,我记得人们对指针的反应。自封的节目之神在恐惧中畏缩,那些知之甚少的人开始在当地报纸上阅读招聘广告。我真的记得我班上的一个女孩说“whaaa?”

许多程序员在点击指针时会收到警钟。编程世界刚刚向你介绍了计算机世界,如果你真的只是遇到了你,你会发现很少谈论。

答案 18 :(得分:1)

我记得第一个让我着迷的电脑问题。这是我在高中编程课上遇到的一个问题。

  

编写一个程序,从控制台读取一个数字

为什么这让我着迷?嗯,一开始没有。我写了一个快速而肮脏的程序来做这件事,但后来老师做了一件非常意外的事情。她进入该计划的“一个”,它死了一个可怕的死亡。

我花了一天的时间来处理邪恶的输入,但最终我得到了它的工作。这个过程完全吸引我关于程序正确性的想法。

答案 19 :(得分:1)

for或while循环,因为我可以在分子动力学模拟中使用它,我不必一次一个地进行计算

答案 20 :(得分:1)

让我迷上编程的是x86汇编程序的以下几行:

mov ax, 13h
int 10h
mov ax, 0a000h
mov es, ax

当我通过弄乱视频内存来绘制内容是多么容易时,我所学到的所有其他内容突然对某些东西很有用。

答案 21 :(得分:1)

IF-GOTO。

不开玩笑。在我得到像指针这样的语言之前,我很早就被迷住了。

到那时我已经使用数组索引编写了类似指针的算法。

答案 22 :(得分:1)

我的基本是goto。我认为你可以让程序跳到你想要的地方是不可思议的。直到后来我才意识到强大的责任才有了很大的责任。

答案 23 :(得分:1)

当DBase II允许我将记录打印到文本文件时,并在我想要的地方插入完全正确的排版代码 - 在它们之前,在它们内部,在它们后面,围绕它们。我仍然可以感觉到脖子后面的寒意。在我的小电脑里哇整个排版系统!预热300波特调制解调器并将此文件直接发送到8英寸磁盘并通过Compugraphic运行。码数美丽闪亮的照片式纸张,所有字母都在正确的位置。我不值得这种幸福...

答案 24 :(得分:1)

我只编程了大约一年,所以对我来说,这是LINQ。我查看了将查询字符串暴露给数据库的书中的代码,并认为“哇,这有点蹩脚。”。我遇到了LINQ,从那以后我们一直幸福地结婚。

答案 25 :(得分:1)

qBasic,当我在10-12岁左右时,我开始制作一份“医生问你奇怪的问题”的副本 - 游戏。这最终成了很多令人讨厌的问题。那时我才知道我想用电脑工作。

几年后,我开始玩HTML和PHP,给了我几个客户,我创办了一家公司,就在那时我知道我可以得到血腥的丰富:)

答案 26 :(得分:1)

PRINT 3 + 4
电脑说7。 所有这些都在我父母的电视上可见。在电视上!!!你能想象吗?我立刻迷上了。您可以告诉机器该做什么,你可以在电视上看到。哇。

Backgound:我的父亲雇主买了一台小型电脑(Robotron KC 85/1),让工程师与这项技术取得联系。他们可以在周末把它带回家玩。所以我父亲把它带回家,所有新的关于如何连接它以及如何打开它。他的一个同事告诉他使用“PRINT”命令和添加数字的技巧。他告诉我,我被迷住了。这是在1986年我大约12岁的时候。我仍然因为基本相同的原因而迷上了(告诉机器该做什么)。

答案 27 :(得分:0)

这不是一种语言结构,但当我发现改变TextAttr(文本颜色,Pascal)的效果甚至在从我的程序返回到DOS之后仍然存在时,我感到很着迷。

答案 28 :(得分:0)

在QBASIC中有命令PLOT,当我第一次编写一个能在屏幕上绘制螺旋的程序时,就会产生成就感。而且我想当时我理解计算机可以做很棒的事情,并且在接下来的几十年里我坚持使用它们。

(Nostalgia。我还记得黑色屏幕上的柠檬绿螺旋......)

答案 29 :(得分:0)

我从基本开始,但真正让我震惊的是LOGO,这种语言允许你编写一个“虚拟笔”(称为乌龟)在屏幕上绘制内容。我开始绘制非常复杂的形状,考虑到我的年龄,我完全参与其中。

答案 30 :(得分:0)

我认为我的第一个程序(除了菜鸟PHP)是为任天堂GBA的RPG构建的。我喜欢你如何将比特和字节操作成一个很棒的游戏。当Nintendo DS发布时,我失去了兴趣,不仅因为它没有针对自制编译进行逆向工程,而且开发需求也大幅增加。

它没有“勾住”我,但是cout<< “你好,世界!” << ENDL;非常棒。我从来没有理解任何人如何使用控制台,所以我直接进入win32用户界面,哈哈。在成年之前很快就会失去兴趣。好时光。

答案 31 :(得分:0)

POKE 53280,5

将C-64上的屏幕边框更改为紫色。把它放在for循环中以循环颜色从0到15,你会让孩子们对编程感到兴奋。好吧,至少在80年代末/ 90年代初,就是这样。

答案 32 :(得分:0)

作为编程构造的函数。无论有多大问题,我都可以将其分解为对一组函数的合理调用。如果任何一个函数要解决的问题太大,我也可以将其分解(我们之前并未将其称为重构)。迟早,我想,只要完成功能,我就可以解决任何事情

更一般地说,当我意识到我可以创建进程来确定团队,部门,业务甚至整个行业的工作方式时,我都迷上了开发。而且我可以帮助他们更好更快地工作。

答案 33 :(得分:0)

绝对是while!但我的编程经验是最近的。

答案 34 :(得分:0)

我在QBasic开始时大约7-8岁(1992-93)。一位朋友(同龄)向我展示了他能做的惊人的图形程序。我常常问过“你能做......做......反而?”,他可以!

我还记得一个程序,就像液体填满屏幕一样,最初包含几个大而粗的圆圈。从左到右再次向后扫描,撞到墙壁,然后爆炸(!),如果它卡在某处。

答案 35 :(得分:0)

TRS-80图形

POKE 15360, 191

答案 36 :(得分:0)

DOS中断

INT 21h

答案 37 :(得分:0)

BASIC中结构化编程的开始......

GOSUB 1000

答案 38 :(得分:0)

除了 if statement (我从Pascal [第一语言学习]首先学到的)。 C中指针和数组之间的一对一对应是我真正迷上编程的原因。它使我对计算机能力的理解达到了很高的水平,包括但不限于高效的内存遍历,堆栈,将数组的特定部分(切片)传递给函数,将指针视为内存映射IO(例如VGA地址)作为一个数组。在Pascal中,指针是如此不透明,以至于程序员对计算机内存及其能力的理解受到严重阻碍。

答案 39 :(得分:0)

我发现++在高中时很有吸引力。

其他人都知道Basic,Pascal等。但是i ++是代码!只有我知道的代码!

这些微小的变化可能会产生非常重要的影响: ++ i在许多重要方面与i ++不同。 而且++直接转换为机器代码。通过学习这一点,我可以直接访问MACHINE的CORE。想象一下力量!

了解这一点让我想学习所有其他奇怪的操作和C语言的角落。

答案 40 :(得分:0)

启发了

这个词

BASIC B eginners A ll P urpose S ymbolic I nstruction <强> C