QQ登录

只需一步,快速开始

[分享] 一个程序员的成长(比较专业)

[复制链接]
meteorobs 发表于 2004-6-10 22:16 | 显示全部楼层 |阅读模式 来自: 中国–天津–天津 联通/八纬路镇彦网吧

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?加入牧夫(请注明天文爱好者,否则无法通过审核,请勿使用gmail/outlook/aol/icloud邮箱注册)

×
一个程序员的成长

中学:

10 PRINT "HELLO WORLD"

20 END

大学一年级:

program Hello(input, output)

begin

 writeln('Hello World')

end.

大学高年级:

(defun hello

 (print

  (cons 'Hello (list 'World))))

公司的程序员:

#include <stdio.h>

void main(void)

{

 char *message[] = {"Hello ", "World"};

 int i;

 for(i = 0; i < 2; ++i) {

  printf("%s", message);

  printf("\n");

  }

经验丰富的专家:

#include <iostream.h>

#include <string.h>

class string

 {

  private:

  int size;

  char *ptr;

  public:

  string() : size(0), ptr(new char('\0')) {}

  string(const string &s) : size(s.size)

   {

    ptr = new char[size + 1];

    strcpy(ptr, s.ptr);

   }

  ~string()

   {

     delete [] ptr;

   }

  friend ostream &operator <<(ostream &, const string &);

  string &operator=(const char *);

 };

ostream &operator<<(ostream &stream, const string &s)

 {

  return(stream << s.ptr);

 }

string &string:perator=(const char *chrs)

 {

  if (this != &chrs)

   {

    delete [] ptr;

    size = strlen(chrs);

    ptr = new char[size + 1];

    strcpy(ptr, chrs);

   }

    return(*this);

 }

int main()

{

 string str;

 str = "Hello World";

 cout << str << endl;

 return(0);

}

公司的骨干:

[

uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)

]



library LHello

{

 // bring in the master library

 importlib("actimp.tlb");

 importlib("actexp.tlb");

 // bring in my interfaces

 #include "pshlo.idl"

 [

 uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)

 ]

 cotype THello

  {

  interface IHello;

  interface IPersistFile;

  };

};

[

exe,

uuid(2573F890-CFEE-101A-9A9F-00AA00342820)

]

module CHelloLib

{

 // some code related header files

 importheader(<windows.h>;

 importheader(<ole2.h>;

 importheader(<except.hxx>;

 importheader("pshlo.h");

 importheader("shlo.hxx");

 importheader("mycls.hxx");

 // needed typelibs

 importlib("actimp.tlb");

 importlib("actexp.tlb");

 importlib("thlo.tlb");

 [

 uuid(2573F891-CFEE-101A-9A9F-00AA00342820),

 aggregatable

 ]

 coclass CHello

  {

  cotype THello;

  };

};

#include "ipfix.hxx"

extern HANDLE hEvent;

class CHello : public CHelloBase

{

public:

 IPFIX(CLSID_CHello);

 CHello(IUnknown *pUnk);

 ~CHello();

 HRESULT __stdcall PrintSz(LPWSTR pwszString);

private:

 static int cObjRef;

};

#include <windows.h>

#include <ole2.h>

#include <stdio.h>

#include <stdlib.h>

#include "thlo.h"

#include "pshlo.h"

#include "shlo.hxx"

#include "mycls.hxx"

int CHello::cObjRef = 0;

CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)

{

 cObjRef++;

 return;

}

HRESULT __stdcall CHello:rintSz(LPWSTR pwszString)

{

 printf("%ws\n", pwszString);

 return(ResultFromScode(S_OK));

}

CHello::~CHello(void)

{

// when the object count goes to zero, stop the server

cObjRef--;

if( cObjRef == 0 )

 PulseEvent(hEvent);

return;

}

#include <windows.h>

#include <ole2.h>

#include "pshlo.h"

#include "shlo.hxx"

#include "mycls.hxx"

HANDLE hEvent;

int _cdecl main(int argc,char * argv[])

{

ULONG ulRef;

DWORD dwRegistration;

CHelloCF *pCF = new CHelloCF();

hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

// Initialize the OLE libraries

CoInitializeEx(NULL, COINIT_MULTITHREADED);

CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,

 REGCLS_MULTIPLEUSE, &dwRegistration);

// wait on an event to stop

WaitForSingleObject(hEvent, INFINITE);

// revoke and release the class object

CoRevokeClassObject(dwRegistration);

ulRef = pCF->Release();

// Tell OLE we are going away.

CoUninitialize();

return(0);

}

extern CLSID CLSID_CHello;

extern UUID LIBID_CHelloLib;

CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */

