![]() |
![]() ![]() ![]() ![]() ![]() |
Author | Topic: Visual Basic Friend or Foe????? |
Bill Gates Must DIE |
![]() ![]() ![]() Just a quick message to find out what you all think, personally all copies of VB should burn long live C++ |
MangoBreeder |
![]() ![]() ![]() C++ is rubbish learn a good programming lang. FORTRAN & COBOL & EVER Dim reply as integer REAL PROGRAMMERS DONT COMMENT THEIR CODE IT WAS HARD TO WRITE IT SHOULD BE HARD TO READ |
MikeH II |
![]() ![]() ![]() I HATE FORTRAN! I once used it to make a basic model of a quasar spectrum. Great laugh. Honest. |
MangoBreeder |
![]() ![]() ![]() Ok FORTRAN Is a little ****e don't get me started on JAVA but if u want a good spectrum emulator goto www.void.demon.nl/spectrum.html p.s. does anybody have a walkthrough for a ZXspectrum game called the great Escape? |
Bill Gates Must DIE |
![]() ![]() ![]() What do u mean real programmers dont comment their code? Programmers dont know what half their code does |
Tolls |
![]() ![]() ![]() Most of my comments take the form of // Don't know why this works, but it does...so I left it in which is immensely useful... |
OhWell |
![]() ![]() C SUCKS! Read this... ![]() Creators Admit Unix and C Language Hoax In an announcement that stunned the computer industry, Ken Thompson, Dennis Ritchie and Brian Kernighan admitted the Unix operating system and C programming language created by them is an elaborate prank, kept alive over 20 years. Speaking at the recent UnixWorld Software Development Forum, Thompson revealed the following: "In 1969, AT&T had just terminated their work with the GE/Honeywell/AT&T Multics project. Brian and I had started work with an early release of Pascal from Professor Niklaus Wirth's ETH labs in Switzerland and we were impressed with its elegant simplicity and power. Dennis had just finished reading 'Bored of the Rings', a National Lampoon parody of the Tolkien's 'Lord of the Rings' trilogy. As a lark, we decided to do parodies of the Multics environment and Pascal. Dennis and I were responsible for the operating environment. We looked at Multics and designed the new OS to be as complex and cryptic as possible to maximize casual users' frustration levels, calling it Unix as a parody of Multics, as well as other more risque allusions. We sold the terse command language to novitiates by telling them that it saved them typing." Then Dennis and Brian worked on a warped version of Pascal, called 'A'. 'A' looked a lot like Pascal, but elevated the notion of the direct memory address (which Wirth had banished) to the central concept of the language. This was Dennis's contribution, and he in fact coined the term "pointer" as an innocuous sounding name for a truly malevolent construct. Brian must be credited with the idea of having absolutely no standard I/O specification: this ensured that at least 50% of the typical commercial program would have to be recoded when changing hardware platforms. Brian was also responsible for pitching this lack of I/O as a feature: it allowed us to describe the language as "truly portable". When we found others were actually creating real programs with A, we removed compulsory type-checking on function arguments. Later, we added a notion we called "casting": this allowed the programmer to treat an integer as though it were a 50k user-defined structure. When we found that some programmers were simply not using pointers, we eliminated the ability to pass structures to functions, enforcing their use in even the Simplest applications. We sold this, and many other features, as enhancements to the efficiency of the language. In this way, our prank evolved into B, BCPL, and finally C. We stopped when we got a clean compile on the following syntax: for (;P("\n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2); At one time, we joked about selling this to the Soviets to set their computer science progress back 20 or more years. Unfortunately, AT&T and other US corporations actually began using Unix and C. We decided we'd better keep mum, assuming it was just a passing phase. In fact, it's taken US companies over 20 years to develop enough expertise to generate useful applications using this 1960's technological parody. We are impressed with the tenacity of the general Unix and C programmer. In fact, Brian, Dennis and I have never ourselves attempted to write a commercial application in this environment. We feel really guilty about the chaos, confusion and truly awesome programming projects that have resulted from our silly prank so long ago." Dennis Ritchie said: "What really tore it (just when AIDA was catching on), was that Bjarne Stroustrup caught onto our joke. He extended it to further parody, Smalltalk. Like us, he was caught by surprise when nobody laughed. So he added multiple inheritance, virtual base classes, and later ... templates. All to no avail. So we now have compilers that can compile 100,000 lines per second, but need to process header files for 25 minutes before they get to the meat of "Hello, World". Major Unix and C vendors and customers, including AT&T, Microsoft, Hewlett-Packard, GTE, NCR, and DEC have refused to comment on the announcement. Officials of Borland International, a leading vendor of object-oriented tools, including Turbo Pascal and Borland C++, stated they suspected this for a couple of years. In fact, the notoriously late Quattro Pro for Windows was originally written in C++. Borland CEO Del Yocam said: "I'm told that, after two and a half years of programming, and massive programmer burn-out, we recoded the whole thing in Turbo Pascal in three months. It's fair to say that Turbo Pascal saved our bacon back then". Another Borland spokesman said that they would continue to enhance their Pascal products, and halt further efforts to develop C/C++. Professor Wirth of the ETH institute and father of the Pascal, Modula 2 and Oberon structured languages, cryptically said "P.T. Barnum was right." He had no further comments. |
OhWell |
![]() ![]() MangoBreeder: �REAL PROGRAMMERS DONT COMMENT THEIR CODE IT WAS HARD TO WRITE IT SHOULD BE HARD TO READ� I will kill you and eat your bones...* OhWell |
Spoe |
![]() ![]() ![]() It now seems an apropos to recall the story of Mel, a Real Programmer(tm): Real Programmers write in FORTRAN. Maybe they do now, Lest a whole new generation of programmers I first met Mel when I went to work for Royal McBee Computer Corp., I had been hired to write a FORTRAN compiler "If a program can't rewrite its own code", Mel had written, Mel's job was to re-write In modern parlance, Mel loved the RPC-4000 "You never know where it's going to put things", It was a long time before I understood that remark. I compared Mel's hand-optimized programs Mel never wrote time-delay loops, either, After he finished the blackjack program Mel balked. After Mel had left the company for greener pa$ture$, I have often felt that programming is an art form, Perhaps my greatest shock came The RPC-4000 computer had a really modern facility Instead, he would pull the instruction into a machine register, The vital clue came when I noticed He had located the data he was working on I haven't kept in touch with Mel, When I left the company, Mel has now been identified as Mel Kaye, from a reference in the manual for the LGP-30. |
Spoe |
![]() ![]() ![]() Erk, minor formatting error there, but to fix I'd have to repost the whole thing, so I won't. Instead, I'll just link to the 'correct' version. |
GaryD |
![]() ![]() Thanks for that. Lest we forget... |
OhWell |
![]() ![]() Spoe: That was moving... It reminds me of my old days, well 20 years ago ![]() ![]() OhWell |
ZyXEL |
![]() ![]() ![]() Don't **** on VB. I earn money using it! Actually, I tryed to learn C++, but without books (which are extremley expencive here in Croatia) I only spend time for nothing. �oki |
MangoBreeder |
![]() ![]() ![]() OK OK OK OK OK. This is the final way it goes. REAL-PROGRAMMERS: Programm in : FORTRAN COBOL MACHINE CODE - silly very silly REAL PROGRAMMERS DON'T SLEEP Only Drink Black Coffee and eat Popcorn real programmers use the heat from the cpu to make to popcorn as if u diddnt already know AND DEFINATLY REAL PROGRAMMERS DONT USE VISUAL BASIC - ONLY USED FOR DIRE EMERGENCIES c++ ONLY USED FOR THICK PROGRAMMERS JAVA wANKERS ONLY ---------------------- PROGRAMMERS THE REAL TYPE WHICH I CONSIDER MYSELF TO BE NEVER EVER EVER COMMENT THEIR CODE P.S. WHO IS THAT GEEKS PICTURE ON THE MIRC START UP FORM AND IF U DONT KNOW WHAT A FORM IS GET LOST SORRY ABOUT THE CAPS MANGOBREEDER |
GaryD |
![]() ![]() Doesn't anyone remember toggling the switches on the front panel, then flicking the switch on the side to clock the next word in ? |
MangoBreeder |
![]() ![]() ![]() Sleep what the hell is that??????? Where is the logic in this..... You been waiting for them i have come up with a set of Rules to become a REAL PROPER PROGRAMMER: Real Programmers aren't afraid to use GOTO's Real Programmers can write 5 page long DO loops without getting confused Real Programmers like arithmetic IF statements -- they make the code more interesting Real Programmers write self-modifying code, especially if it can save 20 nanoseconds in the middle of a tight loop Real Programmers don't know their wives's name; they do know, however, the entire ASCII code table Real Programmers don't write specs. Users should consider themselves lucky to get any programs at all and take what they get Real Programmers don't comment their code. If it was hard to write, it should be hard to read Real Programmer's programs never work the first time. But if you throw it into the machine, it can be made to work in "only a few" 30-hour sessions Real Programmers don't use APL, unless the whole program can be written on one line Real Programmers like vending machine popcorn. Coders pop it in the microwave; Real Programmers use the heat given off by the CPU. They can tell what job is running by listening to the rate of popping Real Programmers only use a Direct Memory Editor to build a program. They only use an assembler if they wrote themselves Real Programmers don't work 9 to 5. If any Real Programmer is around at 9 AM, it's because he was up all night Real Programmers never get annoyed by security systems; they turn off the RACF bits and leave unsigned messages in the security data sets Real Programmers don't draw flowcharts. Cavemen drew flowcharts and look what it did to them! |
Bill Gates Must DIE |
![]() ![]() ![]() ~RIGHT ON MANGO BREEDER~ MANGOBREEDER U RULE |
MangoBreeder |
![]() ![]() ![]() Dont knock it; counting clock cycles was fun. always trying to shave them few last nanoseconds i long for the good old days Remember BASIC A tear fills my eye |
threeover |
![]() ![]() Visual Basic? Is that the one like Delphi ("Visual Pascal") where 80% of your app is done by drawing controls with your mouse. I really don't understand why a lot of people flame the C language, but then again only real programmers use it and understand its importance and value. How many game developers use VB in place of VC++? Wonder why? |
Spoe |
![]() ![]() ![]() BASIC: "It is practically impossible to teach good programming style to students that have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." -- Edsger W. Dijkstra Pascal: ---- "Real Programmers don't write in Pascal, COBOL, Ada or any of those pinko computer science languages." With the possible exception of Real Programmers using ADA at the DoD. "Dont knock it; counting clock cycles was fun." |
threeover |
![]() ![]() Hey Bill, what's a Systems Anaylist, what do they do and how much do you guys make? |
Noisy |
![]() ![]() ![]() GaryD: I was never that dedicated, but I remember watching people at University bootstrapping the PDP 11 by toggling the bootstrap routine on the front panel ... from memory. Many's the long hour I spent punching cards, and tape, however! Spoe: Spent quite a few hours in the lab watching people write drum and core access routines. I never could see the point myself. Most of the time I was there I spent wishing I'd gone to a software University, rather than Manchester, but when I started work I got 5% higher salary than any other graduate, and I found that I was still using principles that I was taught there 10 and 15 years later. Ah, the good old days. Noisy |
MangoBreeder |
![]() ![]() ![]() All this yearning for the good old days make me want to weep WHO Agrees: Strctured Programming Is a communist plot... and whats up with the 4gen prog. langs. **** i actually have to goto work cya for a bit |
OhWell |
![]() ![]() You got it wrong MangoBreeder; It�s OOP that�s the communist plot!!! Re: Counting clock cycles; I said that it was fun then. OhWell |
M_ashwell |
![]() ![]() ![]() real programmers get christmas confused wth halloween Oct=31 Dec=25 |
Calisto Frag |
![]() ![]() Real programmers don't write application programs,they program right down on the bare metal,Application programming is for feebs who can't do system programming Real Programmers don't write on PL/I Pl/I is for programmers who can't decide wheter to write in COBOL or FORTRAN Real Programmers don't read manuals. Reliance on a reference is a hallmark of a novice and a coward Real programmers don't document. Documentation is for wimps who cant read listngs of the core dumps Real Programmers know what the users need better than the users Real Programmers don't use LISP. Only effeminate programmers use more parentheses than actual code Real Programmers scorn Floating point arithmertic. the decimal point was invented fo pansy betwetter who are unable to think big Real Programmers Know every nuance of every instruction and use them all in every real program. Puppy architects won't alloe execute instructions to address another execute as the target instruction. Real Programmers dispise such petty restrictions Real programmers dont bring lunch to work. If the vending machine sells it, they eat it. If the vending machine doesn't sell it they dont eat it. Vending machines dont sell quiche. |
MangoBreeder |
![]() ![]() ![]() CAlisto Frag i just finished writing that prog u wanted.......
{ CRC generation program, version 7b (optimized + timing + documentation)
This program demonstrates various ways by which Cyclic Please note the cautionary notice involving the routine SET_TIMER. The variable TIME is the location of the low 16 bits of the TIMER
512 1024 2048 4096 32767 No table 0.33 0.65 1.31 2.62 20.93 CRC = -31717 } Const Type Var initial_clock, stop, j, i : Integer; length : Array [1..5] of Integer; table_16 : Array [0..15] of Integer; CRC_value : Integer; byte_string : Bytes; POLY : Integer; { Thus X^3+X^1+1 becomes 1101 and X^4+X^1+1 becomes 11001. Since all polynomials have a highest term (X^a) we drop the
X^5 + X^2 + 1 10100 $14 X^7 + 1 1000000 $40 X^3+X^2+X^1+1 111 $7 X^6+X^5+X^3+1 100101 $25
A reference on table driven CRC computation is "A Cyclic Also used to prepare these examples was "Computer Networks", The following three polynomials are international standards:
In Binary and hexadecimal : Binary Hex CRC-12 = 1111 0000 0001 $0F01 The first is used with 6-bit characters and the second two (A burst of length N is defined a sequence of N bits, where
The CRC is the residual from division of the data stream by
The CRC is then appended to the end of the data stream. When }
This work was prompted by a submission by David Kirschbaum,
David Dantowitz
Procedure set_timer(count : Integer); { WARNING : The setting of count to too small a value will WARNING : This routine was written to run on an IBM PC or Begin inline($b0/$36/ { mov al,36 } End; Procedure simple_crc(b:byte); { Var Begin For i := 1 to 8 Do End; Procedure generate_table_16(POLY : Integer); {
Begin table_16[val] := result;
{
Begin For val := 0 to 15 Do table_32b[val] := result; For val := 0 to 15 Do table_32a[val] := result; End; Procedure generate_table_256(POLY : Integer); { This implementation only permits polynomials up to degree 16.
Begin table_256[val] := result;
{ This routine uses table_16. } Begin inline( $88/$d3/ {mov bl,dl } $88/$d3/ {mov bl,dl } { basic algorithm expressed above temp := crc XOR next_byte; For i := 1 to 2 Do CRC_value := temp; Procedure Compute_crc_32(next_byte : byte); The code here completely new. This routine uses table_32a and Begin inline( $32/$56/ $31/$db/ {xor bx,bx (bx <- 0) } $88/$d8/ {mov al,bl } $88/$c3/ {mov bl,al } $89/$16/CRC_value); {mov CRC_value,dx Update CRC in memory } Procedure Compute_crc_256(next_byte : byte); { This routine uses table_256. Begin inline( $31/$db/ {xor bx,bx (bx <- 0) } $89/$16/CRC_value); {mov CRC_value,dx Update CRC in memory } { basic algorithm expressed above temp := crc XOR next_byte; temp := (temp shr 8) XOR table_256 [temp and $FF]; CRC_value := temp; Function crc_string_16(Var s : Bytes; length, initial_crc : Integer) : Integer; { This routine uses table_16. Begin inline( $c4/$7e/ $26/$32/$05/ {xor al,es:[di] CRC = CRC XOR next byte } $4a/ {dec dx (count <- count -1) } $89/$46/ For each byte Do Begin For i := 1 to 2 Do Crc_string_16 := temp; End; { This routine uses table_256. Begin inline( $c4/$7e/ $26/$32/$05/ {xor al,es:[di] CRC = CRC XOR next byte } { intermediate steps, see comments for overall effect } $31/$db/ {xor bx,bx (bx <- 0) } $33/$00/ {xor ax,[bx+si] CRC = (CRC shr 8) XOR $e2/$f0/ {loop next (count <- count -1) } $89/$46/ crc := initial_crc For each byte Do crc := (crc shr 8) XOR table_256 [crc and $FF]; crc_string_256 := crc; Begin Writeln('Generating the data string, please wait ...'); Generate_table_16($8404); For j := 1 to max Do length[1] := 512; Writeln; For j := 1 to 5 Do Writeln; Initial_clock := time; Set_timer(5964); { each tick = ~0.005 seconds } {-----------------------------------------------------------------------------} CRC_value := 0; Write('No table '); For j := 1 to 5 Do Writeln('CRC = ', CRC_value); {-----------------------------------------------------------------------------} CRC_value := 0; Write('Nybble table '); For j := 1 to 5 Do Writeln('CRC = ', CRC_value); {-----------------------------------------------------------------------------} CRC_value := 0; Write('Two Nybble tables '); For j := 1 to 5 Do Writeln('CRC = ', CRC_value); {-----------------------------------------------------------------------------} CRC_value := 0; Write('Byte table '); For j := 1 to 5 Do Writeln('CRC = ', CRC_value); {-----------------------------------------------------------------------------} CRC_value := 0; Write('Nybble string '); For j := 1 to 5 Do Writeln('CRC = ', CRC_value); {-----------------------------------------------------------------------------} CRC_value := 0; Write('Byte string '); For j := 1 to 5 Do Writeln('CRC = ', CRC_value); {-----------------------------------------------------------------------------} set_timer(0); { restore the clock to the normal DOS value } time := initial_clock; { we may have lost a few minutes ... } End. |
ZyXEL |
![]() ![]() ![]() OhWell: Will I be able to write like that? (In far, far future... ![]() �oki |
![]() ![]() |
Powered by: Ultimate Bulletin Board, Version 5.18
© Madrona Park, Inc., 1998.