转:Helloworld和程序员人生

高中时期

  1. 10 PRINT "HELLO WORLD"
  2. 20 END

大学新生

  1. program Hello(input, output)
  2. begin
  3. writeln(\'Hello World\')
  4. end.
 

高年级大学生

  1. #include <stdio.h>
  2. int main(void)
  3. {
  4. printf("Hello, world!\\n");
  5. return 0;
  6. }
  7. </stdio.h>

职业新手

  1. #include <stdio.h>
  2. void main(void)
  3. {
  4. char *message[] = {"Hello ", "World"};
  5. int i;
  6. for(i = 0; i < 2; ++i)
  7. printf("%s", message[i]);
  8. printf("\\n");
  9. }
  10. stdio.h>

职业老手

  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. class string
  5. {
  6. private:
  7. int size;
  8. char *ptr;
  9. string() : size(0), ptr(new char[1]) { ptr[0] = 0; }
  10. string(const string &s) : size(s.size)
  11. {
  12. ptr = new char[size + 1];
  13. strcpy(ptr, s.ptr);
  14. }
  15. ~string()
  16. {
  17. delete [] ptr;
  18. }
  19. friend ostream &operator <<(ostream &, const string &);
  20. string &operator=(const char *);
  21. };
  22. ostream &operator<<(ostream &stream, const string &s)
  23. {
  24. return(stream << s.ptr);
  25. }
  26. string &string::operator=(const char *chrs)
  27. {
  28. if (this != &chrs)
  29. {
  30. delete [] ptr;
  31. size = strlen(chrs);
  32. ptr = new char[size + 1];
  33. strcpy(ptr, chrs);
  34. }
  35. return(*this);
  36. }
  37. int main()
  38. {
  39. string str;
  40. str = "Hello World";
  41. cout << str << endl;
  42. return(0);
  43. }
  44. /string></iostream>

大师级

  1. [
  2. uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)
  3. ]
  4. library LHello
  5. {
  6. // bring in the master library
  7. importlib("actimp.tlb");
  8. importlib("actexp.tlb");
  9. // bring in my interfaces
  10. #include "pshlo.idl"
  11. [
  12. uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)
  13. ]
  14. cotype THello
  15. {
  16. interface IHello;
  17. interface IPersistFile;
  18. };
  19. };
  20. [
  21. exe,
  22. uuid(2573F890-CFEE-101A-9A9F-00AA00342820)
  23. ]
  24. module CHelloLib
  25. {
  26. // some code related header files
  27. importheader(<windows.h>);
  28. importheader(
  29. <ole2.h>);
  30. importheader(<except.hxx>);
  31. importheader("pshlo.h");
  32. importheader("shlo.hxx");
  33. importheader("mycls.hxx");
  34. // needed typelibs
  35. importlib("actimp.tlb");
  36. importlib("actexp.tlb");
  37. importlib("thlo.tlb");
  38. [
  39. uuid(2573F891-CFEE-101A-9A9F-00AA00342820),
  40. aggregatable
  41. ]
  42. coclass CHello
  43. {
  44. cotype THello;
  45. };
  46. };
  47. #include "ipfix.hxx"
  48. extern HANDLE hEvent;
  49. class CHello : public CHelloBase
  50. {
  51. public:
  52. IPFIX(CLSID_CHello);
  53. CHello(IUnknown *pUnk);
  54. ~CHello();
  55. HRESULT  __stdcall PrintSz(LPWSTR pwszString);
  56. private:
  57. static int cObjRef;
  58. };
  59. #include <windows.h>
  60. #include
  61. <ole2.h>
  62. #include <stdio.h>
  63. #include <stdlib.h>
  64. #include "thlo.h"
  65. #include "pshlo.h"
  66. #include "shlo.hxx"
  67. #include "mycls.hxx"
  68. int CHello::cObjRef = 0;
  69. CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
  70. {
  71. cObjRef++;
  72. return;
  73. }
  74. HRESULT  __stdcall  CHello::PrintSz(LPWSTR pwszString)
  75. {
  76. printf("%ws
  77. ", pwszString);
  78. return(ResultFromScode(S_OK));
  79. }
  80. CHello::~CHello(void)
  81. {
  82. // when the object count goes to zero, stop the server
  83. cObjRef--;
  84. if( cObjRef == 0 )
  85. PulseEvent(hEvent);
  86. return;
  87. }
  88. #include <windows.h>
  89. #include
  90. <ole2.h>
  91. #include "pshlo.h"
  92. #include "shlo.hxx"
  93. #include "mycls.hxx"
  94. HANDLE hEvent;
  95. int _cdecl main(
  96. int argc,
  97. char * argv[]
  98. ) {
  99. ULONG ulRef;
  100. DWORD dwRegistration;
  101. CHelloCF *pCF = new CHelloCF();
  102. hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
  103. // Initialize the OLE libraries
  104. CoInitializeEx(NULL, COINIT_MULTITHREADED);
  105. CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
  106. REGCLS_MULTIPLEUSE, &dwRegistration);
  107. // wait on an event to stop
  108. WaitForSingleObject(hEvent, INFINITE);
  109. // revoke and release the class object
  110. CoRevokeClassObject(dwRegistration);
  111. ulRef = pCF->Release();
  112. // Tell OLE we are going away.
  113. CoUninitialize();
  114. return(0); }
  115. extern CLSID CLSID_CHello;
  116. extern UUID LIBID_CHelloLib;
  117. CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */
  118. 0x2573F891,
  119. 0xCFEE,
  120. 0x101A,
  121. { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
  122. };
  123. UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
  124. 0x2573F890,
  125. 0xCFEE,
  126. 0x101A,
  127. { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
  128. };
  129. #include <windows.h>
  130. #include
  131. <ole2.h>
  132. #include <stdlib.h>
  133. #include <string.h>
  134. #include <stdio.h>
  135. #include "pshlo.h"
  136. #include "shlo.hxx"
  137. #include "clsid.h"
  138. int _cdecl main(
  139. int argc,
  140. char * argv[]
  141. ) {
  142. HRESULT  hRslt;
  143. IHello        *pHello;
  144. ULONG  ulCnt;
  145. IMoniker * pmk;
  146. WCHAR  wcsT[_MAX_PATH];
  147. WCHAR  wcsPath[2 * _MAX_PATH];
  148. // get object path
  149. wcsPath[0] = \'\\0\';
  150. wcsT[0] = \'\\0\';
  151. if( argc > 1) {
  152. mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
  153. wcsupr(wcsPath);
  154. }
  155. else {
  156. fprintf(stderr, "Object path must be specified\\n");
  157. return(1);
  158. }
  159. // get print string
  160. if(argc > 2)
  161. mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
  162. else
  163. wcscpy(wcsT, L"Hello World");
  164. printf("Linking to object %ws\\n", wcsPath);
  165. printf("Text String %ws\\n", wcsT);
  166. // Initialize the OLE libraries
  167. hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);
  168. if(SUCCEEDED(hRslt)) {
  169. hRslt = CreateFileMoniker(wcsPath, &pmk);
  170. if(SUCCEEDED(hRslt))
  171. hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);
  172. if(SUCCEEDED(hRslt)) {
  173. // print a string out
  174. pHello->PrintSz(wcsT);
  175. Sleep(2000);
  176. ulCnt = pHello->Release();
  177. }
  178. else
  179. printf("Failure to connect, status: %lx", hRslt);
  180. // Tell OLE we are going away.
  181. CoUninitialize();
  182. }
  183. return(0);
  184. }
  185. </stdio.h></string.h></stdlib.h></ole2.h></windows.h></ole2.h></windows.h></stdlib.h></stdio.h></ole2.h></windows.h></except.hxx></ole2.h></windows.h>