 0x2573F891,

 0xCFEE,

 0x101A,

 { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }

};

UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */

 0x2573F890,

 0xCFEE,

 0x101A,

 { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }

};

#include <windows.h>

#include <ole2.h>

#include <stdlib.h>

#include <string.h>

#include <stdio.h>

#include "pshlo.h"

#include "shlo.hxx"

#include "clsid.h"

int _cdecl main(int argc,char * argv[])

{

HRESULT hRslt;

IHello   *pHello;

ULONG ulCnt;

IMoniker * pmk;

WCHAR wcsT[_MAX_PATH];

WCHAR wcsPath[2 * _MAX_PATH];

// get object path

wcsPath[0] = '\0';

wcsT[0] = '\0';

if( argc > 1) {

 mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);

 wcsupr(wcsPath);

}

else {

 fprintf(stderr, "Object path must be specified\n");

 return(1);

 }

// get print string

if(argc > 2)

 mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);

else

 wcscpy(wcsT, L"Hello World");

printf("Linking to object %ws\n", wcsPath);

printf("Text String %ws\n", wcsT);

// Initialize the OLE libraries

hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);

if(SUCCEEDED(hRslt)) {

 hRslt = CreateFileMoniker(wcsPath, &pmk);

 if(SUCCEEDED(hRslt))

 hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);

if(SUCCEEDED(hRslt)) {

 // print a string out

 pHello-&gtrintSz(wcsT);

 Sleep(2000);

 ulCnt = pHello->Release();

 }

else

 printf("Failure to connect, status: %lx", hRslt);

   // Tell OLE we are going away.

   CoUninitialize();

}

return(0);

}

初级黑客:

#!/usr/local/bin/perl

$msg="Hello, world.\n";

if ($#ARGV >= 0) {

 while(defined($arg=shift(@ARGV))) {

  $outfilename = $arg;

  open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n";

  print (FILE $msg);

  close(FILE) || die "Can't close $arg: $!\n";

  }

}

else print ($msg);

1;

经验丰富的黑客:

#include <stdio.h>

#define S "Hello, World\n"

main(){exit(printf(S) == strlen(S) ? 0 : 1);}

老练的黑客:

% cc -o a.out ~/src/misc/hw/hw.c

% a.out

黑客导师:

% cat

Hello, world.

^D

初级管理者:

10 PRINT "HELLO WORLD"

20 END

中级管理者:

mail -s "Hello, world." bob@b12

Bob, could you please write me a program that prints "Hello, world."?

I need it by tomorrow.

^D

高级管理者:

% zmail jim

I need a "Hello, world." program by this afternoon.

首席执行官:

% letter



letter: Command not found.

% mail

To: ^X ^F ^C

% help mail

help: Command not found.

% ****!

!: Event unrecognized

% logout
生活精彩在于想象力丰富和善于调整心态。幸福来自于深切感触、简单享受、自由思考以及被需要    ——地球历公元2006年2月10日上午11:55分。by  meteorobs
——————————
生命不熄, 观星不止!
Melipal 发表于 2004-6-10 22:23 | 显示全部楼层 来自: 中国–江苏–南京 电信/南京大学浦口校区宿舍电信
我倒,前面N种语言大集合,后面好多命令行.........
回复 顶~ 砸~

使用道具 举报

暗暗 发表于 2004-6-10 22:36 | 显示全部楼层 来自: 中国–广西–贵港 电信

我都看不懂野

