الجمعة، 25 يناير 2008

مراحل حياة المبرمج

تصلني إيميلات ظريفة من وقت لآخر .. تعّرف على حياة المبرمجين وأنواعهم من الألف الى الياء :D

المدرسة الثانوية

10 PRINT “HELLO WORLD”
20 END


أول سنة في الجامعة

program Hello(input, output)
begin
writeln(’Hello World’)
end.


طالب مخضرم في الجامعة

(defun hello
(print
(cons ‘Hello (list ‘World))))


محترف جديد

#include
void main(void)
{
char *message[] = {”Hello “, “World”};
int i;

for(i = 0; i < 2; ++i)
printf(”%s”, message[i]);
printf(”\n”);
}


محترف محنّك

#include
#include

class string
{
private:
int size;
char *ptr;

string() : size(0), ptr(new char[1]) { ptr[0] = 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::operator=(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);
}


رئيس مبرمجين

[

]
library LHello
{
// bring in the master library
importlib(”actimp.tlb”);
importlib(”actexp.tlb”); uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)

// bring in my interfaces
#include “pshlo.idl”

[

]
cotype THello
{
interface IHello;
interface IPersistFile;
};
}; uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)

[

uuid(2573F890-CFEE-101A-9A9F-00AA00342820)
]
module CHelloLib
{ exe,

// some code related header files
importheader();
importheader(

);

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; importheader();

class CHello : public CHelloBase
{
public:
IPFIX(CLSID_CHello);

CHello(IUnknown *pUnk);
~CHello();

HRESULT __stdcall PrintSz(LPWSTR pwszString);

private:
static int cObjRef;
};

#include
#include

#include
#include
#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::PrintSz(LPWSTR pwszString)
{
printf(”%ws
“, 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
#include

#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 */
0×2573F891,
0xCFEE,
0×101A,
{ 0×9A, 0×9F, 0×00, 0xAA, 0×00, 0×34, 0×28, 0×20 }
};

UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
0×2573F890,
0xCFEE,
0×101A,
{ 0×9A, 0×9F, 0×00, 0xAA, 0×00, 0×34, 0×28, 0×20 }
};

#include
#include

#include
#include
#include
#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->PrintSz(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
#define S “Hello, World\n”
main(){exit(printf(S) == strlen(S) ? 0 : 1);}


هاكر محنّك

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


هاكر معلم

% echo “Hello, world.”



  • النوع الثالث :


مدير جديد

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.
% damn!
!: Event unrecognized
% logout


الآن أستطيع أن أرى مستقبلي بوضوح ;)


هل تستطيع أنت :D ؟

