我编程老了

xiaxie7
楼主 (未名空间)

最近辅导一个TJ高中的学生写C语言程序,他大概是准备以后做Arduino.

我因为过去20多年写C++和Java习惯了,总是用一个变量之前才declare,而不是在main()开头或者一个block开头声明该变量,而且我很多年没有写C了,辅导他时携带的笔记本没有装gcc,只有十几年前安装的Visual Studio老版本,我也从来没有进行设置,
default是ANSI C88。

我向他演示我写的程序片段,竟然无法编译,说是semicolon位置错误,但我反复检测
,根本没有哪个错误!

他很聪明,让我把我写的程序片段电邮给他。他直接在他笔记本的Linux下gcc编译,没有任何问题。

这时我才恍然大悟:ANSI C88年代,一个变量的declaration,必须是在一个程序头或
者一个程序块的头,不能在中间。好在今天gcc版本没有这个限制。

接着我又犯了一个老年人的错误。他用//加comments,我说这个是C++引入的,写C得用/* */。他疑惑地望着我。

这次课以后,他再也不联系我了。

其实我没有犯错误,只是我的C是1990年大学学的,知识没有更新。今天的C更像C++,
变量任何地方都可以declare,注释随便用/* */或//

MrAnderson

码工的悲哀,永远学不完,很快就会被后浪拍死
Yonggexing

你是不是还在用turbo c 2.0

【 在 xiaxie7 (民科) 的大作中提到: 】
: 最近辅导一个TJ高中的学生写C语言程序,他大概是准备以后做Arduino.
: 我因为过去20多年写C++和Java习惯了,总是用一个变量之前才declare,而不是在
main
: ()开头或者一个block开头声明该变量,而且我很多年没有写C了,辅导他时携带的笔记
: 本没有装gcc,只有十几年前安装的Visual Studio老版本,我也从来没有进行设置,: default是ANSI C88。
: 我向他演示我写的程序片段,竟然无法编译,说是semicolon位置错误,但我反复检测
: ,根本没有哪个错误!
: 他很聪明,让我把我写的程序片段电邮给他。他直接在他笔记本的Linux下gcc编译,没
: 有任何问题。
: 这时我才恍然大悟:ANSI C88年代,一个变量的declaration,必须是在一个程序头或
: ...................

W
Wodelixiang

你编的通不过编译器,它会一行行提醒的呀
l
localdisk

计算机的东西更新太快,3天不学习,跟不上刘少奇了。你很多年没写,教人之前一定
要自己做一遍。

我还是每天和程序打交道的。有几年没太用Java,最近小孩子在学,发现现在多了很多新的功能。现在的程序很多写法完全都不一样了。
xiaxie7

上大学的时候是用Turbo C,但来美国以后读计算机硕士就是用MS Visual Studio了。

其实我的几台Linux笔记本上缺省都有gcc,但那天我事先没准备,就拿起十几年新的
Win笔记本,上面有十几年没有动过的VS,没有设置,而且编译出错信息说是;放错了位置,其实是ANSI C88只允许在模块开头declare变量,不允许在中间declare,但我老了,好几分钟都弄不明白。

【 在 Yonggexing (Yongge) 的大作中提到: 】
: 你是不是还在用turbo c 2.0
: main

xiaxie7

很可惜,十几年前的MS VS,编译时只给我一行出错信息:

Line xxx: The ; is misplaced.

但我程序根本没有那个;问题!

我程序唯一问题是我是按C++写法,随地declare新变量,没有遵守C88要求在模块头部
declare。

好在学生聪明,他知道该用现在的gcc编译,算是帮我解了围。

但我随后不允许他在C中用//,让他以为我是程序白痴。

【 在 Wodelixiang () 的大作中提到: 】
: 你编的通不过编译器,它会一行行提醒的呀

xiaxie7

我十几年没写过C了。

其实我在Iowa时,学第一门本科CS课,数据结构,就已经是C++。

【 在 localdisk (与世无争) 的大作中提到: 】
: 计算机的东西更新太快,3天不学习,跟不上刘少奇了。你很多年没写,教人之前一定
: 要自己做一遍。
: 我还是每天和程序打交道的。有几年没太用Java,最近小孩子在学,发现现在多了很多
: 新的功能。现在的程序很多写法完全都不一样了。

xiaxie7

Java还好,我当年学的是1.2,20年前写的老程序今天run绝对不会有问题,顶多就是来个warning,说我用的API已经deprecated了。

我前几年考的Java两个证书是Java8的,而本地中小学教的是Java7,所以教他们绰绰有余。

【 在 localdisk (与世无争) 的大作中提到: 】
: 计算机的东西更新太快,3天不学习,跟不上刘少奇了。你很多年没写,教人之前一定
: 要自己做一遍。
: 我还是每天和程序打交道的。有几年没太用Java,最近小孩子在学,发现现在多了很多
: 新的功能。现在的程序很多写法完全都不一样了。

