成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

我看到了舊時(shí)的C語言疤痕

開發(fā) 后端
我知道,作為一個(gè)新語言學(xué)習(xí)者,學(xué)會(huì)用新的語言風(fēng)格和思維習(xí)慣編程是很困難的。我記得當(dāng)老師在課堂上教我們匯編語言時(shí),很多人會(huì)先把作業(yè)用C語言寫成,然后再寫出匯編代碼,因?yàn)樗麄兏煜語言。但是,如果你有了一定經(jīng)驗(yàn),而你的程 序中仍然有一些老的語言的痕跡,這說明你遇到了麻煩。
[[83207]]

一個(gè)月前,我正在寫一個(gè)簡單的應(yīng)用,是用ruby去讀pdf文件,不知道為什么,文件指針跑到了文件開始地址的前面。我不明白為什么會(huì)這樣。于是,像往常一樣,我到stackoverflow上發(fā)帖求助。得到的第一條回復(fù)是:

“你的代碼有C語言的味道….”

有什么??進(jìn)一步的閱讀,我發(fā)現(xiàn)在ruby里有一個(gè)很方便的IO操作包,根本不需要使用getc(這是我的習(xí)慣用法)——除非在一些特殊情況下。

我想說的是,用一種新語言編程,在學(xué)會(huì)這種語言的正確語法前,你需要了解它的基本原理。當(dāng)你說“我會(huì)XXX語言”時(shí),你的意思并不是指知道它的語法。而是知道這種語言里有更好的算法實(shí)現(xiàn)方法和問題解決方案,否則,你學(xué)習(xí)這種新語言的意義在哪里呢?!

讓我們來分析一個(gè)問題,假設(shè)我們需要找到一個(gè)文件的最后一行的開始處(這是我以前做過的一個(gè)任務(wù))。

像我這樣懂得一點(diǎn)C語言的人會(huì)這樣寫:

  1. fseek(fp,-1,SEEK_END); 
  2.                 do { 
  3.                      fseek(fp,-2,SEEK_CUR); 
  4.                 }while(fgetc(fp)!='\n'); 

用ruby也能寫出類似的代碼,讓你一個(gè)新學(xué)習(xí)ruby的C程序員來寫,他就會(huì)寫出這樣:

  1. i)   file.seek(-1,IO::SEEK_END) 
  2.        while file.getc != "\n" 
  3.              file.seek(-2,IO::SEEK_CUR) 
  4.        end 

但是,一個(gè)熟練的ruby程序員則會(huì)寫成這樣:

  1. ii)  buff = file.readlines 
  2.                  file.seek(-(buff.pop).length,IO::SEEK_END) 
  3.  
  4.             或 
  5.  
  6.            iii)  lastline = Elif.open("file.txt") { |f| f.gets } 
  7.              file.seek(-lastline.length, IO::SEEK_END) 
  8.        

對(duì)我來說,iii)是最好的實(shí)現(xiàn)方法,它能處理大型文件,不管日后它增長到多大。這個(gè)Elif工具包把文件切割成了很小的片段,把它們放到小的緩沖池里,分析完后從緩沖里清除掉。你可以看一下它的gem源文件。如果你研究源文件,你會(huì)發(fā)現(xiàn),任何一個(gè)需要使用到的字符串對(duì)象方法都使用的非常聰明。

這只是一個(gè)簡單的例子,來說明改變思維習(xí)慣是如何能巨大的提高你的代碼效率。我知道,作為一個(gè)新語言學(xué)習(xí)者,學(xué)會(huì)用新的語言風(fēng)格和思維習(xí)慣編程是很困難的。 我記得當(dāng)老師在課堂上教我們匯編語言時(shí),很多人會(huì)先把作業(yè)用C語言寫成,然后再寫出匯編代碼,因?yàn)樗麄兏煜語言。但是,如果你有了一定經(jīng)驗(yàn),而你的程 序中仍然有一些老的語言的痕跡,這說明你遇到了麻煩。

所以,如果我學(xué)習(xí)一種新語言,過程會(huì)是:

原文鏈接:http://www.aqee.net/old-c-scars-i-see/

譯文倆接:http://blog.bmahsh.com/old_c_scars_i_see.html

責(zé)任編輯:陳四芳 來源: 外刊IT評(píng)論
相關(guān)推薦

2017-06-15 08:52:36

數(shù)據(jù)分析可視化軟件開發(fā)

2013-07-15 10:25:27

2020-09-20 17:50:38

編程語言PythonJava

2022-12-26 00:00:02

數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù)

2017-06-14 18:04:10

2018-10-31 12:39:39

區(qū)塊鏈電子證據(jù)安全

2024-03-07 09:40:37

2024-10-21 16:13:07

2021-06-28 13:20:15

谷歌AI芯片

2010-08-19 15:48:06

DB2 diag.lo

2024-07-29 08:47:00

2021-04-28 15:02:00

云計(jì)算華為云

2024-11-18 13:30:00

2018-05-04 10:57:05

老農(nóng)民

2023-02-10 13:57:41

2022-02-22 10:58:53

冬奧會(huì)5G運(yùn)營商

2020-09-17 14:49:23

數(shù)據(jù)中心

2021-07-01 07:05:31

瀏覽器存儲(chǔ)

2022-12-07 13:39:51

蘋果造車
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 综合成人在线 | 一区二区三区四区在线视频 | 亚洲精品18 | 久久久久久久久久久91 | 日屁网站 | 色婷婷婷婷色 | 国产日韩一区二区三免费高清 | 国产精品久久久久久久模特 | 亚洲欧美日韩高清 | 久久综合久久久 | 一级做a爰片久久毛片 | 日韩在线中文字幕 | 天天综合天天 | 欧美久久久久 | 午夜激情视频 | 亚洲天堂999| 国产一区二区中文字幕 | 亚洲成人av | 久久性av | 伊人看片 | 色又黄又爽网站www久久 | 99精品网站| 亚洲 精品 综合 精品 自拍 | 国产做a爱片久久毛片 | 亚洲视频中文字幕 | 国产综合一区二区 | 日日骚av | 久久亚洲精品视频 | 国产黄色网 | 国产高清免费视频 | 中文字幕日韩欧美一区二区三区 | 黄色大全免费看 | 欧美国产日韩精品 | 91社影院在线观看 | 亚洲精品在线91 | 精品久久久久久 | av网站免费观看 | 99re在线视频 | 中文字幕在线不卡 | 毛片av免费看 | 中文字幕在线一区 |