:(
回复 顶~ 砸~

使用道具 举报

nngs 发表于 2004-6-10 22:51 | 显示全部楼层 来自: 美国–新泽西州–伯灵顿 Comcast有线通信控股股份有限公司
[B]黑客导师:

% cat

Hello, world.

^D


这个有意思.
我也要当导师: %echo 'Hello, world!'
回复 顶~ 砸~

使用道具 举报

macross11 发表于 2004-6-11 08:26 | 显示全部楼层 来自: 中国–四川–成都 电信
好象都是要实现同一个功能,就是打印出“Hello,world”,只是随着资格的上升,代码也越来越形式化,当上管理者后,连程序都不会写了。
回复 顶~ 砸~

使用道具 举报

河汉 发表于 2004-6-11 14:13 | 显示全部楼层 来自: 中国–上海–上海 教育网/上海交通大学教育网
哈哈哈哈!精辟,有趣!!
哈哈哈哈哈!!!!!!!
回复 顶~ 砸~

使用道具 举报

 楼主| meteorobs 发表于 2004-6-11 19:18 | 显示全部楼层 来自: 中国–天津–天津 联通/八纬路镇彦网吧

呵呵。。

从你的反映来看。。
你在这方面应该很在行。。。
回复 顶~ 砸~

使用道具 举报

光谱 发表于 2004-6-11 23:09 | 显示全部楼层 来自: 中国–河北–保定 联通
嘿嘿~反而basic最简洁。
回复 顶~ 砸~

使用道具 举报

macross11 发表于 2004-6-11 23:30 | 显示全部楼层 来自: 中国–四川–成都 电信
不是,只是我觉得这篇文章就是在反映这个问题.
回复 顶~ 砸~

使用道具 举报

LAMOST 发表于 2004-6-12 00:00 | 显示全部楼层 来自: 中国–天津–天津 联通

只看的懂这些~呵呵~

中学:

10 PRINT "HELLO WORLD"

20 END

大学一年级:

program Hello(input, output)

begin

 writeln('Hello World')

end.
回复 顶~ 砸~

使用道具 举报

Melipal 发表于 2004-6-12 12:01 | 显示全部楼层 来自: 中国–江苏–南京 电信/南京大学浦口校区宿舍电信
能看懂中学、公司的程序员、经验丰富的专家、经验丰富的黑客和老练的黑客……
初级黑客能懂一半
最后面几个似懂非懂
回复 顶~ 砸~

使用道具 举报

qxf 发表于 2004-6-12 12:12 | 显示全部楼层 来自: 中国–浙江–丽水 电信
职位级别越高,程序越繁琐,已经是忘了程序的简洁美了,纯粹是在玩弄技巧啦,我想这个帖子要表达的意思就是如此啊
回复 顶~ 砸~

使用道具 举报

LAMOST 发表于 2004-6-12 14:23 | 显示全部楼层 来自: 中国–天津–天津 广电网/福中网吧B区

????

% cc -o a.out ~/src/misc/hw/hw.c

% a.out
回复 顶~ 砸~

使用道具 举报

Melipal 发表于 2004-6-12 14:32 | 显示全部楼层 来自: 中国–江苏–南京 电信/南京大学浦口校区宿舍电信
gcc编译的命令,好象是
回复 顶~ 砸~

使用道具 举报

macross11 发表于 2004-6-12 23:18 | 显示全部楼层 来自: 中国–四川–成都 电信
LINUX下的吧。
回复 顶~ 砸~

使用道具 举报

Melipal 发表于 2004-6-12 23:22 | 显示全部楼层 来自: 中国–江苏–南京 电信/南京大学浦口校区宿舍电信
是啊,但我没用过几次
后面那些好象都是linux命令吧
回复 顶~ 砸~

使用道具 举报

lcsky 发表于 2004-6-13 00:00 | 显示全部楼层 来自: 中国–云南–昆明 电信
@#%^@%&#%^*#$%^*$&^#!经典!倒!
回复 顶~ 砸~

使用道具 举报

qianyiping 发表于 2004-6-13 13:08 | 显示全部楼层 来自: 中国–江苏–淮安–淮阴区 电信
就看懂中学的了:(
回复 顶~ 砸~

使用道具 举报

本版积分规则

APP下載|手机版|爱牧夫天文淘宝店|牧夫天文网 ( 公安备案号21021102000967 )|网站地图|辽ICP备19018387号

GMT+8, 2024-12-22 23:11 , Processed in 0.084687 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表