黑客学徒

  #!/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;

有经验的黑客

  1. #include <stdio.h>
  2. #define S "Hello, World\\n"
  3. main(){exit(printf(S) == strlen(S) ? 0 : 1);}
  4. stdio.h>

老练的黑客

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

超级黑客

  % echo "Hello, world."

一线经理

  1. 10 PRINT "HELLO WORLD"
  2. 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.
% damn!
!: Event unrecognized
% logout
  
 
Copyright ©2016 Scan.

Helloworld和程序员人生的更多相关文章

  1. php大力力 [033节] 随便看看:PHP程序员学习C++

    php大力力 [033节] 随便看看:PHP程序员学习C++ 2014 兄弟连高洛峰 PHP教程14.1.7 在PHP脚本中操作MySQL数据库4 观看 - 56.com http://www.med ...

  2. 程序人生 | 35岁以上的 iOS 程序员都到哪里去了?

    1.网上流传华为公司正在清理 34 岁以上的员工. " 中国区开始集中清理 34 + 的交付员工,...... 去向是跟海外服务部门交换今年新毕业的校招员工,也就是进新人,出旧人. 这些旧人 ...

  3. 80后,天才程序员, Facebook 第一任 CTO,看看开挂的人生到底有多变态?

    鸡仔说:今天介绍一位天才程序员--亚当·德安格洛(Adam D'Angelo),他被<财富>杂志誉为"科技界最聪明的人之一",大学去了被誉为"天才" ...

  4. 其实每个行业都有各自的辛苦,好的程序员并不累,他们乐此不疲(见过太多在职位事业、人生方向上随转如流的人,累了疲乏了就去做别的事情了。必须有自己的坚守和立足的点,自我驱动,否则沦为在别人的体制制度中被驱赶一生)good

    作者:陈柯好链接:https://www.zhihu.com/question/39813913/answer/104275537来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  5. 敏捷史话(七):从程序员、作家到摇滚乐手——Andy Hunt的多面人生

    与其说 Andy Hunt 是敏捷宣言的创始人,不如说他是一名专业作家来得更为合适.他的<实用程序员><程序员修炼之道:从小工到专家><编程 Ruby:实用程序员指南&g ...

  6. 比尔·盖茨写的最古老程序曝光:BAT程序员膜拜 #精选程序人生

    比尔·盖茨31岁,就成为世界首富.很多人好奇,作为世界第一大PC系统的创始人,抛弃世界首富的头衔,单单从程序员角度来讨论,比尔盖茨的代码水平如何? 其实,比尔·盖茨对写代码有一种狂热的喜好.上高中的时 ...

  7. 程序人生:02我来告诉你,一个草根程序员如何进入BAT

    本文摘自左潇龙博客,原文出处:http://www.cnblogs.com/zuoxiaolong/p/life54.html 引言 首先声明,不要再问LZ谁是林萧,林萧就是某著名程序员小说的主角名字 ...

  8. 【程序人生】程序员真会玩,工作996,生病ICU

    昨天Github上一个项目彻底爆红了网络,短短一天star数突破一万,Issues已破1800,大家纷纷说出有关企业的不合理加班行为,句句吐露程序员的心声,掀起了一波抵制加班潮,抵制996. 该项目里 ...

  9. Java匹马行天下之C国程序员的秃头原因

    Java帝国的崛起 前言: 分享技术之前先请允许我分享一下黄永玉老先生说过的话:“明确的爱,直接的厌恶,真诚的喜欢.站在太阳下的坦荡,大声无愧地称赞自己.” <编程常识知多少> <走 ...

随机推荐

  1. cf C. Counting Kangaroos is Fun

    http://codeforces.com/contest/373/problem/C 贪心,先排序,然后从n/2位置倒着找每一个可不可以放到别的袋鼠内. #include <cstdio> ...

  2. QT的的字体使用(全局自带字体特别好用)

    WIN10下的默认字体居然是Segoe UI,造成各Windows版本显示不一致,可以这样修改Windows的默认字体(重启后生效): [HKEY_LOCAL_MACHINE>>SOFTW ...

  3. 启动Activity但不显示其界面

    最近在工作中做了一个很简单的任务,制作一个apk,点击该app链接到某一个网站.     代码很简单,只有如寥寥几行: (browser.java) package com.test.browser; ...

  4. android开发--翻转闹铃(从制作到打包)

    (转载请声明,文章原作地址http://blog.csdn.net/buptgshengod) 最近在家放假,一直想做一个手机应用,于是就自己动手做起来了.想到一个注意就是当闹铃响的时候翻转闹铃,声音 ...

  5. 十大众筹PC:硅谷新生代如何打造下一代计算机

    十大众筹PC:硅谷新生代如何打造下一代计算机     来源:CNET科技资讯网 众筹革命已经让众多吸引人的台式机,笔电和平板PC诞生.下面就是最引人注意和最成功的典范. 尽管PC市场不再象过去那样是一 ...

  6. BZOJ2749: [HAOI2012]外星人

    2749: [HAOI2012]外星人 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 377  Solved: 199[Submit][Status] ...

  7. 由“Beeline连接HiveServer2后如何使用指定的队列(Yarn)运行Hive SQL语句”引发的一系列思考

    背景   我们使用的HiveServer2的版本为0.13.1-cdh5.3.2,目前的任务使用Hive SQL构建,分为两种类型:手动任务(临时分析需求).调度任务(常规分析需求),两者均通过我们的 ...

  8. XJOI——NOIP2015提高组模拟题19-day1——观光旅行

    http://www.hzxjhs.com:83/contest/493/problem/3 [题目大意] 给定一个有n(n<=500000)个点,m(1<=500000)条边的无向图.给 ...

  9. 在vim下写python 会出现python错误:unexpected unident

    需要在.vimrc  的set tabstop=4的这一行上面增加  set expandtab 否则会报unexpected unident

  10. C++ —— 类的基础

    C++类的设计与基础       2015.9.11 1.变量和常量的命名:确定程序中的变量.常量.函数的名字都是具有描述性的名字,具有直接的意义.如numberOfStudent 比 numOfSt ...