هناك 24 تعليقًا:

  1. اكواد جميلة جدا

    بالمناسبة اخت سلوى ارسلت لك رسالة
    ولم يصلني اي رد
    وشكرا

    ردحذف
  2. السلام عليكم .. استاذة تدوينتك حلوة .. بس لا أدري لماذا الخط يبدو ضعيفا جدا ، ربما غير مقروء أحياناً .. وألاحظ أن الخط ملون بالأزرق ، أعتقد أنه إذا ترك في اللون الافتراضي (الأسود) سيكون أوضح أكثر للقراء ..لان هذا الخط بحجمه هذا يطمس شخصية المدونة .. هذا إن لم يكن ذلك في جهازي فقط.. هذا ما لزم توضيحه

    ردحذف
  3. نعيم ،
    ارجع لبريدك الالكتروني .. واهلاً بك في المدونة ..

    زين كملاوي ،
    يظهر حجم الخط ولونه لدّي عادياً وبدون اي مشاكل على الاكسبلورر و الفايرفوكس .. أسغرب ذلك ، أعدّ تحميل الصفحة وأخبرني .. ما هو متصفحك ؟

    ردحذف
  4. يمكن لازم تعدلين لون خط الإقتباس من الـcss لأنه رمادي قريب للأبيض

    ردحذف
  5. أكواد رائعة, بس الخط مو واضح مشان اللون متل ما قالو الأخوة

    تحياتي

    ردحذف
  6. MaXeR
    تم التعديل .. شكراً لملاحظتك .

    أحمد نذير بكداش
    اهلاً بك .. الأكواد مكتوبة بأكثر من لغة :)

    ردحذف
  7. الآن يبدو الخط واضحاً .. وأعتقد أن البعض اتفق معي فيما ذهبت إليه .. متصفحي على الإكسبلورر .. واشعر أنك أدخلت تعديلاً على لون الخط الذي يبدو الآن في لونه الافنراضي .. واضح تماماً .. شكراً

    ردحذف
  8. هههههههه
    اعجبني كود رئيس المبرمجين .. اتابع اتابع فجأه ضعت :D
    شكرا سلوى : )

    ردحذف
  9. عزيزتي سلوى,,

    اشعر بانك كتله من التفاؤل,,
    وهذا ما جعلني الملم بعثرتي ,, واتجرأ بالتعليق,,

    كنت في صباي مفعمة بالحيوية,,
    ومؤخرا بدأت الذبول,,


    اشعر بحيوية في اطرافي وانا اتصفح المدونة,,

    دعواتي القلبية لك بكل التوفيق,,
    واسأل الله لك النجاح والسداد,,


    ومتابعه لكـ
    سكرة

    ردحذف
  10. البرمجة يا أنها تعقّل الانسان يا أنها تخبله!
    لاحظي أسلوب كتابة الأكواد بين المحترف المحنك والهاكر المحنك؟ تعرفي أنه واحد مريض نفسياً والثاني عاقل!

    المبرمجين مساكين .. بقدر ما يقدموا خدمة للبشرية بقدر ما تكون حياتهم الاجتماعية صعبة!!

    ردحذف
  11. هههههههه

    جميلة جداً

    :) ولكن بعض المبرمجين يصيبهم الجمود ويتعلقون بلغة برمجة وأسلوب برمجي واحد

    اكثر ما اعجبني تصنيف المدراء :lol:

    ردحذف
  12. :mrgreen: نسيتم ذكر خاصية ( النسخ واللصق ) مع الهاكر المبتدئ !!!

    أتمنى لكم مستقبلا باهرا في عالم البرمجة

    ردحذف
  13. سلوى ،، ازيك ؟؟
    تتذكرين comment.php


    :mrgreen:

    ردحذف
  14. اهلا فتون ..

    أكيد أذكره وأذكر ذيك الليلة ;) ، ياليت تشيكين على ايميلك ..

    ردحذف
  15. زين كملاوي
    شكراً لمتابعتك وملاحظتك ..

    Exganza
    كلنا تابعنا حتى وصلنا لمرحلة عدم الفهم للمكتوب 8)

    ســـكره
    أسعدتني كلماتكِ وتواجدكِ .. أريدكِ أن تعلمي ومن يقرأ .. أن الإنسان مخلوق رائع ومتميز ، قد يختلف هذا من شخص لأخر ولكنه موجود فينا ..
    الأجمل ان الحيوية لا تذبل أبداً .. أستدعيها في عقلك , احلمي وتفاءلي بالغد ستجدين أن العالم أروع .. تذكرت الآن مقوله لأخواننا المصريين ( أضحك للعالم يضحك لك ، كشّر في وشه .. تعيط "تبكي" لوحدك :D ) ..
    آمنياتي لكِ بالأجمل والأفضل دائما .

    نواف
    أضحكني تعقيبك :lol: ، يعني المبرمجين ياما عاقل ولا مريض نفسي !!
    لا أتوقع ان حياة المبرمج الإجتماعية صعبة والا لما قرأنا قبل فترة عن زواج " Larry Page " مؤسس جوجل من فتاة تخصصها صعب ..

    Saudi Wanderer
    كل التصنيفات غريبة :) ..

    عابر سبيل
    شكراً لاطلالتك (f) ..

    ردحذف
  16. ممكن ثؤال بثيط

    انتي هكر

    وماشاء الله تبارك الله على المدونة الرائعة

    ردحذف
  17. السلام عليكم

    طريفه جداً...

    يراودني إحساس في بعض الأحيــان,,
    قد يجد المبرمج متعه قد حرم منها الآخرون :)


    سـلوى // شكـــراً لك من الأعماق
    تدوينتك أعجبتني ..

    ردحذف
  18. شئ لذيذ

    اعجبني جدااا :)

    ردحذف
  19. السلام عليكم :D

    من المرحلة الثانوية لم انجذب أبداً للبرمجة !!!
    وباستمرار المراحل وجدت نفسي انفر من جميع لغات البرمجة.
    احسها عالم ملئ بالتعقيد: أميل حقيقة إلى الشكر العميق لكل المبرمجين لأنني أجد الأشياء جاهزةً أمامي ... بواسطتهم

    والطرفه فهمتها بشكل عام .. لكن بالتأكيد لم أعرف التفصيلات
    يا حبذا لو يطلعنا أحد الأخوة على ناتج كل برنامج صغير مذكور في الأعلى

    كبداية اعتقد ان اول كود سيطبع الآتي (تخيلت نفسي أجيب على اختبار):
    HELLO WORLD

    صح !

    شكرا اختنا سلوى وعذرا على الاطالة ,, لكن حبيت أفضفض شويتين
    :)

    ردحذف
  20. بصراحة أكواد حلوة ....

    موضوع مسلي جدا ...

    أشكرك على هذه المدونة الرائعة

    ردحذف
  21. [..] .. مراحل حياة المبرمج > بكسل > أنس عماد ..الاكواد مكتوبه بأكثر من لغة ..المصدر :-منقول بتصرف من مدونة سلوي .. [..]

    ردحذف
  22. آآآخ

    ولا يعلى على الجافا :)
    System.out.print("HELLO LOSERS"(;

    أو الـ php
    echo "hello losers";

    قرأت في مقالة أجنبية
    إنو في الـ php
    echo
    أسرع من
    print

    مشكورة على المرور ذكرتيني بأيام زمان

    ردحذف
  23. ارى ان المبرمج يجب ان يبقى معتكف هو والكتاب منذ بداية الدراسة في الجامعة وحتى يصبح مدير مبرمجين كبير وبعد ذلك يبقى مع الجهاز مدة لاتقل عن ثلاثة ساعات باليوم طبعا يجب ان لايراعي حقوق الأهل او الزوجة والأولاد لانه اذا فعل فلن يستطيع ان يحقق هذه هي الحقيقة في نظري وهذا مااعاني منه انا كمبرمج قدر الله علي ذلك ولكن ليس لي طولة بال في القراءة والإنعزال فماذا أفعل وانا اعمل ولا استطيع التأقلم في عملي ؟
    ارشدوني جزاكم الله خيرا؟

    ردحذف