skl

尼玛, cyclone?

【 在 xiaxie7(民科) 的大作中提到: 】

: 我十几年没写过C了。

: 其实我在Iowa时,学第一门本科CS课,数据结构,就已经是C 。

l
localdisk

Java新版本的兼容老版本。 但你要教学生的话需要了解新的功能啊。比如for each,
try block with resources.如果你写程序的话,能用的话应该尽量用这些功能。我也
是看了别人的程序才知道的。
【 在 xiaxie7 (民科) 的大作中提到: 】
: Java还好,我当年学的是1.2,20年前写的老程序今天run绝对不会有问题,顶多就是来
: 个warning,说我用的API已经deprecated了。
: 我前几年考的Java两个证书是Java8的,而本地中小学教的是Java7,所以教他们绰绰有
: 余。

L
Lwangls

遇到JS这样的动态语言,变量无需提前声明,直接用的,老蒋们更是不懂了。
WannaCry

虾蟹你一个靠烧黄纸,穿道袍,急急如律令,预测哪里地震的居然去教别人C语言了?

你问问这里的码农,有几个敢出来说自己C语言。绝大部分大学教授一辈子就只会一门C语言呢。
costco

楼主你这个水平,还是别去教小朋友编程了

不说别的,为什么非要用VS?
yugong

LOL 面向运气编程

【 在 WannaCry (Wanna Decryptor) 的大作中提到: 】
: 虾蟹你一个靠烧黄纸,穿道袍,急急如律令,预测哪里地震的居然去教别人C语言了?
: 你问问这里的码农,有几个敢出来说自己C语言。绝大部分大学教授一辈子就只会一
门C
: 语言呢。

benadryl

要码公都这样我们非码公可咋办?最近也是娃娃上了高中,选了foundation of
computer science. 娃初中没学过计算机,不过我想一个高中一年级的foundation课能有啥就鼓动着娃选了。结果上来第一课就是recursive thinking. 娃问我把我搞晕了,好在我虽然不是码公,但偶尔也是要用下Python写个小程序的,捣鼓了几晚上帮娃搞定了第一课95%的作业(最高的5%实在搞不定了)。结果这周开始第二课是cryptography
,第一道题什么凯撒密码啥的还好,到了第二道题是破解Vigenere Cipher,看了半天
维基百科都没弄明白原理,什么Friedman test,Kasiski test完全头大。心想这还是
高一的foundation,尼玛后面还有advanced,ap,估计彻底帮不上忙了。

【 在 MrAnderson(悠悠云影
swjtuer

属实,天天学呀学,就为了保住饭碗

俺不打算让娃学CS,学个大学学几年,以后也没说更新的就好了
【 在 MrAnderson (悠悠云影  -  仓佑嘉措) 的大作中提到: 】
: 码工的悲哀,永远学不完,很快就会被后浪拍死

swjtuer

想想以后四五十岁了,面试还是折腾这些玩意,觉得悲哀不
【 在 benadryl (虎啸龙吟灌水去) 的大作中提到: 】
: 要码公都这样我们非码公可咋办?最近也是娃娃上了高中,选了foundation of
: computer science. 娃初中没学过计算机,不过我想一个高中一年级的foundation课能
: 有啥就鼓动着娃选了。结果上来第一课就是recursive thinking. 娃问我把我搞晕了,
: 好在我虽然不是码公,但偶尔也是要用下Python写个小程序的,捣鼓了几晚上帮娃搞定
: 了第一课95%的作业(最高的5%实在搞不定了)。结果这周开始第二课是
cryptography
: ,第一道题什么凯撒密码啥的还好,到了第二道题是破解Vigenere Cipher,看了半天
: 维基百科都没弄明白原理,什么Friedman test,Kasiski test完全头大。心想这还是
: 高一的foundation,尼玛后面还有advanced,ap,估计彻底帮不上忙了。

benadryl

四五十岁宁肯开Uber也不去面试了。其实人就是弄娃费钱,娃出去了之后真不需要高薪工作。开心就好

【 在 swjtuer(码农的小船说翻就翻) 的大作中提到: 】
<br>: 想想以后四五十岁了,面试还是折腾这些玩意,觉得悲哀不
<br>: cryptography
<br>

r
rgg

这些TJ学生为什么乱找tutor? 当地Tutor很紧缺么? 为什么有各种学生找xiaxie辅导
各种不同的功课?
l
localdisk

这个是牛校啊,搞那么难?
【 在 benadryl (虎啸龙吟灌水去) 的大作中提到: 】
: 要码公都这样我们非码公可咋办?最近也是娃娃上了高中,选了foundation of
: computer science. 娃初中没学过计算机,不过我想一个高中一年级的foundation课能
: 有啥就鼓动着娃选了。结果上来第一课就是recursive thinking. 娃问我把我搞晕了,
: 好在我虽然不是码公,但偶尔也是要用下Python写个小程序的,捣鼓了几晚上帮娃搞定
: 了第一课95%的作业(最高的5%实在搞不定了)。结果这周开始第二课是
cryptography
: ,第一道题什么凯撒密码啥的还好,到了第二道题是破解Vigenere Cipher,看了半天
: 维基百科都没弄明白原理,什么Friedman test,Kasiski test完全头大。心想这还是
: 高一的foundation,尼玛后面还有advanced,ap,估计彻底帮不上忙了。

r
rgg

方便说哪个学校/哪里的么? 开这么高水平的课。

【 在 benadryl (虎啸龙吟灌水去) 的大作中提到: 】
: 要码公都这样我们非码公可咋办?最近也是娃娃上了高中,选了foundation of
: computer science. 娃初中没学过计算机,不过我想一个高中一年级的foundation课能
: 有啥就鼓动着娃选了。结果上来第一课就是recursive thinking. 娃问我把我搞晕了,
: 好在我虽然不是码公,但偶尔也是要用下Python写个小程序的,捣鼓了几晚上帮娃搞定
: 了第一课95%的作业(最高的5%实在搞不定了)。结果这周开始第二课是
cryptography
: ,第一道题什么凯撒密码啥的还好,到了第二道题是破解Vigenere Cipher,看了半天
: 维基百科都没弄明白原理,什么Friedman test,Kasiski test完全头大。心想这还是
: 高一的foundation,尼玛后面还有advanced,ap,估计彻底帮不上忙了。

Yonggexing

你娃上的,是不是stanford 附中。

【 在 benadryl (虎啸龙吟灌水去) 的大作中提到: 】
: 要码公都这样我们非码公可咋办?最近也是娃娃上了高中,选了foundation of
: computer science. 娃初中没学过计算机,不过我想一个高中一年级的foundation课能
: 有啥就鼓动着娃选了。结果上来第一课就是recursive thinking. 娃问我把我搞晕了,
: 好在我虽然不是码公,但偶尔也是要用下Python写个小程序的,捣鼓了几晚上帮娃搞定
: 了第一课95%的作业(最高的5%实在搞不定了)。结果这周开始第二课是
cryptography
: ,第一道题什么凯撒密码啥的还好,到了第二道题是破解Vigenere Cipher,看了半天
: 维基百科都没弄明白原理,什么Friedman test,Kasiski test完全头大。心想这还是
: 高一的foundation,尼玛后面还有advanced,ap,估计彻底帮不上忙了。

z
zhetian

菌斑不是有个人说美国高中大学就是要故意把学生搞糊涂吗?当然要难点

【 在 localdisk (与世无争) 的大作中提到: 】
: 这个是牛校啊,搞那么难?
: cryptography

b
biye

有什么悲哀的
不是折腾这个就是折腾那个
折腾什么不一样?
【 在 swjtuer (码农的小船说翻就翻) 的大作中提到: 】
: 想想以后四五十岁了,面试还是折腾这些玩意,觉得悲哀不
: cryptography

WannaCry


洗脚改行傻逼居然接话,你不知道被钓鱼了,才发傻逼感慨的吧?

你知道他是在说什么不?——那是一门专门的课程,叫做应用密码学,一门基础课。

可惜奥你个改行傻逼,顶多会个if....,你都不懂到底在说什么范围类的事,自认为自己是个ITer,乱发感慨。

【 在 swjtuer (码农的小船说翻就翻) 的大作中提到: 】
: 想想以后四五十岁了,面试还是折腾这些玩意,觉得悲哀不
: cryptography

xiaxie7

Most of my students got 800 in SAT or SAT2 math.
【 在 rgg (rgg) 的大作中提到: 】
: 这些TJ学生为什么乱找tutor? 当地Tutor很紧缺么? 为什么有各种学生找xiaxie辅导
: 各种不同的功课?

xiaxie7

I was an expert on C in 1990.
【 在 WannaCry (Wanna Decryptor) 的大作中提到: 】
: 虾蟹你一个靠烧黄纸,穿道袍,急急如律令,预测哪里地震的居然去教别人C语言了?
: 你问问这里的码农,有几个敢出来说自己C语言。绝大部分大学教授一辈子就只会一
门C
: 语言呢。

xiaxie7

I normally use g++ and make
【 在 costco (我是一袋天蕉) 的大作中提到: 】
: 楼主你这个水平,还是别去教小朋友编程了
: 不说别的,为什么非要用VS?

WannaCry

你他妈就一坨屎

你会c语言,那任何大专本科的人都会,因为第一年第一学期通识课,都会说C语言

有点常识加点羞耻心,再来秀吧。老子还会相对论呢,不就是那个公式么

【 在 xiaxie7 (民科) 的大作中提到: 】
: I was an expert on C in 1990.
: 门C